AtomicInteger和count++的比较

J2SE 5.0提供了一组atomic class来帮助我们简化同步处理。基本工作原理是使用了同步synchronized的方法实现了对一个long, integer, 对象的增、减、赋值(更新)操作. 比如对于++运算符AtomicInteger可以将它持有的integer 能够atomic 地递增。在需要访问两个或两个以上 atomic变量的程序代码(或者是对单一的atomic变量执行两个或两
阅读本文

2016-2017-2015329 《Java程序设计》第4周学习总结

学号 2016-2017-2015329 《Java程序设计》第4周学习总结教材学习内容总结面向对象有三大特性:封装、继承、多态 封装封装是指,一种将抽象性函式接口的实例细节部份包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制,通过该类提供的方法来实现对隐藏信息的操作和访问。访问修饰符可以用来修饰属性
阅读本文

Java版本更新历史(ing)

历史版本特性JDK Version 1.0开发代号为Oak(橡树),于1996-01-23发行. JDK Version 1.1于1997-02-19发行.引入的新特性包括:引入JDBC(Java DataBase Connectivity);支持内部类;引入Java Bean;引入RMI(Remote Method Invocation)引入反射(仅用于内省) J2SE Version 1.2开
阅读本文

java中自动拆装箱

4.2 自动装箱和拆箱基本数据(Primitive)类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能。虽然为您打包基本数据类型提供了方便,但提供方便的同时表示隐藏了细节,建议在能够区分基本数据类型与对象的差别时再使用。4.2.1 autoboxing和unboxing在Java中,所有要处理的东西几乎都是对象(Object),例如之前所使用的Sca
阅读本文

android 短信的接收和发送处理

一 初始化   手机开机初始化调用GSMPhone 构造函数。 GSMPhone (Context context, CommandsInterface ci, PhoneNotifier notifier, boolean unitTestMode) 创建  mSMS = new GsmSMSDispatcher(this); 该类继承于SMSDispatcher。类SMSDispat
阅读本文

JAVA ClassLoader 初探

JVM规范定义了两种类型的类装载器:启动内装载器(bootstrap)和用户自定义装载器(user-defined class loader)。 户自定义装载器(user-defined class loader) Extension ClassLoader和AppClassLoader JVM在运行时会产生三个ClassLoader,Bootstrap ClassLoader、Extensio
阅读本文

JVM调优总结(4):分代垃圾回收

为什么要分代 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。 在Java程序运行的过程中,会产生大量的对象,其中有些对象是与业务信息相关,比如Http请求中的Session对象、线程、Socket连接,这类对象跟业务直接挂钩,因此生命周期比较长。但是还有一些对象,主要是程序运行过程中生成的临时变量,这些对象
阅读本文

Java生涯——Java概述

一、前奏 学习Java语言之前,先要掌握一些常用的dos命令,如: dir:列出当前目录下的文件以及文件夹 md:创建目录(文件夹) rd:删除目录 cd:进入指定目录 cd..:退出当前目录,返回到上一级目录 cd:退回到根目录 del:删除文件 del*:删除所有文件 del*.文件扩展名:删除同一类型的文件 exit:退出dos命令行 echo:创建文件。如:ech
阅读本文

J2SE API读取Properties文件的六种方法

使用J2SE API读取Properties文件的六种方法:  1.使用Java.util.Properties类的load()方法 示例:      InputStream in = lnew BufferedInputStream(new FileInputStream(name));   Properties p = new Properties();   p.load(in);   2
阅读本文

非常详细GC学习笔记

学习Java的同学注意了!!!  学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:523047986  我们一起学Java! 这是我公司同事的GC学习笔记,写得蛮详细的,由浅入深,循序渐进,让人一看就懂,特转到这里。 一、GC特性以及各种GC的选择 1、垃圾回收器的特性 2、对垃圾回收器的选择 2.1 连续 V
阅读本文

Java编程规范整理

Java编程规范整理基本命名规范首行缩进4空格。包命名包名按照域名的范围从大到小逐步列出,恰好和Internet上的域名命名规则相反。由一组以“.”连接的标识符构成,通常第一个标识符为符合网络域名的两个或者三个英文小写字母。PeopleTestPageXMLExample 类,接口命名类的名字必须由大写字母开头而单词中的其他字母均为小写;如果类名称由多个单词组成,则每个单词的首字母均应为大写例如T
阅读本文

Java 中 Varargs 机制详解

(西安芯学苑http://www.029xhl.com/)  在原来J2SE 1.4版本之前,Java程序一直无法定义实参个数可变的方法——因为Java要求实参(Arguments)和形参(Parameters)的数量和类 型都必须逐一匹配,而形参的数目是在定义方法时就已经固定下来了。尽管可以通过重载机制,为同一个方法提供带有不同数量的形参的版本,但是
阅读本文

J2SE小项目— 俄罗斯游戏2.0

本游戏基本实现的经典俄罗斯方块游戏的全部功能,算是自学J2SE阶段的毕业作品 全程独立开发,未参考任何相关视频和教程 代码略繁琐,600多行,没办法,初学者 博主微信:manyu_2017,欢迎初学者交流 控制类-Control package yy.game.russiacell; import java.awt.Color; import java.awt.Font;
阅读本文

平台无关

1.java的体系结构对平台无关的支持java平台(java虚拟机及javaAPI):java程序只需要与java平台交互,不需要担心底层硬件和操作系统java语言:基本类型的值域和行为都是由语言自己定义的,C和C++的值域由占位宽提供,占位宽由目标平台决定java class文件:可以在任何平台创建,也可以在任何平台被装载,它的格式如高位优先等有明确规定可伸缩性:除了J2SE,对不同的低端,微型
阅读本文

@SuppressWarnings(unchecked)

作用:告诉编译器忽略指定的警告,不用在编译完成后出现警告信息。java.lang.SuppressWarnings是J2SE 5.0中标准的Annotation之一。可以标注在类、字段、方法、参数、构造方法,以及局部变量上。使用: @SuppressWarnings(“”) @SuppressWarnings({}) @SuppressWarnings(value={}) 根据sun的
阅读本文

SuppressWarnings

suppress [səˈprɛs] vt.抑制,镇压,压制 简介:java.lang.SuppressWarnings是J2SE 5.0中标准的Annotation之一。可以标注在类、字段、方法、参数、构造方法,以及局部变量上。 作用:告诉编译器忽略指定的警告,不用在编译完成后出现警告信息。 使用: @SuppressWarnings(“”) @SuppressWarnings({})
阅读本文

Java数据库的操作——DBUtils工具类结果集处理的方式有几种?

DBUtils工具类介绍 DBUtils是java编程中的数据库操作实用工具,小巧简单使用; DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码; DBUtils就是JDBC的简化开发工具包。需要导入common-dbutils-xx.jar才能够正常使用DBUtils工具。 三个核心类 QueryRunner类 ResultSetHandler接口 DBUtils类
阅读本文

JVM垃圾回收原理

一、相关概念 基本回收算法 1. 引用计数(Reference Counting) 比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。 2. 标记-清除(Mark-Sweep) 此算法执行分两阶段。第一阶段从引用根节点开始标记所有被引用的对象,第二阶段遍历整个堆,把未标记的对象清除。此
阅读本文