java学习篇1-Java开发环境

来源:互联网 发布:java中二分法查找 编辑:程序博客网 时间:2024/06/06 09:28

1.CLASSPATH环境变量
如果指定了CLASSPATH环境变量,需在其中增加一点(.),一点代表当前路径,用以强制Java解释器在当前路径下搜索J啊v啊类。
2.大小写问题
java语言严格区分大小写,Java类必须包含main方法,main方法必须使用publlic和static来修饰,必须使用void声明该方法的返回值,而且该方法的蚕食类型只能是一个字符串数组,而不能是其他形式的参数。对于这个main方法而言,前面的public和static修饰符的位置可以互换,但其他部分则是固定的。
定义mian方法时,不要写成Main方法,如果写成大写,编译时不会出现任何问题,但运行该程序时将给出如下错误提示:
错误:在类xxx中找不到main方法,请将main方法定义为:
public static void main(String[] args)
这个错误提示找不到main方法,因为Java虚拟机只会选择从main方法开始执行;对于Main方法,Java虚拟机会把该方法当成一个普通方法,而不是程序的入口。
main方法里可以放置程序员需要执行的可执行性语句,在Java程序执行输出有两种简单的方式:System.out.print(需要输出的内容)和System.out.println(需要输出的内容),其中前者在输出结束后不会换行,后者在输出结束后会换行。
3.垃圾回收
JRE负责回收不再使用的内存,JRE提供一个后台线程进行检测和控制,一般都是在CPU空闲或内存不足时自动进行垃圾回收,而程序员无法精确控制垃圾回收的时间和顺序等。
垃圾回收特点:
a.垃圾回收机制的工作目标是回收无用对象的内存空间,这些空间都是JVM堆内存里的内存空间,来及回收只能回收内存资源,对其他物理资源,如数据库连接、磁盘I/O等资源则无能为力。
b.为了更快地让垃圾回收机制回收那些不再使用的对象,可以将该对象的应用变量设置为null,通过这种方式暗示垃圾回收机制可以回收该对象。
c.垃圾回收发生不可预知性。程序员可以通过Runtime对象的gc()和System.gc()等方法来建议系统进行垃圾回收,但这种调用仅仅是建议,依然不能精确控制垃圾回收机制的执行。
d.垃圾回收的精确性包括两个方面:一是垃圾回收机制能够精确地标记活着的对象;而是垃圾回收机制能够精确地定位对象之间的引用关系。
e.现在的JVM有多种不同的垃圾回收实现。
当编写Java程序时,一个基本原则是:对于不在需要的对象,不要引用它们。如果保持对这些对象的引用,垃圾回收机制暂时不会回收该对象,则会导致系统可用内存越来越少;当系统可用内存越来越少时,垃圾回收执行的频率就越来越高,从而导致系统性能下降。
元空间(Metspace)使用本地内存来存储类的元数据信息。