- 1、为什么要有GC?本质上就是内存资源的有限性(收集垃圾) 2、如何回收垃圾呢? 2.1、引用计数法有引用,计数器 +1无引用,计数器 -1 2.1.1、产生的问题:循环依赖(跟事务,线程死锁一个道理)样例:(证据) public class ReferenceCountingGc { Object instance = null; public static void m... 1、为什么要有GC?本质上就是内存资源的有限性(收集垃圾) 2、如何回收垃圾呢? 2.1、引用计数法有引用,计数器 +1无引用,计数器 -1 2.1.1、产生的问题:循环依赖(跟事务,线程死锁一个道理)样例:(证据) public class ReferenceCountingGc { Object instance = null; public static void m...
- 以 - 开头为标准参数,所有的 JVM 都要实现这些参数,并且向后兼容。-D 设置系统属性。以 -X 开头为非标准参数, 基本都是传给 JVM 的,默认 JVM 实现这些参数的功能,但是并不保证所有 JVM 实现都满足,且不保证向后兼容。 可以使用 java -X 命令来查看当前 JVM 支持的非标准参数。以 –XX:开头为非稳定参数, 专门用于控制 JVM的行为,跟具体的 JVM 实现有关... 以 - 开头为标准参数,所有的 JVM 都要实现这些参数,并且向后兼容。-D 设置系统属性。以 -X 开头为非标准参数, 基本都是传给 JVM 的,默认 JVM 实现这些参数的功能,但是并不保证所有 JVM 实现都满足,且不保证向后兼容。 可以使用 java -X 命令来查看当前 JVM 支持的非标准参数。以 –XX:开头为非稳定参数, 专门用于控制 JVM的行为,跟具体的 JVM 实现有关...
- 在并发编程中,使用细粒度锁来锁定多个资源时,要时刻注意死锁的问题。另外,避免死锁最简单的方法就是阻止循环等待条件,将系统中所有的资源设置标志位、排序,规定所有的线程申请资源必须以一定的顺序来操作进而避免死锁。 在并发编程中,使用细粒度锁来锁定多个资源时,要时刻注意死锁的问题。另外,避免死锁最简单的方法就是阻止循环等待条件,将系统中所有的资源设置标志位、排序,规定所有的线程申请资源必须以一定的顺序来操作进而避免死锁。
- 在JDK中,提供了这样一种功能:它能够将复杂的逻辑拆分成一个个简单的逻辑来并行执行,待每个并行执行的逻辑执行完成后,再将各个结果进行汇总,得出最终的结果数据。有点像Hadoop中的MapReduce。 在JDK中,提供了这样一种功能:它能够将复杂的逻辑拆分成一个个简单的逻辑来并行执行,待每个并行执行的逻辑执行完成后,再将各个结果进行汇总,得出最终的结果数据。有点像Hadoop中的MapReduce。
- 如何解决线程切换带来的原子性问题呢?答案是 保证多线程之间的互斥性。也就是说,在同一时刻只有一个线程在执行!如果我们能够保证对共享变量的修改是互斥的,那么,无论是单核CPU还是多核CPU,都能保证多线程之间的原子性了。 如何解决线程切换带来的原子性问题呢?答案是 保证多线程之间的互斥性。也就是说,在同一时刻只有一个线程在执行!如果我们能够保证对共享变量的修改是互斥的,那么,无论是单核CPU还是多核CPU,都能保证多线程之间的原子性了。
- 今天我们来聊聊为何在32位多核CPU上执行long型变量的写操作会出现诡异的Bug问题。 今天我们来聊聊为何在32位多核CPU上执行long型变量的写操作会出现诡异的Bug问题。
- 有序性是指:按照代码的既定顺序执行。说的通俗一点,就是代码会按照指定的顺序执行,例如,按照程序编写的顺序执行,先执行第一行代码,再执行第二行代码,然后是第三行代码,以此类推 有序性是指:按照代码的既定顺序执行。说的通俗一点,就是代码会按照指定的顺序执行,例如,按照程序编写的顺序执行,先执行第一行代码,再执行第二行代码,然后是第三行代码,以此类推
- 在并发编程中,Happens-Before原则是我们必须要掌握的,今天我们就一起来详细聊聊并发编程中的Happens-Before原则。 在并发编程中,Happens-Before原则是我们必须要掌握的,今天我们就一起来详细聊聊并发编程中的Happens-Before原则。
- 厂长熬夜给大家写的java基础文章,定时更新。 厂长熬夜给大家写的java基础文章,定时更新。
- 导致并发编程产生各种诡异问题的根源有三个:缓存导致的可见性问题、线程切换导致的原子性问题和编译优化带来的有序性问题。我们从根源上理解了这三个问题产生的原因,能够帮助我们更好的编写高并发程序。 导致并发编程产生各种诡异问题的根源有三个:缓存导致的可见性问题、线程切换导致的原子性问题和编译优化带来的有序性问题。我们从根源上理解了这三个问题产生的原因,能够帮助我们更好的编写高并发程序。
- 作者:小傅哥博客:https://bugstack.cnGithub:https://github.com/fuzhengwei/CodeGuide/wiki沉淀、分享、成长,让自己和他人都能有所收获!😄 一、前言截至到这已经写了22篇面经手册,你看了多少?😄其实小傅哥就是借着面经的幌子在讲 Java 核心技术,探索这些核心知识点面试的背后到底在问什么。想问一些面试官,是因为大家都在问所... 作者:小傅哥博客:https://bugstack.cnGithub:https://github.com/fuzhengwei/CodeGuide/wiki沉淀、分享、成长,让自己和他人都能有所收获!😄 一、前言截至到这已经写了22篇面经手册,你看了多少?😄其实小傅哥就是借着面经的幌子在讲 Java 核心技术,探索这些核心知识点面试的背后到底在问什么。想问一些面试官,是因为大家都在问所...
- 本文详细介绍 Java Agent 启动加载实现字节码增强关键技术的实现细节,字节码增强技术为测试人员进行性能监控提供了一种新的思路。目前众多开源监控产品已经提供了丰富的 Java 探针库,作为监控服务的提供者,进一步降低了开发成本,不过开发门槛比较高,对测试人员来说有很大的一部分的学习成本。 本文详细介绍 Java Agent 启动加载实现字节码增强关键技术的实现细节,字节码增强技术为测试人员进行性能监控提供了一种新的思路。目前众多开源监控产品已经提供了丰富的 Java 探针库,作为监控服务的提供者,进一步降低了开发成本,不过开发门槛比较高,对测试人员来说有很大的一部分的学习成本。
- 简介在Java多线程中,有时候可能需要采用延迟初始化来降低初始化类和创建对象的开销。双重检查锁(饿汉式单例中经常用)是常见的延迟初始化方案,但它是一个错误的用法。本文将分析双重检查锁定的错误根源,以及两种线程安全的延迟初始化方案。1、双重检查锁定的由来在Java程序中,有时候可能需要推迟一些高开销的对象初始化操作,并且只有在使用这些对象时才进行初始化。此时,程序员可能会采用延迟初始化。但要争... 简介在Java多线程中,有时候可能需要采用延迟初始化来降低初始化类和创建对象的开销。双重检查锁(饿汉式单例中经常用)是常见的延迟初始化方案,但它是一个错误的用法。本文将分析双重检查锁定的错误根源,以及两种线程安全的延迟初始化方案。1、双重检查锁定的由来在Java程序中,有时候可能需要推迟一些高开销的对象初始化操作,并且只有在使用这些对象时才进行初始化。此时,程序员可能会采用延迟初始化。但要争...
- 今天,我们一起来学习下Java并发编程中的AQS中的ReentrantLock、ReentrantReadWriteLock、StampedLock与Condition。好啦,开始进入今天的主题。 今天,我们一起来学习下Java并发编程中的AQS中的ReentrantLock、ReentrantReadWriteLock、StampedLock与Condition。好啦,开始进入今天的主题。
- 您好,我是贾斯汀,今天又来学习啦!【学习背景】学习Java的小伙伴,应该对JVM有自己的一定了解,但是你有用过JDK自带的JVM的性能调优工具之一jconsole吗?不知道也没关系,本文将带你花几分钟快速了解如何使用jconsole对JVM进行监控,大家后续有时间可以自己动手学习下,特别是需要进行JVM性能优化的时候,个人觉得在工作中还是比较常用的。进入正文~@TOC 一、JDK说明本文以J... 您好,我是贾斯汀,今天又来学习啦!【学习背景】学习Java的小伙伴,应该对JVM有自己的一定了解,但是你有用过JDK自带的JVM的性能调优工具之一jconsole吗?不知道也没关系,本文将带你花几分钟快速了解如何使用jconsole对JVM进行监控,大家后续有时间可以自己动手学习下,特别是需要进行JVM性能优化的时候,个人觉得在工作中还是比较常用的。进入正文~@TOC 一、JDK说明本文以J...
上滑加载中
推荐直播
-
探秘仓颉编程语言:华为开发者空间的创新利器
2025/02/22 周六 15:00-16:30
华为云讲师团
本期直播将与您一起探秘颉编程语言上线华为开发者空间后,显著提升开发效率,在智能化开发支持、全场景跨平台适配能力、工具链与生态完备性、语言简洁与高性能特性等方面展现出的独特优势。直播看点: 1.java转仓颉的小工具 2.仓颉动画三方库lottie 3.开发者空间介绍及如何在空间用仓颉编程语言开发
回顾中 -
大模型Prompt工程深度实践
2025/02/24 周一 16:00-17:30
盖伦 华为云学堂技术讲师
如何让大模型精准理解开发需求并生成可靠输出?本期直播聚焦大模型Prompt工程核心技术:理解大模型推理基础原理,关键采样参数定义,提示词撰写关键策略及Prompt工程技巧分享。
去报名 -
华为云 x DeepSeek:AI驱动云上应用创新
2025/02/26 周三 16:00-18:00
华为云 AI专家大咖团
在 AI 技术飞速发展之际,DeepSeek 备受关注。它凭借哪些技术与理念脱颖而出?华为云与 DeepSeek 合作,将如何重塑产品与应用模式,助力企业数字化转型?在华为开发者空间,怎样高效部署 DeepSeek,搭建专属服务器?基于华为云平台,又该如何挖掘 DeepSeek 潜力,实现智能化升级?本期直播围绕DeepSeek在云上的应用案例,与DTSE布道师们一起探讨如何利用AI 驱动云上应用创新。
去报名
热门标签