2013年8月2日

【转】NIO与传统IO的区别

摘要: 转自:http://blog.csdn.net/zhouhl_cn/article/details/6568119传统的socket IO中,需要为每个连接创建一个线程,当并发的连接数量非常巨大时,线程所占用的栈内存和CPU线程切换的开销将非常巨大。使用NIO,不再需要为每个线程创建单独的线程,可以用一个含有限数量线程的线程池,甚至一个线程来为任意数量的连接服务。由于线程数量小于连接数量,所以每个线程进行IO操作时就不能阻塞,如果阻塞的话,有些连接就得不到处理,NIO提供了这种非阻塞的能力。小量的线程如何同时为大量连接服务呢,答案就是就绪选择。这就好比到餐厅吃饭,每来一桌客人,都有一个服务员专 阅读全文

posted @ 2013-08-02 16:17 在旅途 阅读(192) 评论(0) 推荐(0) 编辑

2013年7月28日

【转】java内部类的作用分析

摘要: 转自:http://blog.csdn.net/ilibaba/article/details/3866537另收另外一篇有空的时候看:http://jinguo.iteye.com/blog/717534提起Java内部类(Inner Class)可能很多人不太熟悉,实际上类似的概念在C++里也有,那就是嵌套类(Nested Class),关于这两者的区别与联系,在下文中会有对比。内部类从表面上看,就是在类中又定义了一个类(下文会看到,内部类可以在很多地方定义),而实际上并没有那么简单,乍看上去内部类似乎有些多余,它的用处对于初学者来说可能并不是那么显著,但是随着对它的深入了解,你会发现Ja 阅读全文

posted @ 2013-07-28 22:10 在旅途 阅读(161) 评论(0) 推荐(0) 编辑

2013年7月27日

不能进入String.class调试

摘要: Window --> Preferences --> Java --> Compiler --> Classfile Generation: "add line number attributes to generated class file"was checked. I did a clean, recompile. I did uncheck it, recompile, check it, recompile. I made sure the project did use the global settings. Still the sam 阅读全文

posted @ 2013-07-27 18:49 在旅途 阅读(247) 评论(0) 推荐(0) 编辑

2013年7月26日

SCJP考试题310-025(第二套<4>)92-147/147

摘要: 310-025 Leading the way in IT testing and certification tools,QUESTION NO: 92 Given: 1. String foo = “blue”; 2. Boolean[]bar = new Boolean [1]; 3. if (bar[0]) { 4. foo = “green”; 5. } What is the result? A. Foo has the value of “” B. Foo has the value of null. C. Foo has the value of “blue” D. Foo h 阅读全文

posted @ 2013-07-26 23:20 在旅途 阅读(456) 评论(0) 推荐(0) 编辑

2013年7月25日

java中用反射访问私有方法和私有成员[转]

摘要: 转自:http://zhouyangchenrui.iteye.com/blog/470521 java的反射可以绕过访问权限,访问到类的私有方法和成员。可能这点会引起安全性的讨论。反射的使用帮助解决很多复杂的问题,其运行时的类型检查,动态调用,代理的实现等,反射为我们写程序带来了很大的灵活性,很多功能都是基于反射。 利用反射还可以访问内部类、匿名内部类的私有属性。 用java自带的java -private 类名 反编译命令可以查看类的完整定义。(参考think in java)下面举例子说明。首先定义一个接口public interface Ref { public void ... 阅读全文

posted @ 2013-07-25 21:38 在旅途 阅读(735) 评论(0) 推荐(0) 编辑

2013年7月23日

ocjp(scjp) 的官网样题收录-20130723

摘要: 官网上给的样题很少,带(*)的为正确答案。OBJECTIVE: 1.5:Given a code example, determine if a method is correctly overriding or overloading another method, and identify legal return values (including covariant returns), for the method.1) Given:1. class SuperFoo {2. SuperFoo doStuff(int x) {3. return new SuperFoo();4. }5 阅读全文

posted @ 2013-07-23 19:30 在旅途 阅读(390) 评论(0) 推荐(0) 编辑

Java transient关键字【转】

摘要: 转自:http://www.blogjava.net/fhtdy2004/archive/2009/06/20/286112.htmlVolatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到主内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。 Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。 这样当多个线程同时与某个对象交互时,就必须要注意到要让线程及时的得到共享成员变量的变化。 ... 阅读全文

posted @ 2013-07-23 17:41 在旅途 阅读(232) 评论(0) 推荐(0) 编辑

2013年7月19日

Java内部类——学习笔记

摘要: 参考:http://blog.csdn.net/aaronsi/article/details/187322和http://openhome.cc/Gossip/JavaGossip-V1/InnerClass.htm內部類別(Inner class)或「巢狀類別」(Nested class)。非"static"的內部類別可以分為三種:成員內部類別(Member inner class)、區域內部類別(Local inner class)與匿名內部類別(Anonymous inner class)。member inner classes: 要创建它的实例,必须有一个指向上 阅读全文

posted @ 2013-07-19 17:20 在旅途 阅读(623) 评论(0) 推荐(0) 编辑

2013年7月18日

java 子类重写父类的方法

摘要: 若想实现一个合格重写方法,而不是重载,那么必须同时满足下面的要求! A、重写规则之一:重写方法不能比被重写方法限制有更严格的访问级别。 (但是可以更广泛,比如父类方法是包访问权限,子类的重写方法是public访问权限。) 比如:Object类有个toString()方法,开始重写这个方法的时候我们总容易忘记public修饰符,编译器当然不会放过任何教训我们 的机会。出错的原因就是:没有加任何访问修饰符的方法具有包访问权限,包访问权限比public当然要严格了,所以编译器会报错的。 B、重写规则之二:参数列表必须与被重写方法的相同。 重写有个孪生的弟弟叫重载,也就是后面要出场的。如果子类方法的参 阅读全文

posted @ 2013-07-18 17:17 在旅途 阅读(13314) 评论(0) 推荐(0) 编辑

Java 中override、overload、overwrite区别,以及与多态的关系【转】

摘要: 因为早期的翻译导致了override和overwrite的解释及理解混乱,需要重新梳理这几个词及相关内容。转自:http://blog.csdn.net/lzhang007/article/details/7960950一overload:是重载的意思,这没啥能混淆的了,就是在同一个类当中,为了增加通用性,写了很多方法,这些方法只有一个要求,参数的数量和类型不同,但返回值和方法属性必须相同,否则不属于重载,比如:1.public class Parent{ public intadd(int a, int b){} public intadd(int a,float b){} public i 阅读全文

posted @ 2013-07-18 14:02 在旅途 阅读(1461) 评论(0) 推荐(0) 编辑

导航