注意:以下都是在MySQL目录下的my.ini文件中改写(技术文)。 一、InnoDB内存优化 InnoDB用一块内存区域做I/O缓存池,该缓存池不仅用来缓存InnoDB的索引块,而且也用来缓存InnoDB的数据块。 1、innodb_log_buffer_size 决定了InnoDB重做日志缓存的 ...
分类:
数据库 时间:
2017-11-11 15:23:20
阅读次数:
147
一、内存结构图 程序计数器 保存着当前线程执行的虚拟机字节码指令的内存地址,使得保证线程切换回来后,还能恢复到原先状态。(本地native丰富则计数器为空) 虚拟机栈(JVM栈) 每创建一个线程时就会对应创建一个Java栈,所以Java栈也是"线程私有"的内存区域,这个栈中又会对应包含多个栈帧,每调 ...
分类:
编程语言 时间:
2017-11-10 12:51:07
阅读次数:
166
JVM对象创建是指的java程序使用new操作符或者反射调用newInstance方法实例化对象时在JVM内存区域创建对象的过程,分配了对象的内存空间之后,JVM会给实例变量赋予初始化值,简要的图例如下: 简单来说整个过程就是对象创建会首先在Eden区进行内存分配,创建完成之后栈空间中的变量会对其进 ...
分类:
其他好文 时间:
2017-11-07 19:38:09
阅读次数:
139
java虚拟机学习-深入理解JVM(1) java虚拟机学习-慢慢琢磨JVM(2) java虚拟机学习-慢慢琢磨JVM(2-1)ClassLoader的工作机制 java虚拟机学习-JVM内存管理:深入Java内存区域与OOM(3) java虚拟机学习-JVM内存管理:深入垃圾收集器与内存分配策略( ...
分类:
编程语言 时间:
2017-11-07 19:32:30
阅读次数:
231
一、变量: 变量是一块储存的内存空间,并且该内存区域的数据内容可以变化。 变量的声明:指定一块内存空间,用于存放数据。变量的赋值:将数据存放到变量的内存空间。 ① 变量用于在内存中储存数据;② 变量储存的数据可变;③ 变量必须先声明后赋值。 二、变量命名: 是指给变量取个名称;定义的语法为:数据类型 ...
1、strcpy() 原型:char *strcpy(char *dst,const char *src) 功能:将以src为首地址的字符串复制到以dst为首地址的字符串,包括'\0'结束符,返回dst地址。要求:src和dst所指内存区域不可以重叠且dst必须有足够的空间来容纳src的字符串,若d ...
分类:
其他好文 时间:
2017-11-04 23:33:07
阅读次数:
173
1、简述:java虚拟机在执行java程序的过程中,会把他所管理的内存分为以下几个区域, 1.1、程序计数器 1.2、虚拟机栈 1.3、本地方法栈 1.4、java堆 1.5、方法区 如图所示: 2、各个区域的主要功能介绍 2.1、程序计数器:它可以看成是当前线程所执行的字节码的行号指示器,在虚拟机 ...
分类:
编程语言 时间:
2017-11-04 14:58:21
阅读次数:
197
Java虚拟机的内存管理主要分两点:内存分配以及内存回收。· 一、内存分配图: 注: 所占区域的大小与实际的内存大小比例并无直接关系。 解读: 1、如图,分成两种颜色的内存区域,其中蓝色的是线程隔离的数据区,也就是说每一个线程都有自己的这么一个区域存放自己的数据,而青色区域则是线程共享的,里面的数据 ...
分类:
编程语言 时间:
2017-11-03 00:15:13
阅读次数:
209
1.前言 上一篇我们介绍了java的内存区域结构,这一篇,模拟内存溢出的几个场景,下面一个图是总体的指导思想: 2.Java堆溢出 Java堆唯一的作用就是存储对象实例,只要保证不断创建对象并且对象不被回收,那么对象数量达到最大堆容量限制后就会产生内存溢出异常了。所以测试的时候把堆的大小固定住并且让 ...
分类:
编程语言 时间:
2017-10-31 20:39:36
阅读次数:
179
1.几个计算机的概念 为以后写文章考虑,也为巩固自己的知识和一些基本概念,这里要理清楚几个计算机中的概念。 1、计算机存储单位 从小到大依次为位Bit、字节Byte、千字节KB、兆M、千兆GB、TB,相邻单位之间都是1024倍,1024为2的10次方,即: 1Byte = 8bit 1K = 102 ...
分类:
编程语言 时间:
2017-10-31 20:08:34
阅读次数:
171