余之孟德的专栏

一个人的天赋只能决定他的最差到哪,但努力和意志能把他带到你想象不到的高度。...

springboot属性加载顺序

优先级按照顺序由高到低,数字越小优先级越高 在命令行中传入的参数。类似于java -jar -Dspring.profiles.active之类。 SPRING_APPLICATION_JSON属性,该属性以JSON形式存储在系统环境变量中。 java:comp/env中JNDI属性。 Jav...

2018-08-23 15:14:13

阅读数 127

评论数 0

十二、JVM(HotSpot)线程安全与锁优化----终结篇

注:本博文主要是基于JDK1.7会适当加入1.8内容。 线程安全:当多个线程访问一个对象时,如果不用考虑这些线程在运行环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为可以获取正确的结果,那这个对象就是线程安全的。 1、Java语言中线程安全...

2018-08-20 17:08:20

阅读数 38

评论数 0

十一、JVM(HotSpot)Java内存模型与线程

注:本博文主要是基于JDK1.7会适当加入1.8内容。 1、Java内存模型 内存模型:在特定的操作协议下,对特定的内存或高速缓存进行读写访问的抽象过程。不同的物理机拥有不一样的内存模型,而Java虚拟机也拥有自己的内存模型。 主要目标:定义程序中各个变量的访问规则,即在虚拟机中将变量存储到...

2018-08-20 16:47:11

阅读数 358

评论数 0

十、JVM(HotSpot)晚期(运行时)优化

注:本博文主要是基于JDK1.7会适当加入1.8内容。 Java程序最初是通过解释器进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁时,就会把这段代码认定为“热点代码”,为了提高这部分代码的执行效率,在运行时,虚拟机会将这些代码编译成与本地平台相关的机器码,并进行各个层次的优化,完成这...

2018-08-17 17:16:28

阅读数 168

评论数 0

九、JVM(HotSpot)早期(编译器)优化

注:本博文主要是基于JDK1.7会适当加入1.8内容。 1、javac编译器 编译过程: 解析与填充符号表过程 插入式注解处理器的注解处理过程 分析与字节码生成过程 1)解析与填充符号表 解析步骤:词法分析和语法分析 词法分析:将源代码中的字符流转变为标记(Token)集合,单个字...

2018-08-17 16:28:06

阅读数 40

评论数 0

八、JVM(HotSpot)虚拟机字节码执行引擎

注:本博文主要是基于JDK1.7会适当加入1.8内容。 物理机执行引擎:直接建立在处理器、硬件、指令集和操作系统层面。 虚拟机执行引擎:由虚拟机自定义实现,自行制定指令集与引擎体系结构,能够执行不被硬件执行的指令集合。(符号引用—-直接引用) 1、运行时栈帧结构 定义:用于支持虚拟机进行方...

2018-08-17 16:04:42

阅读数 220

评论数 0

七、JVM(HotSpot)虚拟机类加载机制

注:本博文主要是基于JDK1.7会适当加入1.8内容。 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,转换解析,初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 1、类加载时机 类加载到内存开始直至卸载出内存,它的生命周期包括:加载、验证、准...

2018-08-14 15:54:47

阅读数 122

评论数 0

六、JVM(HotSpot)类文件结构

注:本博文主要是基于JDK1.7会适当加入1.8内容。 实现语言无关性的基础是虚拟机和字节码的存储形式。 Java程序(.java)——>javac编译器——–>字节码(.class)—>Java虚拟机(...

2018-08-14 14:47:12

阅读数 67

评论数 0

五、JVM(HotSpot)虚拟机性能监控与故障处理工具

注:本博文主要是基于JDK1.7会适当加入1.8内容。 系统问题定位时,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。 1、JDK命令行工具 (1)jps虚拟机进程状况工具,JVM Process Status Tools,显示指定系统内所有的HotSpot虚拟机进程。类似...

2018-08-13 16:39:57

阅读数 64

评论数 0

四、JVM(HotSpot)垃圾收集器与内存分配策略

注:本博文主要是基于JDK1.7会适当加入1.8内容。 1、对象生死判断 方法一:引用计数算法(JVM不采用) 对象添加一个引用计数器,当对象被引用则计数器+1,当对象引用失效则计数器-1,任何时刻计数器为0则判断对象不可能再被使用,判定为死亡。 JVM(HotSpot)为什么没有使用引用...

2018-08-13 16:02:49

阅读数 135

评论数 0

三、JVM(HotSpot)Java对象

注:本博文主要是基于JDK1.7会适当加入1.8内容。 1、对象创建 第一步:虚拟机执行一条new指令时,首先会去检查这个指令的参数是否可以从常量池中获取到符号引用(再次回归到前两章提到的String.intern()用法),并且检查这个符号引用是否已加载、解析和初始化。如果没有,则必须先...

2018-08-13 13:50:54

阅读数 56

评论数 0

二、JVM(HotSpot)内存泄漏和内存溢出

注:本博文主要是基于JDK1.7会适当加入1.8内容。 1、Java堆溢出 //-Xms20m -Xms20m -XX:+HeapDumpOnOutOfMemoryError public class HeapOOM { static class OOMObject {} ...

2018-08-12 16:18:53

阅读数 209

评论数 0

一、JVM(HotSpot)Java内存区域

注:本博文主要是基于JDK1.7会适当加入1.8内容。 切记,分清Java内存区域和Java内存模型是两个概念。Java运行区域大致分为五大部分,分别是:程序计数器、虚拟机栈、本地方法栈,堆,方法区。真实开发环境中,开发人员往往最关注的就是JVM的堆信息和栈信息,而方法区也就是我们通常所说的永久...

2018-08-12 15:26:57

阅读数 144

评论数 0

spring boot xml解析devtool冲突

##cxf xml解析 <dependency> <groupId>org.apache.cxf</groupId> <arti...

2018-04-13 14:43:35

阅读数 127

评论数 0

Mockito+Spring4x+TestNG中参数引用问题

Mockito+Spring4x+TestNG中参数引用问题

2018-01-04 14:51:53

阅读数 129

评论数 0

github使用过程中多账户造成的Permission to repository denied to username问题

github使用过程中多账户造成的Permission to repository denied to username

2017-08-22 11:08:38

阅读数 161

评论数 0

mysql 5.7.19 免安装版配置方法

mysql-5.7.19-winx64 免安装版配置方法

2017-08-09 15:07:31

阅读数 3149

评论数 4

myeclipse/eclipse离线插件安装

创建Link文件指向插件位置

2015-12-20 10:55:13

阅读数 461

评论数 0

Java编程中“为了性能”尽量要做到的一些地方

最近的机器内存又爆满了,出了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。

2015-11-19 11:46:07

阅读数 355

评论数 0

mybatis中0和null关系处理

最近在项目开发中,mybatis遇到一个很奇怪的问题,因为想在后台传一个int型0插入到数据,却被识别成了null。

2015-11-19 11:15:43

阅读数 6822

评论数 0

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