![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习笔记
咕噜橙
www.xzioc.com
展开
-
POI读取Excel文件
poi读取Excel文件出现这样的错误The supplied data appears to be in the Office 2007+ XML. You are calling the part of POI that deals with OLE2 Office Documents. You need to call a different part of POI to process ...原创 2020-02-26 12:36:44 · 288 阅读 · 0 评论 -
【学习笔记】—JVM(五)内存模型与线程
一、Java内存模型 创建这样一个模型主要是为了定义程序中各个变量的访问规则。这也是Java跨平台性的一个重要组成部分。因为例如C/C++等语言都是直接使用物理硬件和操作系统的内存模型,会出现在这个平台能够正常访问数据,换一个之后就报错访问不到或者访问到错误数据。 图中的内存这些和前面的堆,栈,方法区,划分层次不同基本没有什么关系特征原子性在一个操作中,CPU不可以在中途停止然后...原创 2019-10-13 14:10:11 · 235 阅读 · 0 评论 -
【学习笔记】—JVM(一)Java内存区域的划分和相应作用及对象在其中的分布
参考:《深入理解Java虚拟机》周志明著一、JVM数据区1. 程序计数器: 当前线程所执行的字节码的信号指示器。 JVM的多线程是通过线程轮流切换并分配处理器执行时间(操作系统)实现 因此每条线程都需要有一个独立的程序计数器,各线程互不影响,称之为“线程私有”的内存字节码解释器工作时就是通过改变计数器的值来选取下一条要执行的字节码命令 唯一一个不会抛出任何内存溢出(Ou...原创 2019-09-20 11:35:42 · 229 阅读 · 0 评论 -
【学习笔记】—JVM(二)垃圾收集器和内存分配策略
一、为什么要回收 在上一部分在对每个数据区分析了,最后指出了他会抛出什么异常,最多的就是OOM,内存溢出异常。在Java堆中一个程序要创建太多的实例对象,但有些数据只用了一次之后却再没有使用,如果不将它清除掉,对内存而言永远是不够用的。二、如何判断对象不再使用,需要清理1.引用计数法算法给对象添加一个引用计数器,每当有一个地方引用它时计数器加1,失效时减1;为0时则不会再被使用。J...原创 2019-09-20 19:39:19 · 192 阅读 · 0 评论 -
【学习笔记】—JVM(三)类文件的结构,16进制分析
一、如何查看一个类文件的16进制结构写一个简单的java程序,javac编译产生.class文件用notepad++打开,一开始可能是乱码引入插件HexEditorHexEditor.dllx64版本下载将HexEditor.dll文件放在Notepad++的plugins文件夹下面,重新打开文件旁边会多出一个H字样点击之后就可以查看.class文件的16进制的格式了程序代码:...原创 2019-09-26 20:56:06 · 1033 阅读 · 0 评论 -
【学习笔记】—JVM(四)虚拟机类加载机制
一、什么是类加载机制虚拟机把描述类的数据从Class文件加载到内存,并对数据进行检验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。二、类的生命周期 加载、验证、准备、初始化和卸载这5个顺序是固定的,按这样的顺序开始,但是解析不一定,为了支持动态绑定的缘故触发初始化的有且只有的5种场景(主动引用) 1. 遇到new,getstatic,putstatic,i...原创 2019-10-10 20:48:42 · 160 阅读 · 0 评论