问题:1、java语言的特点是什么?
问题:2、System.out.println()和System.out.print()什么区别呢?
问题:3、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
问题:4、Something类的文件名可以叫OtherThing.java吗?
问题:5、为什么要设置path(或者说,设置path的目的是什么)?
问题:6、JDK,JRE和JVM的关系是什么?
问题:7、程序中若只有一个public修饰的类,且此类含main方法。那么类名与源文件名可否不一致?
超纲题目:1、GC是什么? 为什么要有GC
超纲题目:2、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
答:
问题一:
1、简单:相较于c、c++,书写更简单,没有指针的概念;
2、面向对象:一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物,是一种是软件开发方法。面向对象主要有四大特性,分别为:抽象、封装、继承、多态。
3、跨平台运行:“Write once, Run Anywhere”
**问题二:**System.out.println() 会换行输出
**问题三:**可以包含多个类,但只能有一个public修饰的类。
**问题四:**因public修饰的类的类名须与文件名保持一致,即Something类非pub类的修饰的类时,不必遵循此原则,可以将其文件名命名为OtherThing.java.
**问题五:**设置path路径的目的是在系统中任何位置运行java文件时,快速的找到jdk程序来编译代码输出结果。
**问题六:**三者关系
JDK(Java Development Kit)>JRE(Java Runtime Environment)>JVM(Java Virtual Machine(>表示包含)
**问题七:**不可以,因public修饰的类的类名须与文件名保持一致
超纲题目:1、GC是什么? 为什么要有GC?
答:GC即Garbage Collection,垃圾收集。Java中的垃圾回收器,有了GC,程序员无需手动控制内存的释放,当JVM或.NETCLR发觉内存资源紧张时,会自动的清理无用的对象(没有被使用的对象),达到有效的防止内存泄露,有效的使用可以使用的内存的目的。(https://blog.youkuaiyun.com/zggxyx2004/article/details/2756669?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase)
超纲题目:2、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
基本原理:垃圾回收器的基本原理是跟踪并回收托管内存中分配的对象,定期执行垃圾回收以回收分配给没有有效引用的对象的内存。当使用可用内存不能满足内存请求时,GC会自动进行。
在进行垃圾回收时,垃圾回收器回首先搜索内存中的托管对象,然后从托管代码中搜索被引用的对象并标记为有效,接着释放没有被标记为有效的对象并收回内存,最后整理内存将有效对象挪动到一起。这就是GC的四个步骤。
为了减少一些性能影响,.net的GC支持对象老化,或者说分代的概念,代是对象在内存中相对存现时期的度量单位,对象的代数或存现时期说明对象所属的代。目前.net的垃圾回收器支持三代。每进行一次GC,没有被回收的对象就自动提升一代。较近创建的对象属于较新的代,比在应用程序生命周期中较早创建的对象的代数低。最近代中的对象位于零代中。每一次GC的时候,都首先回收零代中的对象,只有在较低代数的对象回收完成后仍不能满足需求的情况下才回收较高代数的对象。参考文章[垃圾回收器](https://blog.youkuaiyun.com/zggxyx2004/article/details/2756669?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase)
程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定会执行。gc()函数的作用只是提醒虚拟机:程序员希望进行一次垃圾回收。但是它不能保证垃圾回收一定会进行,而且具体什么时候进行是取决于具体的虚拟机的,不同的虚拟机有不同的对策。GC垃圾回收器有其特定的回收准则。综上垃圾回收器不一定可以马上回收内存。 参考文章:[垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?](https://www.cnblogs.com/zhangxiaopeng/p/5001171.html)