摘要:
目录: 我的疑问 什么是GC,为什么要有GC 四种引用对象 我的疑问: 什么是垃圾回收。 回收什么东西。 怎样回收。 如何回收。 本节解决前两个问题,什么是垃圾回收,回收什么东西。 什么是GC,为什么要有GC: GC(Gabage Collection),是垃圾回收的意思。 我们知道向c、c++是需 阅读全文
摘要:
目录: 函数解析 静态分派、动态分派 函数解析 1、虚拟机方法字节码: Java符合编译期可知,运行期不可变的两类方法是:静态方法和私有方法。 与之对应的是5条方法调用的字节码指令: invokestatic:调用静态方法。 invokespecial:调用实例构造器(<init>)方法、私有方法、 阅读全文
摘要:
目录: 简介 堆 方法区(元空间) 栈 简介 运行时数据区分为两类,一类是线程间共享的方法区和堆,另一类是线程私有的虚拟机栈、本地方法栈以及程序计数器。 堆 对于大多数应用来说,Java堆(Heap)是Java虚拟机所管理的内存中最大的一块,它是用来存放对象实例。 堆是被所有线程共享的内存区域,虚拟 阅读全文
摘要:
目录: 类加载器: 什么是类加载器,它的作用是什么。 类加载器的分类及它们的作用。 如何实现一个自定义类加载器、自定义加载器的用途。 双亲委派: 什么是双亲委派。 为什么要使用双亲委派。 类加载器: 1、什么是类加载器,它的作用是什么。 类加载器就是把字节码文件加载到虚拟机中,即根据类的全限定名来获 阅读全文
摘要:
目录: 类加载机制简介 类加载机制流程 类加载机制简介 类加载机制就是虚拟机把描述类的数据从Class文件中加载到内存中的一种机制,并且在加载的过程中会对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。 类加载机制流程 类从被加载到虚拟机的内存中开始,直到类被卸载出内存为 阅读全文
摘要:
目录: 什么是JVM 为什么要学习JVM 笔记整理 什么是JVM 摘自:https://blog.csdn.net/qq_41701956/article/details/80020103 Java程序的跨平台特性主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,Java虚拟 阅读全文
摘要:
1、阅读源码前先粗读官方文档,了解它大概是干什么的,功能是什么,用于解决什么问题; 虽然在阅读文档的过程中可能会遇到一些专业术语,你可能会有点懵,但是这会有助于后续深入的了解。 2、阅读前要明确目的,如果你本次只是想了解基本的运作流程或解决某些问题,就大概看看一些调用链路及小部分的逻辑,不要死磕具体 阅读全文
摘要:
场景: 项目中保存用户身份证有效期的字段存储格式为yyyyMMdd,而使用第三方OCR解析包也并不能保证100%的正确率,所有我们需要校验下格式是否有误。 如:用户实际过期时间为20220530,但因照片有些模糊就解析成20200538了。 准备工作: 准备好工具类,有如下几个函数: 1 publi 阅读全文
摘要:
场景: 需要记录用户设备激活时间。 准备工作: 1、DDL: 1 ALTER TABLE t_customers 2 ADD COLUMN activate_time datetime NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT '设备激活时间(首次 阅读全文
摘要:
目录: ReentrantLock Semaphore CountDownLatch CyclicBarrier ArrayBlockingQueue、LinkedBlockingQueue、DelayQueue CopyOnWriteArrayList 上一节吧AQS相关的知识点整理了下,这一节我 阅读全文