240 发简信
IP属地:浙江
  • 一个小问题对mysql隐式参数转换的思考.md

    遇到的问题 最近一位以前的老同学找到我,跟我说他们线上有出现了两个由sql语句引起的事故,并且都没找到原因。其中一个事故简单描述如下。 一个简单的mysql blog表 其中...

  • 生活:上完洗手间,我们洗手的步骤,你认真想过吗?

    因为习惯,每个周末,我都会去西西弗坐下喝杯茶,看会书。今天,我在上完洗手间时,洗手时,发现镜台上多了一叠纸,站我身后的老师傅(负责洗手间清理工作)让我洗好后,拿那卷纸擦擦手。...

  • 问题:ConcurrentHashMap1.8的一个死循环bug,以及原因

    bug复现 bug发生条件: 第一次执行computeIfAbsent发现槽点没有值,就新建ReservationNode节点,并插入 第一次与第二次执行computeIfA...

  • 问题:HashMap扩容死锁

    1.8以下的版本才有该问题,在1.8已经解决该问题。 扩容调用transfer transfer方法 我们假设Map中有个table[i]如下链表: 这个时候有两个个线程要进...

  • 高并发:线程池执行流程,拒绝策略,JDK内置线程池

    线程是珍贵的资源,每创建一个线程jvm都要给予分配栈空间和堆空间,创建的过程是一个比较消耗性能的过程。而且过多的线程可能会引起栈溢出或内存溢出等异常,甚至是文件句柄不够(li...

  • “用一句话说服我录用你”,面试100人得到的最佳回答

    美国有个电影故事,杰克没有学历,找不到工作,为了谋生,伪造支票,被抓入狱。出来后到处求职,处处碰壁。他路过一家正在招聘的银行,顺便进去打个酱油。发现参加面试的都是金融专业的高...

  • 120
    一个Java对象到底占用多大内存?

    最近在调研MAT和VisualVM源码实现,遇到一个可疑问题,两者计算出来的对象大小不一致,该信哪个? 为了复现这个问题,准备了4个简单类: 再来个主函数: 本地环境是64位...

  • 持续交付:微贷分支策略

    今年,我们中间件和项管团队合作,做了微效平台。大部分功能大家都比较好理解,但是分支策略,是在平台上看不到的,也是不太好理解的,特别是对于我们为什么这样做。为此,我想通过这篇小...

  • 缓存架构:缓存有什么作用?

    我们编程中遇到各式各样的缓存。但你了解缓存是用来干嘛的吗? 一、缓存是什么? 维基百科的定义: 缓存:存储在计算机上的一个原始数据复制集,以便于访问。 简单地说,缓存就是一种...

  • 120
    如何在运行期获取method中的参数名

    因为一次在做项目的时候需要扫描接口的信息,其中包括参数名,遇到了点障碍就想着把这个解决方案和问题讲一下。 我们要查看的方法如下 1. Java1.8以后 java1.8以后,...

  • 120
    一个可以提升JVM运行性能的参数

    JAVA进程启动的时候,虽然我们可以为JVM指定合适的内存大小,但是这些内存操作系统并没有真正的分配给JVM,而是等JVM访问这些内存的时候,才真正分配,这样会造成以下问题:...

  • 120
    浅谈CAP

    随着分布式的发展,分布式的各种理论和工程实践都已经深入每个开发工程师的内心。其中CAP是每个开发工程师或多或少都听过的理论。但你真的理解这个理论了吗? 一、我们眼中的CAP ...