![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
文章平均质量分 96
超越不平凡
这个作者很懒,什么都没留下…
展开
-
从手动到智能: 动态线程池讲解
在平时的开发中,系统的性能和吞吐量是衡量系统的重要指标,那提高系统性能和吞吐量的方式你知道有哪些吗?减少网络通信:比如能批量通过接口查询的尽量避免多次循环查询减少 IO 操作:比如操作数据库时能批量操作的选择批量操作,减少与数据库的操作使用缓存:将数据缓存起来,减少网络请求等操作数据库建立合适的索引的减少锁的所用使用分布式设计异步编程使用多线程以上列举了一部分,还有其他一些优化技术就不一一列举了,本文的主角是动态线程池,下面详细介绍一下多线程编程。原创 2024-09-09 09:00:00 · 911 阅读 · 0 评论 -
Logback 日志打印导致程序崩溃的实战分析
日志记录是必不可少的一环,帮我们追踪程序的行为,定位问题所在。然而,有时日志本身却可能成为问题的根源。所以要根据实际情况选择合适的日志输出方式,避免造成程序阻塞而导致业务收到影响。从理论到实践:零拷贝技术的全面解读_零拷贝详解-CSDN博客Sentinel与Nacos强强联合,构建微服务稳定性基石的重要实践_nacos sentinel-CSDN博客从0开始理解云原生架构-CSDN博客TiDB高手进阶:揭秘自增ID热点现象与高级调优技巧_tidb 分布式自增id-CSDN博客。原创 2024-07-30 09:00:00 · 721 阅读 · 0 评论 -
从理论到实践:零拷贝技术的全面解读
零拷贝技术的出现和发展,是为了适应高速网络和大规模数据处理的需要,解决传统数据传输机制的效率低下问题,优化系统资源利用,提高数据传输和处理的速度与性能。随着技术的进步,零拷贝技术在现代操作系统和高性能网络编程框架中得到了广泛应用,成为提高系统效率和响应速度的关键技术之一。深入理解I/O模型-CSDN博客Sentinel与Nacos强强联合,构建微服务稳定性基石的重要实践_nacos sentinel-CSDN博客。原创 2024-07-22 09:00:00 · 1411 阅读 · 0 评论 -
深入理解I/O模型
所谓的 I/O 就是计算机内存与外部设备之间拷贝数据数据的过程。有 5 中 I/O 模型,分别是同步阻塞 I/O、同步非阻塞 I/O、多路复用I/O、信号驱动 I/O 和异步 I/O。为什么需要这么多的 I/O 模型呢?CPU 访问内存的速度远远高于外部设备,因此 CPU 是先把外部设备的数据读取到内存里,然后进行处理。当你的程序向外部设备发起一个读指令时,数据从外部设备拷贝到内存里需要一段时间才能完成,这个时候 CPU 做什么工作呢?是让 CPU 处理其他工作,还是让 CPU 不停地去查数据?原创 2024-07-16 09:00:00 · 698 阅读 · 0 评论 -
手把手教你实现服务高可用性
服务高可用性(High Availability, HA)是指在正常工作条件下以及发生故障时,服务仍能持续稳定地提供预期功能的能力。为了实现服务的高可用性,通常需要采取一系列技术和策略,确保服务在面对硬件故障、网络问题、软件错误等各种异常情况时,依然能够对外提供服务或快速恢复正常。原创 2024-04-18 09:00:00 · 936 阅读 · 0 评论 -
系统优化都没做过?看这篇就够了
遇到系统优化有的人一上来就是 JVM 优化,相反 JVM 差不多快是系统优化的最后手段了,影响系统性能的因素有很多,如下图:想做系统优化一个很重要的问题是首先要发现系统的瓶颈,那就需要完善的监控系统了。监控工具有很多开源的或者商用的监控,相信每个公司都会进行监控系统的接入,就不过多介绍,只要你能通过监控工具发现问题就行,下面来说一下如何进行系统优化。原创 2024-03-31 09:15:00 · 857 阅读 · 1 评论 -
深入JVM内核揭示Java多态背后的神秘机制
在Java虚拟机(JVM)层面来看多态的本质,主要聚焦于方法调用的动态绑定机制。Java 中的多态性允许子类对象替代父类对象使用,且调用方法时能够调用到子类中重写的方法,这就是所谓的“运行时多态”。原创 2024-03-26 09:00:00 · 663 阅读 · 0 评论 -
一文掌握Java动态代理的奥秘与应用场景
ASM (Abstract Syntax Tree, bytecode manipulation and analysis framework) 是一个用于Java 字节码操作和分析的开源框架。ASM 允许开发者在运行时直接操作 Java 类的字节码,提供了低层次的 API,使得开发者可以精细地控制字节码的生成和修改,实现如字节码增强、类和方法的动态修改、AOP(面向切面编程)等功能。ASM 在JDK 中,具体位置如图通过 ASM 我们可以获取指定类的字节码try {原创 2024-03-22 14:51:15 · 1174 阅读 · 0 评论 -
即时编译器在JVM调优战场的决胜策略
JVM中的即时编译器(如HotSpot的C1、C2编译器)会对代码进行即时编译优化,即时编译优化(Just-In-Time Compilation Optimization)是Java虚拟机(JVM)为了提升运行时性能而采取的一种策略。即时编译优化主要包括以下几个方面,下面来详细介绍一下。原创 2024-03-21 14:23:39 · 925 阅读 · 0 评论 -
JVM垃圾收集器你会选择吗?
JVM 垃圾收集器是Java虚拟机(JVM)中至关重要的组件,负责自动管理程序运行时产生的内存分配与回收。垃圾收集器通过检测并回收堆内存中不再使用的对象,从而保证了 Java 应用程序在持续运行过程中拥有足够的内存空间。如果说收集算法是内存回收的方法论,那垃圾收集器就是内存回收的实践者。各款经典的收集器之间的关系如下图,如果两个收集器之间存在连线,就说明他们可以搭配使用,收集器所处的区域,则表示它是属于新生代还是老年代。原创 2024-03-20 13:39:50 · 1459 阅读 · 0 评论 -
JVM内存模型深度解读
JVM(Java Virtual Machine,Java虚拟机)对于Java开发者和运行 Java 应用程序而言至关重要。其重要性主要体现在跨平台性、内存管理和垃圾回收、性能优化、安全性和稳定性、故障排查与性能调优等方面。今天就下学习一下 JVM 的内存模型。原创 2024-03-19 09:00:00 · 1335 阅读 · 0 评论 -
从单核到多核:揭秘多核CPU的高效利用策略
任何代码的执行都依赖 CPU,通常使用好 CPU 是操作系统的工作。然而当我们编写计算密集型程序时,CPU 的执行效率变得至关重要。由于 CPU 缓存由更快的 SRAM 构成(内存由 DRAM 构成),而且离 CPU 核心更近,如果运算时需要的输入数据是从 CPU 缓存读取,而不是内存中读取的,运算速度会变得更快。所以,了解CPU缓存对性能的影响,便能够有效的编写我们的代码,优化程序性能。原创 2024-03-15 09:00:00 · 1327 阅读 · 0 评论 -
Synchronized同步锁的全方位剖析与实战运用
在并发编程中,多个线程访问同一个共享资源时,我们必须考虑如何维护数据的原子性。在 JDK1.5 之前,Java 是依靠 Synchronized 关键字实现锁功能来做到这点的。Synchronized 是 JVM 实现的一种内置锁,锁的获取和释放是由 JVM 隐式实现。到了 JDK1.5 版本,并发包中新增了 Lock 接口来实现锁功能,它提供了与 Synchronized 关键字类似的同步功能,只是在使用时需要显式获取和释放锁。原创 2024-03-14 09:00:00 · 1350 阅读 · 0 评论