Java 第一章 初始java

**一.JDK环境**
对于初学者java的人来说第一步不仅是了解java的发展历史,更应该要学会如何配置jdk。(配置jdk可参考:http://t.csdn.cn/OcAYq)
**二.JDK简介**
jdk是java开发的核心,包括了Java运行环境、一堆Java工具和Java基础的类库![在这里插入图片描述](https://img-blog.csdnimg.cn/5d6aeef4f0874601b1a788c21a1e9ea5.png)

三.JDK语言特点
①面向对象性:两个基本概念:类、对象;三大特性:封装、继承、多态
②健壮性:吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制
③跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。

四.什么是GC,其作用是什么?
GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃;Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。

五.常见面试题:垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
当程序员创建对象时,**GC就开始监控这个对象的地址、大小以及使用情况。**通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。
当GC确定一些对象为"不可达"时,GC就有责任回收这些内存空间。可以程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定会执行。

你可能感兴趣的:(java,jvm,面试)