自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JDK、JRE、JVM

文章中采用的JDK版本为JDK8u60JVM概述* 什么是JVMJRE概述JDK概述JVM概述1、什么是JVMJava Virtual Machine(Java 虚拟机),用来解释.class字节码文件,因为系统本身无法直接执行.class文件,所以才需要有一个程序来将.class文件解析成系统可以执行的内容,这个程序就是JVM。JVM被编译后,放在了JRE中:/jdk/jr...

2020-02-28 15:25:17 142

原创 Java - JNI

在看Hotspot实战的过程中,发现介绍HotSpot的Prims模块的时候,它有一个子模块为JNI,用来处理Java与C/C++代码的交互。这篇文章用来记录学习和研究JNI的过程。JNI - JNI - 加载动态库JNI介绍与用法假如我们写了一段java代码:class HelloWorld { public native void TestMethod(); /* 现...

2020-02-24 22:44:23 234

原创 Java执行属于某package的类文件,报错:错误: 找不到或无法加载主类

假如:D:\test\helloword.java代码如下package test;public class HelloWorld { public static void main(String[] args) { int i = 10;; }}如果我们想执行helloword代码,则需要在D:\路径下,执行java test.helloword则...

2020-02-16 21:57:10 1001 1

原创 HotSpot虚拟机分析工具 - HotSpot Debugger [HSDB]

这个是一个内置于SA中的GUI工具,作用就是深入分析JVM的内部状态工具启动进入到 jdk/lib/ 目录下,找到sa-jdi.jar 文件启动命令为:java -cp .\sa-jdi.jar sun.jvm.hotspot.HSDB将所执行的代码阻断,并且用HSDB打开被阻断的程序使用HSDB监控某个进程的JVM,需要使用进程号打开,所以必须将java程序阻断在未结束的状态,可以使用...

2020-01-17 19:56:00 2063 2

原创 Java - 浅析对象的内存布局与对象模型

对象内存种的结构浅析

2020-01-13 18:01:30 240

原创 JVM扩展知识点记录(一) - 各种变量的加载与内存中的存储方法

本文主要介绍java种各种变量的加载方式与存储方法包括:1、static final修饰的常量;2、final修饰的成员变量;3、普通类变量4、普通成员变量

2020-01-06 12:03:31 207

原创 leetcode题目:(3) - 无重复字符的最长子串

题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。通用数据:字符串:str假设字符串长度:length子字符串首字符索引位:i = [ 0 , length-1 ]子字符串的最后一个字符索引位:j = [ i+1 , length-1 ]解题思路:...

2020-01-04 23:41:04 128

原创 JVM入坑(五) - .class文件结构分析(4):字段表集合

字段表集合介绍字段表(Field_info)用于描述类或接口中声明的变量,包括类变量与成员变量,局部变量不在此表中。字段表集合由字段计数器与字段信息数据区两个部分组成,字段计数器用来统计Field_info的数量,字段数据区则由若干个Field_info组成,每一个Field_info代表了一个类变量或成员变量。图:字段表集合结构与field_info的结构着重分析一下,每一个字段.clas...

2020-01-03 19:54:05 330 1

原创 JVM入坑(四) - .class文件结构分析(3):访问标志、类索引、父类索引、接口索引集合

1

2020-01-03 12:24:23 131

原创 JVM入坑(三) - .class文件结构分析(2):常量池

关于静态常量池.class文件中的常量池 ( Constant Pool ) 也叫做静态常量池,是存放常量数据的地方。熟悉c/c++的人可能对于常量第一反应是:constan修饰的变量,但是在此处提到的常量范围更加广泛一些,在java中提到的常量是指:在运行中所有不会再发生变化的数据。比如类的名字、方法的名字、方法所属的类、方法的参数、方法的返回值类型、定义的常量(也就是c/c++中的cons...

2019-12-30 12:24:31 538

原创 JVM入坑(二) - .class文件结构分析(1):魔数与版本号

魔数 u4 magic; //魔数魔数的位置是固定的,也就是每个Class文件的头4个字节,它只有一个作用,就是标识这个文件是不是一个内被JVM接收的.class文件,简单来说魔数就是为了标识文件类型。魔数的思想不光用在Class文件里,比如gif、jpeg这些文件都有魔数来标识文件类型。/ * 如图所示,十六进制的cafe baby用来表示Clas...

2019-12-29 23:26:43 152

原创 JVM入坑(一) - .class文件结构整体概述

.class文件的作用java程序通过javac编译后,生成对应的.class文件,也称作字节码文件。.class文件与类对应,每个类都会生成一个对应的.class文件,用来记录该类的信息。.class文件的结构有很严格的规范,所以一个.class可以在任意架构的CPU和系统的JVM上被读取加载,这也是java “一次编写各处运行” 的原因。.class文件整体结构classFile {...

2019-12-29 19:42:19 131

原创 leetcode题目:(2) - 两数相加

题目:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -&...

2019-12-27 00:05:56 80

原创 leetcode题目:(1) - 两数之和

题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]题目分析:找...

2019-12-26 18:15:42 79

空空如也

空空如也

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

TA关注的人

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