首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Java基础
蚂蚁背大象
创建于2021-12-12
订阅专栏
Java相关基础知识、问题以及源码解析
等 31 人订阅
共46篇文章
创建于2021-12-12
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Windows 11 + WSL(ubuntu 22.04.3) + CLion(2023.3.4) 编译OpenJDK17
1. 前言 为了深入的理解JVM,我们使用JDK的源码来导入CLion开发工具自己编译JDK.下面使用的环境: windows11 WSL2(ubuntu 20.04) CLion(2023.3.4)
Java常用JVM参数实战
在Java应用程序的部署和调优过程中,合理配置JVM参数是提升性能和稳定性的关键之一。本文将介绍一些常用的JVM参数,并给出具体的使用例子和作用的分析。
async-profiler的使用与RocketMQ性能优化案例
async-profiler是什么? async-profiler是一种低开销的Java采样分析器,不会受Safepoint偏差问题的影响。它具有专门为HotSpot设计的API,用于收集堆栈跟
多任务共用一个大的线程池还是每个任务单独使用线程池?
在使用线程池开发的过程中大家有没有想过这样的一个问题:为什么我们需要定义这么多线程池去执行不同类型的任务?用一个适当大小的线程池去执行所有的类型的任务不可以吗。就这个几个问题来聊一聊线程池应该是用一个
对象拷贝工具Mapstruct从入门到精通
日常的开发业务系统中对象之间的属性值拷贝是不可避免的,转换过程中使用的比较多的就是Spring的BeanUtils这个工具类(原因:大部分的项目都是使用的Spring framework进行开发
Java NIO ByteBuffer原理使用图文详解
在Java网络开发的过程中接触NIO是必不可少的,在NIO中有一个重要的组件那就是 **`ByteBuffer`** ,下面就来通过图文的方式来讲解ByteBuffer的使用以及一些操作的原理。
ConcurrentHashMap#computeIfAbsent 性能问题和解决方案
JDK代码代码给人的感觉就是简洁、高性能。但是凡是代码都有可能有问题,今天就来聊聊JDK1.8中ConcurrentHashMap#computeIfAbsent的性能问题以及如何避免和解决
AtomicIntegerFieldUpdater在内存优化中的实战-图文详解
在很多项目中例如 Netty、druid、DLedger`中都能看到 AtomicXXXFieldUpdater`的身影,例如在Netty的 HashedWheelTimer` 类中就有
Awaitility同步异步工具介绍与RocketMQ中实战
在编写测试用例的时候遇到有异步或者队列处理的时候经常会用到 Thread.sleep() 等待来进行测试。例如:DLedger 测试选举的过程。当DLedger Leader下线。此时DLedger会
CompletableFuture详解
平时开发过程中 Runable 、Future 、 Thread 、ExecutorService、Callable 这些和多线程相关的class了解和使用的也比较多,相对来说更加的熟悉和了解。使用起
Java日志系统梳理-图文详解
1. 概述 平时Java开发的时候,会发现各种各样的日志框架在不同的项目中。Log之间的关系如何、如何依赖、作用。通过了解这些让我们能够在工作中更好的排查日志的问题,例如:日志打印不出来,日志冲突等等
Java线程的状态转换说明
线程状态 线程状态图解如下: 线程有五个状态:新生状态,可运行状态,运行状态,阻塞状态,死亡状态 初始状态:创建了一个对象,但是还没有调用start()方法 可运行(runnable):线程对象创建后
AQS源码解析
什么是 AQS ? AQS的全称为— **AbstractQueuedSynchronizer在 ava.util.concurrent.locks
Java线程池源码解析
线程池的继承关系 从上图可以看出来最顶层的接口为 Executor ,下面看一下这个接口中的方法 从代码中可以看出来只有一个 execute方法
Java队列
队列(Queue)是一种经常使用的集合。Queue实际上是实现了一个先进先出(FIFO:First In First Out)的有序表。它和List的区别在于,List可以在任意位置添加和删除元素
Thread的常用方法
Thread.sleep—static方法 让当前线程睡眠(睡眠达到后,无法保证立刻被JVM调度),所以他不会让其他的线程也处于休眠,线程休眠不会失去拥有的对象锁
ThreadLocal源码解析-JDK8
ThreadLocal提供了线程本地变量,它可以保证访问到的变量属于当前线程,每个线程都保存有一个变量副本,每个线程的变量都不同,而同一个线程在任何时候访问这个本地变量的结果都是一致的。
Java 性能分析工具 async-profiler
Async-profiler是一个低开销的Java采样分析器,不受Safepoint偏差问题的影响。具有特定于Hotspot的API用于收集堆栈跟踪 和内存分配 。
Java字符串拼接那些事
代码中字符串最常用的拼接方法 + 拼接 apache 的工具类 StringUtils.join方法,String类的对象方法concat
JVM常用的命令-JDK8
JDK常用的工具--JDK8 工具名称 用途 jps 列出已装载的JVM --- 常用 jstack打印线程堆栈信息
下一页