240 发简信
IP属地:江苏
  • 120
    Java内存模型

    用来屏蔽各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。 主要目的是定义程序中各种变量的访问规则,即关注在虚拟机中把变量值存储到...

  • 120
    虚拟机性能监控基础命令

    1.jps:虚拟机进程状况工具 可以列出正在运行的虚拟机进程,并显示虚拟机执行主类名称以及这些进程的本地虚拟机唯一ID(LVMID)。 jps [options] [host...

  • 120
    JIT编译器

    热点代码: 程序最初通过解释器进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁时,就把这些代码认定为“热点代码”。 JIT编译器 把热点代码编译成与本地平台相关的机...

  • 120
    Javac编译器

    把.java文件转变成.class文件,属于一种前端编译器。 1.解析与填充符号表过程2.插入式注解处理器的注解处理过程3.分析与字节码生成过程 1.解析与填充符号表 解析步...

  • 120
    字节码执行引擎

    物理机的执行引擎是建立在处理器、硬件、指令集和操作系统层面上的。虚拟机的执行引擎是自己实现的,可以自行指定指令集和执行引擎结构体系,并且能够执行不被硬件支持的指令集格式。 输...

  • 120
    类加载器机制

    类加载截止:虚拟机把类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。 一、类加载过程 加载、验证、准备、初...

  • 120
    字节码指令

    指令由一个字节码长度的、操作码(代表某种特定操作含义的数字)以及操作数(紧跟操作码后的0到多个参数)构成。 Java虚拟机采用面向操作数栈而不是寄存器的架构,大多数指令都不包...

  • 120
    Class类文件结构

    任何一个Class文件都对应着唯一一个类或接口的定义信息。 Class文件是一组以8位字节为基础单位的二进制流,当遇到需要占用8位字节以上空间的数据项时,会按照高位在前的方式...

  • 对象分配内存

    对象的内存分配,大方向上是在对上分配(也可能经过JIT编译后拆散为标量类型并间接地在栈上分配),对象主要分配在新生代的Eden区,如果启动了本地线程分配缓冲(TLAB),将按...

  • 垃圾收集器

    收集器之间的连线,表明可以配合使用。 部分收集(Partial GC): 新生代收集(Minor GC/Young GC):指目标只是新生代的垃圾收集老年代收集(Major ...

  • Hotspot的算法实现

    1.枚举根节点 可达性分析中从GC Roots找引用链为例。 可作为GC Roots的节点做要在全局性的引用(例常量或静态属性)与执行上下文(例栈帧中的本地变量表),方法区数...

  • 120
    垃圾收集算法

    标记 如果对象在进行可达性分析之后没有发现与GC Roots相连接的引用链,被第一次标记。执行finalize()方法,GC将在对F-Queue中的对象进行第二次标记。 1....

  • 120
    如何确认对象是否存活?

    1.引用计数算法 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器的值就加1;当引用失效时,计数器值就减1;任何时可计数器为0的对象就是不可能再被使用的。 Java...

  • 120
    OutOfMemoryError异常处理

    Java虚拟机的运行时数据区域,除了程序计数器之外,都可能会出现outOfMemoryError异常。 一、Java堆溢出 -Xmx:堆最大值 -Xms:堆最小值 Java堆...

  • 120
    Hotspot虚拟机对象探秘

    对象的创建:虚拟机遇到new指令的过程 检查——>分配内存——>初始化——>配置对象头 1.检查:指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的...

  • 120
    运行时数据区域

    程序计数器 是一块较小的内存空间,可以看作是当前线程执行的字节码的行号指示器。在虚拟机概念模型里,字节码解释器工作就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,...

  • 编辑距离--最长公共子串长度

    最长公共子串作为编辑距离中的一种,只允许增加、删除字符两种编辑操作。最长公共子串的大小,表示两个字符串相似程度的大小。 从 a[0] 和 b[0] 开始,依次考察两个字符串中...

  • 编辑距离--莱文斯坦距离

    编辑距离:将一个字符串转化成另一个字符串,需要的最少编辑操作次数(比如增加一个字符、删除一个字符、替换一个字符)。编辑距离越大,说明两个字符串的相似程度越小;相反,编辑距离就...

  • 回溯算法--八皇后问题

    8x8 的棋盘,8 个棋子(皇后),每个棋子所在的行、列、对角线都不能有另一个棋子

  • 120
    Trie 树

    也叫“字典树”。顾名思义,它是一个树形结构。它是一种专门处理字符串匹配的数据结构,用来解决在一组字符串集合中快速查找某个字符串的问题。其中,根节点不包含任何信息。每个节点表示...