自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 struts2原理模拟

Struts2的核心: Struts2的设计目的是提取Servlet的公共功能,达到简化Servlet的目的。核心思想就是设计一个在Servlet执行之前先做一些工作,比如设置编码,接收参数,还有结束之后的跳转等等。核心实现方式就是添加一个filter,完成上述功能。 图一:Struts2核心原理 Struts2的核心功能分析: 1、 跳转:当一个用户请求的URI来了经过过滤器

2017-12-11 15:10:27 301

原创 8-ClassLoader

ClassLoader的核心作用是:加载指定路径的class JVM将所需要运行的*.class文件加载到JVM进程中需要有一个类加载器(ClassLoader,系统会提供默认类加载器,我们也可以自己写),类加载器的好处就在于我们可以随意指定*.class文件的位置(包括网络上的)。 类的初始化时间 调用ClassLoader类的loadClass方法加载一个类,并不是对类的主动使用,不会导

2017-12-08 22:25:19 174

原创 7-类的加载、连接、初始化

Java虚拟机的生命周期    在下面的集中情况下会结束java虚拟机 1、 执行了System.exit() 2、 程序正常结束 3、 程序在运行过程中遇到的异常或错误而异常终止 4、 由于操作系统出现错误     类的加载、连接、和初始化 加载:查找并加载的类二进制数据(加载到内存) 将类的class文件中的二进制数据读入到内存中,将其运行时数据区的方法区,然后在堆内存上创

2017-12-08 21:04:39 211

原创 6-java引用类型

Java引用概述 引用是开发的灵魂,直接决定了对象占用内存的时间,在JDK1.2之后提出了四种引用方式 1、 强引用:当JVM空间不足,JVM宁可出现OutOfMemoryError错误停止,也需要空间保存,并且不回收空间 Object obj=new Object() 2、 软引用:当内存不足,进行对象回收处理,往往用于高速缓存Mybaits 3、 弱引用:不管内存是否紧张,有垃圾就回收

2017-12-08 20:03:53 170

原创 5-JVM的GC算法(3)

本文主要介绍G1收集器的核心思想和工作过程。

2017-12-08 19:22:57 176

原创 4-JVM的GC算法(2)

新生代可用的GC策略 首先介绍一种Stop-The-World(STW):Java中一种全局暂停的现象,全局停顿,所有Java代码停止,native代码可以执行,但是不能和JVM交互。这个过程多半由于GC引起,包括:(1)Dump线程;(2)死锁检查;(3)堆Dump。 串行GC(Serial Copying)复制(Copying)清理算法A、 扫描年轻代中所有存活的对象;B、 使用Minor G...

2017-12-08 17:53:18 227

原创 3-JVM的GC算法(1)

GC算法概述: JAVA语言最大的特点在于具备良好的垃圾收集特点,也就是GC是整个java之中最重要的安全保证,帮助开发者写出合理的代码。整个JVM中的GC处理机制:对不需要的对象进行标记,而后进行清除。   堆内存的划分 图一:java堆内存的划分   1.8之后永久代改成了元空间 永久代只有HotSpot中有  Oracle 试图将HotSpot和JRockit的标准合并为一个

2017-12-08 17:27:47 216

原创 2-jvm概述

JVM的运行的流程: 图一:JVM运行流程 所有的Java程序必须保存在*.java的文件之中,称为源代码。 这些源代码不能直接执行,必须使用javac.exe命令把源代码编译成为*.class文件(编译器)。 使用java.exe命令在JVM进程中解释此程序。   JVM将所需要运行的*.class文件加载到JVM进程中需要有一个类加载器(ClassLoader,系统会提供默认类

2017-12-08 12:02:10 196

原创 1-我眼中的jvm

JVM的封装思想 在我的眼中,jvm很类似操作系统,都是在干管理内存,控制线程和并发的工作,只是OS还要管理外设,而jvm没有干这个活,笔者认为它俩之间的核心本质是一样的,就是封装。   操作系统是面向硬件的封装 一个例子:对于用户而言,操作系统提供了操作硬件的接口,一个printf(“操作系统”); 就搞定了文字到0,1数据流再到像素点阵的转换,”操作系统”先在内存中被转化成0/1数据流

2017-12-08 11:19:54 138

空空如也

空空如也

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

TA关注的人

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