07 2020 档案

摘要:JVM的无关性 与平台无关性是建立在操作系统上,虚拟机厂商提供了许多可以运行在各种不同平台的虚拟机,它们都可以载入和执行字节码,从而实现程序的“一次编写,到处运行” https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downl 阅读全文
posted @ 2020-07-30 14:18 SoyWang 阅读(753) 评论(0) 推荐(0)
摘要:MyBatis 令人喜欢的一大特性就是动态 SQL。在使用 JDBC 的过程中, 根据条件进行 SQL 的拼接是很麻烦且很容易出错的。MyBatis 动态 SQL 的出现, 解决了这个麻烦。 MyBatis通过 OGNL 来进行动态 SQL 的使用的。 目前, 动态 SQL 支持以下几种标签 元素作 阅读全文
posted @ 2020-07-29 10:05 SoyWang 阅读(1540) 评论(0) 推荐(0)
摘要:垃圾回收器整理 收集器 收集对象和算法 收集器类型 说明 适用场景 Serial 新生代,复制算法 单线程 简单高效;适合内存不大的情况; ParNew 新生代,复制算法 并行的多线程收集器 ParNew 垃 圾 收 集 器 是Serial 收集器的多线程版本 搭配CMS垃圾回收器的首选 Paral 阅读全文
posted @ 2020-07-27 19:33 SoyWang 阅读(314) 评论(0) 推荐(0)
摘要:什么是 GC Java与 C++等语言最大的技术区别:自动化的垃圾回收机制(GC) 为什么要了解 GC 和内存分配策略 1、GC 对应用的性能是有影响的; 2、写代码有好处 栈:栈中的生命周期是跟随线程,所以一般不需要关注 堆:堆中的对象是垃圾回收的重点 方法区/元空间:这一块也会发生垃圾回收,不过 阅读全文
posted @ 2020-07-27 08:37 SoyWang 阅读(672) 评论(0) 推荐(0)
摘要:JVM中对象的创建过程 对象的内存分配 虚拟机遇到一条 new 指令时,首先检查是否被类加载器加载,如果没有,那必须先执行相应的类加载过程。 类加载就是把 class 加载到 JVM 的运行时数据区的过程。 1)检查加载 首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用(符号引用 :符号 阅读全文
posted @ 2020-07-23 13:45 SoyWang 阅读(809) 评论(0) 推荐(0)
摘要:深入理解运行时数据区 代码示例: 1. JVM 向操作系统申请内存: JVM 第一步就是通过配置参数或者默认配置参数向操作系统申请内存空间,根据内存大小找到具体的内存分配表,然后把内存段的起始地址和终止地址分配给 JVM,接下来 JVM 就进行内部分配。 2. JVM 获得内存空间后,会根据配置参数 阅读全文
posted @ 2020-07-22 00:02 SoyWang 阅读(374) 评论(0) 推荐(0)
摘要:JVM 基础知识 JVM 从编译到执行 Java程序的执行过程 一个 Java 程序,首先经过 javac 编译成 .class 文件,然后 JVM 将其加载到方法区,执行引擎将会执行这些字节码。执行时,会翻译成操作系统相关的函数。JVM 作为 .class 文件的翻译存在,输入字节码,调用操作系统 阅读全文
posted @ 2020-07-20 02:04 SoyWang 阅读(179) 评论(0) 推荐(0)