jdk

什么是ForkJoin?看这一篇就能掌握!

摘要:ForkJoin是由JDK1.7之后提供的多线程并发处理框架。 本文分享自华为云社区《【高并发】什么是ForkJoin?看这一篇就够了!》,作者: 冰 河。 在JDK中,提供了这样一种功能:它能够将复杂的逻辑拆分成一个个简单的逻辑来并行执行,待每个并行执行的逻辑执行完成后,再将各个结果进行汇总 ... »

JDK中自带的JVM分析工具

解决常规的JVM异常时,通常依赖JDK中基础工具即可完成问题的定位,从而进行分析和解决,不过这些需要对基础工具熟练使用才行,而很多JDK自身的能力又是经常被忽略的; ... »

支持JDK19虚拟线程的web框架,之一:体验

随着JDK19的发布,虚拟线程也逐渐被大家了解和使用,然而,主流java框架是否支持虚拟线程这一特性呢?咱们应用开发者如何通过框架使用虚拟线程特性?经过精心准备,欣宸原创在第一时间为您带来详细的实战系列,与您共同学习,窥探虚拟线程技术的未来 ... »

bolingcavalry

Java手写线程池之向JDK线程池进发

目录 前言 JDK线程池一瞥 自己动手实现线程池 线程池参数介绍 实现Runnable 实现Callable 拒绝策略的实现 线程池关闭实现 工作线程的工作实现 线程池实现的BUG 完整代码 线程池测试 总结 前言 在前面的文章自己动手写乞丐版线程池中,我们写了一个非常简单的线程池实 »

自己动手写线程池——向JDK线程池进发

在本篇文章当中主要给大家介绍了如何实现一个类似于JDK中的线程池,里面有非常多的实现细节,大家可以仔细捋一下其中的流程,对线程池的理解将会非常有帮助。 ... »

带你认识JDK8中超nice的Native Memory Tracking

摘要:从 OpenJDK8 起有了一个很 nice 的虚拟机内部功能: Native Memory Tracking (NMT)。 本文分享自华为云社区《Native Memory Tracking 详解(1):基础介绍》,作者:毕昇小助手。 0.引言 我们经常会好奇,我启动了一个 JVM,他到底会 ... »

huaweiyun

动态代理(JDK、CGLIB)

JDK-Proxy(动态代理): 特点:要求被代理的对象必须接口 缺点:如果一个对象没有任何接口实现,则不能使用JDK动态代理 1、创建一个Animal 提供一个方法 2、创建一个cat类、实现Ainmal接口 3、创建一个类 实现InvocationHandler接口 并实现接口的方法 3、创建一 ... »

理解JDK动态代理为什么必须要基于接口

目录 1. 前言 2. 一个简单的例子 2.1. 定义接口 2.2. 接口实现类 2.3. 自定义 Handler 2.4. 测试 2.5. 输出结果 3. 源码分析 3.1. newProxyInstance() 方法 4. 代理对象长啥样 4.1. 代理对象长啥样 4.2. $Proxy »

深入理解AQS--jdk层面管程实现【管程详解的补充】

java.util.concurrent包中的大多数同步器实现都是围绕着共同的基础行为,比如等待队列、条件队列、独占获取、共享获取等,而这些行为的抽象就是基于AbstractQueuedSynchronizer(简称AQS)实现的,AQS是一个抽象同步框架,可以用来实现一个依赖状态的同步器 ... »

JDK19新特性使用实例详解

目录 前提 新特性列表 新特性使用详解 Record模式 Linux/RISC-V移植 外部函数和内存API 虚拟线程 向量API switch匹配模式 结构化并发 前提 JDK19于2022-09-20发布GA版本,本文将会详细介绍JDK19新特性的使用。 新特性列表 新特性列 »

HashMap底层原理及jdk1.8源码解读

一、前言 ==写在前面:小编码字收集资料花了一天的时间整理出来,对你有帮助一键三连走一波哈,谢谢啦!!== HashMap在我们日常开发中可谓经常遇到,HashMap 源码和底层原理在现在面试中是必问的。所以我们要掌握一下,也是作为两年开发经验必备的知识点!HashMap基于Map接口实现,元素以< ... »

wang1221

JDK19新特性使用详解

前提 JDK19于2022-09-20发布GA版本,本文将会详细介绍JDK19新特性的使用。 新特性列表 新特性列表如下: JPE-405:Record模式(预览功能) JPE-422:JDK移植到Linux/RISC-V JPE-424:外部函数和内存API(预览功能) JPE-425:虚拟线程, ... »

throwable Java

Java SE 16 record 类型说明与使用

Java SE 16 record 类型说明与使用 作者:Grey 原文地址: 博客园:Java SE 16 record 类型说明与使用 CSDN:Java SE 16 record 类型说明与使用 说明 record 是 Java SE 16 的新特性 record 的使用场景 假设我们想创建一 ... »

greyzeng Java

Java SE 19 新增特性

Java SE 19 新增特性 作者:Grey 原文地址: 博客园:Java SE 19 新增特性 CSDN:Java SE 19 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new_features HashMap 新的构造方法 ... »

greyzeng Java

JDK8中String的intern()方法详细解读【内存图解+多种例子+1.1w字长文】

写在前面,欢迎大家关注小编的微信公众号!!谢谢大家!! 一、前言 String字符串在我们日常开发中最常用的,当然还有他的两个兄弟StringBuilder和StringBuilder。他三个的区别也是面试中经常问到的,大家如果不知道,就要先去看看了哈!最近也是看周志明老师的深入JVM一书中写到关于 ... »

wang1221

JDK自带javap命令反编译class文件和Jad反编译class文件(推荐使用jad)

一、前言 我们在日常学习中,对一个java代码有问题,不知道jvm内部怎么进行解析的时候;有个伟大壮举就是反编译,这样就可以看到jvm内部怎么进行对这个java文件解析的!我们可以使用JDK自带的javap命令来进行反编译,反编译出来的如果看不太明白,可以使用Jad工具来配合使用。还有就是把jar包 ... »

wang1221

JDK动态代理过程原理及手写实现详解

目录 JDK动态代理的过程 手写实现JDK动态代理 创建MyInvocationHandler接口 创建MyClassLoader类加载器 创建代理类 使用自定义动态代理类 创建接口 创建被代理接口 创建代理接口 客户端调用 生成源代码 JDK动态代理的过程 JDK动态代理采用字节 »