挂面06

作者: 盼旺 | 来源:发表于2019-09-27 12:05 被阅读0次

1.自己建立一个String类,再String s = new String("13")会怎么样

根本找不到 main 方法,没法运行,IDEA中类前面的运行按钮都不见了
String类有final修饰符,而final修饰的类是不能被继承的

2.String s = new String("xyz");创建了几个StringObject?

两个或一个都有可能,”xyz”对应一个对象,这个对象放在字符串常量缓冲区,常量”xyz”不管出现多少遍,都是缓冲区中的那一个。New String每写一遍,就创建一个新的对象,它使用常量”xyz”对象的内容来创建出一个新String对象。如果以前就用过’xyz’,那么这里就不会创建”xyz”了,直接从缓冲区拿,这时创建了一个StringObject;但如果以前没有用过"xyz",那么此时就会创建一个对象并放入缓冲区,这种情况它创建两个对象。

3.String s = "a"+"b"+"c"+"d"; //创建了几个对象

答案:1个

String s1 = "a";
String s2 = s1 + "b";
String s3 = "a" + "b";
System.out.println(s2 == "ab");//false
System.out.println(s3 == "ab");//true

第一条语句打印的结果为false,第二条语句打印的结果为true,这说明javac编译可以对字符串常量直接相加的表达式进行优化,不必要等到运行期再去进行加法运算处理,而是在编译时去掉其中的加号,直接将其编译成一个这些常量相连的结果。

4.JVM堆内存结构分配

JVM的堆内存分为新生代和旧生代。新生代分为Eden区和JVM的堆内存分为新生代和旧生代。新生代分为Eden区和Survivor区。Survivor区分为From和To

5.当对象A创建之后,对象A在各个区之间的流转过程

1.对象A被new出来之后,是被存放在Eden区的(Eden即伊甸园,亚当和夏娃的故事)
2.当发生一次GC之后,Eden区存活下来的对象A会被复制到Survivor的To,并且Survivor的From存活的对象也会复制到Survivor的To
3.清空Eden和Survivor的From
4.交换Survivor的From和To,保证在GC发生之前,To永远是空的那个
5.下次GC发生时,重复上述步骤.
注意:根据这个对象在Survivor区中存活了多久而决定去向,当一个对象在Survivor中存活了很久(即经历了多次GC还没死),就会在发生GC时被复制到旧生代中。

6.判断对象死活

引用计数算法
引用计数算法是给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1,;当引用失效时,计数器值就减1。计数器的值为0就表示这个对象已经“死去”
可达性分析算法
被称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走的路径称为引用链。当一个对象到GC Roots没有任何引用链相连时,则证明此对象是不可用的

7.什么样的对象才可以作为GC Roots的对象呢?

虚拟机栈(栈帧中的本地变量表)中引用的对象
方法区中类静态属性引用的变量
方法区中常量引用的对象
本地方法栈中JNI(即一般说的Native方法)引用的对象
概括就是3个地方引用的对象 变量表 静态类属性或常量 Native方法

8.Java字节码(.class)文件存储在数据域哪

方法区

9.各数据区的作用

  • 栈:为即时调用的方法开辟空间,存储局部变量值(基本数据类型),局部变量引用。注意:局部变量必须手动初始化。
  • 堆:存放引用类型的对象,即new出来的对象、数组值、类的非静态成员变量值(基本数据类型)、非静态成员变量引用。其中非静态成员变量在实例化时开辟空间初始化值
  • 方法区:存放class二进制文件。包含类信息、静态变量,常量池(String字符串和final修饰的常量值等),类的版本号等基本信息。因为是共享的区域,所以如果静态成员变量的值或者常量值被修改了直接就会反应到其它类的对象中。
  • 程序计数器:当前线程所执行的字节码的行号指示器
  • 本地方法栈:为Native方法服务

相关文章

  • 挂面06

    1.自己建立一个String类,再String s = new String("13")会怎么样 根本找不到 ma...

  • 超市买挂面,一定要看清一个字!吃了这么多年,居然今天才明白!

    鸡蛋挂面、杂粮挂面、营养素强化挂面…… 超市中的挂面品种还真不少 工作忙或是偶尔想偷懒的你 可能家里也会储备点挂面...

  • 挂面

    挂面是以小麦粉添加盐、碱、水经悬挂干燥后切制成一定长度的干面条。挂面始于元代,到建国前大部分都是手工制作,靠太阳晒...

  • 挂面

    材料: 挂面、酱油、老干妈、郫县豆瓣、香油,如果有点牛肉干甚佳。 烹调方法: 酱油铺满碗底,老干妈一小匙,一小筷(...

  • 挂面

    看着餐桌上冒着热气的挂面 一撮葱花, 半匙辣椒, 如你习惯的调料 如你喜欢的味道 我一条一条的吮吸 聊表挂念

  • 挂面

    和往常一般,煮了碗挂面 安在了你的位置 冒着热气 一撮葱花,半匙辣椒 如你习惯的调料, 如你喜欢的味道 聊表挂念,...

  • 挂面

    我应该是三年级开始独居的,爸妈姐姐们都在外,或赚钱去或上学去,总是一个偌大的院子,只有我一个人,不论白天黑夜,只有...

  • 挂面

    挂面早打唐代就开始有了。当时被叫做“须面”,被装入礼盒,馈赠亲朋,也有人家用作儿女婚嫁的聘礼。北方的饮食中,面类不...

  • 挂面!

    接上文 我就猜到那个朋友打王者去了,所以没看到我的消息,三十几分钟之后,我借到了锅哈哈哈! 借热水,插插头,煮面,...

  • 挂面

    今天收到了在网上买的挂面,挂面像银丝般细细的。 挂面本身就有盐味,我用清水煮了一碗,下了一些青菜和香菜,没有放油,...

网友评论

      本文标题:挂面06

      本文链接:https://www.haomeiwen.com/subject/embouctx.html