一个优秀的Java程序员必须了解GC的工作原理、如何优化GC的性能、如何与GC进行有限的交互,有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面提升内存的管理效率,才能提高整个应用程序的性能。本文将从GC的工作原理、GC的几个关键问题进行探讨,最后提出一些Java程序设计建议,如何从GC角度提高Java程序的性能。GC是什么? 为什么要有GC呢? (推荐学习:java课程)GC是垃
转载
2023-09-20 10:34:24
34阅读
垃圾收集 Garbage Collection 通常被称为“GC”,本文详细讲述Java垃圾回收机制。导读1、什么是GC2、GC常用算法3、垃圾收集器4、finalize()方法详解5、总结--根据GC原理来优化代码正式阅读之前需要了解相关概念:Java 堆内存分为新生代和老年代,新生代中又分为1个 Eden 区域 和 2个 Survivor 区域。 一、什么是GC &nbs
转载
2023-07-11 20:29:59
107阅读
垃圾定位算法(1)引用计数法 (Reference Counting)。 如 pyth驴了,身上有圈圈的驴不能杀。 这...
原创
2022-11-21 08:39:07
339阅读
程序界流传一种说法:程序 = 数据结构 + 算法。 虽然这种说法过于简洁,但也从某种角度说明了程序的本质,指明了数据结构的重要性。算法代表了程序的逻辑,数据结构代表了数据的组织形式。什么是数据结构?百度百科:数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。简单的讲就是能将一批具有业务相关性的数据元素存储在一
最近由于工作关系要做一些Java方面的开发,其中最重要的一块就是Java NIO(New I/O),尽管很早以前了解过一些,但并没有认真去看过它的实现原理,也没有机会在工作中使用,这次也好重新研究一下,顺便写点东西,就当是自己学习 Java NIO的笔记了。本文为NIO使用及原理分析的第一篇,将会介绍NIO中几个重要的概念。
在Java1.4之前的I/O系统中,提供的都是面向流的I/O系统,系统
此文并不针对zebra的应用,甚至不是一个架构的分析,只是对于Zebra的一点儿思考。 Zebra 设计得是如此简洁明快。...
转载
2022-04-29 14:49:43
2061阅读
之前写过一篇dubbo入门的文章,大家如果有兴趣可以看一下。Dubbo入门看这篇就够了 用到的程序,可以直接下载,我已经将积分设为0。 今天我们就了解一下,Dubbo的运行原理。 在了解Dubbo的运行原理之前我们先了解一下RPC的原理。 一次完整的RPC调用流程如下: (1)客户端通过本地的调用方式来调用服务; (2)客户端的代理接收到请求后,将方法、参数等组装成能够进行网络传输的消息体; (3
转载
2023-08-18 14:50:10
73阅读
React 核心技术 —— 虚拟DOM(Virtual DOM)在前端开发的过程中,我们经常会做的一件事就是将变化的数据实时更新到UI上,这时就需要对DOM进行更新和重新渲染,而频繁的DOM操作通常是性能瓶颈产生的原因之一,有时候我们会遇到这样一种尴尬的情况:比如有一个列表数据,当用户执行刷新操作时,Ajax会重新从后台请求数据,即使新请求的数据和上次完全相同,DOM也会被全部更新一遍并进行重新渲
转载
2023-08-27 14:59:19
73阅读
1 JVM三种预定义类型类加载器
我们首先看一下JVM预定义的三种类型类加载器,当一个 JVM 启动的时候,Java 缺省开始使用如下三种类型类装入器:
启动(Bootstrap)类加载器:引导类装入器是用本地代码实现的类装入器,它负责将 <Java_Runtime_Home>/lib 下面的类库加载到内存中。由于引导类加载器涉及到虚拟机本地实现
转载
精选
2008-12-16 14:33:48
1174阅读
点赞
1评论
参考:http://www.blogjava.net/zhuxing/archive/2008/08/08/220841.html1 基本信息摘要:每个java开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。Java的类加载机制是java技术体系中比较核心的部分,虽然和大部分开发...
原创
2023-04-18 16:03:55
83阅读
通过源码解读的方式解析Java8 Stream API实现的原理。
原创
2020-12-03 09:33:51
669阅读
Java类加载原理解析
1 基本信息
摘要:
每个java开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。Java的类加载机制是java技术体系中比较核心的部分,虽然和大部分开发人员直接打交道不多,但是对其背后的机理有一定理解有助于排查程序中出现的类加载失败等技术问题,对理解java虚拟机的连
转载
2013-02-25 20:12:39
230阅读
3.14 AQS AQS是Java中AbstractQueuedSynchronizer的简称,AQS实在是太有名了,以至于它的全称经常被遗忘,先看看AQS是什么。 Provides a framew
原创
2023-06-05 16:18:07
70阅读
说起 Java 8,我们知道 Java 8 大改动之一就是增加函数式编程,而 Stream A
原创
2023-04-04 20:01:54
100阅读
1 JVM三种预定义类型类加载器
我们首先看一下JVM预定义的三种类型类加载器,当一个 JVM 启动的时候,Java 缺省开始使用如下三种类型类装入器:
启动(Bootstrap)类加载器:引导类装入器是用本地代码实现的类装入器,它负责将 <Java_Runtime_Home>/lib 下面的类库加载到内存中。由于引导类加载器涉及到虚拟机本地实现
转载
精选
2008-12-16 14:32:41
457阅读
01前言线程是稀缺资源,如果被无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,合理的使用线程池对线程进行统一分配、调优和监控,有以下好处:1、降低资源消耗;通过重复利用已创建好的线程来降低线程创建和销毁造成的消耗;2、提高响应速度;当任务到达时,任务可以不需要等待线程创建就能立马执行;3、提高线程的可管理性。线程池时稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用
原创
2020-10-29 16:07:59
432阅读
说起 Java 8,我们知道 Java 8 大改动之一就是增加函数式编程,而 Stream API 便是函数编程的主角,Stream API 是一种流式的处理数据风格,也就是将要处理的数据当作流,在管道中进行传输,并在管道中的每个节点对数据进行处理,如过滤、排序、转换等。首先我们先看一个使用Stream API的示例,具体代码如下: code1 Stream example这是个很简单的一个St
转载
2021-06-06 22:40:57
131阅读
2评论
一、GC机制的介绍GC(Garbage Collection 垃圾回收)机制,是Java与C++/C的主要区别之一。Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效
转载
2023-07-11 20:20:53
71阅读
文章目录概述java垃圾回收Minor GC 和 Full GC长期存活的对象,最终进入老年代内存分配内存泄漏 和 内存溢出Stop-The-World安全区域GC参数和GC日志jdk1.8附录 相关参数jdk1.6一次实际案例分析promotion failedFull GC无法回收Full GC 诱因metaspaceFull GC (Ergonomics) 概述一个简单函数中生成的局部对象
转载
2023-07-19 17:25:11
98阅读
GC的基本原理GC是什么?为什么要有GC呢?GC是垃圾收集的意思(GarbageCollection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。所以,Java的内存管理实际上就是对象的管理,其中包括对象的分配和释放。
转载
2023-06-24 20:40:03
64阅读