介绍 问:如何对golang程序进行性能调优? 当然是使用golang中集成的大杀器pprof,来帮助我们从cpu, heap, block等维度来分析程序,还可以生成调用链...
介绍 问:如何对golang程序进行性能调优? 当然是使用golang中集成的大杀器pprof,来帮助我们从cpu, heap, block等维度来分析程序,还可以生成调用链...
先抛出官网答案: In contrast to CHAR, VARCHAR values are stored as a 1-byte or 2-byte length pr...
最近做一个库存发货的业务,用户购买一个商品时(例如游戏点卡),需要随机的从库存表中选择一个返回给用户。 查了下资料,mysql大致有三种方式来实现随机查询,总结在这里 创建测...
编译语言 vs 解释语言 本文会参照Java来比较分析GO的编译,为了解两者区别,阅读正文前可以先了解下这两个概念 程序的执行,说到底就是将代码编译成平台能运行的机器码,然后...
最近和朋友聊TreeMap、HashMap、ConcurrentHashMap的底层原理时,都知道用到了红黑树,但红黑树到底是一个什么样子的算法,我们却并不清楚。 今天简单总...
[TOC] 阅读spring源码时,有许多 “核心类” 的作用我们了解了,才会阅读的更顺畅。这里总结下我阅读源码时认为比较重要,需要了解的一些 “核心类” 注:本文前三节 为...
spring 中 AOP是基于 “动态代理” 实现,其采用了两种方式: java代理:采用java内置的代理API实现 cglib代理:采用第三方API实现 本文主要阐述这两...
循环依赖 所谓循环依赖,是指在spring中,类A中有一个成员变量为类B,而类B中也有一个成员变量为类A。这会造成在spring初始化容器中的bean时,bean A的初始化...
简单整理下ThreadLocal的原理,以及它需要注意的内存泄漏。 ThreadLocal原理 ThreadLocal不多介绍,可看作线程内的局部变量(这个比喻很贴切)。我们...
在【Java并发学习一】如何实现一个线程池上进行扩展,我们想一下如何实现一个定时任务线程池呢? 所谓 “定时任务线程池” 就是指放入线程池的任务,可以按照指定的等待周期循环执...
遇到过 方法A 内调用Aop修饰的方法B 失效、方法A 内调用@Async修饰的方法C 失效,百度谷歌都没看到一个好的解决,这里分享一个我的解决方案。 为什么失效 这个百度上...
下面的删除线程执行的:`iterator.remove();`,这个时候`expectedModCount = modCount;`。上面的迭代线程迭代时应该是不会报错的
java.util.ConcurrentModificationException详解本想翻译一下java.util.ConcurrentModificationException这篇文章的。但发现讲的不够详细深入,查了一些资料后决定自己扩展一下。水平有限,仅...
阅读spring源码时,看到ApplicationEvent相关的代码觉得熟悉又困惑,深入了解了一下,发现原来是spring事件机制(原谅我之前没用过……)。这里在【Spri...
注:本文内容会有部分涉及上节的硬件知识:【Java并发学习二】多线程编程的硬件基础知识总结 1. 内存屏障 上一节讲过,为了解决写缓冲器和无效化队列带来的有序性和可见性问题,...
这篇简单梳理下与多线程相关的硬件知识,了解它们能够让我们更清晰的了解多线程工作的本质,以及关键字synchronized、volatile、final的实现原理。 我们会发现...
前言 和设计模式一样,打算花三个月的时间,结合《Java并发编程实战》一书,来总结下并发方面的知识。第一章从线程池的原理开始总结,希望自己能坚持下来,加油! 1. 如何实现一...