- 一、前言在前期博文《JVM进阶(二)——初识JAVA堆》中讲解了虚拟机中的堆,堆是整个内存模型中占用最大的一部分,而且不是连续的。当有需要分配内存的时候,一般有两个方法分配,指针碰撞和空闲列表。该部分的内存回收是由虚拟机的垃圾收集器GC进行管理的。刚刚粗略的回忆了上一博文所讲的内容,而这一章我们的重点还在堆上面。之前有简单的提到过新生代和老年代,今天就给大家好好梳理下这部分。 二、堆类型堆... 一、前言在前期博文《JVM进阶(二)——初识JAVA堆》中讲解了虚拟机中的堆,堆是整个内存模型中占用最大的一部分,而且不是连续的。当有需要分配内存的时候,一般有两个方法分配,指针碰撞和空闲列表。该部分的内存回收是由虚拟机的垃圾收集器GC进行管理的。刚刚粗略的回忆了上一博文所讲的内容,而这一章我们的重点还在堆上面。之前有简单的提到过新生代和老年代,今天就给大家好好梳理下这部分。 二、堆类型堆...
- 一、前言若想自己编写的Java程序高效运行,以及进行正确、高效的异常诊断,JVM是不得不谈的一个话题。本”JVM进阶“专栏大部分内容均来源于经典书籍《深入理解Java虚拟机》。 二、栈存储言归正传,本文重点从虚拟机内存模型(运行时数据区域)入手。先看下图:这是一张比较官方的虚拟机模型图,今天讲的就是虚线框中栈的部分。栈是我们最常用的内存区域。它主要用来存放基本类型变量,局部变量以及对象的引... 一、前言若想自己编写的Java程序高效运行,以及进行正确、高效的异常诊断,JVM是不得不谈的一个话题。本”JVM进阶“专栏大部分内容均来源于经典书籍《深入理解Java虚拟机》。 二、栈存储言归正传,本文重点从虚拟机内存模型(运行时数据区域)入手。先看下图:这是一张比较官方的虚拟机模型图,今天讲的就是虚线框中栈的部分。栈是我们最常用的内存区域。它主要用来存放基本类型变量,局部变量以及对象的引...
- JVM常见诊断命令和调试工具 JVM常见诊断命令和调试工具
- JVM调优和分析案例综合实战 JVM调优和分析案例综合实战
- JVM诊断神器Arthas入门实操 JVM诊断神器Arthas入门实操
- java 集合篇章——Collections类常用方法讲解及演示。 java 集合篇章——Collections类常用方法讲解及演示。
- java 集合篇章——set集合总结。 java 集合篇章——set集合总结。
- java 集合篇章——TreeSet 和 TreeMap 源码解读。 java 集合篇章——TreeSet 和 TreeMap 源码解读。
- 乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点 乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点
- 如果在程序中创建了比较大的对象,并且我们基于这个大对象生成了一些其他的信息,此时,一定要释放和这个大对象的引用关系,否则,就会埋下内存溢出的隐患。 如果在程序中创建了比较大的对象,并且我们基于这个大对象生成了一些其他的信息,此时,一定要释放和这个大对象的引用关系,否则,就会埋下内存溢出的隐患。
- 对共享变量加锁虽然能够保证线程的安全,但是却增加了开发人员对锁的使用技能,如果锁使用不当,则会导致死锁的问题。而ThreadLocal能够做到在创建变量后,每个线程对变量访问时访问的是线程自己的本地变量。 对共享变量加锁虽然能够保证线程的安全,但是却增加了开发人员对锁的使用技能,如果锁使用不当,则会导致死锁的问题。而ThreadLocal能够做到在创建变量后,每个线程对变量访问时访问的是线程自己的本地变量。
- 其实,源码是原理落地的最直接体现,看懂源码对于深刻理解原理有着很大的帮助。但是不少小伙伴看源码时,总觉得源码太枯燥了,看不懂。那今天,我们就一起花10分钟手撸一个极简版的Java线程池,让小伙伴们更好的理解线程池的核心原理。 其实,源码是原理落地的最直接体现,看懂源码对于深刻理解原理有着很大的帮助。但是不少小伙伴看源码时,总觉得源码太枯燥了,看不懂。那今天,我们就一起花10分钟手撸一个极简版的Java线程池,让小伙伴们更好的理解线程池的核心原理。
- 理解线程的生命周期本质上理解了生命周期中各个节点的状态转换机制就可以了。接下来,我们分别就 **通用线程生命周期和Java语言的线程生命周期** 分别进行详细说明。 理解线程的生命周期本质上理解了生命周期中各个节点的状态转换机制就可以了。接下来,我们分别就 **通用线程生命周期和Java语言的线程生命周期** 分别进行详细说明。
- 最近冰河不是又出版了一本《深入理解高并发编程:核心原理与案例实战》一书吗?很多小伙伴对于Java的内存模型还是不太了解,今天,我就用最简短的篇幅结合八种操作和同步规则给大家介绍下到底什么是Java的内存模型。 最近冰河不是又出版了一本《深入理解高并发编程:核心原理与案例实战》一书吗?很多小伙伴对于Java的内存模型还是不太了解,今天,我就用最简短的篇幅结合八种操作和同步规则给大家介绍下到底什么是Java的内存模型。
- 在开发高并发系统时,有很多手段可以保护系统,如:缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统处理能力。降级是当服务出问题或影响到核心流程的性能,需要暂时屏蔽掉,待高峰过去或者问题解决后再打开。有些场景不适合用缓存或降级,比如稀缺资源(秒杀、抢购)、写服务(评论、下单)、频繁的复杂查询(评论的最后几页)等,这些场景可以用限流限制并发/请求量。 在开发高并发系统时,有很多手段可以保护系统,如:缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统处理能力。降级是当服务出问题或影响到核心流程的性能,需要暂时屏蔽掉,待高峰过去或者问题解决后再打开。有些场景不适合用缓存或降级,比如稀缺资源(秒杀、抢购)、写服务(评论、下单)、频繁的复杂查询(评论的最后几页)等,这些场景可以用限流限制并发/请求量。
上滑加载中
推荐直播
-
华为云 x DeepSeek:AI驱动云上应用创新
2025/02/26 周三 16:00-18:00
华为云 AI专家大咖团
在 AI 技术飞速发展之际,DeepSeek 备受关注。它凭借哪些技术与理念脱颖而出?华为云与 DeepSeek 合作,将如何重塑产品与应用模式,助力企业数字化转型?在华为开发者空间,怎样高效部署 DeepSeek,搭建专属服务器?基于华为云平台,又该如何挖掘 DeepSeek 潜力,实现智能化升级?本期直播围绕DeepSeek在云上的应用案例,与DTSE布道师们一起探讨如何利用AI 驱动云上应用创新。
回顾中
热门标签