java学习
文章平均质量分 63
zgrgfr
想象力 + 创造力 + 执行力
展开
-
java中的 final 关键字 修饰引用时的问题
final使得被修饰的变量”不变”,但是由于对象型变量的本质是“引用”,使得“不变”也有了两种含义:引用本身的不变,和引用指向的对象不变。 引用本身的不变: final StringBuffer a=new StringBuffer("immutable"); final StringBuffer b=new StringBuffer("not immutable"); a=b;//编译期错误原创 2017-02-21 11:21:25 · 2649 阅读 · 0 评论 -
java 中 ==和equals 的区别
== 操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同, 要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存, 对象本身占用一块内存( 堆内存),变量也占用一块内存,例如 Objet obj = new Object();变量 obj 是一个内存,new Object()是另一个原创 2017-02-21 15:17:27 · 361 阅读 · 0 评论 -
ArrayList 和 Vector,HashTable 和 HashMap 的区别
首先这两组的区别基本上都在于 线程安全 问题上。首先是ArrayList 和 Vector( 1)同步性:Vector 是线程安全的,也就是说是它的方法之间是线程同步的,而 ArrayList 是线程不安全的,它的方法之间是线程不同步的。如果只有一个线程会访问到集合,那最好是使用 ArrayList,因为它不考虑线程安全,效率会高些;如果有多个线程会访问到集合,那最好是使用 Vector,因为不需要原创 2017-02-24 14:44:37 · 783 阅读 · 0 评论 -
单实例Singleton设计模式
1.0版本 ,多线程时候会有多个线程检验 singleton == null 所以会构造多个实例public class Singleton { private static Singleton singleton = null; private Singleton(){} public static Singleton getInstance(){ if(s原创 2017-02-27 10:24:19 · 582 阅读 · 0 评论