Java来源于C++。Java中两种数据类型:基本数据类型和引用数据类型。 存储:寄存器,堆栈,堆,常量存储,非RAM存储。 基本类型:boolean,byte,char,short,int,long,float,double 引用类型:String s = new String(“hello wo ...
分类:
编程语言 时间:
2018-08-19 00:50:09
阅读次数:
241
一、JVM 内存模型 根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。 1、虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创建一个栈帧,栈帧中存放了局部变量表(基本数据类型和对象引用)、操作数栈、方法 ...
分类:
编程语言 时间:
2018-08-15 21:36:21
阅读次数:
233
JVM 内存划分 栈 虚拟机栈 本地方法栈 堆 方法计数器 方法区 对象的分配 指针碰撞 空闲列表 (√) 分配内存 线程安全问题: 分配动作处同步 实际上采用CAS保证分配的原子性 TLAB 本地线程分配缓存 对象内存中的信息布局 对象头 Mark word (根据对象状态复用此部分空间) has ...
分类:
其他好文 时间:
2018-08-06 00:38:25
阅读次数:
211
1、内存分配的形式有哪些 内存四区模型啊:栈、堆、全局区、代码区。 栈:存局部变量、返回值、参数等 堆:动态申请内存。存malloc或者new出的数据 全局区:存全局变量、静态变量、常量等 代码区:存放二进制代码 2、什么是内存泄漏 占用的内存空间得不到释放,导致这块内存不可再被使用,这就叫内存泄漏 ...
分类:
其他好文 时间:
2018-07-30 00:32:19
阅读次数:
155
本章内容 本章介绍,JVM运行过程中是怎样划分区域的,堆,栈,方法区,这些是什么鬼?每个区域存储哪些内容? 区域介绍 程序计数器 虚拟机栈 本地方法栈 堆 方法区 本章已Hotspot为例,虚拟机栈和本地方法栈,是合并的 程序计数器(线程私有) 1 作用 存储程序当前执行指令的地址 2 注意 JVM ...
分类:
编程语言 时间:
2018-07-24 17:43:25
阅读次数:
138
when ? what ? why ? how ? 为什么要进行垃圾回收? 当需要排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们需要对内存动态分配和内存回收技术实施必要的监控和调节。 垃圾回收的区域是哪块? JVM 内存结构分成程序计数器、虚拟机栈、本地方法栈、堆、 ...
分类:
其他好文 时间:
2018-07-20 19:02:31
阅读次数:
158
JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method) 栈区: 每个线程包含一个栈区,栈中只保存方法中(不包括对象的成员变量)的基础数据类型和自定义对象的引用(不是对象),对象都存放在堆区中 每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。 栈分 ...
分类:
编程语言 时间:
2018-07-18 20:31:10
阅读次数:
153
JAVA变量(包括常量)可以存放在 栈、堆、方法区三块内存区域,除去方法区的常量池中存放的常量之外主要的变量都存放在栈和堆中。 其中栈中的变量会受线程的影响(线程私有),当线程结束时变量销毁 堆中的变量则是线程共享的,由 gc 处理。 变量的存储位置跟变量的类型和变量的作用域有关,如下: ...
分类:
编程语言 时间:
2018-07-17 19:29:07
阅读次数:
183
C++语言学习(四)——类与对象一、构造函数(constructor)1、构造函数简介C++语言中,构造函数是与类名相同的特殊成员函数。在类对象创建时,自动调用构造函数,完成类对象的初始化。类对象本身是变量,在栈、堆上创建的对象,对象的成员初始化为随机值;在静态存储区创建的对象,对象的成员初始化为0。2、构造函数的定义构造函数声明的语法如下:classname(parameters);没有参数的构
分类:
编程语言 时间:
2018-07-15 17:44:30
阅读次数:
173
介绍 分布式应用程序层次结构的顶部:堆栈。 堆栈是一组相互关联的服务,它们共享依赖关系,并且可以协调和缩放在一起。 单个堆栈能够定义和协调整个应用程序的功能(尽管非常复杂的应用程序可能希望使用多个堆栈)。 添加新服务并重新部署 让我们看看我们的swarm如何调度容器。 docker-compose1 ...
分类:
其他好文 时间:
2018-07-11 17:55:48
阅读次数:
223