1. JVM的体系结构 其中栈区由于函数返回后就会出栈,因此不会存在垃圾回收。垃圾回收主要针对的是堆区的回收。 JNI:Java Native Interface,通过使用Java本地接口书写程序,可以确保代码在不同的平台上方便移植。 2. 类加载器 类的生命周期 类的加载过程详细参考Class文件 ...
分类:
其他好文 时间:
2021-03-02 12:30:06
阅读次数:
0
队列,先进先出 Queue<string> q = new Queue<string>(); q.Enqueue("A"); q.Enqueue("B"); q.Enqueue("C"); Console.WriteLine(q.Dequeue()); //移除第一个并返回第一个元素的值:A Con ...
最近正在学习linux下堆的管理机制,收集了书籍和网络上的资料,以自己的理解做了整理,做个记录。如果有什么不对的地方欢迎指出! Memory Allocator 常见的内存管理机制 dlmalloc:通用分配器 ptmalloc2:glibc分配器,继承自dlmalloc,并提供了多线程支持,主要研 ...
分类:
其他好文 时间:
2021-02-26 12:56:38
阅读次数:
0
在1G内存的计算机中能否malloc(1.2G)?为什么? malloc能够申请的空间大小与物理内存的大小没有直接关系,仅与程序的虚拟地址空间相关。程序运行时,堆空间只是程序向操作系统申请划出来的一大块虚拟地址空间。应用程序通过malloc申请空间,得到的是在虚拟地址空间中的地址,之后程序运行所提供 ...
分类:
其他好文 时间:
2021-02-25 12:20:47
阅读次数:
0
一、JAVA HEAP内存空间 Memory structure Of a JVM process java堆内存空间分为: 新生代 新生区(Eden):初创对象 存活区(Survivor):步入成熟期的初创对象 ss1: ss2: 老年代 mark --> compact 持久代 垃圾回收期: 新 ...
分类:
其他好文 时间:
2021-02-25 11:53:46
阅读次数:
0
JDK1.8之前的堆内存示意图: 从上图可以看出堆内存的分为新生代、老年代和永久代。新生代又被进一步分为:Eden 区+Survior1 区+Survior2 区。值得注意的是,在 JDK 1.8中移除整个永久代,取而代之的是一个叫元空间(Metaspace)的区域(永久代使用的是JVM的堆内存空间 ...
分类:
编程语言 时间:
2021-02-23 14:04:14
阅读次数:
0
16位数据操作指令 名字 功能ADC 带进位加法(ADD with Carry) ADD 加法 AND 按位与。这里的按位与和C的”&”功能相同 ASR 算术右移(Arithmetic Shift Right) BIC 按位清零(把一个数跟另一个无符号数的反码按位与) CMN 负向比较(把一个数跟另 ...
分类:
其他好文 时间:
2021-02-22 12:19:54
阅读次数:
0
知识梳理 简单类型与复杂类型 堆和栈 简单类型的内存分配 复杂类型的内存分配简单类型传参复杂类型传参 一 数据类型分类 1)基本概念 //1 简单数据类型:也称 值类型 又称 基本数据类型string number Boolean undefined nullnull 返回的是对象比较特殊 //2 ...
分类:
其他好文 时间:
2021-02-22 11:45:01
阅读次数:
0
多态使用时,如果子类中有属性开辟到堆区,那么父类指针在释放时无法调用到子类的析构代码 解决方式:将父类中的析构函数改为虚析构或者纯虚析构 虚析构和纯虚析构共性: 可以解决父类指针释放子类对象 都需要有具体的函数实现 虚析构和纯虚析构区别: 如果是纯虚析构,该类属于抽象类,无法实例化对象 虚析构语法: ...
分类:
其他好文 时间:
2021-02-20 12:06:01
阅读次数:
0
numpy.stack 函数用于沿新轴连接数组序列,格式如下: numpy.stack(arrays, axis) 参数说明: arrays相同形状的数组序列 axis:返回数组中的轴,输入数组沿着它来堆叠 1 import numpy as np 2 3 a=np.array([[1,2],[3, ...
分类:
其他好文 时间:
2021-02-20 12:05:27
阅读次数:
0