自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring IOC创建流程一(概述)

关于IOC的创建流程,本篇文章只介绍他的大体流程,旨在让多数人对spring有一个整体的概念,源码介绍将在下一篇文章讲解。1、简介 首先介绍一下IOC是什么,IOC全称Inversion of Control 中文直译叫做控制反转,这个概念非常抽象,导致初学者一头雾水(包括我在内,其实现在也只是一知半解,还请各位大佬指导),通常IOC这个概念会跟IOC容器一起出现。那么spring的容器到底是什么,以及里面存储了一些什么东西。s...

2021-12-24 19:04:19 980

原创 Bean创建流程二(源码分析)

接上篇文章:Bean创建流程一(源码分析)总体步骤:1. 实例化(Instantiation) 2. 属性填充(Populate) 3. 初始化(Initialization) 4. 销毁(Destruction)​​​​先上简单流程图:1.实例化阶段:进入关键方法:// Instantiate the bean. BeanWrapper instanceWrapper = null; ...

2021-12-20 21:50:09 466

原创 Bean创建流程一(源码分析)

如有错误,敬请指出,共同学习!感谢!1.综述先上总体的流程图:简单流程图:2.bean创建涉及的关键方法2.1.根接口:beanfactorypublic interface BeanFactory 2.2AutowireCapableBeanFactorypublic interface AutowireCapableBeanFactory extends BeanFactory2.3 正题:AbstractAutowireCapableBeanF...

2021-12-20 21:24:48 715

原创 JAVA NIO(new IO)

1.简介Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作。1.1.IO和NIO的区别:IO和NIO的区别 IO NIO 面向流(Stream Oriented) 面向缓冲区(Buffer Oriented) 阻塞IO(Blocking ...

2021-12-15 15:42:20 720

原创 JAVA并发六(共享模型二CAS)

黑马并发视频总结和自己的理解

2021-12-14 16:11:09 363

原创 JAVA并发五(JAVA共享模型一)

黑马JAVA并发视频总结和自己的理解

2021-12-14 14:46:39 211

原创 JAVA并发四(并发的部分应用)

黑马JAVA并发笔记,晦涩难懂的地方外加自己的理解和举例

2021-12-13 21:51:31 242

原创 JAVA并发三(synchronized进阶)

1.Monitor 概念1.1Java 对象头 32位虚拟机中,普通对象的对象头结构如下,其中的Klass Word为指针,指向对应的Class对象;数组对象:mark word结构:所以一个对象的结构如下:1.2.Monitor 原理Monitor被翻译为监视器或者说管程Java虚拟机(HotSpot)中,Monitor是通过ObjectMonitor实现的(c++),里面有三个重要的属性:...

2021-12-13 17:56:37 255

原创 JAVA并发二(多线程的问题)

1.为什么多线程会出现问题?首先来看一段经典的多线程问题代码: static int count = 0; public void findProblem() throws InterruptedException { Thread t1 = new Thread(() -> { for (int i = 0; i < 100000; i++) { count++; }

2021-12-13 15:02:48 274

原创 JAVA并发一(Java线程)

1.并发和并行的区别并发是一个CPU在不同的时间去不同线程中执行指令。并行是多个CPU同时处理不同的线程。引用 Rob Pike 的一段描述:并发(concurrent)是同一时间应对(dealing with)多件事情的能力并行(parallel)是同一时间动手做(doing)多件事情的能力2.进程与线程进程:程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在指令运行过程中还需要用到...

2021-12-12 16:55:16 171

原创 JVM对象生命周期一(内有举例说明)

类的生命周期图:从大的方面说类加载阶段分为三个步骤:加载,链接,初始化。1.类文件结构:ClassFile { u4 magic; //Class 文件的标志:魔数 java中编译后是cafebabe u2 minor_version;//Class 的次版本号 u2 major_version;//Class 的主版本号 JDK版本号 u2 cons...

2021-12-10 17:39:54 509

原创 JVM垃圾回收之G1收集器

1.1 G1收集器的设计目标先介绍两个概念:吞吐量和响应能力,响应能力和吞吐量是评价一个系统的两个重要指标吞吐量 吞吐量关注的是,在一个指定的时间内,最大化一个应用的工作量。 如下方式来衡量一个系统吞吐量的好坏: 在一定时间内同一个事务(或者任务、请求)完成的次数(tps) 数据库一定时间以完成多少次查询 对于关注吞吐量的系统,一定次数卡顿(即stw)是可以接受的,因为这个系统关注长时间的大量任务的执行能力,单次快速的响应并不值得考虑 响应能...

2021-12-08 21:20:18 666

原创 JVM内存模型(二)

一.JVM内存架构JVM内存模型总体预览:JVM内存结构主要分为图中的几个内存区域: 1.虚拟机栈2.本地方法栈 3.程序计数器 4.堆 5.方法区二.虚拟机内存结构:(前面4节内容见JVM内存模型(一))2.5 方法区方法区是JVM规范中规定的一块内存区域,官方在规定的时候没有明确方法区的位置,并且不同的厂商在具体的实现的时候也各有各的不同...

2021-12-08 15:56:43 117

原创 JVM内存模型(一)

目录一.JVM内存架构二.虚拟机内存结构:1.1 虚拟机栈异常1.2 本地方法栈1.3 程序计数器1.4 堆异常:一.JVM内存架构JVM内存模型总体预览:JVM内存结构主要分为图中的几个内存区域: 1.虚拟机栈2.本地方法栈 3.程序计数器 4.堆 5.方法区二.虚拟机内存结构:1.1 虚拟机栈此区域是线程私有的,虚拟...

2021-12-08 15:10:56 240

原创 JVM垃圾回收模型二:JVM内存分配和内存回收

目录一.内存分配1.1 空间分配(担保机制)1.2 大对象直接进入老年代1.3 长期存活的对象将进入老年代1.4 动态对象年龄判定二 垃圾回收2.1 垃圾判断算法引用计数算法(Refesrence Counting)根搜索算法( Root Tracing)2.2 垃圾回收期的选择和实现引用类型2.3 GC时机-线程角度GC的时机抢占式中断主动式中断安全区域3.3 一些经典的内存泄漏的原因1.对象定义位置过大:2...

2021-12-07 20:25:37 177

原创 JVM垃圾回收模型

JAVA学习常见的有关垃圾收集算法以及垃圾收集器的集中整理,如有错误,敬请指出,初次整理。

2021-12-07 16:30:50 252

空空如也

空空如也

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

TA关注的人

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