JVM部分
JVM 指令集整理
知其然知其所以然
程序员必备利器——Java程序性能分析工具Java VisualVM(Visual GC)
程序员必备利器——Java程序性能分析工具Java VisualVM(Visual GC) VisualVM 是一款免费的\集成了多个JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优。这些功能包括生成和分析海量数据、跟踪内存泄漏…
Java 并发——volatile
volatile 工作原理及内存模型
计算机程序的思维逻辑 (82) - 理解 ThreadLocal
本节,我们来探讨一个特殊的概念,线程本地变量,在 Java 中的实现是类 ThreadLocal,它是什么?有什么用?实现原理是什么?让我们接下来逐步探讨。 基本概念和用法 线程本地变量是说,每个线程都有同一个变量的独有拷贝,这个概念听上去比较难以理解,我们先直接来看类 TheadLo…
一文让你明白 Java 字节码
看懂 java 字节码看这篇就够了
Java 多线程干货系列—(一)Java 多线程基础 | 掘金技术征文
原本地址:Java 多线程干货系列—(一)Java 多线程基础博客地址:http://tengj.top/ 前言 多线程并发编程是 Java 编程中重要的一块内容,也是面试重点覆盖区域,所以学好多线程并发编程对我们来说极其重要,下面跟我一起开启本次的学习之旅吧。 正文 线程与进程 1 …
Java 并发:深入分析 synchronized 的实现原理
深入分析了 Java 锁 在底层实现的原理
几种任务调度的 Java 实现方法与比较
综观目前的 Web 应用,多数应用都具备任务调度的功能。本文由浅入深介绍了几种任务调度的 Java 实现方法,包括 Timer,Scheduler, Quartz 以及 JCron Tab,并对其优缺点进行比较,目的在于给需要开发任务调度的程序员提供有价值的参考。
思维导图学 Java 虚拟机
这篇文章是作者读完深入了解 java 虚拟机的读书笔记,可以作为学习 java 虚拟机的路线。
死磕 Java 并发 - 深入分析 synchronized 的实现原理
记得刚刚开始学习 Java 的时候,一遇到多线程情况就是 synchronized,相对于当时的我们来说 synchronized 是这么的神奇而又强大,那个时候我们赋予它一个名字 “同步”,也成为了我们解决多线程情况的百试不爽的良药。但是,随着我们学习的进行我们知道 synchronized 是一个重量级锁,相对于 Lock,它会显得那么笨重,以至于我们认为它不是那么的高效而慢慢摒弃它。
诚然,随着 Javs SE 1.6 对 synchronized 进行的各种优化后,synchronized 并不会显得那么重了。下面跟随 LZ 一起来探索 synchronized 的实现机制、Java 是如何对它进行了优化、锁优化机制、锁的存储结构和升级过程
Java 中的多线程你只要看这一篇就够了
java 多线程
Tip-关于JVM和Hotspot,你也许有这么几个容易晕的问题
1.JVM的结构到底有哪些? 快速过一遍JVM的内存结构,JVM中的内存分为5个虚拟的区域: 堆 ▪ 你的Java程序中所分配的每一个对象都需要存储在内存里。堆是这些实例化的对象所存储的地方。是的——都怪new操作符,是它把你的Java堆都占满了的! ▪ 它由所有线程共享 ▪ …
如何阅读JAVA 字节码(一)
在阅读JAVA字节码以前,需要回忆一下JVM的结构: Java字节码的信息主要在Java栈中间体现,下图来自网络,描述了java栈的基本结构: 值得注意的是方法区,在Java虚拟机中,方法区(Method Area)是可供各条线程共享的运行时内存区域。方法 区与传统语言中的编译…
详细深入分析 Java ClassLoader 工作机制
申明:本文首发于 详细深入分析 ClassLoader 工作机制 ,如有转载,请务必注明原出处即可,谢谢配合。 详细深入分析 Java ClassLoader 工作机制 什么是 ClassLoader ? 大家都知道,当我们写好一个 Java 程序之后,不是管是 C/S 还是 …
Java 内存分配与回收机制
Java 内存分配与回收机制
计算机程序的思维逻辑 (77) - 异步任务执行服务
Java 并发包提供了一套框架,大大简化了执行异步任务所需的开发,本节我们就来初步探讨这套框架。 在之前的介绍中,线程 Thread 既表示要执行的任务,又表示执行的机制,而这套框架引入了一个 "执行服务" 的概念,它将 "任务的提交" 和 "任务的执行" 相分离,"执行服务" 封装了任务执行的细…
40 个 Java 多线程问题总结
这篇文章主要对多线程进行总结,作者罗列了四十多个多线程问题。
Java Jvm 垃圾回收与类加载相关面试知识总结
Java 内存分区,内存分配,垃圾回收,类加载,双亲委托机制等面试知识总结
Java 线程池的理论与实践
Doug Lea 前段时间公司里有个项目需要进行重构,目标是提高吞吐量和可用性,在这个过程中对原有的线程模型和处理逻辑进行了修改,需要 发现有很多基础的多线程的知识已经模糊不清,如底层线程的运行情况、现有的线程池的策略和逻辑、池中线程的健康状况的监控等,这次重新回顾了一下,其中涉…
译-Java内存管理白皮书
说明 有关java并发可以看这里:https://yuedu.baidu.com/ebook/d09e3e28854769eae009581b6bd97f192279bf23 要学习Java或者任意一门技术,我觉得最好的是从官网的资料开始学习。官网所给出的资料总是最权威最知道来…
Java 8 并发教程:同步和锁
这份指南将会以简单易懂的代码示例来教给你如何在 Java8 中进行并发编程。这是一系列教程中的第二部分。在接下来的 15 分钟,你将会学会如何通过同步关键字,锁和信号量来同步访问共享可变变量。
Java、Android 内存泄漏总结
内存管理的目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题。内存泄漏大家都不陌生了,简单粗俗的讲,就是该被释放的对象没有释放,一直被某个或某些实例所持有却不再被使用导致 GC 不能回收。
计算机程序的思维逻辑 (83) - 并发总结
从 65 节到 82 节,我们用了 18 篇文章讨论并发,本节进行简要总结。 多线程开发有两个核心问题,一个是竞争,另一个是协作。竞争会出现线程安全问题,所以,本节首先总结线程安全的机制,然后是协作的机制。管理竞争和协作是复杂的,所以 Java 提供了更高层次的服务,比如并发容器类和异步任务执…
JVM 理解其实并不难!
对 java 虚拟机的比较全的总结,本文你将学会如何使用并行计算技术,提高你的 app 中计算模块速度,尤其是提升图像处理中的复杂计算。
Java多线程干货系列—(四)volatile关键字| 掘金技术征文
原本地址:Java多线程干货系列—(四)volatile关键字博客地址:http://tengj.top/ 前言 今天介绍下volatile关键字,volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往…
Java 多线程 相关概念
前言 本篇文章介绍一些多线程的相关的深入概念。理解后对于线程的安全性会有更深的理解。 先说一个格言,摘自Java核心技术: 如果向一个变量写入值,而这个变量接下来可能会被另一个线程读取;或者一个变量读值,而这个变量可能是之前被另一个线程写入的,此时必须同步。 下面就是概念了。 1…