- Java基础之JDK三大主要特性—枚举4月打卡day05 关于作者作者介绍🍓 博客主页:作者主页🍓 简介:JAVA领域优质创作者🥇、一名在校大三学生🎓、在校期间参加各种省赛、国赛,斩获一系列荣誉🏆。🍓 关注我:关注我学习资料、文档下载统统都有,每日定时更新文章,励志做一名JAVA资深程序猿👨💻。 4、JDK三大主要特性——枚举在讲解枚举之前回顾一个概念:多例设计模式,构造... Java基础之JDK三大主要特性—枚举4月打卡day05 关于作者作者介绍🍓 博客主页:作者主页🍓 简介:JAVA领域优质创作者🥇、一名在校大三学生🎓、在校期间参加各种省赛、国赛,斩获一系列荣誉🏆。🍓 关注我:关注我学习资料、文档下载统统都有,每日定时更新文章,励志做一名JAVA资深程序猿👨💻。 4、JDK三大主要特性——枚举在讲解枚举之前回顾一个概念:多例设计模式,构造...
- 本篇文章讲讲JVM的内存模型。 本篇文章讲讲JVM的内存模型。
- Java是一种优秀的程序设计语言,它具有令人赏心悦目的语法和易于理解的语义。不仅如此,Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。下面我们通过Java官方提供的数据来一起感受一 下,Java到底有多“火”。 Java是一种优秀的程序设计语言,它具有令人赏心悦目的语法和易于理解的语义。不仅如此,Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。下面我们通过Java官方提供的数据来一起感受一 下,Java到底有多“火”。
- 面试季-经典面试题第五篇,本专栏意在分享面试中常见的各种面试真题!目的是为了更好应对各厂裁员和跳槽涨薪问题,提前准备,不断学习! 面试季-经典面试题第五篇,本专栏意在分享面试中常见的各种面试真题!目的是为了更好应对各厂裁员和跳槽涨薪问题,提前准备,不断学习!
- 面试季-经典面试题第三篇,本专栏意在分享面试中常见的各种面试真题!目的是为了更好应对各厂裁员和跳槽涨薪问题,提前准备,不断学习! 面试季-经典面试题第三篇,本专栏意在分享面试中常见的各种面试真题!目的是为了更好应对各厂裁员和跳槽涨薪问题,提前准备,不断学习!
- 最近很多小伙伴问我PV、UV、VV、IP是啥意思,它们之间有什么关系,在网站和系统中如何计算这些值,这不,我连夜整理了这篇文章。如果能够为小伙伴们带来帮助,大家帮忙转发下,让更多的小伙伴看到,一起学习,一起进步,一起进大厂。 最近很多小伙伴问我PV、UV、VV、IP是啥意思,它们之间有什么关系,在网站和系统中如何计算这些值,这不,我连夜整理了这篇文章。如果能够为小伙伴们带来帮助,大家帮忙转发下,让更多的小伙伴看到,一起学习,一起进步,一起进大厂。
- 五分钟,搞懂双亲委派机制。八股文扛把子,岂能不会! 五分钟,搞懂双亲委派机制。八股文扛把子,岂能不会!
- 第一章,Java开发中通用的方法和准则 1. 不要在常量和变量中出现易混淆的字母,(“1l“,表示一个long型的值,容易看做“11”); 2. 莫让变量脱变成变量(public static final int RAND_CONST = Random().nextInt();) 3. 三元类型操作符的类型必须一致(转化规则,若不可转,返回值Object,为明确类型表达式(变量),正常转化... 第一章,Java开发中通用的方法和准则 1. 不要在常量和变量中出现易混淆的字母,(“1l“,表示一个long型的值,容易看做“11”); 2. 莫让变量脱变成变量(public static final int RAND_CONST = Random().nextInt();) 3. 三元类型操作符的类型必须一致(转化规则,若不可转,返回值Object,为明确类型表达式(变量),正常转化...
- Java并发机制的底层实现原理Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终需要转化为汇编指令在CPU上执行,Java中所使用的并发机制依赖于JVM的实现和CPU的指令。 2.1 volatile的应用在多线程并发编程中synchronized和volatile都扮演着重要的角色,volatile是轻量级的synchronized,它在多处... Java并发机制的底层实现原理Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终需要转化为汇编指令在CPU上执行,Java中所使用的并发机制依赖于JVM的实现和CPU的指令。 2.1 volatile的应用在多线程并发编程中synchronized和volatile都扮演着重要的角色,volatile是轻量级的synchronized,它在多处...
- 1 轻量级锁的意义偏向锁适用于没有多线程竞争的情况,轻量级锁和重量级锁均用于多线程场景:重量级锁依赖操作系统语义,在无法获取锁时,线程直接进入阻塞状态轻量级锁会自旋一段时间,尝试获取锁,超时后再转为重量级锁。在多线程交替执行同步块的情况下,尽量避免重量级锁引起的性能消耗。但若多个线程在同一时刻进入临界区,会导致轻量级锁膨胀升级为重量级锁,所以轻量级锁的引入并非是为完全替代重量级锁。 2 ... 1 轻量级锁的意义偏向锁适用于没有多线程竞争的情况,轻量级锁和重量级锁均用于多线程场景:重量级锁依赖操作系统语义,在无法获取锁时,线程直接进入阻塞状态轻量级锁会自旋一段时间,尝试获取锁,超时后再转为重量级锁。在多线程交替执行同步块的情况下,尽量避免重量级锁引起的性能消耗。但若多个线程在同一时刻进入临界区,会导致轻量级锁膨胀升级为重量级锁,所以轻量级锁的引入并非是为完全替代重量级锁。 2 ...
- 垃圾收集器 Serial收集器Serial收集器是最基本、发展历史最悠久的收集器,曾经(在JDK 1.3.1之前)是虚拟机新生代收集的唯一选择。 特性:这个收集器是一个单线程的收集器,但它的“单线程”的意义并不仅仅说明它只会使用一个CPU或一条收集线程去完成垃圾收集工作,更重要的是在它进行垃圾收集时,必须暂停其他所有的工作线程,直到它收集结束。Stop The World 应用场景:Ser... 垃圾收集器 Serial收集器Serial收集器是最基本、发展历史最悠久的收集器,曾经(在JDK 1.3.1之前)是虚拟机新生代收集的唯一选择。 特性:这个收集器是一个单线程的收集器,但它的“单线程”的意义并不仅仅说明它只会使用一个CPU或一条收集线程去完成垃圾收集工作,更重要的是在它进行垃圾收集时,必须暂停其他所有的工作线程,直到它收集结束。Stop The World 应用场景:Ser...
- 垃圾回收机制: 怎样判断对象是否已经死亡引用计数收集算法:引用计数是垃圾收集器中的早期策略。在这种方法中,堆中每个对象(不是引用)都有一个引用计数。当一个对象被创建时,且将该对象分配给一个变量,该变量计数设置为1。当任何其它变量被赋值为这个对象的引用时,计数加1(a = b,则b引用的对象+1),但当一个对象的某个引用超过了生命周期或者被设置为一个新值时,对象的引用计数减1。任何引用计数为... 垃圾回收机制: 怎样判断对象是否已经死亡引用计数收集算法:引用计数是垃圾收集器中的早期策略。在这种方法中,堆中每个对象(不是引用)都有一个引用计数。当一个对象被创建时,且将该对象分配给一个变量,该变量计数设置为1。当任何其它变量被赋值为这个对象的引用时,计数加1(a = b,则b引用的对象+1),但当一个对象的某个引用超过了生命周期或者被设置为一个新值时,对象的引用计数减1。任何引用计数为...
- 一.类加载1.基本类型和 String 类型被 static final 修饰时不会触发类的加载,当子类访问父类成员触发类加载时,父类为主动加载,子类为被动加载,被动加载不会执行代码块. 什么是双亲委派机制双亲委派机制:首先把这个任务委托给他的上级类加载器,递归这个操作,如果上级的类加载器没有加载,自己才会去加载这个类。BootstrapClassLoader(启动类加载器)由 C++ 编... 一.类加载1.基本类型和 String 类型被 static final 修饰时不会触发类的加载,当子类访问父类成员触发类加载时,父类为主动加载,子类为被动加载,被动加载不会执行代码块. 什么是双亲委派机制双亲委派机制:首先把这个任务委托给他的上级类加载器,递归这个操作,如果上级的类加载器没有加载,自己才会去加载这个类。BootstrapClassLoader(启动类加载器)由 C++ 编...
- @TOC 一、前言应聘后端开发岗位面试过程中,有关JVM的问题必不可少,此篇博文主要梳理有关JVM工作原理、收集器有关内容。 二、java 内存与内存溢出 2.1 JVM 分区及作用程序计数器(线程私有)当前线程执行字节码的信号指示器。(每个线程都会在程序计数器中存储其指令,从而实现线程切换后恢复到正确的执行位置)虚拟机栈(栈,线程私有)每个方法执行(开始到结束就是这个方法的生命周期)都会... @TOC 一、前言应聘后端开发岗位面试过程中,有关JVM的问题必不可少,此篇博文主要梳理有关JVM工作原理、收集器有关内容。 二、java 内存与内存溢出 2.1 JVM 分区及作用程序计数器(线程私有)当前线程执行字节码的信号指示器。(每个线程都会在程序计数器中存储其指令,从而实现线程切换后恢复到正确的执行位置)虚拟机栈(栈,线程私有)每个方法执行(开始到结束就是这个方法的生命周期)都会...
- 假设知道自己的系统OOM了,咋办? 解决OOM的初步思路OOM必然说明系统中某区的对象太多,塞满那个区,而且一定无法回收掉那些对象,最终才导致内存溢出。就得知道到底是什么对象太多了最终导致OOM,就必须得有一份JVM发生OOM时的dump内存快照。 OOM的时候自动dump假设JVM发生OOM了,你觉得JVM是完全来不及处理然后突然进程就没了吗?也就是JVM是看起来非常突然的自己无法控制的就... 假设知道自己的系统OOM了,咋办? 解决OOM的初步思路OOM必然说明系统中某区的对象太多,塞满那个区,而且一定无法回收掉那些对象,最终才导致内存溢出。就得知道到底是什么对象太多了最终导致OOM,就必须得有一份JVM发生OOM时的dump内存快照。 OOM的时候自动dump假设JVM发生OOM了,你觉得JVM是完全来不及处理然后突然进程就没了吗?也就是JVM是看起来非常突然的自己无法控制的就...
上滑加载中
推荐直播
-
华为云 x DeepSeek:AI驱动云上应用创新
2025/02/26 周三 16:00-18:00
华为云 AI专家大咖团
在 AI 技术飞速发展之际,DeepSeek 备受关注。它凭借哪些技术与理念脱颖而出?华为云与 DeepSeek 合作,将如何重塑产品与应用模式,助力企业数字化转型?在华为开发者空间,怎样高效部署 DeepSeek,搭建专属服务器?基于华为云平台,又该如何挖掘 DeepSeek 潜力,实现智能化升级?本期直播围绕DeepSeek在云上的应用案例,与DTSE布道师们一起探讨如何利用AI 驱动云上应用创新。
回顾中
热门标签