![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 69
Chow Yun-thin
这个作者很懒,什么都没留下…
展开
-
类加载器概述
文章目录什么是类加载器?JDK中自带了3个类加载器怎么加载的双亲委派机制 什么是类加载器? 专门负责加载类的命令/工具 ClassLoader JDK中自带了3个类加载器 启动类加载器 扩展类加载器 应用类加载器 String s = “abc” 代码在开始执行之前,会将所需要的类全部加载到JVM中 通过类加载器加载,看到以上代码,类加载器会找String.class文件,找到就加载 怎么加载的 首先,通过“启动类加载器”加载 启动类加载器专门加载:\jre\lib\rt.jar中的类 rt.jar都是原创 2021-03-18 18:22:40 · 74 阅读 · 0 评论 -
反射
文章目录获取Class的三种方式 通过java语言中的反射机制可以操作字节码文件 在 java.lang.reflect包下面 获取Class的三种方式 Class Class c1 = Class.forName("java.lang.String"); Class.forName是一个静态方法 方法的参数是一个字符串,是类的全限定类名 java中任何一个对象都有一个方法,叫做getClass() 在Object中 String s = "abc"; Class x = s.getClass();原创 2021-03-18 18:10:14 · 92 阅读 · 1 评论 -
多线程
文章目录多线程什么是进程?线程?实现线程的方式编写一个类,继承java.lang.Thread,重写run方法,new实例,调start编写一个类,实现java.lang.Runnable接口,实现run方法使用匿名内部类两种方法对比 多线程 什么是进程?线程? 进程是一个应用程序 线程是进程的一个执行单元(执行场景) 一个进程可以启动多个线程 进程A和进程B的内存独立不共享 线程A和线程B,在Java语言中,堆内存和方法区内存共享,但是栈内存独立,一个线程一个栈 启动10个线程,就有10个栈空间,每个栈与原创 2021-03-15 02:13:19 · 131 阅读 · 1 评论 -
对象的序列化和反序列化
文章目录基础用法序列化多个对象 基础用法 红色箭头标出来的就是序列化 反过来就是反序列化,根据编号来一块一块组装 序列化:拆分 Serialize 将java对象的状态保存下来的过程,用ObjectOutputStream 反序列化:组装 DeSerialize 将硬盘上的数据重新恢复到内存中,恢复成java对象 ObjectInputStream 因为有数据库的存在,所以不是很常用 有异常要处理,可以try catch 也可以直接扔出去不管 如果是单纯的普通Student类,这样运行会爆出异常 说原创 2021-03-14 22:27:13 · 260 阅读 · 0 评论 -
TreeSet自定义类型的排序 Comparable 和 Comparator
需要给自定义类型实现比较接口 实现了比较接口以后,不需要再写equals了,因为comapreTo已经帮忙比较的事情,如果两个对象相等,compareTo的结果是0,新的值会覆盖旧的值 到 add(p2)的时候 会报错说 ClassCastException: Person cannot be cast to class java.lang.Comparable 因为TreeSet调用add方法,其实是底层调用了 TreeMap 的 put方法 new TreeSet<>() new 的时候,原创 2021-03-14 15:30:26 · 187 阅读 · 1 评论