240 发简信
IP属地:浙江
  • 120
    红黑树原理之添加节点

    前言 在网上看了很多写红黑树的博客,大部分写的都不是很到位,有些关于红黑树的图都是有问题的,很多都没有说清楚什么情况促发哪种操作,看完之后还是不理解,在查看了很多资料之后,决...

  • JVM学习笔记(第三章)

    前言 对JVM第三章的知识点进行总结,同时方便自己以后的回顾。 对象死活 引用计数算法 原理:给对象添加一个引用计数器,当有地方引用它时,计数器值就加1;当引用失效时,计数器...

  • 带你彻底弄懂AQS原理

    前言 AQS是大部分同步锁的核心框架,比如ReentrantLock,闭锁 (CountDownLock),读写锁 (ReentrantReadWriteLock)都是基于A...

  • 120
    HashMap源码分析之扩容机制(1.8)

    引言 结合网上的各种资料,记录HashMap源码阅读的过程。 存储结构 HashMap(1.8)的存储结构为数组+链表+红黑树。 HashMap中一些关键的字段 DEFAUL...

  • linux常用命令

    实时监控日志文件 tail -f ***.log 查看文件前10行 head -n 10 *** 解压文件 tar -zxvf *** 查看文件行数 wc -l *** 查看...

  • 动态代理

    代理模式 假如目前有一个Peoper类,实现了说话的功能。 现在我想要在说话之前,添加一个思考的动作。最简单的方法就是直接在方法前加上思考的动作。 虽然问题解决了,但是这样做...

  • 类加载过程与对象的创建

    前言 本篇主要用来记录JAVA类加载过程以及对象的创建过程。阐述他们之间的关系以及自己学习过程中的疑惑。 1. 类加载过程 类加载过程是指jvm把通过.java文件编译生成的...

  • JVM学习笔记(第二章)

    前言 对JVM第二章的知识点进行总结,同时方便自己以后的回顾。 Java虚拟机的多线程 通过线程轮流切换并分配处理器执行时间的方式实现 程序计数器 如果执行的是Java方法,...

  • Leetcode算法题分类练习

    前言 Leetcode算法题分类练习,记录解题思路和代码。 双指针 题目1: 判断一个非负整数是否为两个整数的平方和。 思路 看成0-target开平方之间寻找两个数,使得两...

  • sleep()和wait()的区别

    前言 wait()方法被应用与条件队列,通常与notifyAll()方法组合使用,wait()方法会使不满足状态的线程进入等待池等待,sleep()方法也会让线程休眠,那么两...

  • volatile解析

    前言 volatile变量是Java提供的一种削弱的同步机制,用来确保将变量的更新操作通知到其他线程。我将在这篇博客中分享自己对volatile变量的理解。 volatile...

  • 如何区分两个String类

    前言 下面对String类的创建方式和如何判断两个String类是否相等做了总结。 String的基础 String被声明为final,因此String类不可被继承。在Jav...

  • 使用Texstudio时遇到的问题

    前言 在使用Texstudio遇到的防修改机制。 在使用Texstudio编辑论文的时候,下载了别人的.tex格式作为模板,在编写的过程中出现以下的问题: 修改的内容无法保存...

  • HNSW原理

    前言 HNSW用于近似最近邻搜索,下面将首先讲解HSNW的构建原理,为了方便读者阅读HNSW源码,避免被HNSW繁杂的参数弄的晕头转向,我还附上了HSNW索引的内存模型图,图...

  • InnoDB之事务隔离级别

    前言 在和同学讨论幻读问题的时候,他们都认为在REPEATABLE READ隔离级别下可能会产生幻读问题,于是在网上查询相关资料也说可能会产生幻读问题。在这篇文章中我会介绍四...

  • RocketMQ之NameServer源码解析

    前言 NameServer是整个RocketMQ的路由中心,功能类似于Zookeeper,用于服务注册和服务发现,是轻量级别的Zookeeper。 NameServer核心的...

  • ThreadLocal源码分析

    前言 之前看并发编程书的时候,对于ThreadLocal的认识只是停留在简单的使用阶段,所以一直理解的不够深刻,下面通过阅读Thread Local源码加深了对于Thread...

  • 闭锁

    什么是闭锁 闭锁是一种java的工具类,闭锁可以用来确保某些活动知道其他活动都完成后才继续执行后续操作。比如一场电脑游戏,需要等待所有玩家的初始化工作都完成之后才能开始游戏。...

  • 120
    带你彻底弄懂ReentrantReadWriteLock

    前言 ReentrantReadWriteLock可以说是最复杂的锁实现类,这篇文章带你弄懂ReentrantReadWriteLock实现读写锁的所有细节,在阅读本文之前,...

  • 逃逸分析与锁优化

    前言 锁优化措施包括:锁消除和锁粗化。他们都是针对不同情况下的低效锁操作进行的优化,其中锁消除过程和逃逸分析密切相关。 什么是逃逸分析 逃逸分析的作用是分析对象的动态作用域,...