Java核心技术卷I--基础知识(第11版)--第9章 Java类库 中的 第9章 Java类库 部分
《Java核心技术 卷I--基础知识(第11版)》是一本经典的Java编程教材,它详细介绍了Java语言的基础知识和核心类库的使用。本书的第九章主要介绍了Java类库中的各种功能组件,包括集合框架、泛型、注解、反射、并发编程等。
下面是对本章内容的概述和相关的编程代码示例:
### 9.1 集合框架
集合框架是Java中用于存储和组织一组对象的数据结构。它提供了丰富的接口和实现类,可以方便地操作集合元素。
**示例代码**:
import java.util.ArrayList;
import java.util.List;
public class CollectionDemo {
public static void main(String[] args) {
// 创建一个字符串列表
List<String> myList = new ArrayList<>();
myList.add("Hello");
myList.add("World");
// 获取列表中的元素
String first = myList.get(0);
System.out.println("第一个元素:" + first);
// 遍历列表
for (String item : myList) {
System.out.println(item);
}
// 判断列表是否包含某个元素
boolean hasElement = myList.contains("World");
System.out.println("是否包含世界:" + hasElement);
}
}
### 9.2 泛型
泛型是Java SE 7引入的一个新特性,它允许程序员编写通用的、可扩展的代码,同时避免了类型转换异常。
**示例代码**:
import java.util.ArrayList;
import java.util.List;
public class GenericsDemo {
public static void main(String[] args) {
// 创建一个泛型列表,其中T可以是任何类型
List<T> list = new ArrayList<>();
// 向列表中添加元素
list.add(new Integer(1));
list.add(new String("Hello"));
}
}
### 9.3 注解
注解是Java提供的一种元数据,可以用来修饰类、方法和属性,以提供有关这些元素的信息。
**示例代码**:
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
String value() default "";
}
### 9.4 反射
反射是Java提供的一种机制,可以用来动态地获取和操作类、字段和方法的信息。
**示例代码**:
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class ReflectionDemo {
public static void main(String[] args) {
try {
// 反射创建一个类的实例
Class<MyClass> clazz = MyClass.class;
MyClass obj = clazz.getDeclaredConstructor().newInstance();
// 获取类的所有字段
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
System.out.println("字段名:" + field.getName());
field.setAccessible(true); // 设置字段可访问
System.out.println("字段值:" + field.get(obj));
}
// 获取类的所有方法
Method[] methods = clazz.getDeclaredMethods();
for (Method method : methods) {
System.out.println("方法名:" + method.getName());
method.setAccessible(true); // 设置方法可访问
System.out.println("方法返回值类型:" + method.getReturnType());
System.out.println("方法参数列表:" + Arrays.toString(method.getParameterTypes()));
System.out.println("方法体:" + method.toString());
}
// 反射调用类的一个方法
Method method = clazz.getMethod("sayHello", String.class);
method.invoke(obj, "World");
} catch (Exception e) {
e.printStackTrace();
}
}
}
### 9.5 并发编程
并发编程是Java提供的一种技术,可以有效地利用多核处理器的性能,提高应用程序的响应速度和吞吐量。
**示例代码**:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ConcurrencyDemo {
public static void main(String[] args) {
// 创建一个线程池
ExecutorService executorService = Executors.newFixedThreadPool(3);
// 提交任务到线程池
for (int i = 0; i < 10; i++) {
final int taskNumber = i;
executorService.execute(() -> {
System.out.println("任务" + taskNumber + "开始执行");
try {
Thread.sleep(1000); // 模拟耗时操作
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("任务" + taskNumber + "执行结束");
});
}
// 关闭线程池
executorService.shutdown();
}
}
以上只是对《Java核心技术 卷I--基础知识(第11版)》第九章的简要概述和示例代码。如果需要更深入的学习和实践,建议直接阅读原著或参考相关教程。