Go语言性能剖析利器--pprof实战
统的性能。系统架构的优化,比如加入缓存,由http改进为rpc等,也可以在少量投入下带来较大的性能提升。最后是程序代码级别的性能优化,这又分为两方面,一是合格的数据结构与使用,二才是在此基础上的性能剖析。比如在Go语言中使用slice这种方便的数据结构时,尽可能提前申请足够的内存防止append超过容量时的内存申请和数据拷贝;使用并发保护时尽量由RWMutex 代替mutex,甚至在极高并发场景下使...
深度剖析 | 【JVM深层系列】[HotSpotVM研究系列] JVM调优的"标准参数"的各种陷阱和坑点分析(攻克盲点及混淆点)「 1 」
【易错问题】Major GC和Full GC的区别是什么?触发条件呢?相信大多数人的理解是Major GC只针对老年代,Full GC会先触发一次Minor GC,不知对否?我参考了R大的分析和介绍,总结了一下相关的说明和分析结论。在基于HotSpotVM的基础角度针对HotSpot VM的实现,它里面的GC其实准确分类只有两大种:Partial GC(部分回收模式) Young Genera...
redisson分布式锁原理剖析
redisson分布式锁原理剖析 相信使用过redis的,或者正在做分布式开发的童鞋都知道redisson组件,它的功能很多,但我们使用最频繁的应该还是它的分布式锁功能,少量的代码,却实现了加锁、锁续命(看门狗)、锁订阅、解锁、锁等待(自旋)等功能,我们来看看都是如何实现的。加锁//获取锁对象RLock redissonLock = redisson.getLock(lockKey);//...
Kafka事务原理剖析
一、事务概览提起事务,我们第一印象可能就是ACID,需要满足原子性、一致性、事务隔离级别等概念,那kafka的事务能做到什么程度呢?我们首先看一下如何使用事务 Producer端代码如下KafkaProducer<String, String> producer = new KafkaProducer<>(props);producer.initTransactions();producer...
JDK动态代理深入剖析
1 基于接口的代理模式什么是代理?简单来说,代理是指一个对象代替另一个对象去做某些事情。例如,对于每个程序员来说,他都有编程的能力:interface Programmable { void developSoftware();} 对于Java程序员,他会编写Java代码:class JavaProgrammer implements Programmable { @Override pu...
Java阻塞队列中的异类,SynchronousQueue底层实现原理剖析
// 使用公平队列(基于队列实现)BlockingQueue<Integer> synchronousQueue = new SynchronousQueue<>(true); 本次就常用的栈实现来剖析SynchronousQueue的底层实现原理。3.2 栈底层结构栈结构,是非公平的,遵循先进后出。 使用个case测试一下:/** * @author 一灯架构 * @apiNote Sync...
3d稀疏卷积——spconv源码剖析(三)
构建Rulebook 下面看ops.get_indice_pairs,位于:spconv/ops.py 构建Rulebook由ops.get_indice_pairs接口完成 get_indice_pairs函数具体实现: def get_indice_pairs(indices, # (N, 4) voxel网格坐标索引 batch_size, spatial_shape, ksize=3, st...
【博客547】keepalived实现vip的原理剖析
keepalived实现vip的原理剖析 keepalived实现vip的原理:vrrp + gratuitous arp 1、vrrp vrrp更多细节参考:vrrp技术白皮书 VRRP的工作过程为: 1、虚拟路由器中的路由器根据优先级选举出Master。Master路由器通过发送欺骗ARP报文,将自己的虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任 务;(假如路由器的优先级一样,...
Pthread 并发编程(一)——深入剖析线程基本元素和状态
Pthread 并发编程(一)——深入剖析线程基本元素和状态前言在本篇文章当中讲主要给大家介绍 pthread 并发编程当中关于线程的基础概念,并且深入剖析进程的相关属性和设置,以及线程在内存当中的布局形式,帮助大家深刻理解线程。深入理解 pthread_create基础例子介绍在深入解析 pthread_create 之前,我们先用一个简单的例子简单的认识一下 pthread,我们使用 p...
硬核剖析ThreadLocal源码,面试官看了直呼内行
工作面试中经常遇到ThreadLocal,但是很多同学并不了解ThreadLocal实现原理,到底为什么会发生内存泄漏也是一知半解?今天一灯带你深入剖析ThreadLocal源码,总结ThreadLocal使用规范,解析ThreadLocal高频面试题。1. ThreadLocal是什么ThreadLocal是线程本地变量,就是线程的私有变量,不同线程之间相互隔离,无法共享,相当于每个线程拷贝了一...