Java
文章平均质量分 62
Peter_Ouyang
这个作者很懒,什么都没留下…
展开
-
泛型
泛型使用extends指定上界:, ,使用super指定下界:, 指定上下界的时候,其范围包括上下界本身。除了可以定义泛型类之外,还可以定义泛型方法和泛型接口当指定具有一个类和一个或多个接口的边界时,使用&运算符连接它们,例如: class Gen{//} 为了处理泛型转换,Java允许使用泛型类而不提供任何类型参数,这会为类创建原始类型,这种原始类型与不使用泛型的遗留代码时兼容的。使用原原创 2017-01-06 11:14:56 · 312 阅读 · 0 评论 -
Fork/Join框架
主要的Fork/Join类 ForkJoinTask:用来定义任务的抽象类 ForkJoinTask与Thread不同,ForkJoinTask表示任务的轻量级抽象,而不是执行线程final ForkJoinTask fork() 为调用任务的异步执行提交调用任务,意味着调用fork()方法的线程将持续运行意味着调用代码不会等待任务完成,相反调用代码将继续异步执行 final原创 2017-01-10 19:44:27 · 328 阅读 · 0 评论 -
NIO
缓存: 所有的缓存都是Buffer类的子类:当前位置、界限和容量 abstract Object array()abstract int arrayOffset()final int capacity()final Buffer clear()final boolean hasRemaining()abstract boolean isReadOnly()final int positio原创 2017-01-07 11:39:05 · 297 阅读 · 0 评论 -
break和continue指令
文明版的“goto”: class Break { public static void main(String args[]) { boolean t = true; first: { second: { third: { System.out.println("Before the break原创 2017-01-05 23:35:48 · 616 阅读 · 0 评论 -
enum枚举
在Java中,枚举类型是一个class,每个枚举类型常量都被隐式声明为public、static、final的 // An enumeration of apple varieties. // 每个枚举常量都被隐式声明为Apple的公有、静态final成员 enum Apple { Jonathan, GoldenDel, RedDel, Winesap, Cortland }原创 2017-01-05 23:37:04 · 241 阅读 · 0 评论 -
for-each
for (iterable_type iterable_element : iterable) { } 从最低索引到最高索引遍历整个数组,迭代变量是只读的,对迭代变量的一次赋值不会影响背后的数组 // The for-each loop is essentially read-only. class NoChange { public stati原创 2017-01-05 23:38:15 · 289 阅读 · 0 评论 -
I/O流
Java定义了两种类型的流:字节流和字符流。当读取和写入二进制数据时,使用的就是字节流。字符流为处理字符的输入和输出提供了方便的方法。 (它们使用unicode编码,所以可以被国际化) 字节流类 流类 含义 BufferedInputStream 缓存的输入流 BufferedOutputStream 缓原创 2017-01-05 23:38:53 · 227 阅读 · 0 评论 -
位运算符
Java位运算符 运算符 结果 ~ 按位一元取反 & 按位与 | 按位或 ^ 按位异或 >> 右移、算数右移,不改变符号,以符号位进行填充 >>> 右移零填充、逻辑移位,无意义 左移:对byte, short, char左移时原创 2017-01-05 23:40:02 · 266 阅读 · 0 评论 -
native本地方法
* JNI * 本地方法使用native进行声明,一般使用C语言编写 * 示例: public class NativeDemo { int i; public static void main(String args[]) { NativeDemo ob = new NativeDemo(); ob.i = 10; System.out.println("This原创 2017-01-06 11:09:00 · 867 阅读 · 0 评论 -
static
能够独立于类的所有对象进行使用的成员 可以在创建类的任何对象之前访问该成员 本质上是全局变量 声明为静态的方法有几个限制: 它们只能直接调用其他静态方法它们只能直接访问静态数据它们不能以任何方式引用this或super关键字 可以声明静态代码块: // Demonstrate static variables, methods, and blocks. class U原创 2017-01-06 11:10:16 · 222 阅读 · 0 评论 -
可变长参数列表
[static] [void] vaTest([int] ... v) 参数列表有多个参数时,只能有一个可变长参数,只能放在最后一个位置(很显然 // Demonstrate variable-length arguments. class VarArgs { // vaTest() now uses a vararg. static void vaTest(原创 2017-01-06 11:11:28 · 420 阅读 · 0 评论 -
多线程
如果不重写Thread类的其他方法,创建子线程的最好方式是实现Runnable接口。 通常希望主线程再最后结束,isAlive()可以判断线程是否再运行,通常使用join()方法来等待线程结束。 实现线程线程间的互斥(同步): 使用synchronized关键字,当修饰代码块时,括号中要填写互斥(同步)对象的引用(悲观锁) synchronized(){ }原创 2017-01-06 11:13:14 · 242 阅读 · 0 评论 -
TimeUnit
粒度 DAYSHOURSMINUTESSECONDSMICROSECONDSMILLISECONDSNANOSECONDS原创 2017-01-10 19:45:17 · 317 阅读 · 0 评论