JAVA從頭回顧--java環境基礎篇

概述

        前段時間忙於面試,在面試過程當中,發現工做幾年,有不少基礎有些淡忘了,如今從新從基礎開始回顧,JAVA從入門到放棄系列博文將會記錄一下基於JDK1.6在工做中不經常使用而容易忘記,可是有必需要掌握的一些知識點, 本篇先從java環境相關的知識點寫起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咱們不須要安裝。sql

  1.  開發工具:它包含了編譯器、調試器和其它工具,安裝在了JDK目錄的bin目錄的工具命令和lib目錄下實際執行程序。
  2. 演示程序:它提供了JDK的演示代碼,初學者能夠學習這裏面的演示代碼,安裝在JDK目錄的demo目錄下
  3. 樣例:它提供了JDK的簡單示例代碼,初學者能夠學習這裏面的示例代碼,安裝在JDK目錄的sample目錄下
  4. 源代碼:它就是java提供的核心類庫源代碼,安裝在JDK目錄下的src.zip
  5. 公共JRE:不建議安裝,實際開發工做中,基本不須要在網頁運行Applet,因此無需單獨安裝JRE,直接使用JDK目錄下的JRE目錄便可,
  6. 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)的瀏覽器中運行oracle

因爲實際工做中在網頁執行java程序的可能性微乎其微,因此Java Plug-in基本無用武之地了。jvm

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++編程語言中,須要程序員本身控制內存回收,容易形成如下問題

  1.     忘記及時回收形成內存泄漏
  2.    錯誤回收核心類庫,致使程序異常甚至崩潰

    java編程語言,則由JVM自行回收無用對象,不一樣的JVM垃圾回收機制不一樣。一般它們垃圾回收有如下特色

  1.     垃圾回收是回收無用對象,也就是JVM堆內存的空間,它只回收內存資源,因此 IO資源和數據庫鏈接資源等其餘非內存資源須要程序員手動回收
  2.    垃圾回收通常是在內存資源緊張或者CPU空閒時啓動回收,回收時間不定,程序員沒法控制,只能告知JVM某些對象能夠回收了。

下一篇將會回顧面向對象相關的知識點,歡迎大神提出異議拍磚共勉。

相關文章
相關標籤/搜索