概述
前段时间忙于面试,在面试过程中,发现工作几年,有很多基础有些淡忘了,现在重新从基础开始回顾,JAVA从入门到放弃系列博文将会记录一下基于JDK1.6在工作中不常用而容易忘记,但是有必须要掌握的一些知识点, 本篇先从java环境相关的知识点写起
JDK和JRE关系
开始学习JAVA开发时,首先就需要大家配置JAVA环境,这里就不赘余JAVA环境配置了,大家最开始认识JAVA都是从JDK安装学起
JDK
JDK全称为Java Development Kit ,JAVA分为javaSE,javaEE,javaME,java分别为java SE提供了JDK,为javaEE提供了java EE SDK,为javaME提供了java ME SDK三个开发包。
平时开发搭建的是java SE的JDK环境,java EE SDK中也包含了JDK,JDK是java开发的软件包,它包含了 Java系统类库、运行环境 和Java工具,JDK安装选项中有开发工具,演示程序及样例、源代码、公共JRE、java DB五部分,其中公共JRE和javaDB我们不需要安装。
- 开发工具:它包含了编译器、调试器和其它工具,安装在了JDK目录的bin目录的工具命令和lib目录下实际执行程序。
- 演示程序:它提供了JDK的演示代码,初学者可以学习这里面的演示代码,安装在JDK目录的demo目录下
- 样例:它提供了JDK的简单示例代码,初学者可以学习这里面的示例代码,安装在JDK目录的sample目录下
- 源代码:它就是java提供的核心类库源代码,安装在JDK目录下的src.zip
- 公共JRE:不建议安装,实际开发工作中,基本不需要在网页运行Applet,所以无需单独安装JRE,直接使用JDK目录下的JRE目录即可,
- javaDB:不建议安装,实际开发工作中,均使用Mysql,oracle等数据库,不会使用到javaDB,它对应的目录是JDK目录的DB目录
oracle收购了sun公司,java对应的SDK均需要在oracle官网(www.oracle.com)下载,如下图点击相应链接进行下载
JRE
JRE的全称是Java Runtime Environment,它包含了Java Runtime Environment和Java Plug-in两部分。
Java Runtime Environment(JRE)顾名思义,它是java的运行环境,如果只是运行java程序,只需安装它即可,它 Java虚拟机(jvm)、Java核心类库和支持文件。
Java Plug-in是允许Java Applet和JavaBean组件在Java Runtime Environment(JRE)的浏览器中运行
由于实际工作中在网页执行java程序的可能性微乎其微,所以Java Plug-in基本无用武之地了。
classpath
有人说我在实际开发中用过classpath,我熟悉它,这就暴露了我们的年龄,擦泪继续,因为在JDK1.5以上版本不设置classpath也可以正常开发运行java程序。JDK1.4以下版本通常需要设置classpath。
classpath配置作用是什么呢? JDK1.4以前,当我们使用java命令运行java程序时,jre要根据classpath路径去找需要运行的java程序,JDK1.5以上做了优化,jre会自动在运行java命令的目录去寻找对应的类,所以无需配置此选项。
在JDK1.5以上版本不建议配置它,当配置了classpath,jre还是会根据classpath配置去寻找运行程序,其中就有配错的风险,配错后,就容易出各种问题了。如果要配置它,一点要在前面加上英文符号的点, 即在当前目录搜索java类,否则在运行java程序时会报 NoClassDefFoundError。
java垃圾回收机制
java垃圾自动回收机制,解决了程序员的一大头疼问题。
在C/C++编程语言中,需要程序员自己控制内存回收,容易造成以下问题
- 忘记及时回收造成内存泄漏
- 错误回收核心类库,导致程序异常甚至崩溃
java编程语言,则由JVM自行回收无用对象,不同的JVM垃圾回收机制不同。通常它们垃圾回收有以下特点
- 垃圾回收是回收无用对象,也就是JVM堆内存的空间,它只回收内存资源,所以 IO资源和数据库连接资源等其他非内存资源需要程序员手动回收
- 垃圾回收一般是在内存资源紧张或者CPU空闲时启动回收,回收时间不定,程序员无法控制,只能告知JVM某些对象可以回收了。
下一篇将会回顾面向对象相关的知识点,欢迎大神提出异议拍砖共勉。