![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
jianjifei
这个作者很懒,什么都没留下…
展开
-
关于final变量在类的存储与加载
引出问题:项目接口调试,final签名修改后,运行的文件没有重新覆盖,一文件的final静态变量修改了,另一引用的文件没有生效,报签名错误。 final变量的陷阱:当final变量改变的时候,引用其的所有文件都必须重新部署,否则仅仅重启程序的话,是不会生效的。也就是,修改的文件会使引用的文件发生重新编译。这在集成编译环境中很容易被忽略,误以为只需要重新部署修改过的java文件对应的原创 2013-03-22 02:12:12 · 1371 阅读 · 0 评论 -
高性能IO设计的Reactor和Proactor模式
在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,而Proactor运用于异步I/O操作。 在比较这两个模式之前,我们首先的搞明白几个概念,什么是阻塞和非阻塞,什么是同步和异步,同步和异步是针对应用程序和内核的交互而言的,同步指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪,而异步是指用户进程转载 2013-04-15 21:03:14 · 491 阅读 · 0 评论 -
细说ArrayList的remove方法
public class ArrayListTest { static void removeTest(){ ArrayList arr = new ArrayList(); arr.add(1); arr.add(2); arr.add(3); arr.add(4); arr.add(5); System.out.println(arr); for (i原创 2013-04-15 20:30:38 · 845 阅读 · 0 评论 -
抽象类与接口的区别
这只是我在看设计模式的时候的一点想法。由于Java中只有单继承而没有多继承,那如果有多继承的话,是否抽象类和接口都没用了,而是要像C++一样设计?我也不觉得Interface的存在也仅仅是为了解决类的多继承问题。对于抽象类的接口的选择上,可以从Java的类库容器设计上来看看:Collection,Map和Iterator都使用了接口。而Collection和Map都有相应的抽象类,...原创 2009-12-01 13:12:32 · 51 阅读 · 0 评论 -
Java IO 框架整理
可从IO的类层次,IO框架的设计模式来论述。总体来说,IO可以分为字节流和字符流,不同在于字符流由字节流包装而来,在IO读入之后经过JVM处理,把字节流转换成字符流。而字符流的字符采用哪种字符编码实现由JVM默认编码决定。而每个流都分输入和输出,所以,总体来说,IO有四个顶层类:InputStreamOutputStreamReaderWriter而作为机器级别...2010-03-18 09:48:03 · 150 阅读 · 0 评论 -
Java关于编译的一点想法
Java是一种解释性语言,严谨来说是编译.java + 解释执行.class才对。 根据我所了解的编译原理,编译过程可以是由上至下,当遇到编译错误的时候,编译器可以进行修正并且继续进行编译,直至.java文件全部编译结束。 Java文件是被编译成字节码的形式,一条语句被编译成n条.class执行指令。但是编译出错时将变成怎样的形式,我就不是很了解了?继续编译剩下的或者是就此...原创 2009-12-07 16:43:05 · 61 阅读 · 0 评论 -
抽象类与接口的区别
设计?我也不觉得Interface的存在也仅仅是为了解决类的多继承问题。对于抽象类的接口的选择上,可以从Java的类库容器设计上来看看:Collection,Map和Iterator都使用了接口。而Collection和Map都有相应的抽象类,抽象类中更多强调的是一种通用的数据格式。而在运行时,抽象类可以以普通类的形式获得内存分配,而接口存在于代码区,不会获得内存分配并且只是作为引用类型而存在。所以,我认为抽象类偏向于对数据结构的封装(包括对抽象类中数据的操作),而接口则是对行为的一原创 2009-12-01 13:12:32 · 42 阅读 · 0 评论 -
Java关于编译的一点想法
编译器可以进行修正并且继续进行编译,直至.java文件全部编译结束。 Java文件是被编译成字节码的形式,一条语句被编译成n条.class执行指令。但是编译出错时将变成怎样的形式,我就不是很了解了?继续编译剩下的或者是就此打住?慢慢考察吧。 测试结果: 编译一旦发生错误的话,控制台会报出相关的错误,并且跳过错误继续编译,但将不会生成新的.class文件。 如果是内部类的话,并且直至编译完成内部类还没有出现编译出错信息,也就是编译出错在内部类之后。即使编译器没有报内部类出错,但原创 2009-12-07 16:43:05 · 42 阅读 · 0 评论 -
Java IO 框架整理
2010-03-18 09:48:03 · 59 阅读 · 0 评论