Lock-Free Atomic Shared Pointers Without a Split Reference Count? It Can Be Done!0 码力 | 45 页 | 5.12 MB | 1 年前3
2.Go语言实现中的几个研究课题_毛康力[Image](/uploads/documents/3/2/1/3/32132c9fc13966e18aaaa130ac07ef5c/p3_1.jpg) ## 大纲 - 并发 - 接口 - 垃圾回收 - 调度 - 死锁检测 ## 并发  32c9fc13966e18aaaa130ac07ef5c/p13_1.jpg) - 研究课题:能否实现lock-free channels? ## 大纲 - 并发 - 接口 - 垃圾回收 - 调度 - 死锁检测 ## 接口 • 接口定义了一系列方法 - 如果类型实现了这些方法,它就实现了这个接口 • 接口不依赖实现 - 避免了过度设计,比如OO里面基于继承的方式 ## C++把同一个函数(的不同类型)实现了很多遍。(编译器累) - Java把所有东西都打包了,只有一个函数。(运行时累) - 研究课题:怎么样实现才合理? ## 大纲 - 并发 - 接口 - 垃圾回收 - 调度 - 死锁检测 ## 垃圾回收 • 王尼玛:内存管理太重要!交给机器我不放心 • 曹尼玛:内存管理太重要!给王尼玛管我不放心 Go还是很体贴大伙的~ : 基于STM32F407 168MHz ✓ 上下文切换:<3us ✓ 任务抢占:<3us ✓ 信号量混洗:<7us ✓ 死锁解除:<9us ✓ 消息传递延迟:<4us ✓ 中断延迟:<2us ## 首批基于 openEuler 嵌入式能力的商业发行版发布 JRLC 菁蓉联创 中天鲲鹏操作系统 V1.0(欧拉版) 工业嵌入式操作系统V10 码力 | 15 页 | 1.35 MB | 1 年前3
Julia 1.8.1 Documentation0 码力 | 1563 页 | 5.03 MB | 2 年前3
Golang Manual By AstaXie-201205220 码力 | 6205 页 | 12.83 MB | 2 年前3
Java 源码剖析——彻底搞懂Reference 和ReferenceQueuecom/article/1513083921948 来源网站:链滴 许可协议:署名-相同方式共享4.0国际(CC BY-SA 4.0) 之前博主的一篇读书笔记——《深入理解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 以上。
$$垃圾回收 $$
看垃圾回收日志,发现一直在进行 Full GC,但是几乎没啥效果,GC 完了,老年代依然是几乎满的状态。
即使是 CMS,也不能避免传说中的 stop the world,所以响应时间变长了。
但是,现在问题来了,Full GC 回收不掉的对象都是啥啥啥?看了一下应用中的代码,发现每次使用 oss 时都会 new OssClient,用完之后没有 shutdown。br> 但是,new 是在方法内部的,方法内的局部变量按道理说,方法结束后直接就可以回收的啊,这不科,肯定是 ossClient 的源码中搞了鬼。于是直接去源码中看了一下。
发现在 new OssClient 时,源码中会新建上面提到的 PoolHttpConnectionManager,然后调用0 码力 | 3 页 | 247.74 KB | 2 年前3
JVM 内存模型0 码力 | 1 页 | 48.42 KB | 2 年前3
共 309 条
- 1
- 2
- 3
- 4
- 5
- 6
- 31













