Chuenhung的个人网站

chuenhung.github.io

JVM体系结构概述

JVM位置

在这里插入图片描述
JVM是运行在操作系统之上的,它与硬件没有直接的交互。

JVM体系结构

在这里插入图片描述

  • 白色的模块说明线程私有,几乎不存在垃圾回收。方法区和堆存在垃圾回收。
  • 栈管运行,堆管存储。栈是线程私有,不存在垃圾回收。栈保存基本类型变量+对象的引用+实例方法。java方法 = 栈帧。
  • 栈记录了方法之间调用和执行情况,类似于排班表。用来存储指向下一条指令的地址。它是当前线程所执行的字节码的行号执行器。
  • Native方法不归JAVA管,所以计数器是空的 。
  • 方法区是存放类结构信息的地方,是一种规范。
阅读全文 »

WebFlux概述

简介

  • WebFlux是Spring5新添加的模块以用于web开发,功能和SpringMVC类似。
  • Webflux使用响应式编程的框架。
  • Webflux 是一种异步非阻塞的框架,异步非阻塞的框架在 Servlet3.1 以后才支持,核心是基于Reactor的相关 API 实现的。

异步非阻塞

异步和同步针对调用者,调用者发送请求,如果等着对方回应之后才去做其他事情就是同步,如果发送请求之后不等着对方回应就去做其他事情就是异步。
阻塞和非阻塞针对被调用者,被调用者收到请求之后,做完请求任务之后才给出反馈就是阻塞,收到请求之后马上给出反馈然后再去做事情就是非阻塞。

阅读全文 »

概述

什么是事务

事务是数据库操作最基本单元。逻辑上一组操作,要么都成功,如果有一个失败所有操
作都失败。

事务的四个特性

  • 原子性 Atomicity
  • 一致性 Consistency
  • 隔离性 Isolation
  • 持久性 Durability
阅读全文 »

概述

AOP是aspect-oriented programming的缩写,译为面向切面编程。利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得 业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。简单来说,AOP就是不修改源代码在主干功能里面添加新功能。

底层原理

AOP底层使用了动态代理:在有接口的时候使用JDK 动态代理、在没有接口的时候使用CGLIB字节码动态代理

阅读全文 »

@[toc]

什么是IOC

Inversion of Control的缩写,中文译为控制反转,简单来说就是把对象创建和对象之间的调用过程,交给 Spring 进行管理。
创建对象实例的控制权从代码控制剥离到IOC容器控制,实际就是你在xml文件控制,侧重于原理

IOC的作用

  • DI依赖注入
    Spring的DI实现了面向接口编程的核心思想,符合依赖倒置的原则。开发者只需要关注接口,而无需关注具体实现,降低了耦合度,代码复用性高,可拓展性强
  • 统一管理bean的生命周期
阅读全文 »
0%