Java
whuczh
擅长andorid开发,有java web和native开发经历
展开
-
记JAVA的二三事(4)——线程的同步和互斥
概念 线程互斥的概念:当有多个线程(窗口)要访问同一个资源时(火车票),如果多个线程同时对该资源进行读和写操作,A窗口读取到剩余100张火车票,卖出一张,剩下99张,将剩余票数写入数据库。因为是同时进行,B窗口也读取到剩余100张火车票,卖出一张,剩下99张。此时数据库中显示火车票剩下99张。但是实际上卖掉两张火车票后应该只剩下98张火车票。显然多个线程不能同时访问一个资源,此时就引入了互原创 2015-12-31 18:22:58 · 444 阅读 · 0 评论 -
记JAVA的二三事(1)——"==","引用"
1.JAVA内存存储的六种类型:寄存器,栈,堆,静态存储,常量存储,非RAM存储区 2.区分对象和对象引用的概念: String a = new String("abc"); 左边是对象引用,右边是一个新建对象。新建对象存储于堆内存中,对象引用一般存储于栈内存中。 3.“==”符号:对于基本数据类型而言(int,float,double,long...),是比较值是否相同;对于复杂数据类型原创 2015-12-26 19:00:02 · 460 阅读 · 0 评论 -
记JAVA的二三事(2)——JVM存储区+hashCode()和equals()的隐式约定
1.JAVA虚拟机存储空间分布图: 常量池是一个与Heap和Stack并列的存储区,存在于Method Area中。常量池存放字符串常量和基本数据类型常量。如果一个字符串在编译期已经创建好("")则存储在常量池中,如果是运行期(new)才能确定的则存储在堆中。 堆中存放运行时的对象。 栈中存放对象的引用、基本数据类型的变量以及运行时的方法。 2.hashCode()和e原创 2015-12-27 09:19:20 · 906 阅读 · 0 评论 -
记JAVA的二三事(3)——基本数据类型
1.基本数据类型:四个整型(byte,short,int,long);二个浮点型(float,double);一个字符型(char);一个布尔型(boolean) 位数 有无符号位 最小值 最大值 默认值 byte 8 有 -128 127 0 short 16 有 -2^15 2^15-1 0 int原创 2015-12-30 10:40:51 · 505 阅读 · 0 评论