自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 java 线程池

一、概述 一个简单线程的创建和销毁如下代码,与进程进程相比,线程是一种轻量级的工具,但是轻量并不代表没有,它的创建和关闭依然需要花费时间,如果创建和销毁的时间还大于线程本身完成的工作,那就会得不偿失,甚至会造成Out of Memory。即使没有,大量的线程回收也会给GC带来巨大的压力。为了解决这样的问题,那么线程池应运而生。 new Thread(new Runnable() { ...

2019-03-19 12:33:34 91

原创 java I/O总结

2019-03-16 12:33:48 74

原创 java集合一览图

2019-03-16 09:59:55 85

原创 java集合之Collection ->Set接口

Set集合通常不能记住元素添加的顺序,其他的操作和它的父接口基本相同。只是行为上有细微的差别,Set集合不能包含相同的元素。如果尝试添加相同的元素,调用add()方法将返回false,且新元素不能被加入容器。 下面是Set接口的三个实现类,将一一介绍: 1. HashSet HashSet 类具备以下特征: 1. 不能保证元素的排列顺序,可能和添加的顺序不相同,也有可能会发生变化。 2. Hash...

2019-03-15 20:18:55 89

原创 java集合之Collection ->List ->ArrayList源码分析

package java.util; import java.util.function.Consumer; import java.util.function.Predicate; import java.util.function.UnaryOperator; import sun.misc.SharedSecrets; // 实现了List->Collection接口,可克隆,可...

2019-03-15 15:49:17 51

原创 java与线程(从JVM角度看线程调度)

一、线程的实现 我们学过操作系统的肯定都知道: 进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。 线程:是进程的一个执行单元,是进程内可调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。 线程是比进程更轻量级的调度执行单元,线程的引入,可以把一个进程的资源分配和执行调度分开。各个线程既可以共享进程资源,又可以独立调度(线...

2019-03-15 11:58:21 433 2

原创 java内存模型

一、java内存模型 Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。 Java内存模型规定了所有的变量都存储在主内存(Main Memory)中(此处的主内存与 物理硬件时的主内存名字一样,两者也可以互相类比,但此处仅是虚拟机内存的一部分)。每条线...

2019-03-15 09:33:15 88

原创 JVM类加载机制

一、什么是JVM的类加载机制 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 二、什么时候进行类加载 类的生命周期 类从被加载到虚拟机内存中开始,到卸载出内存为止。它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Res...

2019-03-14 16:52:03 65

原创 JVM垃圾回收与内存分配策略

一、垃圾回收算法 概述 JVM中,当创建的对象不再被使用的时候,此时我们认为他是无用的“垃圾”;在现代主流的商用jvm中,都是通过可达性分析来判断对象是否存活的。这个算法的基本思想是通过一系列“GCROOT”的对象来作为起始点,从这些节点开始向下搜索,搜索所做过的路径称为引用链,当一个对象没有任何引用链可达时,就判断该对象不可用。如下图,obj5,obj6,obj7虽然相连,但是没有引用链到达“...

2019-03-13 17:24:06 69

原创 jvm 体系结构

一、jvm 运行时数据区域 程序计数器 java虚拟机栈 本地方法栈 java堆 方法区 运行时常量池 直接内存(非JVM区域) 二、深入探讨HotSpot虚拟机在Java堆中对象分配、布局和访问的全过程。 对象在java堆中的创建过程 对象在内存中的布局方式 对象的访问定位 目前主流的对象访问方式有两种:句柄和直接指针。 句柄访问 java堆中会划分出一块内存来作为句柄池,...

2019-03-13 09:52:04 60

空空如也

空空如也

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

TA关注的人

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