IPC 指的是进程间通讯 之所以开启子进程 ,肯定需要他帮我们完成任务,很多情况下,需要将数据返回给父进程。 然而进程内存是物理隔离的 解决方案: 1.将共享数据放在文件中,就是慢 2.管道 subprocess 中那个管道只能单向通讯,必须有父子关系 3.共享一块内存区域 得操作系统帮你分配,速度 ...
分类:
系统相关 时间:
2018-11-09 21:11:03
阅读次数:
221
一、堆的含义 jvm堆的区域主要是用来存放对象的实例,它的空间大小是JVM内存区域中占比重最大的,也是jvm最大的内存管理模块,最重要的是,这个区域是垃圾收集器主要管理的区域,这意味着我们在考虑垃圾回收优化的时候,首先就要想到堆中的区域。 二、方法区 方法区同样是jvm的内存区域,它和堆一样,都是线 ...
分类:
编程语言 时间:
2018-11-08 00:25:39
阅读次数:
630
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,如图: 1.程序计数器 可以看作是当前线程所执行的字节码的行号指示器,通俗的讲就是用来指示执行哪条指令的。为了线程切换后能恢复到正确的执行位置 Java多线程是通过线程轮流切换并分配处理器执行的,为了能够使得每个线 ...
分类:
编程语言 时间:
2018-11-08 00:13:32
阅读次数:
220
一、栈的含义 用于描述方法执行的动态内存模型,简单来说就是代码中的方法模块。主要用于局部变量表。栈的大小在编译器中就已经分配了空间,在进入一个方法时,这个方法需要栈帧分配多少内存是固定的,运行期间是不会改变大小。 局部变量表示指:存放编译期可知的各种基本类型和引用类型。 二、栈帧 说到了栈,就不得不 ...
分类:
其他好文 时间:
2018-11-06 22:35:40
阅读次数:
191
1._beginthreadex再谈 Windows操作系统提供了这样的一种解决方案——每个线程都将拥有自己专用的一块内存区域来供标准C运行库中所有有需要的函数使用。而且这块内存区域的创建就是由C/C++运行库函数_beginthreadex()来负责的。 _beginthreadex()函数在创建 ...
分类:
其他好文 时间:
2018-11-06 17:43:47
阅读次数:
218
前言: 本文主要是我自己总结的一些技巧,可能对搜到这篇的来观看的朋友有些很难理解,请见谅。 一、JVM的运行时数据区 总共有两个区域: 1.线程共享区:方法区,java堆 2.线程独占区:虚拟机栈,本地方法栈,程序计数器 二、程序计数器 程序计数器就是程序执行代码的行号(也称为地址),每一个程序都会 ...
分类:
其他好文 时间:
2018-11-05 23:44:45
阅读次数:
310
转自:https://www.jianshu.com/p/5946c0a414b5 需要提前了解的知识点: JVM内存模型 JVM垃圾回收算法 下图是JVM内存区域划分的逻辑图 JVM内存区域逻辑图 从图中我们大概了解JVM相关的内存区域。 JVM内存包括区域 Heap(堆区) New Genera ...
分类:
其他好文 时间:
2018-11-03 23:13:52
阅读次数:
205
在oracle中有三个重要的概念需要理解,那就是实例(instance)、数据库(database)和数据库服务器(DatabaseServer)。其中,实例是指一组oracle后台进程以及在服务器中分配的内存区域;数据库是基于磁盘的数据文件、控制文件、日志文件、参数文件和归档日志文件等组成的物理文件集合;数据库服务器是指管理数据库的各种软件工具(如SQLPLUS、OEM等)和实例及数据库三个部分
分类:
数据库 时间:
2018-11-02 15:26:04
阅读次数:
181
前言 之前阿里面试的时候有个面试官就问了我会不会"什么什么的内存模型",当时自己还不知道这个名词(知道概念,但确确实实不知道叫这个名字.....),所以就回了是问关于大小端存储么?面试官就问下一个问题了..... 后来在《程序员的自我修养》这本书中,看了相关的概念,在这里整理一下: C++内存模型( ...
分类:
编程语言 时间:
2018-10-30 14:49:07
阅读次数:
201
内存模型 Java堆(Heap) Java堆(Java Heap)是Java虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存。 Java堆是垃圾收集器管理的主要区域,因此很多时候也被 ...
分类:
其他好文 时间:
2018-10-29 20:03:26
阅读次数:
135