随笔分类 -  Java Programming

Any Java related including class usage, multi-thread, API and so on.
摘要:Java NIO使用了操作系统层对对非阻塞IO的支持。不再是基于Stream的数据传输,而是基于Buffer的数据传输。NIO最大的改变有:非阻塞IO,可以减少线程数量;Buffer传输数据机制,这个应该是为了迎合底层实现,提高效率;同样也是因为使用了底层直接的IO API,所以IO的效率也提高了。... 阅读全文
posted @ 2011-09-17 23:07 深夜两点 阅读(595) 评论(0) 推荐(0) 编辑
摘要:LinkageError包括其子类,是Java中比较不应该出现的Error。出现这些问题,大概有几个问题:ClassLoader没有严格遵守Java中默认的双亲委派模式;全限定名相同的两个类在不同的CL中有重复;程序运行时使用的类的版本与开发时候不一样(类有变化,比如改了方法的可见性等)。 而Lin... 阅读全文
posted @ 2011-08-31 17:34 深夜两点 阅读(7732) 评论(0) 推荐(2) 编辑
摘要:ClassLoader可以把包(jar包,war包)内的class文件加载到JVM中,第一步就是将class文件以stream的方式读取出来。ClassLoader也将这个加载资源的方法getResourceAsStream暴露了出来。编程时可以使用这个方法来加载包内的任何资源,比如properti... 阅读全文
posted @ 2011-06-12 13:09 深夜两点 阅读(3018) 评论(0) 推荐(0) 编辑
摘要:SAXP使用streaming读取xml,基于事件触发和回调函数处理xml内容,占用内存小,速度快,适用于1)仅仅读取但是不改变xml内容 2)只处理内容一次,类似于在xml中查找相关内容。 创建Factory 解析xml过程。首先需要创建factory,factory是用来创建parser的,包含... 阅读全文
posted @ 2011-06-12 12:15 深夜两点 阅读(2720) 评论(2) 推荐(0) 编辑
摘要:JUnit4比之前的版本可爱多了。 编写Testcase 使用JUnit4编写testcase不再有继承Testcase类的负担了。只要在测试方法加annotation @org.junit.Test就行了。 @org.junit.Test public void ... 阅读全文
posted @ 2011-03-01 23:57 深夜两点 阅读(3048) 评论(0) 推荐(1) 编辑
摘要:用JSON也有挺长时间了,最近做了个小软件,需要调用第三方API。Google translate API是使用JSON数据格式的。而douban API是使用XML数据格式的。过程中不禁感慨,xml真是不大适合存储数据,占用资源多不说,解析起来也很麻烦。现在越来越多的api开始使用json作为数据... 阅读全文
posted @ 2011-02-28 15:20 深夜两点 阅读(3250) 评论(1) 推荐(0) 编辑
摘要:这两个类使用起来非常方便,可以完成我们对定时器的绝大多数需求 Timer类是用来执行任务的类,它接受一个TimerTask做参数 Timer有两种执行任务的模式,最常用的是schedule,它可以以两种方式执行任务:1:在某个时间(Data),2:在某个固定的时间之后(int delay).这两种方... 阅读全文
posted @ 2010-09-11 13:58 深夜两点 阅读(373) 评论(0) 推荐(0) 编辑
摘要:Array通过反射,封装了一系列对数组的操作。下面举例说明一下,ps,例子是抄来的,呵呵 importjava.lang.reflect.*;publicclassarray2{publicstaticvoidmain(Stringargs[]){intdims[]=newint[]{5,10,15... 阅读全文
posted @ 2010-08-09 17:29 深夜两点 阅读(204) 评论(0) 推荐(0) 编辑
摘要:获取方法的调用者 如果你写了一个超级复杂超级大的项目,在项目后期调试修改的时候,突然想知道到底是哪些类调用了ImportantClass中的Important方法,你会怎么做呢? 首先,你可能说:我用不到!如果这样的话,到这里你就可以return了。做法一:最常规有效的做法,使用IDE的全目录全文搜... 阅读全文
posted @ 2010-08-04 13:29 深夜两点 阅读(1431) 评论(0) 推荐(0) 编辑
摘要:nio简介 nio的Socket编程中改变最大的是服务器端,客户端可以没有什么变化。目的是增加服务器吞吐量和并行处理客户端请求的能力,改变服务器端阻塞的模型。其设计上采用了Observer模式,使用事件触发机制进行io并行处理。 ByteBuffer:封装了一个byte[],作为数据载体。 Se... 阅读全文
posted @ 2010-08-04 11:49 深夜两点 阅读(347) 评论(0) 推荐(0) 编辑
摘要:java集合框架接口宏观结构: java集合框架是一个设计优美的集合框架,为java编程提供了很大的帮助,并且附有高效的实现.使得模块之间可以使用接口进行交互,从而使得程序有很大的扩展性.java集合框架是包含在java标准库里面的,任何支持java的地方都支持.一些需要注意的小问题: Li... 阅读全文
posted @ 2010-08-04 11:48 深夜两点 阅读(210) 评论(0) 推荐(0) 编辑
摘要:swing是非线程安全的,也就是说,如果多个线程同时对一个swing组件进行操作,很可能会引发异常等问题,以至程序崩溃。毕竟,repaint是一个比较花费时间的操作,如果一个swing组件在repaint的过程中,其内容被更改,就会导致repaint的内容与修改后的内容不符,可能导致访问错误(比如多... 阅读全文
posted @ 2010-07-31 10:34 深夜两点 阅读(447) 评论(0) 推荐(0) 编辑
摘要:对与java中的final变量,java编译器是进行了优化的。每个使用了final类型变量的地方都不会通过连接而进行访问。比如说Test类中使用了Data类中一个final的int数字fNumber=77,这时候,java编译器会将77这个常数编译到Test类的指令码或者常量池中。这样,每次Test... 阅读全文
posted @ 2010-07-17 11:34 深夜两点 阅读(435) 评论(0) 推荐(0) 编辑
摘要:wait与notify是java同步机制中重要的组成部分。结合与synchronized关键字使用,可以建立很多优秀的同步模型。 synchronized(this){}等价与public synchronized void method(){.....}同步分为类级别和对象级别,分别对应着类锁和... 阅读全文
posted @ 2010-07-07 12:01 深夜两点 阅读(785) 评论(0) 推荐(0) 编辑
摘要:程序的美要从两个方面进行品味,一是程序整体的架构之美;一是程序的代码实现之美。编码之美:编程就是为解决一个计算机能够解决的问题写出具体的程序实现。开始,人们总是从发现代码之美开始的,从把代码一股脑的写在main方法里,到把... 阅读全文
posted @ 2010-07-07 11:43 深夜两点 阅读(341) 评论(0) 推荐(0) 编辑
摘要:关于HashSet的发现: 1:HashSet是一个Set,也就是所谓的集合。集合的概念是元素在集合中无序、唯一。无序对于计算机来说没有什么意义,因为计算机总要按照一定的顺序存储对象。唯一是怎么实... 阅读全文
posted @ 2010-07-07 11:32 深夜两点 阅读(8581) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示