C++静态库与动态库 这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《程序员的自我修养——链接、装载与库》。 什么是库 什么是库 库是写好的现有的,成熟的,可以复用 ...
分类:
编程语言 时间:
2017-05-17 16:05:25
阅读次数:
257
ART堆内存由若干个space组成,map表中的space的布局如下: 非等比例图如下: 如上图,可分为如下几种space:main space、image space、zygote space、non moving space、large object space。 这些space是在art::g ...
分类:
其他好文 时间:
2017-05-14 10:23:55
阅读次数:
367
在C++对象模型之简述C++对象的内存布局一文中。详细分析了各种成员变量和成员函数对一个类(没有不论什么继承的)对象的内存分布的影响,及详细解说了怎样遍历对象的内存,包含虚函数表。假设你在阅读本文之前。还没有看过C++对象模型之简述C++对象的内存布局一文,建议先阅读一下。而本文主要讨论继承对于对象 ...
分类:
编程语言 时间:
2017-05-02 19:50:32
阅读次数:
261
一个程序本质上都是由 BSS 段、data段、text段三个组成的。这种概念在当前的计算机程序设计中是非常重要的一个基本概念,并且在嵌入式系统的设计中也非常重要,牵涉到嵌入式系统执行时的内存大小分配,存储单元占用空间大小的问题。 BSS段:在採用段式内存管理的架构中。BSS段(bss segment ...
分类:
编程语言 时间:
2017-05-01 20:57:49
阅读次数:
248
一、目录 1.启蒙知识预热:CAS原理+JVM对象头内存存储结构 2.JVM中锁优化:锁粗化、锁消除、偏向锁、轻量级锁、自旋锁。 3.总结:偏向锁、轻量级锁,重量级锁的优缺点。 二、启蒙知识预热 开启本文之前先介绍2个概念 2.1.cas操作 为了提高性能,JVM很多操作都依赖CAS实现,一种乐观锁 ...
分类:
编程语言 时间:
2017-04-20 19:31:56
阅读次数:
296
C++ 多继承和虚继承的内存布局 【已翻译100%】 英文原文:Memory Layout for Multiple and Virtual Inheritance 标签: <无> run_mei 推荐于 4年前 (共 14 段, 翻译完成于 10-17) 评论 46 分享 收藏 198 参与翻译 ...
分类:
编程语言 时间:
2017-04-18 18:32:10
阅读次数:
232
Java虚拟机运行时数据区:方法区、虚拟机栈、本地方法栈、堆、程序计数器 对象的创建 对象的内存布局 对象的访问定位 内存泄露 虚拟机栈和本地方法栈 ...
分类:
编程语言 时间:
2017-04-15 13:39:42
阅读次数:
137
Linux select 机制深入分析 作为IO复用的实现方式。select是提高了抽象和batch处理的级别,不是传统方式那样堵塞在真正IO读写的系统调用上。而是堵塞在select系统调用上,等待我们关注的描写叙述符就绪。当然如今更好的方式是epoll,比方Java中的NIO底层就是用的epoll ...
分类:
系统相关 时间:
2017-04-14 22:44:46
阅读次数:
382
先来看看Java对象在内存中的布局 一 Java对象的内存布局 在HotSpot虚拟机中,对象在内存中的布局分为3个区域 Mark Word(在32bit和64bit虚拟机上长度分别为32bit和64bit)存储对象自身的运行时数据,包括哈希码,GC分代年龄,锁状态标志,线程持有的锁,偏向线程ID, ...
分类:
编程语言 时间:
2017-04-10 19:35:43
阅读次数:
221
C语言指针数组和数组指针一、指针数组和数组指针的内存布局初学者总是分不出指针数组与数组指针的区别。其实很好理解:指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称。数组指针:首先它是一个指针,它指向一个数组。在32 位系统下永远是占4 个字节 ...
分类:
编程语言 时间:
2017-04-08 16:23:09
阅读次数:
212