2.Go语言实现中的几个研究课题_毛康力[Image](/uploads/documents/3/2/1/3/32132c9fc13966e18aaaa130ac07ef5c/p3_1.jpg) ## 大纲 - 并发 - 接口 - 垃圾回收 - 调度 - 死锁检测 ## 并发  132c9fc13966e18aaaa130ac07ef5c/p13_1.jpg) - 研究课题:能否实现lock-free channels? ## 大纲 - 并发 - 接口 - 垃圾回收 - 调度 - 死锁检测 ## 接口 • 接口定义了一系列方法 - 如果类型实现了这些方法,它就实现了这个接口 • 接口不依赖实现 - 避免了过度设计,比如OO里面基于继承的方式 ## C++把同一个函数(的不同类型)实现了很多遍。(编译器累) - Java把所有东西都打包了,只有一个函数。(运行时累) - 研究课题:怎么样实现才合理? ## 大纲 - 并发 - 接口 - 垃圾回收 - 调度 - 死锁检测 ## 垃圾回收 • 王尼玛:内存管理太重要!交给机器我不放心 • 曹尼玛:内存管理太重要!给王尼玛管我不放心 Go还是很体贴大伙的~  之前博主的一篇读书笔记——《深入理解Java虚拟机》系列之回收对象算法与四种引用类型博客中为家介绍了Java中的四种引用类型,很多同学都希望能够对引用,还有不同类型引用的原理进行更深入了解。因此博主查看了抽象父类Reference和负责注册引用对象的引用队列R 所指向的实际对象是否被回收了,同时我们也可以过queue对引用实例进行一些额外的操作;但如果我们的引用实例在创建时没有指定一个引用队列,我们要想知道实际对象是否被回收,就只能够不停地轮询引用实例的get()方法是否为空了。值得注意的是虚引用PhantomReference,由于它的get()方法永远返回null,因此它的构造函数必须指定一个引队列。这两种查询实际对象是否被回收的方法都有应用,如we akHashMap中就选择去查询queue的据,来判定是否有对象将被回收;而ThreadLocalMap,则采用判断get()是否为null来作处理。`` 接下来是它的主要成员: private T referent; /* Treated specially by GC */ 在这里我们首先明确一些名词,Reference类也被称为引用类,它的实例 Reference Ins0 码力 | 6 页 | 283.24 KB | 2 年前3
2.1.4 PingCAP Go runtime related problems in TiDB production environment0 码力 | 56 页 | 50.15 MB | 1 年前3
一次线上java 应用响应时间过长问题的排查com/images/img-loading.svg)最近接手一个老 java 应用,没多久接到响应时间太长的报警,整个排查过程还是挺有意思的,录一下。
整个过程中,设计到 cpu,内存,垃圾回收,引用,spring,单例 等等知识,整个下来,心情愉悦。
接到报警
吃完晚饭回来,接到报警短信,服务响应时间太长,达到 2s 以上。
class="highlight cl">jstack pid |grep tid -A 30看到的结果居然是,CMS 垃圾收集器的线程。。。
$$垃圾回收 $$
看垃圾回收日志,发现一直在进行 Full GC,但是几乎没啥效果,GC 完了,老年代依然是几乎满的状态。
即使是 CMS,也不能避免传说中的 CMS,也不能避免传说中的 stop the world,所以响应时间变长了。
但是,现在问题来了,Full GC 回收不掉的对象都是啥啥啥?分析 java 堆内存
先把线上流量从这台机器切走,然后 dump,分析后发现,一共 160 多万个 PoolHttpConnecti nManager 对象占领了绝大多数内存。
0 码力 | 3 页 | 247.74 KB | 2 年前3
JVM 内存模型0 码力 | 1 页 | 48.42 KB | 2 年前3
Computer Programming with the Nim Programming Language0 码力 | 508 页 | 3.52 MB | 1 年前3
Computer Programming with the Nim Programming Language0 码力 | 512 页 | 3.54 MB | 1 年前3
Java 应用与开发 - Java 内存模型与分配机制2018 Java 内 学习目标 1. 理解 JVM 内存模型,掌握 JVM 内存构成 2. 理解 Java 程序的运行过程,学会通过调 HH 变化 3. 了解 Java 内存管理,认识垃圾回收 4. 建立编程时高效利用内存、避免内存溢上 D 的理 试模式观察内存的 大网 Java 内存模型 Java 程序内存运行分析 的数据销毁并不是同步的。方法一旦执行 结束,栈中的局部变量立即销毁,但是堆中对象不一定销 毁。因为可能有其他变量也指向了这个对象,直到栈中没有 变量指向堆中的对象时,它才销毁;而且还不是马上销毁, 要等垃圾回收扫描时才可以被销毁。 大网 Java 内存模型 Java 程序内存运行分析 Java 程序运行内存分析小结 * 栈中的数据和堆中的数据销毁并不是同步的。 序内存运行分 Java 内存管理建议 Java 垃圾回收机制 JVM 的垃圾回收机制 〈《GC) 决定对象是否是垃圾对象,并进行 回收。 学 垃圾回收机制的特点 * 垃圾内存并不是用完了马上就被释放,所以会产生内存释放 不及时的现象,从而降低内存的使用效率。 有归程 序庞大的 时候,这种现象更为明显。 * 垃圾回收工作本身需要消耗资源,同样会产生内存浪费。 Java 内存模0 码力 | 44 页 | 818.30 KB | 2 年前3
共 457 条
- 1
- 2
- 3
- 4
- 5
- 6
- 46













