- 浏览: 515885 次
- 性别:
- 来自: 武汉
最新评论
文章列表
自从
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
中的枚举类型包括了其他语言中枚举类型的一般特性。
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
会提供比较好的性能;而访问链表中的某个元素时,就必须 ...