一、什么是JVM? JVM简介: JVM是Java Virtual Machine的缩写,中文翻译为Java虚拟机,是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。简单来说JVM是用来解析和运行Java程序的。 Java有一个非常重要的特点“ ...
分类:
其他好文 时间:
2019-01-08 21:02:38
阅读次数:
141
1. Java对象分配流程 2. 栈上分配 2.1 本质:Java虚拟机提供的一项优化技术 2.2 基本思想: 将线程私有的对象打散分配在栈上 2.3 优点: 2.3.1 可以在函数调用结束后自行销毁对象,不需要垃圾回收器的介入,有效避免垃圾回收带来的负面影响 2.3.2 栈上分配速度快,提高系统性 ...
分类:
其他好文 时间:
2019-01-08 19:22:52
阅读次数:
181
Jira和Confluence部署在同一台服务器上,跑一段时间后,发现访问jira和confluence时,打开越来越缓慢。这是因为根据主机物理内存不同,默认的java虚拟机内存也会不同(一个较低值),有时候不够用,可以修改JAVA默认的JVM内存设置,改善内存不足导致的问题。操作如下: 1)Jir ...
分类:
其他好文 时间:
2019-01-08 15:38:01
阅读次数:
253
Java线程与锁 本篇是 《深入理解Java虚拟机》的最后一章, 在此涉及到了线程安全, 但并不是如何从代码层次来实现线程安全, 而是虚拟机本身对线程安全做出了哪些努力, 在安全与性能之间又采取了哪些优化措施. 那么一步步来梳理这些概念. 三种线程概念——内核线程、轻量级进程、用户线程 参考 "内核 ...
分类:
编程语言 时间:
2019-01-07 21:19:45
阅读次数:
230
(首发于 2018 年 6 月 25 日) 笔者学习 Java 的原因很简单,java 目前位居编程语言排行榜,多学习一门语言,不让自己出路变窄。 1. java环境搭建 2. Java跨平台原理 每个平台有不同的Java虚拟机,不跨平台的 Java 虚拟机使得 Java 具有跨平台性。 3. 命令 ...
分类:
编程语言 时间:
2019-01-07 21:17:21
阅读次数:
204
在网上看到两篇不错的文章,由于博主原创,这里只贴地址,希望能帮助大家! https://blog.csdn.net/java2000_wl/article/details/8030172 https://www.cnblogs.com/redcreen/archive/2011/05/04/2037 ...
分类:
编程语言 时间:
2019-01-07 21:08:14
阅读次数:
273
类加载的整个生命周期: 加载、连接(验证、准备、解析)、初始化、使用、卸载。 加载: class文件中的二进制数据读取到内存中,然后将该字节流所代表的静态数据结构转化为方法区中运行的数据结构,并且在堆内存中生成一个java.lang.Class对象作为访问方法区数据结构的入口 验证: 确保当前cla ...
分类:
编程语言 时间:
2019-01-06 23:01:29
阅读次数:
193
一.JVM内存管理 1.1JVM运行时数据区 1.1.1程序计数器:记录当前线程正在执行的字节码指定的地址(行号) 为什么需要它:程序容易被打断 1.1.2虚拟机栈:存储当前线程运行方法时所需要的数据、指令、返回地址 1.1.3本地方法栈:和虚拟机栈类似,存储的是native方法 1.1.4方法区: ...
分类:
编程语言 时间:
2019-01-06 15:36:48
阅读次数:
236
在讲解String之前,我们先了解一下Java的内存结构。一、Java内存模型按照官方的说法:Java虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。JVM主要管理两种类型内存:堆和非堆,堆内存(HeapMemory)是在Java虚拟机启动时创建,非堆内存(Non-heapMemory)是在JVM堆之外的内存。简单来说,非堆包含方法区、JVM内部处理或优化所需的内存(如J
分类:
编程语言 时间:
2019-01-06 12:46:19
阅读次数:
218
、java的技术体系是什么? java程序设计语言 各硬件平台上的java虚拟机 class文件格式 java API 第三方java类库 2、JDK8特性 什么是Lambda表达式? 什么是匿名内部类? 3、java内存管理是? 什么是程序计数器? 什么是java栈? 什么是java堆? 什么是方 ...
分类:
其他好文 时间:
2019-01-05 18:18:20
阅读次数:
193