Collection
├List 接口
│├LinkedList 链表
│├ArrayList 顺序结构动态数组类
│└Vector 向量 线程安全
│ └Stack 栈
└Set
Map
├HashTable 线程安全
├HashMap 可以接受key 为null的情况
└WeakHashMap List接口
同步容器:vector, hashtable
同步方法:将状态封闭起来,并对每个公有方法进行同步,使得每次只有一个线程能访问容器状态
“状态”指的就是成员变量,“封装起来”即将它们设不private,但是通过公有的方法外界仍然可以访问修改类的私有成员,所以要用synchronized将公有方法进行同步,使得每次只有一个线程能访问容器状态
像List、Set、Map这些原本不是同步容器类,也可以通过Collections.synchronizedXXX工厂方法将其变为同步容器类,即对其公有方法进行同步
转自: http://blog.csdn.net/huilangeliuxin/article/details/12615507
jvm:
-Xmx:最大堆大小
-Xms:初始堆大小
-Xmn:年轻代大小
-XXSurvivorRatio:年轻代中Eden区与Survivor区的大小比值
对于JVM内存配置参数:
-Xmx1024m -Xms10240m -Xmn5120m -XXSurvivorRatio=3
这样的配置,是最大堆大小为10240M, 初始堆大小为10240M,年轻代是5120M,
年轻代中eden 和survivor区比试3:1,survivor区有2个,即要把堆分为5份,所以eden区大小为3072M,,survivor0区为1024M,survivor1区为1024M
权限控制
一直对权限控制的概念很模糊,所以一直开大使用Public
看到一个文档里说:
private:
使用对象: 成员
权限:只能在定义它的类中使用
public:
使用对象:成员、接口、类
权限: 在任何地方
protected:
使用对象:成员
权限:成员只能在定义它的包中被访问,如果在其他包中被访问,则实现这个方法的类
一个类的成员变量是private的,那么只能在这个类里使用对象.变量访问,在其他类里,就算你有这个类的对象,也没有权限访问这个类的private 变量。
同理可以解释protected