emplace_back和push_back是cpp11的新特性之一,都是对vector内添加元素的方法。 区别在于: push_bach(): 首先需要调用构造函数构造一个临时对象,然后调用拷贝构造函数将这个临时对象放入容器中,然后释放临时变量。 emplace_back(): 这个元素原地构造, ...
分类:
其他好文 时间:
2020-03-04 18:57:27
阅读次数:
65
jvm 常量池 方法区 1. 用于存储 jvm 加载的类的信息、常量、静态变量、编译后的代码 2. jdk7 及以往版本,方法区基于永久代实现,理论上是堆的一部分 3. jdk8 取消了永久代,在本地内存中划分区域 元空间,不属于 JVM 内存,方法区位于元空间中 jdk8 jdk7 jdk6: 运 ...
分类:
其他好文 时间:
2020-02-26 14:04:48
阅读次数:
82
1.1 定义类、创建对象 在编程时,要定义类,然后在创建这个类的对象(实例)。 1.1.1 定义类 定义类的语法个式如下: 访问修饰符 Class 类名 { 类的成员1; ................ 类的成员n; } 各项的含义如下。 1) “访问修饰符”用来限制类的作用范围或访问级别,类的修 ...
分类:
其他好文 时间:
2020-02-25 23:03:22
阅读次数:
199
JVM结构 JVM是 Java Virtual Machine的简称,意为Java虚拟机 。是Java可以在不同平台保证编译运行程序的保证。主要分为五大模块: 类装载器子系统 、 运行时数据区 、 执行引擎 (堆操作)、 本地方法接口 (对接本地方法栈)和 垃圾收集模块 (GC操作)。 类装载器子系 ...
分类:
其他好文 时间:
2020-02-25 12:48:54
阅读次数:
94
static声明的变量和方法称为类属性和类方法--为类的公共变量,属于类,被类的所有实例共享,在类被载入时,被显示初始化;--可以使用“对象.类”来调用,一般用“类名.类属性”--static变量至于方法区中; 用static声明的方法为静态方法--不需要对象,就可以调用(类名,方法名)--在调用该 ...
分类:
其他好文 时间:
2020-02-23 11:33:35
阅读次数:
75
https://juejin.im/post/5a15be736fb9a044fc4464d6 jvm jvm把内存分为 1.方法区(Method Area) 2.堆区(Heap) 3.虚拟机栈(VM Stack) 4.本地方法栈(Native Method Stack) 5.程序计数器(Progr ...
分类:
其他好文 时间:
2020-02-23 09:15:59
阅读次数:
51
带着问题,尤其是面试问题的学习才是最高效的。加油,奥利给! 点赞+收藏 就学会系列,文章收录在 GitHub "JavaEgg" ,N线互联网开发必备技能兵器谱 直击面试 1. 看你简历写得熟悉JVM,那你说说类的加载过程吧? 2. 我们可以自定义一个String类来使用吗? 3. 什么是类加载器, ...
分类:
其他好文 时间:
2020-02-22 13:34:40
阅读次数:
65
一 jvm 1.线程 2.jvm内存区域 a) 程序计数器 -私有区 b) 虚拟机栈 -私有区 c) 本地方法取 --私有区 d) 堆-线程共享-运行时数据区 e) 方法区-永久代 线程共享 3.jvm运行时内存 a) 新生代:Eden区/ServisionFrom/ServisionTo/ Min ...
分类:
编程语言 时间:
2020-02-21 14:56:54
阅读次数:
92
作者: 捡?螺的?男孩 常? OOM 异常分析 堆溢出 栈溢出 方法区溢出 本机直接内存溢出 GC overhead limit exceeded 一、堆溢出 Java 堆?于存储对象实例,只要不断地创建对象,并且保证 GC Roots 到对象之间有可达路径来避免垃圾回收机制清除这些对象,那么 在对 ...
分类:
其他好文 时间:
2020-02-21 00:10:59
阅读次数:
75
[toc] JVM的内存结构一般指Java的运行时数据区: 由方法区,堆区,虚拟机栈,程序计数器和本地方法栈组成。下面我们依次介绍这5部分。 1.程序计数器(Program Counter Register) 程序计数器:记录下一条要执行的JVM指令的执行地址,字节码解释器工作时就是通过改变程序计数 ...
分类:
其他好文 时间:
2020-02-19 17:34:45
阅读次数:
77