前言:Oracle 体系结构其实就是指oracle 服务器的体系结构,数据库服务器主要由三个部分组成 管理数据库的各种软件工具(sqlplus,OEM等),实例(一组oracle 后台进程以及服务器中分配的共享内存区域),数据库(是基于磁盘的各种物理文件的集合,如数据文件,控制文件,日志文件,参数文 ...
分类:
数据库 时间:
2017-07-05 10:08:17
阅读次数:
248
JVM虚拟机内存组成: 如下图: (1)是一块较小的内存空间;可以看做当前程序执行子界面的行号指示器,字节码解析器执行的时候就是根据这个判断下一条指令该执行什么。 (2)因为cpu在执行代码的时候,会在多个线程之间进行切换执行,所以为了在cup切换后恢复到正确的执行位置,每条线程都有一个独立的程序计 ...
分类:
其他好文 时间:
2017-07-02 21:13:43
阅读次数:
143
一. 垃圾收集算法 1. 标记-清除算法 缺点:1.效率低,标记和清除两个过程的效率都不高; 2.空间问题,标记清除后会产生大量的不连续内存碎片。 2. 复制算法 将内存分成三块:一块较大的Eden和两块较小的Survivor空间。每次使用Eden和其中一块Survivor,回收后将Eden和Sur ...
分类:
编程语言 时间:
2017-07-01 23:20:38
阅读次数:
200
一. 对象的创建 在语言层面上,创建对象的方式有克隆、反序列化、new等方法。 1.1 检查类是否被加载 虚拟机遇到一条new指令时,首先去检查这个指令的参数是否能够在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程。 ...
分类:
编程语言 时间:
2017-07-01 22:35:10
阅读次数:
140
jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(Java虚拟机栈 ...
分类:
其他好文 时间:
2017-06-30 12:34:08
阅读次数:
151
void NdisZeroMemory( PVOID Destination, SIZE_T Length ); 用0来填充一块内存区域。 Destination :指向一块准备用0来填充的内存区域的開始地址。 Length :准备用0来填充的内存区域的大小,按字节来计算。 比如:NdisZeroM ...
分类:
其他好文 时间:
2017-06-29 22:22:42
阅读次数:
158
strcat原型:char *strcat(char *dest,const char *src); 把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 strncpy()原型: ...
分类:
系统相关 时间:
2017-06-28 20:22:44
阅读次数:
222
Buffer简单介绍 Buffer意为缓冲区。其本质上就是是一块可写入数据,然后能够从中读取数据的内存区域。通过该种方式有助于降低系统开销和提高外设效率。对于缓冲区我们早有所了解,比方在C中标准I/O中的read,write直接调用系统的输入输出。而scanf和printf则借助缓冲区在适当的时候调 ...
分类:
其他好文 时间:
2017-06-27 20:08:51
阅读次数:
147
内存划分: java虚拟机在执行java程序过程中会把内存分为以下区域进行管理 线程私有的 虚拟机栈 局部变量表 基本数据类型 long和double占用两个slot 对象引用 返回地址 操作数栈 动态链接 方法出口等信息 抛出异常: 栈深度过大 StackOverflowError 申请内存空间不 ...
分类:
编程语言 时间:
2017-06-26 11:33:46
阅读次数:
196
看了深入理解JAVA虚拟机已经有一段时间了 发现很多东西如果不总结 脑子里总是没有一条线贯穿起来,也比较模糊混乱,所以还是有必要利用逻辑思维图总结下。 JVM看了下 大致比较重要的分内存区域划分、垃圾收集器与内存分配策略、类加载机制、高并发这几块。其中其实都有比较紧密的联系 ...
分类:
其他好文 时间:
2017-06-25 12:42:47
阅读次数:
114