随笔分类 - J2SE
摘要:J2SE DK & API下载————————-http://java.sun.com/j2se/1.3/download.htmlhttp://java.sun.com/j2se/1.4.2/download.htmlhttp://java.sun.com/javase/downloads/index_jdk5.jsphttp://java.sun.com/javase/downloads/index.jspJ2EE DK & API下载————————-http://java.sun.com/j2ee/1.3/index.jsphttp://java.sun.com/j2e
阅读全文
摘要:DK1.5引入了新的类型——枚举。在Java中它虽然算个“小”功能,却给我的开发带来了“大”方便。用法一:常量在JDK1.5之前,我们定义常量都是:public static fianl....。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。Java代码public enum Color {RED, GREEN, BLANK, YELLOW}用法二:switchJDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。Java代码enum Signal {GREEN, YELLOW, RED}publ
阅读全文
摘要:1.迭代器Iterator迭代器是一个对象,它的工作是遍历并选择序列中的对象。客户端程序员不关心序列底层的结构。此外,迭代器通常被称为“轻量级”对象:创建它的代价小。因此,经常可以见到对迭代器有些奇怪的限制。Java的Iterator就是迭代器受限制的例子,它只能用来:1)使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。2)使用next()获得序列中的下一个元素。3)使用hasNext()检查序列中是否还有元素。4)使用remove()将上一次返回的元素从迭代器中移除。import java.util.Arr
阅读全文
摘要:Java线程死锁 Java线程死锁是一个经典的多线程问题,因为不同的线程都在等待那些根本不可能被释放的锁,从而导致所有的工作都无法完成。假设有两个线程,分别代表两个饥饿的人,他们必须共享刀叉并轮流吃饭。他们都需要获得两个锁:共享刀和共享叉的锁。 假如线程“A”获得了刀,而线程“B”获得了叉。线程“A”就会进入阻塞状态来等待获得叉,而线程“B”则阻塞来等待“A”所拥有的刀。这只是人为设计的例子,但尽管在运行时很难探测到,这类情况却时常发生。虽然要探测或推敲各种情况是非常困难的,但只要按照下面几条规则去设计系统,就能够避免Java线程死锁问题: 让所有的线程按照同样的顺序获得一组锁。这种方法...
阅读全文
摘要:以下是Java应用在运行时常见的一些问题,总结了运行时黑盒方式的一些排查方法,也希望看到的同学能给予补充,无论是补充碰到的问题,还是补充解决方法。类装载的相关问题写过Java代码的同学估计都碰到过ClassNotFoundException/NoClassDefFoundError/NoSuchMethodException(还有一个常见的ClassCastException就不在这里说了)。当碰到ClassNotFoundException/NoClassDefFound时,如果很确定这个class应该是从哪个路径装载的,则可以去相应的路径找下是否有对应的class文件存在,例如web应用通
阅读全文
摘要:本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解。下面开始正文。【案例1】通过一个对象获得完整的包名和类名?123456789101112131415package Reflect; /** * 通过一个对象获得完整的包名和类名 * */class Demo{ //other codes... } class hello{ public static void main(String[] args) { Demo demo=new Demo(); System.out.println(
阅读全文
摘要:面向接口编程一些好处:1.一个功能的调用者只需要关心如何使用此功能,而无须关注功能的实现。如:如我们在main 方法中调用一个client程序,我们只需要Client client = new ClientImpl(), 无论 ClientImpl 类中定义了多么复杂的成员函数和成员变量(包括javadoc),你都看不到,你也无须看到。2.面向接口编程便于团队合作,有了统一的接口(接口是公开的,里面的方法都是public的),无须担心别人的程序无法使用我的实现(他根本就不关心)。假如我们团队正在做一个计算器小程序,想要计算1+2+...+100=?,product manager 写了一个接口
阅读全文

浙公网安备 33010602011771号