240 发简信
IP属地:山东
  • 120
    自底向上解析垃圾收集器

    引子 Java作为一个安全语言,不会向程序员提供内存管理api,而是把这个任务交给垃圾收集器,程序员不需要关心对象分配在哪,也不需要关心对象如何分配/回收内存。本文会详细介绍...

  • @拿笔头 我有说不是Unsafe吗😅

    基于令牌桶算法的Java限流实现

    项目需要使用限流措施,查阅后主要使用令牌桶算法实现,为了更灵活的实现限流,就自己实现了一个简单的基于令牌桶算法的限流实现。 令牌桶算法描述 令牌桶这种控制机制基于令牌桶中是否...

  • 120
    数据库隔离性-正确理解幻读

    说明 最近对数据库隔离性有新的认识,因此有意做一个关于隔离性的小专题,第一篇已发:数据库隔离性-概念释疑[https://www.jianshu.com/p/5f63459a...

  • 硬链接是指针,所有的硬链接都是指向同一个磁盘块。 删除一个指针不会真正删除文件,只有把所有的指针都删除才会真正删除文件。 软连接是另外一种类型的文件,保存的是它指向文件的全路径, 访问时会替换成绝对路径

  • 「父类加载器」加载的类无法看到「子类加载器」加载的类,然后反射可以指定类加载器来打破这一规则,所以这里可以获取到fooTestInstance的实例。文章里说的有点模糊...不知所云

    深入理解Java ClassLoader及在 JavaAgent 中的应用

    背景 众所周知, Java 或者其他运行在 JVM(java 虚拟机)上面的程序都需要最终便以为字节码,然后被 JVM加载运行,那么这个加载到虚拟机的过程就是 classlo...

  • 没从NUMA或SMP的角度来讲内存屏障,相当于白讲

    一文解决内存屏障

    内存屏障是硬件之上、操作系统或JVM之下,对并发作出的最后一层支持。再向下是是硬件提供的支持;向上是操作系统或JVM对内存屏障作出的各种封装。内存屏障是一种标准,各厂商可能采...

  • CatAdapter只能通过反射来调用吗?是不是直接普通的new Cat操作会让AgentClassLoader再加载一次Cat,导致jvm里有两个不同命名空间的Cat

    Java Agent的隔离实现以及卸载时一些坑

    在《一文带你了解Java Agent》中,让大家了解了Java Agent的来龙去脉,当通过attach方式去动态加载一个Java Agent时,Agent中的类会被加载到业...

  • 120
    为什么要有虚拟内存?

    如何使用物理内存? 有且仅有这一种办法:将一个程序加载到内存,PC指向程序首地址, 在CPU取指执行的过程中,内存已经被使用了。 程序是存储在磁盘上的(先忽略加载的过程), ...

  • number[i]不是max+1么,为啥会取到0

    Lamport面包店算法

    这个思想来自于面包店, 医院等, 需要排队取号的场所. 顾客进入面包店前,首先抓取一个号码,然后按号码从小到大的次序依次进入面包店购买面包. 注意点: 面包店按由小到大的次序...

  • JUC不是有提供现成的AtomicIntegerFieldUpdater么,不需要去获取unSafe那么麻烦吧

    基于令牌桶算法的Java限流实现

    项目需要使用限流措施,查阅后主要使用令牌桶算法实现,为了更灵活的实现限流,就自己实现了一个简单的基于令牌桶算法的限流实现。 令牌桶算法描述 令牌桶这种控制机制基于令牌桶中是否...

  • JDK1.8中java.lang.Thread#join(long)方法原理

    从一个例子开头: 毫无疑问,会打印: 在Thread类中: 在主线程中调用 thread_new.join()方法会使主线程阻塞,进入wait()状态,直到thread_ne...