`
文章列表

java NIO

    博客分类:
  • J2SE
自从 J2SE 1.4 版本以来, JDK 发布了全新的 I/O 类库,简称 NIO ,其不但引入了全新的高效的 I/O 机制,同时,也引入了多路复用的异步模式。 NIO 的包中主要包含了这样几种抽象数据类型:   Buffer :包含数据且用于读写的线形表结构。其中还提供了一个特殊类用于内存映射文件的 I/O 操作。   Charset :它提供 Unicode 字符串影射到字节序列以及逆映射的操作。   Channels :包含
在实际工作中,常常需要设定数字的输出格式,如以百分比的形式输出,或者设定小数位数等,现稍微总结如下。 主要使用的类:java.text.DecimalFormat 1。实例化对象,可以用如下两种方法:     DecimalFormat df=(DecimalFormat)NumberForm ...
  ResourceBundle 使用ResourceBundle 访问本地资源,在设计时,我们往往需要访问一些适合本地修改的配置信息,如果作为静态变量,那么每次修改都需要重新编译一个class ,.config 保存此类信息并不适合,这时我们需要ResourceBundle 。    通过ResourceBundle ,我们需要访问位于/WEB-INF/classes 目录下的一个后缀名为properties 的文本类型文件,从里面读取我们需要的值。     Locale locale = Locale.getDefault();     ResourceBundl ...
  数据类型 Java 虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身; 而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。 基本类型包括:byte , short , int , long , char , float , double , Boolean , returnAddress 引用类型包括:类类型,接口类型和数组。 堆与栈 堆和栈是程序运行的关键,很有必要把他们的关系说清楚。 栈是 ...
  JAVA 内存分配与管理是Java 的核心技术之一,之前我们曾介绍过Java 的内存管理与内存泄露以及Java 垃圾回收方面的知识,今天我们再次深入Java 核心,详细介绍一下Java 在内存分配方面的知识。一般Java 在内存分配时会涉及 ...
将 Java 对象序列化为二进制文件的 Java 序列化 技术是 Java 系列技术中一个较为重要的技术点,在大部分情况下,开发人员只需要了解被序列化的类需要实现 Serializable 接口,使用 ObjectInputStream 和 ObjectOutputStream 进行对象的读写。然而在有些情况下,光知道这些还远远不够。如果你只知道实现 Serializable 接口的对象,可以序列化为本地文件。那你最好再阅读该篇文章,文章对序列化进行了更深一步的讨论,用实际的例子代码讲述了序列化的高级认识,包括父类序列 化的问题、静态变量问题、tran ...
简介:  Java™ 5.0 第一次让使用 Java 语言开发非阻塞算法成为可能,java.util.concurrent 包充分地利用了这个功能。非阻塞算法属于并发算法,它们可以安全地派生它们的线程,不通过锁定派生,而是通过低级的原子性的硬件原生 ...

java enum 浅析

    博客分类:
  • J2SE
java 中的枚举类型包括了其他语言中枚举类型的一般特性。 public class EnumDemo{ public enum Seasons { winter,spring,summer,fall; } public static void main(String[] args){ for(Seasons s:Seasons.values()){ System.out.println(s); } } ...
  简介:  Java™ Collections API 远不止是数组的替代品,虽然一开始这样用也不错。 Ted Neward 提供了关于用 Collections 做更多事情的 5 个技巧,包括关于定制和扩展 Java Collections API 的基础。 注 : 此文摘自 IBM ...
  今天要写一个单元测试,这个单元测试类要去读和它同目录的一个XML 文件。它的位置如下: ConfigFactoryImplTest 要去读取boss-connector-service.xml 。   那么如果得到这个文件呢?先看下面的一个对路径的测试代码 import java.io.File; public class PathTest { public static void main(String[] args) throws Exception { System.out.println( Thread.currentThr ...
  所有都是Collection (总接口) Array 有多少元素是确定的,比如足球队上场的队员有11 名,是固定的,就用array 。 ArrayList 是不固定的,比如用sql 查询数据库,不知道有多少记录返回,用arraylist. Enumeration 是用来一个一个列举Collection 的元素的,但java2 后被Iterator 替代。 Hashtable 用在比如你想查中国队的10 号是谁,首先put(new Interger(10),new String(“ 海东”)) ,再String name=get(new Interge ...
Class.forName(xxx.xx.xx)  返回的是一个类 首先你要明白在java 里面任何class 都要装载在虚拟机上才能运行。这句话就是装载类用的( 和new  不一样,要分清楚) 。  至于什么时候用,你可以考虑一下这个问题,给你一个字符串变量,它代表一个类的包名和类名,你怎么实例化它?只有你提到的这个方法了,不过要再加一点。  A a = (A)Class.forName("pacage.A").newInstance();  这和你  A a = new A() ;  是一样的效果。  关于补充的问题  答案是肯定的,jv ...
    对于处理一列数据项,Java 提供了两个类ArrayList 和LinkedList ,ArrayList 的内部实现是基于内部数组Object[] ,从概念上讲,它更像数组,但LinkedList 的内部实现是基于一组连接的记录,所以,它更像一个链表结构,它们在性能上有很大的差别。     在ArrayList 的前面或中间插入数据时,必须将其后的所有数据相应的后移,这样必然要花费较多时间,所以,当你的操作是在一列数据的后面添加数据而不是在前面或中间,并且需要随机地访问其中的元素时,使用ArrayList 会提供比较好的性能;而访问链表中的某个元素时,就必须 ...
Global site tag (gtag.js) - Google Analytics