使用-XX+PrintCompilation参数可以看到JVM做了哪些编译优化(包括逆优化和重新优化),输出的格式如下: <id> <type><method name> [bci] <(# of bytes)> 1、id可以为以下值: 2、type可以为空或者以下的一个或者多个值: 3、metho ...
分类:
其他好文 时间:
2019-09-12 21:07:53
阅读次数:
102
今天KlipC为大家介绍三款金融综合管理工具,它们的主要功能都是综合个人投资者的财务管理和投资理财,想知道是那几个么?继续往下面看吧。一、MintMint应该说是现在美国最成功的个人金融(理财管理)软件平台,Mint将客户所有的资金汇集到一起,让客户能够一目了然地查看所有账单与余额,同时Mint能够根据客户的支出量身定制合理预算,比起以前的跟踪账单,现在只需将账单添加到仪表板,即可查看和监督它们,
背景:由于CMS算法产生空间碎片和其它一系列的问题缺陷,HotSpot提供了另外一种垃圾回收策略,G1(也就是Garbage First)算法,该算法在JDK7u4版本被正式推出,官网对此描述如下: The Garbage-First (G1) collector is a server-style ...
分类:
其他好文 时间:
2019-08-31 11:03:22
阅读次数:
143
hotspot:是jvm的核心组件(或者名称),jvm 需要对class文件进行编译成cpu能直接运行的代码。hotspot会对频繁使用的class代码进行缓存,不会再次编译,类似于缓存 client 桌面级的时使用,分配的内存相对于server少 server 适合B/S结构,用于高并发 修改使用 ...
分类:
其他好文 时间:
2019-08-29 13:16:47
阅读次数:
62
概述 Java运行时区域中,程序计数器,虚拟机栈,本地方法栈三个区域随着线程的而生,随线程而死,这几个区域的内存分配和回收都具备确定性,不需要过多考虑回收问题。而Java堆和方法区则不一样,一个接口的多个实现类需要的内存不一样,一个方法的多个分支需要的内存可能也不一眼,我们只有在运行期,才能知道会创 ...
分类:
其他好文 时间:
2019-08-25 21:38:02
阅读次数:
105
class文件内容 class文件包含JAVA程序执行的字节码;数据严格按照格式紧凑排列在class文件中的二进制流,中间无任何分隔符;文件开头有一个0xcafebabe(16进制)特殊的一个标志。 JVM运行时数据区 线程独占:每个线程都会有它独立的空间,随线程生命周期而创建和销毁 线程共享:所有 ...
分类:
编程语言 时间:
2019-08-25 14:14:25
阅读次数:
76
准备 服务器环境 centos7安装docker,使用tomcat镜像8.5,运行,并将webapps映射出来 开发环境 安装配置java环境 配置maven环境,修改镜像地址 配置vscode 安装 Spring Boot Extension Pack,Java Extension Pack,Ma ...
分类:
编程语言 时间:
2019-08-19 13:00:14
阅读次数:
92
各种类型的线程他们所需要的栈的大小其实是可以通过不同的参数来控制的: java_thread的stack_size,其实就是-Xss或者-XX:ThreadStackSize的值 compiler_thread的stack_size,是-XX:CompilerThreadStackSize指定的值 ...
分类:
其他好文 时间:
2019-08-19 11:15:49
阅读次数:
128
1. 对象的创建 1. 遇到 new 指令时,首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载、解析和初始化过。如果没有,执行相应的类加载。 2. 类加载检查通过之后,为新对象分配内存(内存大小在类加载完成后便可确认)。在堆的空闲内存中划分一块 ...
分类:
其他好文 时间:
2019-08-14 14:35:42
阅读次数:
84
对象头 在hotspot中对象指针称为oop(ordinary object pointer),而oopDesc则是对象头的结构.。除了Klass(之所以叫klass是因为class是C++关键字)指针外,,还由一个_mark字段,,是因为除了对象的class信息以外,还有一些对象信息需要保留, 比 ...
分类:
其他好文 时间:
2019-08-11 10:48:45
阅读次数:
220