java-JVM

JVM第一章
1.原码、反码、补码怎么表示?

二进制的第一位为符号位,0为正数,1为负数
原码:正数的原码符号位为0,负数的原码符号位为1
5 的原码 为 00000000 00000000 00000000 00000101
-5 的原码为 10000000 00000000 00000000 00000101
反码:符号位不变、其他位取反
5的反码 是:01111111 11111111 11111111 11111010
-5 的反码是 11111111 11111111 11111111 11111010
补码:正数的补码是原码本身,负数的补码是反码+1
5的补码 :01111111 11111111 11111111 11111010
-5 的补码:11111111 11111111 11111111 11111011

2.计算机中用什么来表示整数?

补码

3.jvm中使用补码表示整数的好处是什么?

1:统一了整数0 的表示方式,0是正数时是二进制的32个0,负数用补码表示也是32个0
2:方便加减运算,可以直接用补码做加减法

4.基本数据类型的长度?

byte 1字节 8bit
short、char 2字节 16bit
int、float 4字节 32bit
long、double 8字节 64bit
boolean 如果表示变量用4字节、如果是数组,那么每个元素就是1字节

JVM第二章
5.JVM内包括那几部分?

类加载子系统、java栈、方法区Java堆、本地方法栈、PC寄存器、执行引擎、垃圾回收系统、直接内存

6.本地方法栈和java栈的区别?

本地方法栈用于本地函数的调用,java栈用于java函数的调用

7.PC寄存器的作用是什么?

PC寄存器是每个线程的私有空间,jvm为每个线程创建一个PC寄存器,在任意时刻,一个线程总是在执行一个方法,如果当前线程执行的线程不是本地方法,PC寄存器会存储它的指令,如果是本地方法,则存储undefined。

8.java堆的结构?

Java堆分为新生代和老年代,其中新生代放新生对象和年龄不大的对象,老年代则放年老的对象。新生代有可能分为eden区、S0区、S1区,也是From区和To区,是大小相等可以互换角色的内存空间。对象首先分配在Eden区,在一次新生代回收后,如果对象存活,则进入S0或者S1区,之后,没经过一次新生代回收,对象如果存活,年龄就会加1.当对象的年龄达到一定条件后,就会被认为是老年对象,从而进入老年代。

9.操作数栈的作用?

保存计算过程的中间结果

10.方法区(永久区)的作用?

保存类的信息、字段、方法、常量池等,在java8中已经被移出,用元数据区替代,是堆外的直接内存,如果没有配置的话,默认会用完机器的全部内存。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • DAY 01 JAVA简述 Java是由SUN公司在1995年推出的一门高级编程语言,是现今服务器端的首选编程语言...
    周书达阅读 4,606评论 0 0
  • Win7下如何打开DOS控制台? a:开始--所有程序--附件--命令提示符 b:开始--搜索程序和文件--cmd...
    逍遥叹6阅读 5,514评论 4 12
  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 7,048评论 0 4
  • Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和...
    Java小辰阅读 4,748评论 0 2
  • Super Single DOG Token简称SDT,是全球知名游戏开发公司LUCK CLUB(幸运俱乐部)旗下...
    布客财经阅读 5,139评论 0 0