當前位置:編程學習大全網 - 編程語言 - JAVA編程解析之classpath的深入理解

JAVA編程解析之classpath的深入理解

 現在的JAVA編程是內容最多也是難度最大的程序 對於每壹個程序員來說 對每個知識都要進行深入的理解 這也是壹個循序漸進的壹個過程 本文章主要對於classpath作壹個深入的解析 希望對各位朋友們有所幫助

 jvm的類加載分三中方式

 系統級別 rt jar

 擴展級別 java_home/jre/lib/ext/目錄下的jar文件

 應用級別 環境變量中的classpath或javac? java中的參數指定java? classpath …

 或者自己寫ClassLoader加載

 前面 中是JVM自動處理 其中第二種是為了處理Java的classpath災難而提供的解決方案

 實際上java虛擬機是由java luncher初始化的 也就是java(或java exe)

 這個程序來做的 ? 虛擬機按以下順序搜索並裝載所有需要的類

  ? 引導類 ? 組成java平臺的類 ? 包含rt jar和i n jar中的類

  ? 擴展類 ? 使用java擴展機制的類 都是位於擴展目錄($JAVA_HOME/jre/lib/ext)

 中的 jar檔案包

  ? 用戶類 ? 開發者定義的類或者沒有使用? java? 擴展機制的第三方產品 ? 妳必須在

 命令行中使用? classpath? 選項或者使用? CLASSPATH? 環境變量來確定這些類的位置 ? 我

 們在上面所說的用戶自己的類就是特指這些類

 這樣 ? 壹般來說 ? 用戶只需指定用戶類的位置 ? 引導類和擴展類是 自動 尋找的

 當妳的程序需要第三方的類庫支持 ? 而且比較常用 ? 就可以采用此種方法 比如常

 用的數據庫驅動程序 ? 寫? servlet? 需要的? servlet? 包等等 ? 設置方法就是在環境變量中

 加入? CLASSPATH ? 然後就可以直接編譯運行了 而妳的程序只用了些基礎類 尋找時 就用不

 著必須設定它

 在執行Java程序的時候 會自動加載程序用中需要的在rt jar和其他java_home\jre\lib中包含的 jar文件中包含的Java基礎類庫和壹些擴展類庫 這些都是JVM自動處理的 對用戶來說是透明的

 如果Java程序中使用到了壹些應用級別的類(如第三方的類) 可以在javac和java中的 classpath選項中指定它們的搜索路徑 或者是自 己寫ClassLoader加載 另外也可以設置ClassPath環境變量 在裏面指定那些蝶閥應用級別的類的搜索路徑

 設置ClassPath環境變量不是必須的 只是為了方便使用 設置了ClassPath JDK就會按ClassPath制定的路徑去搜索需要的應用級別的類 而不必每壹次都使用 classpath選項或自己寫ClassLoader

 還有需要註意的就是 如果相關的類就在當前工作目錄下的話 上面 種方法都可以不要 因為JDK系統會首先搜索會在當前的工作目錄中搜索程序相關的類 (在jdk 下已經驗證)

lishixinzhi/Article/program/Java/hx/201311/26234

  • 上一篇:如何在電腦程序運行中打開ppt文件
  • 下一篇:惠普彩色打印機的調整方法
  • copyright 2024編程學習大全網