今天把早先买来的阿里的《Java 开发手册》翻出来准备看看,彩版印刷很是美观,就选第四章-走进JVM读读吧。 全章共五节分别是: 字节码 类加载过程 内存布局 对象实例化 垃圾回收 从字节码说起,分析类加载的过程,并结合内存布局,讲解对象创建与垃圾回收等各个知识点。 第一节要点: JVM顾名思义本质 ...
分类:
其他好文 时间:
2021-05-24 00:13:55
阅读次数:
0
基础 进程 一个进程包括由操作系统分配的内存空间,包含一个或多个线程。一个线程不能独立的存在,它必须是进程的一部分。 一个进程一直运行,直到所有的非守候线程都结束运行后才能结束。 线程的生命周期 新建状态 一个新产生的线程从新状态开始了它的生命周期。它保持这个状态直到程序start这个线程。 就绪状 ...
分类:
编程语言 时间:
2021-05-24 00:07:10
阅读次数:
0
多线程 进程:一个启动的应用程序(进程A与进程B的内存独立不共享) 线程:一个进程的执行场景/单元(线程A与线程B的内存可能共享,也可能独立) 例如在Java语言中,堆内存和方法区内存共享(因为其内存空间是固定的);但占栈内存独立,一个线程一个栈,每个栈之间互不干扰,即每个线程之间互不干扰,此即为多 ...
分类:
编程语言 时间:
2021-05-23 23:47:11
阅读次数:
0
JavaScript垃圾回收机制 JavaScript使用垃圾自动回收机制进行内存管理,无需程序员手动分配和释放内存。垃圾回收的基本思路是确定哪些变量不会再次被使用,然后回收这些变量占用的内存。垃圾回收机制会影响应用程序的性能,因此它应该是周期性的,垃圾回收程序每隔一段时间会运行一次。常用的垃圾回收 ...
分类:
编程语言 时间:
2021-05-23 23:28:32
阅读次数:
0
异常 什么是异常 实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求、你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据库的数据,数据可能是空的等。我们的程序跑着,内存或硬盘可能满了。等等。软件程序再运行过程中,非常可能遇到刚刚提到的这些 ...
分类:
编程语言 时间:
2021-05-23 23:15:34
阅读次数:
0
新建springboot项目 相关依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </depende ...
分类:
其他好文 时间:
2021-05-23 23:13:22
阅读次数:
0
脱壳——UPX脱壳原理 脱壳步骤 1 找到OEP 2 dump(导出)内存文件 3 修复 1 找到OEP 1 程序运行先从壳代码运行,壳代码执行完之后会跳转到真正的OEP,也就是是说第一步,首先要找到真正的OEP 如何找到OEP 大部分情况下,壳代码会在一个单独的区段里面,壳代码执行完一定会跳转到原 ...
分类:
其他好文 时间:
2021-05-23 23:12:06
阅读次数:
0
1. 如何顺序控制goroutine 如何保证在一个 goroutine 中看到在另一个 goroutine 修改的变量的值,如果程序中修改数据时有其他 goroutine 同时读取,那么必须将读取串行化。为了串行化访问,请使用 channel 或其他同步原语,例如 sync 和 sync/atom ...
分类:
其他好文 时间:
2021-05-23 23:08:09
阅读次数:
0
内容概要 迭代器介绍 for循环原理 迭代器的优缺点 内容详细 1 迭代器介绍 迭代器即用来迭代取值的工具,而迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果每一次对工程的重复称为一次'迭代',而每一次迭代得到的结果会作为下一次迭代的初始值,单纯的重复并不是迭代?while True: ...
分类:
其他好文 时间:
2021-05-23 23:07:23
阅读次数:
0
缓存一致性 由于通过提升cpu频率提升性能的道路遇到了能耗墙,进一步提升频率可能会造成CPU温度过高,影响稳定性。为了进一步提升cpu性能,多核CPU逐渐发展起来。然而多核也面临着诸多问题,包括正确性和可扩展性。下面我们就谈谈多核中的缓存一致性。 多核高速缓存架构 主流的多核处理器均采用共享内存,但 ...
分类:
其他好文 时间:
2021-05-20 17:52:25
阅读次数:
0