java一些七零八碎的知识点(待更新)
java跨平台性的原理?
只要在需要运行java应用程序的操作系统上,
先安装一个Java虚拟机(JVM Java Virtual Machine)即可。
由JVM来负责Java程序在该系统中的运行。

JRE与JDK区别?

面向对象的部分



成员变量和局部变量区别

抽象类

访问权限

==判断的是什么?
在java里对于基本类型,判断的是值
对于引用类型,判断的是地址
字符串常量池

字符串有两种创建方式分别是
(1)String s1="abc";s1指向的是String常量池中的字符串
(2)String s2=new String("abc");s2指向的是堆上的对象
两种创建方式的比较:
(1)String s1=new String("abc"),需要注意的是,这样的创建方式每次都会生成新的对象,与String s2=new String("abc"),表面上内容一样,但s1与s2地址不一样。即s1.equals(s2)返回true,s1==s2返回false。
(2)String s1="abc"与String s2="abc",他们不仅内容相同,首地址也相同。那为什么呢?原来java中存在着一个字符串常量池,里面保存着很多已经创建出来的String对象,最重要的是他们可以被共享。当需要创建一个字符串时,首先会在常量池中寻找此字符串。若存在(判断依据是equals的返回值),则直接获取它的引用。若不存在,则首先创建这个字符串对象,然后将它放入到字符串常量池中,最后再获取它的引用。所以这里的s1与s2其实引用着相同的字符串对象。

浙公网安备 33010602011771号