Java 多线程并行计算框架:ForkJoin,实战讲解!从 JDK 1.7 开始,引入了一种新的 Fork/Join 线程池框架,它可以把一个大任务拆成多个小任务并行执行,最后汇总执行结果。Fork/Join 采用的是分而治之的基本思想,分而治之就是将一个复杂的任务,按照规定的阈值划分成多个简单的小任务,然后将这些小任务的执行结果再进行汇总返回,得到最终的执行结果。分而治之的思想在大数据领域应用非常广泛。下面我们一起来看看 Fork/Join 的具体用法。panzhi2025年1月4日大约 10 分钟java多线程
异步编程利器:CompletableFuture 用法及实现原理详解从 Java 8 开始引入了 CompletableFuture,它针对 Future 做了很多的改进,在实现 Future 接口相关功能之外,还支持传入回调对象,当异步任务完成或者发生异常时,自动调用回调对象方法。下面我们一起来看看 CompletableFuture 相关的用法!panzhi2025年1月3日大约 15 分钟java多线程
并发编程利器:Future 接口使用全攻略!Future 接口,表示一个可能还没有完成异步任务的结果,它提供了检查任务是否已完成、以及等待任务完成并获取结果等方法。如果看过 ExecutorService.submit() 方法,会发现它的返回参数都是 Future 类型,Future 类型的实例可以用来获取异步任务执行的结果。下面我们先来看一个简单的示例,以便于更好的理解!panzhi2025年1月2日大约 7 分钟java多线程
Java学习路线图对于初次接触 Java 的朋友,想必一定很迷茫,想知道 Java 具体能干啥,如何掌握好 Java 这么技术,如何运用好 Java 技术进行项目开发等疑惑。其实曾经的我,也一度迷茫,虽然学的很多,但是技术积累的比较散,在面试的时候一碰到面试官提一些自己没听说过的问题,瞬间傻眼,而且时常不够自信,但是自从认识了一些大牛之后,我才发现自己欠缺的是系统性的知识,以及对自己未来的定位。从那时候起,渐渐的开始思考 Java 为什么这么火,怎么学好 Java 这么技术,以及自己未来的方向。panzhi2023年1月2日大约 14 分钟javajava基础
JVM 中常用的调优参数总结在之前的文章中,我们介绍了 JVM 相关的命令参数知识,其实每一个 JDK 版本,参数的可选项可能略有不同。如何根据当前版本,合理的对服务进行调参呢?开发者可以直接在命令窗口通过java -help命令来查看。下面我们一起来看看如何使用当前版本 JVM 相关的参数选项。panzhi2022年6月12日大约 14 分钟javajvm
JVM 中常用的可视化调优工具汇总在之前的文章中,我们介绍了 JVM 常用的命令使用。不错,命令确实非常的管用,但是要想熟悉的记住这些命令,并非易事,除非很频繁的使用,否则真的很难。对于绝大部分开发者而言,都希望有一个可视化的界面来展示当前服务的性能指标,当需要的时候,直接将线上服务的 dump 文件导出,然后导入到相关工具中通过界面来查询分析结果,而不是通过枯燥的命令来快速排查服务故障。panzhi2022年6月11日大约 10 分钟javajvm
JVM 中常用的调优命令汇总虽然目前市场上有很多成熟的 JVM 可视化监控分析工具,但是所有的工具其实都依赖于 JDK 的接口和底层相关的命令,了解这些命令的使用对于我们在紧急情况下排查 JVM 相关的线上故障,会有更加直观的帮助。下面我们一起来看看 JVM 常用的命令有哪些。panzhi2022年6月10日大约 16 分钟javajvm
GC 日志分析和相关可视化工具介绍在之前的文章中,我们介绍了 JVM 的垃圾收集器相关知识,那么如何分析当前虚拟机性能呢?其中 GC 日志起到至关重要的作用。实际上,每种垃圾收集器都有它独立的日志格式,尽管如此,虚拟机为了方便用户阅读,将各个收集器的日志都维持在一定的共性状态。下面我们一起来看看不同的垃圾收集器,相关的 GC 日志内容。panzhi2022年6月9日大约 10 分钟javajvm
深入分析 JVM 中的垃圾收集器在之前的几篇文章中,我们介绍了 JVM 内部布局、对象的创建过程、运行期的相关优化手段以及垃圾对象的回收算法等相关知识。今天通过这篇文章,结合之前的知识,我们一起来了解一下 JVM 中的垃圾收集器。panzhi2022年6月8日大约 20 分钟javajvm
图解 JVM 中的垃圾收集算法在之前的文章中,我们介绍了 JVM 内部布局、对象的创建过程以及运行期的相关优化手段。今天通过这篇文章,一起来了解一下对象回收的判定方式以及垃圾对象的回收算法等相关知识。panzhi2022年6月7日大约 8 分钟javajvm