valgrind是很好的检查内存泄漏的工具 使用命令: $ valgrind --tool=memcheck --log-file=/root/valgrind_log_all --leak-check=full --error-limit=no --show-reachable=yes --tra ...
分类:
其他好文 时间:
2021-02-19 13:36:36
阅读次数:
0
1.1 HLOD System简介 首先,HLOD System主要的目标是为了减少Draw Call。然后,进行更多的Batch批处理,从而大大提高渲染性能,减少面数和纹理,这样我们相应地节省了内存,并提升了加载时间。 HLOD System只针对当前所在的地方进行加载,它会流式加载网格和纹理,在 ...
分类:
其他好文 时间:
2021-02-19 13:18:05
阅读次数:
0
异常概述 异常指程序运行中出现的不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。 异常发生在程序运行期间,它影响了正常的程序执行流程。 异常发生的原因有很多,通常包含以下几大类: 用户输入了非法数据。 要打开的文件不存在。 网络通信时连接中断,或者JVM内存溢出。 要理解Java异常处 ...
分类:
编程语言 时间:
2021-02-19 13:12:17
阅读次数:
0
直接内存概述 直接内存 不是虚拟机运行时数据区的一部分,也不是《Java虚拟机规范》中定义的内存区域。 直接内存是在Java堆外的、直接向系统申请的内存区间。 来源于NIO,通过存在堆中的DirectByteBuffer操作Native内存 通常,访问直接内存的速度会优于Java堆。即读写性能高。 ...
分类:
其他好文 时间:
2021-02-18 13:54:31
阅读次数:
0
Go性能调优 在计算机性能调试领域里,profiling 是指对应用程序的画像,画像就是应用程序使用 CPU 和内存的情况。 Go语言是一个对性能特别看重的语言,因此语言中自带了 profiling 的库,这篇文章就要讲解怎么在 golang 中做 profiling。 Go性能优化 Go语言项目中 ...
分类:
编程语言 时间:
2021-02-18 13:47:16
阅读次数:
0
volatile的作用及原理 当一个变量被volatile修饰时,会拥有两个特性: 保证了不同线程对该变量操作的内存可见性.(当一个线程修改了变量,其他使用次变量的线程可以立即知道这一修改). 禁止了指令重排序. 1. 保证内存可见性 JMM操作变量的时候不是直接在主存进行操作的,而是每个线程拥有自 ...
分类:
编程语言 时间:
2021-02-18 13:42:21
阅读次数:
0
什么是JMM JMM即是JAVA内存模型(java memory model)。在不同的硬件生产商和不同的操作系统下,内存的访问逻辑有一定的差异,结果就是当你的代码在某个系统环境下运行良好,并且线程安全,但是换了个系统就出现各种问题。Java内存模型,就是为了屏蔽系统和硬件的差异,让一套代码在不同平 ...
分类:
其他好文 时间:
2021-02-18 13:41:51
阅读次数:
0
1.原子性(Atomicity) 定义:不可再分割的操作 Java内存模型直接保证原子性变量操作包括:read、load、assign、use、store 和 write 这6个 2.可见性(Visibility) 定义:是指当一个线程修改了一个共享变量的值时,其他线程能够立即的指这个修改 java ...
分类:
其他好文 时间:
2021-02-18 13:27:59
阅读次数:
0
变量的意义:存储数据在内存中,用来在后边进行调用 定义一个变量: name = 'Lizi' 上述代码中,变量名为name,变量值为Lizi 调用变量: print('My name is' ,name) 执行结果为 My name is Lizi 变量的命名规范: 变量名只能是字母,数字或下划线的 ...
分类:
编程语言 时间:
2021-02-18 13:01:14
阅读次数:
0
对象实例化 对象创建方式 new:最常见的方式、单例类中调用 变形1: getInstance的静态类方法 变形2 : XXXBuilder/XXXFactory 的静态方法 Class 的 newInstance 方法:在 JDK9 里面被标记为过时的方法,因为只能调用空参构造器 Construc ...
分类:
其他好文 时间:
2021-02-17 15:12:35
阅读次数:
0