摘要: 虚拟机的类加载机制就是虚拟机把Java类的源码编译为字节码后,将其读取进内存,并对数据进行校验、转换解析和初始化、最终形成可以被虚拟机直接使用的Java类型。 一、类加载的时机 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用、卸载7个阶段。 阅读全文
posted @ 2020-07-22 19:31 云卷云舒c 阅读(179) 评论(0) 推荐(0) 编辑
摘要: Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外的人想进去,墙内的人却想出去。 对于Java内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈3个区域的内存随线程而生,随线程而灭。所以方法或者线程结束的时候,内存就自然的随着回收了。而Java堆和方法区的内存则 阅读全文
posted @ 2020-07-22 18:17 云卷云舒c 阅读(171) 评论(0) 推荐(0) 编辑
摘要: JAVA虚拟机内存结构 JAVA虚拟机内存结构可分为公有和私有两部分 公有: 堆、方法区、运行时常量池 私有: 程序计数器、JAVA虚拟机栈、本地方法栈 1.1 程序计数器 可以看当前线程所执行字节码的行号指示器 分支、循环、跳转、异常处理等基础功能都需要依赖计数器完成 Java虚拟机的多线程是通过 阅读全文
posted @ 2020-07-22 17:23 云卷云舒c 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 一、KMP算法简介 当目标串txt与模式串pat进行匹配时,如果txt[i]遇到不匹配的pat[j]时,不必像暴力匹配法那样每次只将pat后移一位,然后又从其第一位和txt[i+1]进行比较。 因为如果pat[0]~pat[j-1]有公共前后缀的话,那么txt[i]前的子串也必定存在一个公共前后缀 阅读全文
posted @ 2020-07-22 13:57 云卷云舒c 阅读(485) 评论(0) 推荐(0) 编辑