- 浏览: 19394 次
- 性别:
- 来自: 广州
最新评论
-
wuchienchao:
笔误了吧CharArrayInputStream CharA ...
Java IO 框架整理 -
tanshenghui:
现在想想,对于程序员来说,天马行空或者是必不可少的!
计算机科学不是一门学科 -
tanshenghui:
Java IO 框架中主要应用了两个设计模式:装饰模式和适配器 ...
Java IO 框架整理
文章列表
nginx 最近版本升级的很快,之前弄过 最近整理一下
1.linux 下面安装
1.下载 pcre-8.10.tar.gz nginx-1.1.1.tar.gz
2.安装 pcre 让nginx支持rewrite
pcre-8.10.tar.gz 上传到/home 目录下面
1) 解压 pcre
tar zxvf pcre-8.10.tar.gz 解压 pcre 后 /home 下面会有 pcre-8.10 文件夹
2)配置pcre
cd /home/ pcre-8.10
./configure ...
转自:http://blog.csdn.net/jianjifei/article/details/8511637
windows vista以上系统携带有readyboost功能,在物理内存与虚拟内存之间建立了一层缓存,缓存的页交换大小为4k-512k,小文件的随机访问速度远比机械磁盘要快,所以在需要用到虚拟内存的时候,就能感觉到性能有很大的提升。
而如果物理内存空间足够大,readyboost是否就没有用了呢?不是的。
物理内存足够大的时候,只是表明了再程序运行过程中,有可能没有调用到虚拟内存,这与运行的第三方软件有关。 ...
学习一个框架,能从源代码去学习是一件好事。但是,在熟悉一个框架的功能及性能之前,就草率的接触源代码,这不是一个好的习惯。
正如一个系统的开发,没有做好需求,是不会完成一个好的系统的。框架源码也一样,不是一些小程序,信手拈来即可。
如果每次遇到一个新的框架就急于去研究其源代码,那将会适得其反。把这个框架熟悉使用,常常想一下,它应该如何去设计,才能得到这样的功能和性能,或是可以思考怎样才会把它的性能更好的提升。如果是其设计上存在缺陷的话,该如何补足。这些不一定需要深入到源代码去阅读,通过框架的API或自带文档可以得到这些信息。
所以,了解一个框架的最好过程并不是debug一个框架,单步运行一个 ...
如果说计算机是一门学科的话,以前我是赞同的。问我这门学科包括什么,我会告诉你是:编译原理、计算机组成原理、数据结构、算法等等,回答的这些几乎就是我大学所接触到的课程知识。
现在,确实是不这样认为了。
之 ...
装饰模式是用于对象的创建,而此对象的创建基于原来对象的加强,也就是通过原组件对象的参数传递,把此对象层层加强。例如:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
通过层层的参数传递,把InputStream适配为InputStreamReader再装饰加强为BufferedReader。这里的参数的传递是关键,是通过引用而非继承方式。
装饰器中的继承的实质是为了类的兼容的需要,便于参数引用可以层层传递兼容,而不是通过继承实现功能的扩展,功能扩展主要在实例的引用。一般来说是纵向结构,如 ...
唐僧
立场坚定,从不动摇,销售的话,可能就是不肯让步,这样得不到顾客的认可。再说,明辨是非能力不强,销售是企业的第一线,不能明辨信息的话会使得公司遭受损失的可能性增大。
悟空
义气重,脾气有点大。但是能力强,个人灵活,并且人脉宽广,对信息的辨别能力强。个人很被信任,顾客放心。
八戒
油嘴滑舌,总能够讨得顾客欢心,会尽量满足客户的要求。但是当遇到困难的时候,第一个想法就是退缩。销售本身就是一件会挫折连连的工作,所以,八戒不会有大顾客。
沙僧
老实,平凡,没有特别突出的地方,吃苦耐劳。所以会透露不该透漏的信息,难有顾客。
排序:悟空、八戒、沙僧、唐僧。
UML主要是用来描述对象模型,其中包括类之间的各种关系,现在总结类之间的关系如下:
一般化关系:也就是特殊到一般的关系,在对象语言中也就是extends和implements的这层关系。而继承级关系需要注意的是类别的关系,即a is b。
关联关系:可以表示为一种a has b的关系,包括聚合和合成关系。在对象语言中,b是通过类的实例变量来表示的。
聚合关系:只是一种聚集,各个部件可独立存在,也就是独立开来还存有生命力。
合成关系:各个部件必须彼此依靠才能存在,如人和四肢。正如四肢只能归一个人所有,合成关系不能实现共享。相对的,聚合关系可以实现共享。
依赖关系:与关联关系可单可双不同的 ...
可从IO的类层次,IO框架的设计模式来论述。
总体来说,IO可以分为字节流和字符流,不同在于字符流由字节流包装而来,在IO读入之后经过JVM处理,把字节流转换成字符流。而字符流的字符采用哪种字符编码实现由JVM默认编码决定。
而每个流都分输入和输出,所以,总体来说,IO有四个顶层类:
InputStream
OutputStream
Reader
Writer
而作为机器级别于机器直接交互的则是字节流:
InputStream
OutputStream
以IO的中间类,进行字节流到字符流的转换过渡,通常可作为字符流类的构造参数,可指定编码:
InputStreamReader
Output ...
Java是一种解释性语言,严谨来说是编译.java + 解释执行.class才对。
根据我所了解的编译原理,编译过程可以是由上至下,当遇到编译错误的时候,编译器可以进行修正并且继续进行编译,直至.java文件全部编译结束。
Java文件是被编译成字节码的形式,一条语句被编译成n条.class执行指令。但是编译出错时将变成怎样的形式,我就不是很了解了?继续编译剩下的或者是就此打住?慢慢考察吧。
测试结果:
编译一旦发生错误的话,控制台会报出相关的错误,并且跳过错误继续编译,但将不会生成新的.class文件。
如果是内部类的话,并且直至编译完成内部类还没有出现编译出错信 ...
- 2009-12-07 16:43
- 浏览 845
- 评论(0)
这只是我在看设计模式的时候的一点想法。
由于Java中只有单继承而没有多继承,那如果有多继承的话,是否抽象类和接口都没用了,而是要像C++一样设计?我也不觉得Interface的存在也仅仅是为了解决类的多继承问题。
对于抽象类的接口的选择上,可以从Java的类库容器设计上来看看:Collection,Map和Iterator都使用了接口。而Collection和Map都有相应的抽象类,抽象类中更多强调的是一种通用的数据格式。
而在运行时,抽象类可以以普通类的形式获得内存分配,而接口存在于代码区,不会获得内存分配并且只是作为引用类型而存在。
所以,我认为抽象类偏向于对数据结构的封装(包括对 ...
- 2009-12-01 13:12
- 浏览 1070
- 评论(0)