- 浏览: 148602 次
- 性别:
- 来自: 北京
最新评论
-
xiaowife20:
写得不错,加油
Spring的SessionFactory管理 -
aa00aa00:
JAVA一路走来啊,
JDK各版的发布时间表 -
dasheng:
参考着看吧,我也上粗粗了解
JVM 参数大全 -
fjjiaboming:
翻译准确多高 ?
JVM 参数大全 -
fjjiaboming:
翻译挺全的.
JVM 参数大全
文章列表
1,注解为我们在代码中添加信息提供了一种形式化的方法,使我们在以后的的工作中很方便的使用这些数据。
2,注解是众多引入java 5中的重要的语言变化之一,java 5 内置了3中注解,在java.lang有注解:
@Override 表示当前的方法定义将覆盖超类的方法。
@Deprecated,如果程序员用了标注为它的元素,那么编译器会发出警告信息。
@SuppressWarrngs,关闭不当的编译器警告。
java还另外提供了四种注解,专门负责新注解的创建。
@Target(ElementType.METHOD)@Retention( ...
1,关键字enum可以把一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序组件使用。
2,基本enum特性
创建enum时,编译器会为你生成一个相关的类,这个类继承自java.lang.Enum。调用enum的values()方法,可以
遍历enum实例。
enum Shrubbery { GROUND, CRAWLING, HANGING }
public class EnumClass { public static void main(String[] args) { for(Shrubbery s : Shrubbery. ...
1,对程序语言设计者来说,创建一个好的输入/输出(I/O)系统是一项艰难的事。
2,File类:
它是能代表一个特定的文件的名称,又能代表一个目录下的一组文件的名称。如果它代表一个文件集,我们就可以对此集合调用list()方法,这个方法会返回一个字符的数组。
3,文件目录器
public class DirList { public static void main(String[] args) { File path = new File("."); String[] list; if(args.length == 0) ...
1,jdk5增加如下接口:
Queue接口和实现PriorityQueue和各种风格的BlockingQueue.
ConcurrentMap接口和实现ConcurrentHashMap.它们用于多线程机制。
CoppyOnWriteArrayList和CoppyOnWriteArraySet,它们也是用于多线程机制。
EnumSet和EnumMap,为了使用Enum而设计的Set和Map的特殊实现。
Collections类的多个便利方法。
2,Collections类的ncopies()和fill()方法。
class StringAddress { priv ...
1,数组和其他种类的类的容器之间的区别有三个方面:效率,类型和保存基本类型的能力。
数组可以持有基本的类型,而泛型之前的容器则不能。但是有了泛型,容器就可以指定并检查它们所持有的对象的类型,
并且有了自动包装机制,容器看起来还能持有基本类型。
2,数组标示符其实只是一个引用,指向在堆中创建的一个真实的对象,这个数组对象用来保存指向其他对象定的引用。
对象数组和基本类型数组在使用上基本是相同的;唯一的区别就是对象数组保存的是引用,基本类型数组直接保存基本类型
的值。
public class ArrayOptions { public static ...
1,一般的类和方法,只能使用具体的类型:要么是基本类型,要么是自定义的类。如果要编写可以应用于多种类型的代码,这种刻板的限制对代码的约束就会很大。
2,范型接口
范型也可以应用于接口。
3,范型方法
...
1,运行时类型信息使得你可以在程序运行时发现和使用类型信息。
2,运行时识别对象和类的信息有两种方式:第一种方式:
传统的“RTTI”,它假定我们在编译时已经知道了所有的类型;第二种方式是“反射”机制,它允许我们在运行时发现和
使用类的信息。
3,为什么需要RTTI
面向对象的编程的基本目的是:让代码只操纵对基类的引用:
abstract class Shape { void draw() { System.out.println(this + ".draw()"); } abstract public String toS ...
1,字符串操作是计算机程序设计中最常见的行为。
2,String是不可变的
当把String 对象当作方法的参数时,都会复制一份引用,而该引用所指的对象其实一直待在单一的物理位置上,从未动过。
3,重载“+”和StringBuilder
public class WhitherStringBuilder { public String implicit(String[] fields) { String result = ""; for(int i = 0; i < fields.length; i++) resu ...
1,java的基本理念是:结构不佳的代码不能运行。
2,当异常抛出后,有几件事会随之发生。首先,同java的其他对象的创建一样,将使用new在堆上创建异常对象。然后,
当前的执行路径(它不能继续下去了)被终止,并且从当前的环境中弹出对异常的引用。此时,异常处理机制接管程序。并
开始寻找一个恰当的地方来继续执行程序。这个恰当的地方就是异常处理程序,它的任务就是将程序从错误状态中恢复,以
使程序要么换一种方式运行,要么继续运行下去。
3,异常的参数
所有标准的异常类都有两个构造器:
1个是默认构造器;另一个是接受字符串作为参数,以便把相关的信息放入异 ...
1,范型和类型安全的容器
@SuppressWarning("unchecked") 类型检查的警告, 被忽略!
Collection:一个独立元素的序列,这些元素都服从一个或多个规则。
Map:一组成对的“键值对”对象,允许你使用键来查找值。
2,容器的打印
打印数组,用Arrays.toString()来打印。打容器则不需要,直接system.out.println(collection)即可。
ArrayList,LinkedList都是List类型,前者随机访问比较快,后者优势在于顺序访问;
HashSe ...
1,已经将一个类的定义放在另一个类的定义内部,这就是内部类。
2,内部类可以访问其外围类的方法和字段。
3,.this和.new
如果你需要生成对外部类对象的引用,可以使用外部类的名字后面紧跟圆点和this。
public class DotThis { void f() { System.out.println("DotThis.f()"); } public class Inner { public DotThis outer() { return DotThis.this; // A plain "thi ...
1,接口和 内部类为我们提供了一种将接口和实现分离的更加结构化的方法。
2,包含抽象方法的类叫抽象类。如果一个类包含一个或多个抽象方法,该类必须被限定为抽象类,否则编译器会报错。
3,接口
一个接口表示所有实现了该特定接口的类看起来都想这样。
4,我们应该使用接口还是基类。
如果要创建不带任何方法定义和成员变量的抽象类,那就应该创建接口而不是抽象类
5,接口的任何域自动是static和final的。
6,嵌套接口
接口可以嵌套在类或者其他接口中。
class A { interface B { void f(); ...
1,多态通过分离做什么和怎么做,从另一个角度将接口和实现分离开来。
2,向上转型(upcasting)
将某个对象的引用视为对其基类的引用的做法叫向上转型。
3,前期绑定和后期绑定(动态绑定)
将一个方法调用和一个方法的主体关联起来被称作绑定,若在程序执行前进行绑定(如果有的话,由编译器和连接程序实
现),叫前期绑定。
在运行时根据对象的类型进行绑定,叫后期绑定,也叫动态绑定。
java中除了static方法和final方法(private方法属于final方法)之外,其他的所有方法都是后期绑定,我们不必判定是否
应该进行后期绑定,它 ...
1,组合(composition):
新的类由现有的类的对象组成,这种方法称为组合;
2,继承:按照现有类的类型来创建新类,无需改变现有类的形式。
3,带参数的构造器
class Game { Game(int i) { print("Game constructor&q ...
1,访问控制与“最初的实现并不恰当”有关。
2,java是没有c的条件编译的,可以通过import达到条件变异的目的,导入不同的包,包含相同的类,有不得方法实现。
3,包访问权限:
默认访问权限是没有任何关键字的。有时表现为friendly,当前包中所有其他类对这个成员有访问权限,对包之外的类,这
个成员是private的。
4,
class Cake { public static void main(String[] args) { Pie x = new Pie(); x.f(); //正常 调用 }} /* Output:
...