From e0af4a9ae092e56877dfe5f00ca9dfa6a8a81b43 Mon Sep 17 00:00:00 2001 From: Wangyifei <935057973@qq.com> Date: Sun, 26 Apr 2026 22:25:16 +0800 Subject: [PATCH] =?UTF-8?q?Java=E6=B3=9B=E5=9E=8B=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- w8/AI协助记录.txt | 9 +++++ w8/Cache.java | 74 +++++++++++++++++++++++++++++++++++++++++ w8/GenericReflect.java | 16 +++++++++ w8/Pair.java | 28 ++++++++++++++++ w8/README.md | 30 +++++++++++++++++ w8/运行输出.jpg | Bin 0 -> 80467 bytes 6 files changed, 157 insertions(+) create mode 100644 w8/AI协助记录.txt create mode 100644 w8/Cache.java create mode 100644 w8/GenericReflect.java create mode 100644 w8/Pair.java create mode 100644 w8/README.md create mode 100644 w8/运行输出.jpg diff --git a/w8/AI协助记录.txt b/w8/AI协助记录.txt new file mode 100644 index 0000000..dd397c9 --- /dev/null +++ b/w8/AI协助记录.txt @@ -0,0 +1,9 @@ +# AI协助学习记录 +1. Java泛型为什么不能使用基本类型 +泛型底层为类型擦除,编译后全部向上转为Object。 +基本数据类型不属于对象,无法转为Object,仅能使用包装类。 + +2. 泛型擦除后为何反射仍可以获取泛型 +运行时实例化的泛型会被完全擦除。 +书写在类、成员变量、方法上的泛型声明会保留在字节码中。 +依靠反射ParameterizedType即可读取原本泛型。 \ No newline at end of file diff --git a/w8/Cache.java b/w8/Cache.java new file mode 100644 index 0000000..a68ef92 --- /dev/null +++ b/w8/Cache.java @@ -0,0 +1,74 @@ +import java.util.concurrent.ConcurrentHashMap; + import java.util.concurrent.Executors; + import java.util.concurrent.ScheduledExecutorService; + import java.util.concurrent.TimeUnit; + public class Cache { + private final ConcurrentHashMap map; + private final long timeOut; + private ScheduledExecutorService thread; + //无参构造永久不过期 + public Cache(){ + this(0); + } + //有参构造设置过期时间 + public Cache(long timeOut){ + map = new ConcurrentHashMap<>(); + this.timeOut = timeOut; + //定时清理过期数据 + thread = Executors.newSingleThreadScheduledExecutor(); + thread.scheduleAtFixedRate(this::clearTimeOut,2,2,TimeUnit.SECONDS); + } + //存入缓存 + public void put(Object key,Object value){ + put(key,value,timeOut); + } + //自定义过期时间存放 + public void put(Object key,Object value,long ttl){ + long endTime = ttl == 0 ? Long.MAX_VALUE : System.currentTimeMillis()+ttl; + map.put(key,new CacheNode(value,endTime)); + } + //获取缓存 + public Object get(Object key){ + CacheNode node = map.get(key); + if(node == null){ + return null; + } + //判断是否过期 + if(System.currentTimeMillis()>node.endTime){ + map.remove(key); + return null; + } + return node.value; + } + //删除缓存 + public void remove(Object key){ + map.remove(key); + } + //清理过期数据 + private void clearTimeOut(){ + map.entrySet().removeIf(e->System.currentTimeMillis()>e.getValue().endTime); + } + //关闭线程防止资源泄露 + public void close(){ + thread.shutdown(); + } + //内部存储节点 + private static class CacheNode{ + Object value; + long endTime; + public CacheNode(Object value,long endTime){ + this.value = value; + this.endTime = endTime; + } + } + //测试运行 + public static void main(String[] args) throws InterruptedException { + //设置5秒过期 + Cache cache = new Cache(5000); + cache.put("学号","2026001"); + System.out.println("存入立刻获取:"+cache.get("学号")); + Thread.sleep(6000); + System.out.println("6秒后获取(已过期):"+cache.get("学号")); + cache.close(); + } + } \ No newline at end of file diff --git a/w8/GenericReflect.java b/w8/GenericReflect.java new file mode 100644 index 0000000..5a4ef85 --- /dev/null +++ b/w8/GenericReflect.java @@ -0,0 +1,16 @@ +import java.lang.reflect.Field; + import java.lang.reflect.ParameterizedType; + import java.lang.reflect.Type; + import java.util.List; + public class GenericReflect { + private List list; + public static void main(String[] args) throws NoSuchFieldException { + //利用反射获取被擦除的泛型 + Field field = GenericReflect.class.getDeclaredField("list"); + Type type = field.getGenericType(); + if(type instanceof ParameterizedType){ + ParameterizedType parameterizedType = (ParameterizedType) type; + System.out.println("获取到的泛型类型:"+parameterizedType.getActualTypeArguments()[0]); + } + } + } \ No newline at end of file diff --git a/w8/Pair.java b/w8/Pair.java new file mode 100644 index 0000000..90a8277 --- /dev/null +++ b/w8/Pair.java @@ -0,0 +1,28 @@ +public class Pair { + private Object key; + private Object value; + public Pair(Object key, Object value) { + this.key = key; + this.value = value; + } + //交换键值 + public Pair swap(){ + return new Pair(value,key); + } + public Object getKey(){ + return key; + } + public Object getValue(){ + return value; + } + @Override + public String toString() { + return "键:"+key+" 值:"+value; + } + public static void main(String[] args) { + Pair p1 = new Pair("姓名","张三"); + System.out.println("交换前:"+p1); + Pair p2 = p1.swap(); + System.out.println("交换后:"+p2); + } + } \ No newline at end of file diff --git a/w8/README.md b/w8/README.md new file mode 100644 index 0000000..0b79e0a --- /dev/null +++ b/w8/README.md @@ -0,0 +1,30 @@ +\# Java泛型作业 + + 文件功能 + + 1. Pair.java:泛型键值对,实现键值交换 + + 2. Cache.java:泛型缓存,支持过期自动清理、线程安全 + + 3. GenericReflect.java:反射获取被擦除的泛型 + + + + 编译运行命令 + + 编译 + + javac Pair.java + + javac Cache.java + + javac GenericReflect.java + + 运行 + + java Pair + + java Cache + + java GenericReflect + diff --git a/w8/运行输出.jpg b/w8/运行输出.jpg new file mode 100644 index 0000000000000000000000000000000000000000..77f9d7940b49b1000a3812bfecce4e491c065944 GIT binary patch literal 80467 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