自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

bgm重启的博客

不甘于做小白的小二黑

  • 博客(15)
  • 问答 (1)
  • 收藏
  • 关注

原创 深入理解Java虚拟机笔记--类加载的时机

类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verfivation)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)7个阶段。其中验证、准备、解析3个部分统称为连接(Linking)。这7个阶段的发生顺序如下图所示:加载、验证、准备、初始...

2018-09-23 15:04:24 126

原创 深入理解Java虚拟机笔记--内存分配规则

内存分配规则        通过在Client模式(也就是采用Serial/SerialOld收集器)下讲解几条最普遍的内存分配规则。对象优先在Eden区分配:在大多数情况下,对象都在Eden区进行分配。当Eden区没有足够的空间进行分配时将发起一次Minor GC。大对象直接进入老年代:所谓的大对象是指需要连...

2018-09-23 13:25:00 157

原创 深入理解Java虚拟机笔记--HotSpot算法实现

枚举根节点        从可达性分析中从GC Roots节点找引用链这个操作为例,可作为GC Roots的节点主要在全局性的引用(例如常量或类静态属性)与执行上下文(例如栈帧中的本地变量表)中,现在很多应用仅仅方法区就有数百兆,如果要逐个检查这里面的引用,那么必然会消耗很多时间。  &nbsp...

2018-09-23 10:59:25 143

原创 深入理解Java虚拟机笔记--垃圾收集算法

标记–清除算法        最基础的算法是“标记–清除”算法,如同它的名字一样,算法分为标记和清除两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。之所以说它是最基础的收集算法,是因为后续的收集算法都是基于这种思路并对其不足进行改进而得到的。它的主要不足有两个:一个是效率问题,标记和清除...

2018-09-22 18:29:50 136

原创 深入理解Java虚拟机笔记--对象是否已死

对象是否已死        Java内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭:栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的(尽管在运行期会有JIT编译器进行一些优化,但是在基于概念模型的讨...

2018-09-22 16:53:18 133

原创 深入理解Java虚拟机笔记--对象的内存布局和访问定位

对象的内存布局        在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域**:对象头(Header)**、实例数据(Instance Data)和对齐填充(Padding)。   &amp

2018-09-22 13:55:20 309

原创 深入理解Java虚拟机笔记--虚拟机中对象的创建

深入理解Java虚拟机笔记–虚拟机中对象的创建       &

2018-09-22 11:45:40 126

原创 深入理解Java虚拟机笔记--运行时数据区域

运行时数据区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范(Java SE 7版)》的规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域,如下图所示:程序计数器程序计数器(...

2018-09-09 12:38:35 170

原创 使用SpringWebFlow

使用Spring Web Flow本章主要内容:创建会话式的Web应用程序定义流程状态和行为Spring Web Flow 是Spring MVC 的扩展,它支持开发基于流程的应用程序。它将流程的定义与实现流程行为的类和视图分离开来。1 在Spring中配置Web FlowSpring Web Flow是构建于Spring MVC基础之上的。这意味着所有的流程请求都需...

2018-08-27 22:01:38 1746

原创 SpringMVC的高级技术

SpringMVC的高级技术本章的主要内容包括:SpringMVC配置的替代方案处理文件上传在控制器中处理异常使用flash属性1 SpringMVC配置的替换方案在之前的内容中,通过扩展AbstractAnnotationConfigDispatcherServletInitializer快速搭建了SpringMVC环境。在这个便利的基础类中,假设我们需要基本的Di...

2018-08-25 20:09:47 1073

原创 渲染Web视图

渲染Web视图本章主要内容包括:将数据模型渲染为HTML使用JSP视图1 理解视图解析将控制器中请求处理的逻辑和视图中的渲染实现解耦是Spring MVC 的一个重要特性。如果控制器中的方法直接负责产生HTML的话,就很难在不影响请求处理逻辑的前提下,维护和更新视图。控制器方法和视图的实现会在模型内容上达成一致,这是两者的最大关联,除此之外,两者应该保持足够的距离。但是,...

2018-08-25 14:37:51 558

原创 构建SpringWeb应用程序

构建Spring Web 应用程序本章主要内容包括:映射请求到Spring控制器透明地绑定表单参数校验表单提交状态管理、工作流以及验证都是Web的应用程序需要解决的重要特性。HTTP协议的无状态性决定了这些问题都不是那么容易解决。Spring的Web框架就是为了解决这些关注点而设计的。Spring MVC 基于模型-视图-控制器(Model-View-Controller,MV...

2018-08-18 19:05:59 414

原创 面向切面

面向切面的Spring本章主要内容包括:面向切面编程的基本原理通过POJO创建切面使用@AspectJ注解为AspectJ切面注入依赖本章展示了Spring对切面的支持,包括如何把普通类声明为一个切面和如何使用注解创建切面。1 什么是面向切面编程在软件开发中,散布于应用中多处的功能被称为横切关注点(cross-cutting concern)。通常来讲,这些横切关...

2018-08-05 09:19:33 450

原创 高级装配

高级装配本章主要内容包括:Spring profile条件化的bean声明自动装配与歧义性bean的作用域Spring表达式语言1 环境与profile在开发软件的过程中,有一个很大的挑战就是将应用程序从一个环境迁移到另外一个环境。开发阶段中,某些环境相关做法可能并不适合迁移到生成环境中,甚至即便迁移到生成环境中去。数据库配置、加密算法以及与外部系统的集成是跨环境部...

2018-07-29 17:45:03 235

原创 装配Bean

Spring装配BeanSpring提供了3种装配bean的机制:在XML中进行显式配置在Java中进行显式配置隐式的bean发现机制和自动装配1 自动化装配Bean我们首先来看一下自动化装配Bean。Spring从两个角度实现自动化装配:组件扫描(component scanning):Spring会自动发现应用上下文中所创建的bean自动装配(autowirin...

2018-07-29 15:12:10 596

空空如也

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

TA关注的人

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