- 博客(8)
- 收藏
- 关注
原创 浅谈逃逸分析
逃逸分析逃逸分析什么是逃逸分析?对象逃逸的几种状态1、全局逃逸2、参数逃逸3、没有逃逸逃逸分析优化1、锁消除2、标量替换3、栈上分配总结逃逸分析什么是逃逸分析?逃逸分析是Hotspot虚拟机为了提升并优化jvm性能,通过分析创建对象的使用范围,来判断是否为该对象在jvm内存上分配空间的技术。简单来讲就是如果线程中引用的对象没有发生逃逸,则可以只将引用的对象进行分解,为其分解后的变量分配栈内存即可,无需分配堆内存空间增加GC压力。逃逸分析的 JVM 参数如下:开启逃逸分析:-XX:+DoEscap
2021-12-04 11:37:17
256
原创 jvm--指针压缩
基础知识:1字节=8个二进制位64位计算机中48位用于内存存储,16位作为保留位;32位机最大内存空间2的32次方=4G,64位机最大内存空间2的48次方=256T。对象的内存模型:对象头,实例数据,对象填充 对象头:Mark Word:锁状态类型指针:基于哪个类生成的对象;数组长度:当对象是数组时,其长度信息存储;实例数据:类中定义的属性对其填充:以8字节对齐,不足的话以8字节或其整数倍补充对齐。关闭指针压缩:-XX:-UseCompressedOops开启指针压
2021-04-11 17:58:32
335
原创 jvm指令集及程序运行步骤
jvm指令集: https://www.jianshu.com/p/d64a5dcccaa5package com.kyle.springbase;import org.springframework.boot.test.context.SpringBootTest;@SpringBootTestclass SpringbaseApplicationTests {public static void main(String[] args) {Springba...
2021-04-11 17:50:46
235
原创 Error:java: 无效的目标发行版: 1.8
使用IDEA开发过程,中途改变了一下JDK版本号,从1.8变成1.7,重新编译项目报错。 可以做以下尝试: 1、pom.xml中改变java.version属性值 2、工具的settings中设置每个工程的编码版本为1.7
2017-09-11 13:35:26
2059
原创 jsp中el表达式获取不到值
最近感觉基础知识有点模糊了,反过头来重新温故一下。果然遇到了问题。 在jsp页面上从作用域中获取值时,使用el表达式获取无效。 jdk:1.8.0_131 tool:eclipse mars2<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %><!DOCTYPE
2017-08-26 22:26:15
1639
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人