05 2013 档案
摘要:非阻塞NIO使用场景: NIO是Java提供的非阻塞I/O API。 非阻塞的意义在于可以使用一个线程对大量的数据连接进行处理,非常适用于"短数据长连接"的应用场景,例如即时通讯软件。 在一个阻塞C/S系统中,服务器要为每一个客户连接开启一个线程阻塞等待客户端发送的消息.若使用非阻塞技术,服务器可以使用一个线程对连接进行轮询,无须阻塞等待.这大大减少了内存资源的浪费,也避免了服务器在客户线程中不断切换带来的CPU消耗,服务器对CPU的有效使用率大大提高. 与原始IO对比,异步IO是一种没有阻塞地读写数据的方法,通常,在原始IO中,在代码进行read()调用时,代码会阻塞直至
阅读全文
摘要:Java中Properties类用来处理有键值对的属性文件,利用它可以快速地把属性文件加载到内存,也可以快速把属性存放到文件中。它继承自hashTable类,除了拥有hashTable所有拥有的所有方法外,另外它还附加了用于与文件流操作的方法。下面示例展示了Properties类的用法: 1 public class PropertiesTest { 2 public static void main(String[] args)throws Exception { 3 4 Properties p = new Properties(); 5 ...
阅读全文
摘要:NIO概述: NIO弥补了原来IO的不足,它在标准Java基础上提供了高速的,面向块(缓冲区)的IO操作。NIO的创建目的是为了让Java程序员可以实现高速IO而无需编写操作流中数据代码。NIO将最耗时的IO操作(即填充和提取缓冲区)转移回操作系统,因而可以极大地提高速度。原来的 I/O 以流的方式处理数据,而 NIO 以块的方式处理数据。 面向流的 I/O 系统一次一个字节地处理数据。一个输入流产生一个字节的数据,一个输出流消费一个字节的数据,面向流的 I/O 通常相当慢。一个面向块的 I/O 系统以块的形式处理数据。每一个操作都在一步中产生或者消费一个数据块。按块处理数据比按(流式的)..
阅读全文
摘要:JavaIO在javaIO中主要有5个类和1个接口,它们是:File,InputStream,OutputStream,Reader,Writer,Serializable接口。File类主要功能是完成与平台无关的文件操作。其中File.pathSeparator表示路径分隔符“:\” File.separator则表示分隔符“/”或“\\”字节流和字符流:字节流:(inputStream,OutputStream)字符流:(reader,writer)OutputStream.write(byte[] b) 一次性写入一个定义的字节数组OutputStream.write(int...
阅读全文
摘要:1.注解的一些基本概念Java从1.5开始引入注解。注解的功能类似于代码中的注释,所不同的是注解不是提供代码功能的说明,而是实现程序功能的重要组成部分。Java注解已经在很多框架中得到了广泛的使用,用来简化程序中的配置。在使用注解时候的配置参数的值必须是编译时刻的常量(java基本类型和String类型,Class类型,Enum类型,Anotation类型,数组类型)从某种角度来说,可以把注解看成是一个XML 元素,该元素可以有不同的预定义的属性。而属性的值是可以在声明该元素的时候自行指定的。在代码中使用注解,就相当于把一部分元数据从XML 文件移到了代码本身之中,在一个地方管理和维护。 1
阅读全文
摘要:Jad地址:http://www.varaneckas.com/jad/JadClipse地址:http://sourceforge.net/projects/jadclipse/files/?source=navbar利用java反编译插件可以很方便地查看jdk或其它jar包的源代码,从而不需要烦琐地链接各种框架的源代码包一、前提:1、已经安装了Eclipse,如我的Eclipse目录:E:\Work_Soft\Eclipse2、反编译插件包:eclipse 反编译插件_jad 3.3.0.zip二、步骤:1、解压反编译插件包“eclipse 反编译插件_jad 3.3.0.zip”2、将插
阅读全文
摘要:1. 正则表达式:正则表达式在Groovy中是本地语言级别的支持def aRegex=~'lxt' ~开头的表示一种模式println aRegex.class//输出:class java.util.regex.Pattern def mat='lxt'=~'lxt'println mat.class //class java.util.regex.Matcher//~开头的字符串是模式Pattern对象 assert 'lxt008'=~'lxt'//true部分匹配用=assert !('lxt008
阅读全文
摘要:一个枚举类,可以看成包括它的一些子类(枚举)的一个类,而且枚举类的构造方法只能是私有的,如下面代码以交灯为示例: 1 public class Test { 2 3 public static void main(String[] args) { 4 Trafficlight light = Trafficlight.RED; 5 6 System.out.println(light.time); 7 System.out.println(light.nextLigth()); 8 // ordinal...
阅读全文
摘要:1.switch条件语句中可以加入字符串了,实现方法是利用了字符串的hashcode()值作业真正的值2.增加了一种可以在字面量中使用的进制,二进制,通过在数字前面加“0b”或“0B”3.在数字字面量中使用下划线来分隔数字方便阅读,不影响数值大小。基本原则是前后都是数字的才可以出现下划线4.java7对异常做了两个改动: 4.1.支持在一个catch子句中同时捕获多个异常,另外一个是在捕获并重新抛出异常时的异常类型更加精确。java7中Throwable类增加addSuppressed方法,当一个异常被抛出的时候,可能有其他异常因为该异常而被抑制住,从而无法正常抛出。这时可以通过addSup.
阅读全文

浙公网安备 33010602011771号