自定义博客皮肤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)
  • 收藏
  • 关注

原创 MySQL 之 Explain 输出分析

MySQL 之 Explain 输出分析1、Explain工具介绍使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈 。在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行这条SQL。注意:如果 from 中包含子查询,仍会执行该子查询,将结果放入临时表中2、explain中的列2.1、id列id列的编号是 select 的序列号,有几个 select 就有几个id,并且id的顺

2021-03-28 17:19:00 149

原创 了解Java对象,简单聊聊JVM调优分析

1、oop模型​ Klass模型请看jvm底层之类加载,它是Java类的元信息在JVM中的存在形式。而oop模型是Java对象在JVM中的存在形式,在 Java 程序运行的过程中,每创建一个新的对象,在 JVM 内部就会相应地创建一个对应类型的 oop(普通对象指针) 对象。各种 oop 类的共同基类为 oopDesc 类。​ 在 JVM 内部,一个 Java 对象在内存中的布局可以连续分成两部分:对象头(instanceOopDesc) 和实例数据(成员变量)。​ sychronized的底.

2020-12-15 02:14:52 255

原创 执行引擎、JIT、逃逸分析

执行引擎就是 JVM运行Java程序的一套子系统Java是半编译半解释型语言如果面试官问你这个问题,要分成两个角度来讲解​ 1、javac编译,java运行​ 2、运行期即时编译+解释执行(字节码解释器解释执行,模板解释器编译执行)两种解释器的底层实现JVM中目前来说有两种解释器具体细节见课堂上操作实战1、字节码解释器做的事情是:java字节码->c++代码->硬编码根据不同的字节码指令,执行不同的操作。比如下面代码0 new #4 <com/luban/tes.

2020-12-12 23:03:43 272 2

原创 干了两晚,带你探索那讲不清的字符串

常量池(后期专门找一篇说一下)1、class文件中​ 通过命令:javap -verbose XXXConstant pool: #1 = Methodref #23.#50 // java/lang/Object."<init>":()V #2 = Methodref #22.#51 // com/luban/ziya/string/TestIntern.test5:()V #3 = String

2020-12-12 13:46:03 248 11

原创 内存池与JVM内存模型

​ 可以这样理解:JVM内存模型其实就是JVM在启动的时候从操作系统内存中要了一块大内存,然后将这个大内存分成五个区域:方法区、堆区、虚拟机栈、本地方法栈、程序计数器。​ 这里说的JVM内存模型其实在JVM中是不存在这个实体的,而是将CHeapObj,ValueObj,AllStatic这三的类的子类统称为内存模型。注意区分JVM内存模型与JMM(Java Memory Model)四个名词class文件即硬盘上的.class文件class content类加载器将硬盘上的.class文

2020-12-08 22:07:37 162 2

原创 类加载器子系统与SPI

本篇主要记录一下类加载器类加载子系统 = 三层类加载器 + 双亲委派类加载器​ JVM中有两种类型的类加载器,由C++编写的及由Java编写的。除了启动类加载器(Bootstrap Class Loader)是由C++编写的,其他都是由Java编写的。由Java编写的类加载器都继承自类java.lang.ClassLoader。​ 另外JVM还支持自定义类加载器。​ 各种类加载器之间存在着逻辑上的父子关系,但不是真正意义上的父子关系,因为它们直接没有从属关系。启动类加载器​ 因为启动

2020-12-06 00:37:43 127

原创 JVM底层之类加载

1、Klass模型首先明确class 和klass的区别: class是Java类(Java代码),而klass是Java类在JVM的存在形式(c++代码)Java的每个类,在JVM中,都有一个对应的Klass类实例与之对应,存储类的元信息如:常量池、属性信息、方法信息……从继承关系上也能看出来,类的元信息是存储在原空间的(instanceKlass) ,对象是存储在堆区的(InstanceMirrorKlass)类加载器将.class文件加载进系统,将.class文件解析,那么生成的是什么

2020-12-04 19:21:53 490

原创 记录 ftpClient.listFiles(path) 没有反应

最近项目涉及到了ftp上传功能,用到了FTPClient。当执行到ftpClient.listFiles(path);的时候就没有反应了,很烦。。。。。最后我把ftpClient.enterLocalPassiveMode(); 放到了ftpClient.listFiles(path);之前执行就没有问题了。。但是还是不明白什么原理。当ftp根目录下没内容的时候,是没有问题的,当有...

2019-07-04 10:12:59 1918

转载 cron4j 表达式详解

定时调度的工具cron4j,最大的特点就是小巧,简单,功能说实话没什么可说的,就是模仿unix的crontab,门槛非常低,编程非常简单. 可以执行一些简单的定时调度功能,太复杂的还是用quartz比较好.请注意,cron 表达式最多只允许五部分,每部分用空格分隔开来,这五部分从左到右依次表示分、时、天、月、周,其具体规则如下:分 :从 0 到 59时 :从 0 到 23天 :从 ...

2019-07-02 08:48:30 1956

空空如也

空空如也

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

TA关注的人

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