从事Java开发的都知道java有个垃圾回收机制Garbage collection,要准确理解Java的垃圾回收机制. 我们可以从:“什么时候”,“对什么东西”,“做了什么事情”这三个方面来分析。 01、“什么时候” 什么时候”即是GC触发的条件。GC触发的条件有两种: 程序调用System.gc ...
分类:
其他好文 时间:
2020-04-28 13:12:40
阅读次数:
55
java.lang.OutOfMemoryError GC overhead limit exceeded原因分析及解决方案最近一个上线运行良好的项目出现用户无法登录或者执行某个操作时,有卡顿现象。查看了日志,出现了大量的java.lang.OutOfMemoryError: GC overhead... ...
分类:
编程语言 时间:
2020-04-28 12:54:59
阅读次数:
79
c#有自己的内存回收机制,所以在c#中我们可以只new,不用关心怎样delete,c#使用gc来清理内存,这部分内存就是managed memory,大部分时候我们工作于c#环境中,都是在使用托管内存,然而c#毕竟运行在c++之上,有的时候,(比如可能我们需要引入一些第三方的c++或native代码 ...
这周学习unity框架第二课——缓存池模块。~~(周更它来了)~~ 为什么需要缓存池 c 中清理一次内存叫做一次 GC ,由于内存的固定的,当内存使用到达上线时,c 会清理一些暂时没有用的实例化对象,GC操作会造成明显卡顿。如果实例化的对象很多,那么卡顿现象将会十分明显而且频繁。这时候,我们引入 缓 ...
分类:
其他好文 时间:
2020-04-26 20:38:53
阅读次数:
61
简介 总所周知我们所处的地方是3维世界,所以如何直观的显示多维的数据是一个比较困难的事情,所以 主要是项目中要用到~~ ;) 参考链接 https://blog.csdn.net/qq_44702847/article/details/103154088 https://observablehq.c ...
分类:
其他好文 时间:
2020-04-26 16:48:50
阅读次数:
60
引用计数法:给每个对象一个引用计数器,每当有一个地方引用它时,计数器就会加1;当引用失效时,计数器的值就会减1;任何时刻计数器的值为0的对象就是不可能再被使用的。优点:1、可即时回收垃圾:在该方法中,每个对象始终知道自己是否有被引用,当被引用的数值为0时,对象马上可以把自己当作空闲空间链接到空闲链表 ...
分类:
编程语言 时间:
2020-04-26 13:58:52
阅读次数:
79
多线程、并发及线程的基础问题 1)Synchronized 用 过 吗 , 其 原 理 是 什 么 ? 2)volatile 能使得一个非原子操作变成原子操作吗? 3)volatile 修饰符的有过什么实践? 4)volatile 类型变量提供什么保证? 5) 10 个线程和 2 个线程的同步代码, ...
分类:
编程语言 时间:
2020-04-25 17:19:05
阅读次数:
54
一、判断对象是否需要被回收 1、可达性分析算法的实现 ① 根节点枚举 ② 安全点 ③ 安全区域 ④ 记忆集与卡表 ⑤ 写屏障 ⑥ 并发的可达性分析 二、经典的垃圾收集器(内存回收算法对应) Serial、ParNew、Parallel Scavenge、 Serial Old、Parallel Ol ...
分类:
其他好文 时间:
2020-04-24 21:28:17
阅读次数:
80
内存泄露: 内存泄漏是指本应该被GC回收的无用对象没有被回收,导致的内存空间的浪费,当内存泄露严重时会导致OOM。 通俗理解就是你用资源的时候为你开辟了一段空间,当你用完时忘记释放资源了,这时内存还被占用着,一次没关系,但是内存泄漏次数多了就会导致内存溢出 例子:你向系统申请分配内存进行使用(new ...
分类:
其他好文 时间:
2020-04-23 18:48:56
阅读次数:
82
了解Stream Java8中有两大最为重要的改变。第一个是 Lambda 表达式;另外一 个则是 Stream API(java.util.stream. )。 Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。 ...
分类:
编程语言 时间:
2020-04-21 18:04:24
阅读次数:
70