java编程学习
文章平均质量分 75
wjbtian
阳光,快乐
展开
-
内部可变状态escape实例
在高并发编程中,作者举了一个内部可变状态escape的例子,不是很理解,自己又测试了一下,跟大家共享一下。class UnsafeStates {private String[] states = new String[] {"AK","AL"};public String[] getStates(){ return states;}}public class U原创 2014-03-13 11:49:40 · 760 阅读 · 0 评论 -
局部变量和全局变量的作用域
java中的作用域:指可访问变量的一段代码,在程序中不同的地方声明的变量具有不同的作用域,例如:局部变量,全局变量等。局部变量:作用在它定义的方法或者方法里面的程序块变量。只能作用在方法里面或者方法里面的程序块里面。局部变量必须初始化,否则使用时编译会出错。全局变量:分为实例变量和类变量。区别在于类变量使用static关键字修饰,作用域是类范围的,所有该类的实例都可以共同使用这个变量,实例原创 2014-03-13 16:58:54 · 3983 阅读 · 0 评论 -
java中值传递和引用传递辨析
说来惭愧,舍友的老婆学java,让咱给指导一下,结果出丑了。就起原因基础知识不扎实,也罢,努力吧,骚年。有人说java中只有值传递,没有引用传递。有人持反对意见,反正各自有各自的理论,其实这都不重要,重要的是理解其中的原理,没有必要抠字眼。public class ThisEscape { public static void main(String[] args) {原创 2014-03-13 18:03:44 · 754 阅读 · 0 评论 -
从多线程安全角度看public修饰符的使用
对于java的修饰符,无外乎讲的都是调用的范围讲解,其实每一个简单的背后都还是有很多的细节可以深究学习的。public,protected,default,private,这四种级别的修饰符都可以用来修饰类、方法和字段。 包外 子类 包内 类内public yes yes原创 2014-03-17 16:04:26 · 1049 阅读 · 0 评论 -
java 在线人数的统计
通常的方法里面都是通过监听session的方法,进行对在线用户的统计。可是在浏览器关闭的时候,并不会调用sessionDistroyed方法,只有在显示的调用session.invalidate的时候或者session过期的时候,才会走进sessionDistroyed方法,如果session的时间太长,比如说设定为三个或者四个小时的时候,这种统计是不可靠的。另外一个需要注意的点时,相同的原创 2014-04-15 17:50:10 · 1224 阅读 · 0 评论 -
java switch语法总结
面试的时候总是冷不丁的来一个,Switch里面表达式支持String吗?支持double吗?说实话有些东西确实是模模糊糊,今天有空就整理一下。第一,支持的数据类型: switch 传入的是整数类型的变量,因此支持 byte,short,int,char类型+枚举类型。另外,现在最新的jdk7里面已经做了修改,可以支持String类型了。再有这个问题的时候,我们可以说YES了。第二,执行原创 2014-04-01 17:40:39 · 1572 阅读 · 0 评论 -
java 构造函数的解析
java构造方法其实也是一种特殊的方法:1.构造方法名必须和类名相同2.构造方法没有返回值,不能定义为void类型3.一个对象可以有多个构造方法,也可以没有构造方法,假如没有则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。4.构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。对于这些都是没有问题的,关键是加入继承关系后的构造函原创 2014-04-17 16:02:14 · 1125 阅读 · 0 评论 -
通过抽象工厂模式再理解java的上转型
最近在学习抽象工厂模式的时候,看到了他的优点之一---分离了具体的类。抽象工厂模式帮助你控制一个应用创建的对象的类,因为一个工厂封装创建产品对象的责任和过程。它将客户和类的实现分离,客户通过他们的抽象接口操纵实例,产品的类名也在具体工厂的实现中被分离,它们不出现在客户代码中。一个抽象的工厂的接口public interface AbstractFactory{//具体方法略原创 2014-04-18 11:06:58 · 798 阅读 · 0 评论 -
线程的interrupt中断和取消机制
每一个线程都有一个boolean类型的中断状态。当中断线程时,这个线程的中断状态将被设置为true,在Thread中,有以下三个方法中断线程和查询线程中断状态的方法。public class Tread{ public void interrupt(){....} public boolean isInterrupted(){....} public static原创 2014-04-08 15:40:33 · 2986 阅读 · 0 评论