![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JDK5 新特性
Magister_Feng
这个作者很懒,什么都没留下…
展开
-
1.自动装箱和拆箱
/** * 基本类型的数据值可以直接赋给基本数据对象,基本数据的对象也可以直接赋给基本数据变量 * 在表达式中,基本类型的数据值可以和基本数据对象进行运算 * 基本数据类型的数组不能实现自动装箱和拆箱,即int[]不能当成Integer[]使用 */ /** * 演示基本数据类型的自动拆箱和装箱 */ public class AutoBox { /**转载 2012-06-14 10:18:57 · 839 阅读 · 0 评论 -
11.5.2线程 同步装置之CountDownLatch
import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** * CountDownLatch维护一个计数器,等待这个CountDownLatch的线程必须等到计数器为0时才可以继续.转载 2012-06-14 10:34:14 · 565 阅读 · 0 评论 -
11.5.3线程 同步装置之CyclicBarrier
import java.util.Random; import java.util.concurrent.CyclicBarrier; /** * CyclicBarrier维持一个计数器,与CountDownLatch不同的是,等待这个CyclicBarrier的线程必须等到计数器的某个值时,才可以继续. * CyclicBarrier就像它名字的意思一样,可看成是个障碍,所有转载 2012-06-14 10:34:29 · 619 阅读 · 0 评论 -
3.枚举类型
/** *enum关键字表示枚举类型,它的作用相当于类声明中的class关键字 *枚举类型不能有public的构造方法 *所有的枚举值都是public、static、final的,这些修饰符都是自动加上,无须程序员手动添加 *枚举值之间用逗号","分开,最后一个枚举值后面接分号";" *每一个枚举值是一个枚举类型的实例 *可以在枚举类型中定义非枚举值变量,这些变量可以使用任转载 2012-06-14 10:20:46 · 565 阅读 · 0 评论 -
8.泛型编程
import java.util.ArrayList; import java.util.Collection; import java.util.List; /** *泛型编程关键掌握两点: *1.在方法参数中使用通配符 *2.在方法的参数类型和返回类型中使用通用类型 */ /**关键技术 *1.通配符问号(?)表示任意类型.如"List"表示可以存放任意对象类转载 2012-06-14 10:28:44 · 440 阅读 · 0 评论 -
11.4线程 Condition
import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent转载 2012-06-14 10:32:55 · 448 阅读 · 0 评论 -
11.5.1线程 同步装置之Semaphore
import java.util.ArrayList; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Semaphore; import java.util.concurrent.locks.Lock; impo转载 2012-06-14 10:33:17 · 627 阅读 · 0 评论 -
11.5.4线程 同步装置之Exchanger
/** * Exchanger让两个线程互换信息 * 实例模拟服务生和顾客,服务生往空杯子中倒水,顾客从装满水的杯子中喝水,然后互换杯子,服务生接着倒水,顾客接着喝水. */ /** * 使用Exchanger的关键技术点如下: * 1.初始化Exchanger对象时,可以通过泛型指定杯子能交换的信息类型.如"new Exchanger;"表示只能交换String类型的信息转载 2012-06-15 13:29:25 · 686 阅读 · 0 评论 -
11.2线程 任务执行架构
import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurren转载 2012-06-14 10:31:25 · 554 阅读 · 0 评论 -
11.1线程 Callable和Future
import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; /** 从本节开始,主要介绍J2SE5.0与线程相关的新特性转载 2012-06-14 10:30:52 · 578 阅读 · 0 评论 -
2.新的for循环
import java.util.ArrayList; import java.util.List; /** * 新的for循环,格式为for(type x:type y) * 表示遍历数组或集合y的元素,把元素值赋给x */ public class ForEach { /**对整数数组求和*/ public static long get转载 2012-06-14 10:19:41 · 432 阅读 · 0 评论 -
4.静态导入
/** *静态导入:是指可以import类的静态方法和静态变量,在使用时,无须指定类名, * 便可以使用这些被import的静态方法和静态变量,这就是静态导入 *写import语句时,可以定位到一个静态方法或静态变量(以前是定位到类) *可以使用通配符(*)代表导入该类的所有静态方法和静态变量 *不允许静态方法和静态变量出现重名的情况 */ import s转载 2012-06-14 10:21:19 · 370 阅读 · 0 评论 -
5.可变长参数Varargs
/** * 在J2SE5.0之前,当传入到方法的参数个数不固定时,经常采用数组的方式传递参数 * 在J2SE5.0之后,可以使用可变长参数的我给方法传递参数 */ /** * 在参数类型和参数名之间使用"..."(三个英文的点),表示该参数为可变长的 * 通过新的for循环读取可变长参数中的值 * 一个方法里最多只能有一个变长参数,而且这个变长参数一定要放在参数表的最后一转载 2012-06-14 10:21:59 · 440 阅读 · 0 评论 -
6.格式化输出
import java.util.Date; /** * 使用printf输出 */ /**关键技术点 * 使用java.io.PrintStream的printf方法实现C风格的输出 * printf 方法的第一个参数为输出的格式,第二个参数是可变长的,表示待输出的数据对象 */ public class Printf { public st转载 2012-06-14 10:23:03 · 652 阅读 · 0 评论 -
7.使用ProcessBuilder执行本地命令
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Output转载 2012-06-14 10:23:47 · 968 阅读 · 0 评论 -
9.注释功能Annotation
import java.lang.annotation.ElementType; import java.lang.annotation.Target; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; /**关键技术 * 1.Java常用的内置注释 * @转载 2012-06-14 10:29:28 · 488 阅读 · 0 评论 -
10.监控与管理虚拟机
import java.lang.management.ClassLoadingMXBean; import java.lang.management.CompilationMXBean; import java.lang.management.GarbageCollectorMXBean; import java.lang.management.ManagementFactory; im转载 2012-06-14 10:30:00 · 747 阅读 · 0 评论 -
11.6线程 BlockingQueue
importjava.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** 本例介绍一个特殊的队转载 2012-06-15 13:28:46 · 610 阅读 · 0 评论