不可不说的Java“锁”事

前言 Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8和Netty 3.10.6)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。…

hello hello 发布于 2023-08-02

Thread.sleep(0)的意义& 多线程详解

我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题: 假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2008-4-7 12:00:01.000 的时候,这个线程会 不会被唤醒?…

hello hello 发布于 2023-08-01

PayPal自研的低延迟高可用KV数据库

背景介绍 在处理大规模数据和高并发负载时,安全、一致性和高可用性是关键问题。由此引发了我们在这个项目中所面临的挑战。我们需要一个自主开发的安全、一致性和高可用性的键值存储系统,能够在任何规模下提供低延迟(单位为毫秒级)的性能。 项目介绍 JunoDB 是 PayPal…

hello hello 发布于 2023-08-01

Java动态追踪技术探究

引子 在遥远的希艾斯星球爪哇国塞沃城中,两名年轻的程序员正在为一件事情苦恼,程序出问题了,一时看不出问题出在哪里,于是有了以下对话: “Debug一下吧。” “线上机器,没开Debug端口。” “看日志,看看请求值和返回值分别是什么?” “那段代码没打印日志。” “改代码,加日志,重新发布一次。” “怀疑是线程池的问题,重启会破坏现场。”…

hello hello 发布于 2023-08-01
hello hello 发布于 2023-08-01

Spring Boot引起的“堆外内存泄漏”排查及经验总结

背景 为了更好地实现对项目的管理,我们将组内一个项目迁移到MDP框架(基于Spring Boot),随后我们就发现系统会频繁报出Swap区域使用量过高的异常。笔者被叫去帮忙查看原因,发现配置了4G堆内内存,但是实际使用的物理内存竟然高达7G,确实不正常。JVM参数配置是“-XX:MetaspaceSize=256M…

hello hello 发布于 2023-08-01

JAVA 学习笔记——变量

1.成员变量,局部变量 局部变量定义在: 1.方法内 2.代码块内 3.方法的参数(形参) 局部变量如果定义在代码块内那么就只在代码块内起作用,方法内也是同理。超出代码块会报错 if (5 > 3) { int s = 3; // 声明一个 int 类型的局部变量 System.out.println("s=" + s);…

hello hello 发布于 2023-07-31

JAVA_封装类

java的封装类也叫包装类,可以将基本数据类型转化为对象进行处理,并连接相关的方法。 为什么要包装类? Java的基本类型是不具备对象的性质,为了让基本类型也有对象的特征。其实就相当于把基本数据类型包装了起来,丰富了基本类型操作。 区别: 声明方式不同,包装类需要new关键字在堆内存中分配空间…

hello hello 发布于 2023-07-31

SpringBoot程序日志

[toc] 概述 Slf4j简介 Java的简单日志记录外观(Simple Logging Facade for Java…

hello hello 发布于 2023-07-31
上一页 下一页