- 博客(6)
- 收藏
- 关注
原创 jvm-本地方法栈
本地方法栈和上篇文章讲到的本地方法接口是一起使用的,本地方法栈用于管理本地方法的调用,可以使用本地的内存也可以使用本地的寄存器,不受jvm虚拟机的限制,也可以访问虚拟机内部的运行时数据区,它和虚拟机拥有同样的权限,但并不是所有的jvm都支持本地方法栈. ...
2021-04-14 18:40:20 67
原创 jvm-本地方法接口
相信大家在看一些java源码的时候会发现有一些方法上使用着native关键字,这个关键字修饰的方法其实就是一个java调用非java代码的接口 ,java的底层有一部分是使用c或c++来实现的,也是早期java发展时为了和当时风头正盛的c和c++语言产生更多的联合,就有了这个本地方法调用,native关键字不能与abstract关键字共用,现在该方法使用的越来越少了,除非是与硬件有关的应用. ...
2021-04-14 16:57:10 79
原创 jvm-虚拟机栈
虚拟机栈位于运行时数据区,它是线程的私有的,每一个线程都会有一个虚拟机栈,不存在GC,但存在Error,为什么不存在GC?是因为它本身是一个栈结构,栈结构的压栈弹栈操作是直接可以将垃圾的问题解决,虚拟机栈中每个栈会有一个方法,栈的单位为栈帧,栈帧中包含:操作数栈,本地变量表(局部变量表),动态链接,方法返回地址和附加信息,虚拟机栈的栈顶为当前正在执行的方法,虚拟机栈的大小在windows中是取决于jvm的大小,但是安卓 mac等大小是固定的,通过-Xss1024k的操作指令可以设置固定的大小,下面对虚拟机栈
2021-04-14 16:30:18 83
原创 jvm 运行时数据区(Runtime Data Area) 之程序计数器
jvm 运行时数据区(Runtime Data Area) 之程序计数器 Program Counter Register(pc寄存器)又称程序计数器,位于jvm中的运行时数据区,程序计数器是一块小内存,小到可以忽略不计,它的运算速度是最快的,为什么呢? 最重要的原因,是因为它本身内存小,只存储jvm中的一条操作指令地址,当虚拟机执行到某一个操作指令时,会将下一条指令地址存到程序计数器中,当上一条程序结束后,去程序计数器取地址,执行引擎再根据地址找到对应的指令去执行相应指令.那么为什么要有程序计数器呢?要解
2021-04-12 19:50:17 103
原创 构造方法、继承、抽象类、模板设计模式
构造方法、继承、抽象类、模板设计模式 昨天我们讲:定义一个类,类中可以定义两种成员:1).成员属性、2).成员方法 第一章:构造方法【重点】 1.1 构造方法的概念 1).“构造方法”: 构造:指“创建对象—new 对象”; 方法:指“一个方法”。 “构造方法”:指在创建对象时,会被调用的一个方法。 Student stu = new Student();//Student()实际上就是去调用一个“构造方法” 2).在Java中,“任何类”都有“构造方法”,如果我们定义类时,不定义构造方法,编译器会自动为
2020-09-28 16:55:21 291 1
原创 类、对象、封装
类、对象、封装 第一章:基础语法回顾 1.1 基础语法回顾-if语句 1).格式一: if(布尔表达式){ //if体语句,如果“布尔表达式”为true,执行这里 } 2).格式二: if(布尔表达式){ //如果“布尔表达式”为true,执行这里 }else{ //如果“布尔表达式”为false,执行这里 } 3).格式三: if(布尔表达式1){ //如果“布尔表达式1”为true,执行这里 }else if(布尔表达式2){ //如果“布尔表达式1”为false,而“布尔表达式2”为true,执行这里
2020-09-27 20:52:38 263
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人