自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

诗和远方

成长就是开始懂得自己该干什么,并为之努力的过程

  • 博客(8)
  • 收藏
  • 关注

原创 深入理解Java虚拟机 4.JVM垃圾回收机制详解

深入理解Java虚拟机 4.JVM垃圾回收机制详解 JVM处理类加载机制之外,另一个重要的机制就是声名远播的垃圾回收机制。对于Java来说,在虚拟机自动内存管理机制下,不在需要向C++程序员那样,手工去编写delete/free内存操作,这样就很大程度上避免了因操作不当引起的内存泄漏和内存溢出等问题。在Java中,JVM会在适当的时候,对那些需要回收的对象进行垃圾回收操作,释放内存。 本文将针...

2019-03-10 18:19:43 256

原创 深入理解Java虚拟机 3.JVM类加载机制详解

深入理解Java虚拟机 3.JVM类加载机制详解 我们知道,Java源文件是不能直接运行的,首先需要编译成字节码(.class)文件,然后JVM在运行时,会把字节码文件加载到虚拟机内存中,对数据进行校验、转换解析和初始化之后,最终形成被可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。本文将对虚拟机中除了垃圾回收机制之外的另一个重要的机制,那就是类加载机制进行详细解析。 在Java...

2019-03-03 21:39:42 223

原创 深入理解Java虚拟机 2.HotSpot虚拟机详解

深入理解Java虚拟机 1.HotSpot虚拟机详解 HotSpot虚拟机是Sun JDK额OpenJDK中所带的虚拟机,也是目前使用范围最广的Java虚拟机。在第一文中已经详细分析了JVM的内存模型之后,此文将以HotSpot为例,来详细了解Java堆中对象的创建、对象内存分配和布局、以及对象访问的全过程。 1.对象的创建 在Java中,对象的创建通常是指通过new关键字获取的对象。虚拟机...

2019-03-03 19:03:26 711

原创 深入理解Java虚拟机 1.Java内存区域详解

深入理解Java虚拟机 1.Java内存区域详解 Java虚拟机在执行Java程序的时候,自动会将他所管理的内存划分成若干个不同的数据区域。划分出来的数据区域按照线程是否共享划分为两类。一类是线程共享区域,另一类是线程隔离区域。其中线程共享区域包括方法区、堆区;线程私有的包括程序计数器、虚拟机栈、本地方法栈。运行时数据区域划分如下图: 1.程序计数器 虚拟机栈是属于线程隔离的数据区域,他...

2019-03-03 17:24:42 178

原创 高并发编程_Java线程基础 4.sychronized同步机制

高并发编程_Java线程基础 4.sychronized同步机制 之前在介绍线程的时候,讲到同一个进程内的多个线程,可以共享资源。这一特点,在为多线程编程带来方便的同时,也带来了一个不可忽视,在开发中经常遇到的问题,那就是多线程并发情况下,访问共享资源的安全问题。 Java语言提供了专门的机制以解决这个问题,那就是sychronized同步机制。使用sychronized关键字,修饰代码块。修...

2019-03-02 22:33:48 208

原创 高并发编程_Java线程基础 3.优雅关闭线程

高并发编程_Java线程基础 3.优雅关闭线程 由于Thread类提供的关闭线程的方法只有stop,并且stop方法现在已经被标识为过时方法,不提倡使用。但是在开发中,及时关闭那些不在活动的线程、释放线程所占用的资源又只管重要。所以我们就需要寻找一些方法去关闭线程,释放资源。 1.使用interrupt机制优雅关闭线程 public class ThreadInterrupt { ...

2019-03-02 20:06:17 155

原创 高并发编程_Java线程基础 2.线程生命周期

高并发编程_Java线程基础 2.线程生命周期 1.线程生命周期图解 当new Thread是,此时线程处于新建状态,并且此时并没有真正启动一个线程。 当调用start方法启动线程时,线程由新建状态变为可运行状态。此时线程仍然没有真正的执行业务逻辑处理。 当线程之间竞争CPU资源,期中一个线程获取到CPU的使用权时,该线程变成运行状态,此时可执行真正的业务逻辑。其他为竞争到CPU使用权...

2019-03-02 19:46:38 226

原创 高并发编程_Java线程基础 1.线程简介

高并发编程_Java线程基础 1.线程介绍 1.进程、线程之间的区别 我们都知道,现在的系统都是多进程、多用户的,像Linux、Unix、windows。不仅同时可以登录多个用户进行操作,而且允许同时运行多个进程(当然,window是伪多用户的,因为对于Windows来说,一个用户登录,只能注销当前登录用户,切换到另一个用户。但是对于Linux、Unix来说,是真正的多用户操作,可同时登录多个...

2019-03-02 16:02:05 211

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除