![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 63
Empty-cup
这个作者很懒,什么都没留下…
展开
-
Java反射之获取Class实例的4种方式
已知具体的类,通过类的 class 属性获取Class clazz = Person.class;已知某个类的实例,调用该实例的 getclass() 方法获取 Class 对象Person p1 = new Person();Class clazz = p1.getclass();已知一个类的全类名,且该类在类路径下,可通过 Class 类的静态方法 forName() 获取,可能抛出 ClassNotFoundException(比较常用)Class clazz = Clas..原创 2022-05-06 17:45:38 · 1866 阅读 · 0 评论 -
Java之单例模式-双重校验锁
单例模式就是一个类只有一个实例。单例模式的两个特点:构造方法私有,外部不能直接new出对象。提供一个 public 的静态方法,使得外部通过该方法获取单例类的实例。单例模式根据实例的创建时机,大致又分为两种:饿汉式和懒汉式。饿汉式单例是指单例类加载的时候就初始化一个对象,不管之后的程序会不会用到。public class SingletonApp { private static SingletonApp instance = new SingletonApp(); pri原创 2020-08-19 16:42:04 · 1257 阅读 · 0 评论 -
Java之IO操作-读写文件
字节流最原始,能用字符流不用字节流。//读文件private static void read() { FileInputStream fis = null; try { fis = new FileInputStream("data/wc.data"); //TODO... byte[] buffer = new byte[1024]; int length = 0; while ((length = fis.read原创 2020-08-18 17:57:06 · 226 阅读 · 0 评论 -
并发编程的三个特性
并发编程中的三个特性原子性一次操作要么成功要么失败。可见性多线程操作一个变量时,一个线程修改了值,要对另外线程可见。有序性执行有先后顺序volatile关键字:保证不同线程对share操作的可见性,禁止对执行顺序的重排序。不保证原子性 字节码文件 如:a++操作是先获取、修改、返回,没有原子性保证可见性,保证有序性volatile vs synchronized:使用层面 volatile:修饰实例变量和类变量(即成员变量和静态变量),不能修饰方法和局部变量。 s原创 2020-08-18 16:35:16 · 598 阅读 · 0 评论 -
JVM-垃圾回收
0.前言垃圾收集器主要回收的是JVM堆中的对象。而JVM堆主要分为两大部分:年轻代和老年代。老版本中还有一个永久代,JDK1.8 改成了堆外内存(MetaData)。其中,年轻代又分为三个区域:eden(谐音:一灯)、s0、s1。 分别占比 8:1:1。eden区用来存放new出的新对象,当eden区满了,就会触发GC,GC会同时回收eden和s0区的对象,将活下来的对象放入s1,然后等待下一轮回收。下一轮回收会同时回收eden和s1区的对象,将活下来的对象放入s0。以此往复,当对象的回收次数超过1原创 2020-08-18 15:11:07 · 270 阅读 · 0 评论 -
JVM必知必会
0.官方文档JDK 版本更新较快,很多概念必须从官网才能找到准确描述。下面是JavaSE8的JVM文档:https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html#jvms-2.51. JAVA内存模型 和 JVM运行时数据区 区别JAVA内存模型和JVM运行时数据区不仅仅是字面上的不同,这两个根本就不是一回事。java最大的一个特点就是一次编译到处使用,这是因为不同的虚拟机厂商根据《JAVA虚拟机规范》为不同的系统生产对应的jav原创 2020-08-18 14:10:49 · 178 阅读 · 0 评论 -
Java的字节流、字符流和序列化区别
Java IO流参考文章:https://www.cnblogs.com/progor/p/9357676.html牢记六个字:读进来,写出去对象序列化对象序列化与反序列化:将Java对象转变成字节流存储,称之为对象序列化。从字节流中恢复一个Java对象,称之为对象反序列化。 即是说,将对象转化为二进制,用于保存,或者网络传输。序列化资格:只有实现了Serializable接口的对...原创 2019-09-03 13:45:46 · 1376 阅读 · 0 评论 -
Java的ArrayList详解
查看 ArrayList 的继承关系: public interface Iterable<T> public interface Collection<E> extends Iterable<E> public interface List<E> extends Collection<E> publi...原创 2019-09-03 16:00:32 · 150 阅读 · 0 评论