java零碎

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
 
java静态变量
静态变量和静态方法是属于类的,当Base类有个静态变量value,Sub继承Base,那么Base.value指向的是超类的value。
静态变量与静态方法说继承并不确切,静态方法与变量是属于类的方法与变量。而子类也属于超类,所以子类能够调用属于超类的静态变量和方法。注意,子类调用的其实就是超类的静态方法和变量,而不是继承自超类的静态方法与变量。但是如果子类中有同名的静态方法与变量,这时候调用的就是子类本身的,因为子类的静态变量与静态方法会隐藏父类的静态方法和变量。
 
 
	public static void main(String args[]){
		byte num = 127;
		num++;
		System.out.println(num);  //输出-128
		num = 127;
		System.out.println(num+1);  //输出128
	}

因为num++后,num还是byte型,而127+1后会溢出,就会导致num = -128

而 num+1时,num 与int型的1相加,num会自动提升为int型,加1 得到128

 

String a = "123456789";

String b = a.subString(5);

b是新new出来的一个字符串!!!

posted on 2015-07-09 19:37  zxahu  阅读(177)  评论(0编辑  收藏  举报

导航