一、jvm内存模型 JVM 内存模型主要分为堆、程序计数器、方法区、虚拟机栈和本地方法栈 1、堆 1.1、堆是 JVM 内存中最大的一块内存空间。 1.2、该内存被所有线程共享,几乎所有对象和数组都被分配到了堆内存中。 1.3、堆被划分为新生代和老年代,新生代又被进一步划分为 Eden 和 Surv ...
分类:
编程语言 时间:
2019-10-31 01:18:47
阅读次数:
120
1、 简述JVM垃圾回收算法分类 常用的垃圾收集算法 JVM的内存结构包括五大区域:程序计数器、虚拟机栈、本地方法栈、堆区、方法区。其中程序计数器、虚拟机栈、本地方法栈3个区域随线程而生、随线程而灭,因此这几个区域的内存分配和回收都具备确定性,就不需要过多考虑回收的问题,因为方法结束或者线程结束时, ...
分类:
其他好文 时间:
2019-10-29 14:10:14
阅读次数:
86
运行时数据区域 jdk 1.8之前与之后的内存模型有差异,方法区有变化(https://cloud.tencent.com/developer/article/1470519)。 java的内存数据区域划分: 程序计数器 虚拟机栈 本地方法栈 堆 方法区 程序计数器(Program Counter ...
分类:
编程语言 时间:
2019-10-27 12:54:47
阅读次数:
93
Native Method Stacks(本地方法栈) 本地方法:指不是用Java语言编写的方法,因为Java语言是有一定限制的,有些情况下它是不能直接和操作系统打交道的。这时就需要调用一些用C或C++编写的方法去跟操作系统底层打交道。Java语言可以调用这些本地方法间接的调用操作系统底层的一些功能 ...
分类:
其他好文 时间:
2019-10-19 00:07:08
阅读次数:
85
一、哪些内存可以回收 JVM 的内存区域中,程序计数器、虚拟机栈和本地方法栈这 3 个区域是线程私有的,随着线程的创建而创建,销毁而销毁,因此不用回收。 垃圾回收的重点就是关注堆和方法区中的内存了,堆中的回收主要是对象的回收,方法区的回收主要是废弃常量和无用的类的回收。 二、什么时候可以被回收 一般 ...
分类:
编程语言 时间:
2019-10-17 01:31:18
阅读次数:
114
feign简介: feign是一种声明式,模板化的HTTP客户端,spring cloud对feign进行了增强,使其支持SpringMvc的相关注解,并整合了ribbon做负载均衡。在spring cloud中使用feign做HTTP远程服务请求,可以做到就像调用本地方法一样,完全感知不到是在调用 ...
分类:
其他好文 时间:
2019-10-13 20:52:22
阅读次数:
95
一、jdk,jre,jvm JRE:(Java Runtime Environment,Java运行环境),也就是Java平台。所有的Java 程序都要在JRE下才能运行。普通用户只需要运行已开发好的java程序,安装JRE即可。 JDK:(Java Development Kit)是程序开发者用来 ...
分类:
其他好文 时间:
2019-10-10 15:21:22
阅读次数:
77
JDK1.8之前,java内存分为 线程共享区:堆、方法区、直接内存(非运行时数据区的一部分)。线程私有区:程序计数器、虚拟机栈、本地方法栈。 JDK1.8开始,虚拟机取消了方法区,改为元空间。 程序计数器: 程序计数器是一块小的内存空间,存放线程执行的信息,如字节码的行号指示器还有分支、循环、跳转 ...
分类:
编程语言 时间:
2019-10-09 12:09:02
阅读次数:
93
JVM的内存结构: 线程共享:堆(存放创建的各种对象),方法区(存放类信息,静态变量,常量池) 线程私有:栈(每个线程都有自己的栈空间,存放每个方法的局部变量),程序计数器(记录当前字节码指令的位置,执行到拿哪一条字节码指令),本地方法栈(跟栈类似,不同的是执行的native方法) JVM什么时候会 ...
分类:
其他好文 时间:
2019-10-05 20:31:35
阅读次数:
122
概述 https://www.toutiao.com/i6731345429574713868/ java发展历史上出现过很多垃圾回收器,各有各的适应场景,不仅仅是开发,作为运维也需要对这方面有一定的掌握,今天简单介绍一下java的内存布局以及各种垃圾回收器的原理。 JVM内存布局 JVM从概念上大 ...
分类:
其他好文 时间:
2019-10-05 10:45:30
阅读次数:
110