Java垃圾回收详解 编程技术

Java垃圾回收详解

1.GC介绍 什么是垃圾回收(GC)? 垃圾回收,顾名思义,便是将已经分配出去的,但却不再使用的内存回收回来,以便能够再次分配。 在 Java 虚拟机的语境下, 垃圾 指的是死亡的对象所占据的堆空间。 Java 虚拟机中的垃圾回收器采用 可达性分析 来探索所有存活的对象。它从一系列 GC Roots 出发,边标记边探索所有被引用的对象。 为了防止在标记过程中堆栈...
阅读全文
飞哥讲代码9:提升性能,线程数合适就行 编程技术

飞哥讲代码9:提升性能,线程数合适就行

案例 两周前,参与某一老产品的性能优化有如下收获: 同事说,我配置了 1000个线程 ,但是总消耗时间还是需要 10分钟 左右,似乎没有真正的并发。 经过分析代码,狂改一通代码,结果是:只配置了 32个线程 ,总消耗时间下降至 44秒 。 这个产品已有一定的年头,采用Java开发,但Maven配置的编译source/target还是 1.6(直接把配...
阅读全文
全网最全!这份深入讲解jdk和jvm原理的笔记,刷新了我对JVM的认知 编程技术

全网最全!这份深入讲解jdk和jvm原理的笔记,刷新了我对JVM的认知

前言 前两天和朋友探讨技术的时候有聊到JVM和JDK这一块,聊到这里两个人就像高山流水遇知音那是根本停不下来,事后我想着趁现在印象还比较深刻就把这些东西整理起来分享给大家来帮助更多的人吧。话不多说,满满的干货都整理在下面了! JVM探究 jvm的位置 jvm的体系结构 堆里面有垃圾,需要被GC回收 栈里面是没有垃圾的,用完就弹出去了,栈里面有垃圾...
阅读全文
【JAVA SE基础篇】57.线程礼让、插队、优先调用、守护线程与其他 编程技术

【JAVA SE基础篇】57.线程礼让、插队、优先调用、守护线程与其他

1.线程礼让 礼让线程,让当前正在执行线程暂停 不是阻塞线程,而是将线程从 运行状态 转入 就绪状态 让cpu调度器重新调度 例: 例 2.线程合并 join合并线程,待此线程执行完成后,再执行其他线程, 其他线程阻塞 例: 例: 3.线程的状态 4.线程优先级 Java提供一个线程调度器来监...
阅读全文
面试之敌系列 3 多线程详解 Java

面试之敌系列 3 多线程详解

官方定义:线程是CPU调度和分配的基本单位,一定要和进程是操作系统进行资源分配(包括cpu、内存、磁盘IO等)的最小单位区别清楚。注意,一个是cpu的,一个是系统的资源(这里的资源表示除了CPU 之外的一切东西,也叫上下文) CPU进程无法同时刻共享,但是出现一定要共享CPU的需求呢?此时线程的概念就出现了。线程被包含在进程当中,进程的不同线程间共享CPU和程序上下文。(共享进程分配到的资源)。 ...
阅读全文
zuihou-admin-cloud 2.4 发布,微服务 SaaS 脚手架 编程技术

zuihou-admin-cloud 2.4 发布,微服务 SaaS 脚手架

今日更新日志: 整体更新: 0. 录制了完整的项目讲解视频教程 1. 新增批量替换项目名&包名&前缀的Shells脚本(支持Linux&Mac) 2. 完整的项目讲解视频 3. 优化代码若干 & 删除无用代码和注释掉的代码若干 & 完善代码注释若干 4. 调整了nacos中的所有配置文件 5. 优化整个项目所有的枚举类型(删除枚举...
阅读全文
Java多线程-多线程的状态 Java

Java多线程-多线程的状态

参考官方文档: ​ 获取状态的方法: Thread.getState() 枚举解释: NEW: 创建线程未启动start方法; Thread thread = new Thread(); RUNNABLE: 执行了该线程的start方法,在Java虚拟机中执行,但有可能在等待操作系统的其它资源,比如CPU; thread.start(); ...
阅读全文
Java并发编程原理: 线程之间的互斥与协作机制 Java

Java并发编程原理: 线程之间的互斥与协作机制

可能在synchronized关键字的实现原理中,你已经知道了它的底层是使用Monitor的相关指令来实现的,但是还不清楚Monitor的具体细节。本文将让你彻底Monitor的底层实现原理。 管程 一个管程可以被认为是一个带有特殊房间的建筑,这个特殊房间只能被一个线程占用。这个房间包含很多数据和代码。 如果一个线程要占用特殊房间(也就是红色区域),那么首先它必须在Hallw...
阅读全文
Loading...