- 博客(5)
- 资源 (12)
- 收藏
- 关注
转载 java中的volatile的用法
在JVM1.2之前,Java的内存模型实现总是从主存读取变量,是不需要进行特别的注意的。而随着JVM的成熟和优化,现在在多线程环境下volatile关键字的使用变得非常重要。在当前的Java内存模型下,线程可以把变量保存到本地内存(比如机器的寄存器)中,而不是直接在主存中进行读写。这就可能造成一个线程在主存中修改了一个变量的值,而另外一个线程还继续使用它在寄存器中的变量值的拷贝,造成数据的不一
2013-01-31 21:50:17
178
原创 枚举(Enum)中的values()方法揭秘
使用过枚举的人都知道,可以通过次方法可以获取到所有的实例,但是仔细看看Enum类,这里面实际上是没有value()方法的,但是为什么可以调用呢?原因:values()方法是由编译器添加上的static方法,在创建类的过程中就添加了此方法,供我们使用,所以我们是可以直接调用此方法的。
2013-01-09 22:39:22
1774
原创 java中继承的初始化过程
假设有这样的继承场景(如下面代码所示):父类:package com.java.test.multiflex;public class Insect {private int i = 9;protected int j;Insect() {System.out.println("i=" + i + ",j+" + j);j = 39;}pri
2012-12-25 23:56:09
183
原创 java 初始化
java中在初始化数组列表的时候,列表中的最后一个逗号是可有可无的例如:int[] arr={1,3,4,};或者int[] arr={1,3,4};
2012-12-23 23:44:12
152
原创 java重载
java的重载可以通过方法名称和参数来区分,但是是否可以通过返回值来区分呢,这个可以大家有的时候难以区分,答案当然是不可以的,解释如下:有两个方法: String m(); m();如果在String s=m();这个方法中时很容易区分的;还是上面的两个方法,如果这样调用:m();这个种情况下,是无法区分的,因此,java是不支持通过返回值来区分重载的。
2012-12-23 22:58:50
243
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人