JAVA疯狂讲义笔记(一)

编译型和解释型语言:
编译型语言:使用专门的编译器,针对特定的平台将高级程序语音翻译成能被该平台识别的机器码。通过编译后需要将多个目标代码链接成可执行程序。可以脱离开发环境独立运行,运行效率高,但无法移植到其他平台。如果要移植的话,需要复制源代码到特定平台进行修改,并且在特定平台的编译器中重新编译。(不需要每运行一次,就编译一次,速度快)


解释型语言:每次执行解释型语言的程序都必须进行一次编译,所以不能脱离解释器独立运行。但是解释型语言跨平台性好,只要提供特定平台的解释器,牺牲代码执行效率为代价。(Ruby、Python)


Java需要2个步骤,java程序先经过编译->与平台无关的字节码(.class文件,编译器面向JVM的,生产JVM能识别的代码)。-特定平台的JVM对字节码进行解释(不同平台的JVM也是不同的,这一步相当于解释型语言),形成特定平台的机器码。


JAVA:JVM和垃圾回收机制




JRE:JAVA运行环境,包括JVM和一些类加载器、字节码校验器和大量的基础类库。


计算机根据PATH(WINDOWS不分大小写,LINUX分)的路径进行寻找,PATH设置对了后,就不会出现"XXX不是内部或外部指令,也不是可运行的程序或批处理文件"


系统变量对全部用户,用户变量只是针对用户个人,用户变量的优先级>系统变量


classpath:JDK1.5以后基本可以不声明CLASSPATH环境变量。当然如果你设置了ClassPath那么系统会去CLASSPATH的路径上找.class文件,当然也可以临时指定classpath(此时环境变量中的ClassPath失效)  java -classpath dir1;dir2;.....;dirN.当然可以加上当前路径(.)和环境变量中的ClassPath(%CLASSPATH%)


一个JAVA源文件可以有多个类,但是最多只能包含一个PUBLIC类。如果JAVA源文件里包含public类,那么这个源文件必须和这个类同名。(推荐使用:一个类一个源文件,每个源文件中的那个类都是PUBLIC,都与文件名保持一致,增加可读性)


垃圾回收机制:GC ,JRE提供一个超级线程在CPU空闲或内存不足时,对内存进行自动回收,程序员无法确定时间和顺序。当一个对象不再被引用时,被视为“垃圾”。GC主要是任务:发现无用对象,对无用对象进行回收,以便空间被程序再次使用。对于不再使用的对象,不要再引用它,否则内存会越来越小,垃圾回收的频率越来越快,系统性能降低。


垃圾回收机制的精确性:标记引用对象还活着,确定对象之间的引用关系。保证所有的对象都会被回收,所有空间都会被重新分配,减少内存碎片。
  • 1
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值