一.关于Java的一些基本概念

1.对于jre,jdk,jvm,api,sdk的解释:

  sdk:软件开发工具包
  jdk:Java开发工具包
  jre:Java运行时环境
  api:应用程序编程接口

2.jdk包含:{
  javalanguage tools(javac java javadoc),
  jre(lib,jvm){包含rt.jar: 包含了api中的class字节码}
 }

3.环境变量的配置
  javahome:jdk的安装目录
  path:Java命令路径(java javac javadoc)
  classpath:类加载路径

4.对于Javac命令的理解
  javac -cp bin -d bin;
  java编译命令 指定类加载路径 编译后的.class文件放在哪里

5.Java的优秀特性
  面向对象(多态,继承,封装)
  基于C++但是没有指针
  一次编译,处处运行
  支持多线程
  安全性较高

6.Java 程序的运行
  编辑:源代码->字节码
  运行:类加载器->字节码验证->解释执行或即时编译(JIT)

  类加载的双亲委托机制:boot -> ext-> app
  问题:类加载器是不是在jvm 中?

7.java字节码验证的是什么:代码兼容JVM,类型转换正确,参数类型一致,不可以堆栈溢出,不可破坏系统完整性

8.Java中的三个顶级元素:Import package class

9.Java中的垃圾回收机制

不同于c++,Java中没有释放内存的关键字,也没那种写法

  gc:垃圾回收器
  优先级不高的线程,回收没有任何指向的内存,无用的对象内存
  System.gc();
    标记清扫法
    内存搬移法

原文地址:https://www.cnblogs.com/Magic-Li/p/12786356.html