《疯狂JAVA》读书笔记-第一章 JAVA语言概述和开发环境

本章要点:Java语言简介、发展历史、优势和安装等

1、高级语言

高级语言一般分编译型语言和解释型语言,c、c++等属于编译型语言,而python、ruby属于解释型语言。由于java的执行过程是:先编译成*.class的文件(与平台无关的字节码文件),此类文件无法直接执行,必须由java解释器(JVM)来解释执行,所以java既不是纯粹的编译型语言,又不是纯粹的解释型语言。

2、开发准备

  • 下载jdk,目前稳定流行版本的jdk1.8
  • 解压jdk,在环境变量Path中配置java环境变量。用户变量和系统变量的区别:用户变量是当前的登录用户生效,系统变量是所有的用户。
  • 环境变量ClassPath,在早期的jdk版本需要设置这个环境变量,jdk1.5以上的版本不需要设置。改该表示JRE会搜索该路径下的JAVA类。如配置,可以配置一点(.),表示搜索当前路径下的java类型。

3、垃圾回收机制

  • c/c++由程序员显示的内存回收。(容易导致内存泄漏或者回收核心的类库的内存,导致系统崩溃)
  • java的内存分配和回收由JRE在后台自动进行(有专门负责gc的线程负责控制和检测,在CPU或者内存不足的时候自动进行回收)
  • java堆内存,是运行时的内存空间,存放类的示例(运行时的所有对象)。java的垃圾回收机制就是释放那些没有再被引用的对象(特定的算法去发现这种对象,标志位垃圾信息)和整理内存碎片,释放更多空间。
  • 垃圾回收几个特点:1、不可预见性(可在cpu空闲时回收,可在消耗极限时回收);2、只回收内存资源,其他资源不回收,例如磁盘、IO等无能为力;3、回收算法多种多样;

对于无用对象,一定不要再引用它,以便回收机制发现它,释放更多资源。

打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • © 2015-2020 谭家俊
  • Powered by Hexo Theme Ayer
  • PV: UV:

请我喝杯咖啡吧~

微信