Java环境变量说开去

1、用Java开发的前提就是安装完jdk后并进行正确的环境变量设置,很多人在设置环境变量时都喜欢新建或设置三个变量:JAVA_HOME、PATH、CLASSPATH;其实经过实践证明,只需要正确设置前两个环境变量JAVA_HOME和PATH就可以了,第三个不仅没有必要设置,而且容易出错(如网上有些设置值为.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\jre\lib注意最前面还有个实心点和分号)。

2、在设置JAVA_HOME时,一定要定位到jdk_版本号的安装目录中,如C:\Program Files\Java\jdk1.6.0_20,这样有个好处是在进行开发时,可以看到jdk自身类库源码,如String.class中substring等方法源码;

3、其实仔细查看下jdk安装目录,其中结构非常简单,可以在安装目录下利用tree命令把结果重定向到文件中查看:

卷 Windows7_OS 的文件夹 PATH 列表
卷序列号为 00000200 30A9:F101
C:.
├─jdk1.6.0_20
│  ├─bin
│  ├─demo
│  │  ├─applets
│  │  │  ├─Animator
│  │  │  │  ├─audio
│  │  │  │  └─images
│  │  │  │      ├─Beans
│  │  │  │      └─SimpleAnimation
│  │  │  ├─ArcTest
│  │  │  ├─BarChart
│  │  │  ├─Blink
│  │  │  ├─CardTest
│  │  │  ├─Clock
│  │  │  ├─DitherTest
│  │  │  ├─DrawTest
│  │  │  ├─Fractal
│  │  │  ├─GraphicsTest
│  │  │  ├─GraphLayout
│  │  │  │  └─audio
│  │  │  ├─ImageMap
│  │  │  │  ├─audio
│  │  │  │  └─images
│  │  │  ├─JumpingBox
│  │  │  │  └─sounds
│  │  │  ├─MoleculeViewer
│  │  │  │  └─models
│  │  │  ├─NervousText
│  │  │  ├─SimpleGraph
│  │  │  ├─SortDemo
│  │  │  ├─SpreadSheet
│  │  │  ├─TicTacToe
│  │  │  │  ├─audio
│  │  │  │  └─images
│  │  │  └─WireFrame
│  │  │      └─models
│  │  ├─jfc
│  │  │  ├─CodePointIM
│  │  │  │  └─src
│  │  │  │      └─resources
│  │  │  ├─FileChooserDemo
│  │  │  │  └─src
│  │  │  │      └─resources
│  │  │  │          └─images
│  │  │  ├─Font2DTest
│  │  │  │  └─src
│  │  │  ├─Java2D
│  │  │  │  └─src
│  │  │  │      ├─fonts
│  │  │  │      ├─images
│  │  │  │      └─java2d
│  │  │  │          └─demos
│  │  │  │              ├─Arcs_Curves
│  │  │  │              ├─Clipping
│  │  │  │              ├─Colors
│  │  │  │              ├─Composite
│  │  │  │              ├─Fonts
│  │  │  │              ├─Images
│  │  │  │              ├─Lines
│  │  │  │              ├─Mix
│  │  │  │              ├─Paint
│  │  │  │              ├─Paths
│  │  │  │              └─Transforms
│  │  │  ├─Laffy
│  │  │  ├─Metalworks
│  │  │  │  └─src
│  │  │  │      └─resources
│  │  │  │          └─HelpFiles
│  │  │  ├─Notepad
│  │  │  │  └─src
│  │  │  │      └─resources
│  │  │  ├─SampleTree
│  │  │  │  └─src
│  │  │  │      └─resources
│  │  │  │          └─images
│  │  │  ├─Stylepad
│  │  │  │  └─src
│  │  │  │      └─resources
│  │  │  ├─SwingApplet
│  │  │  │  └─src
│  │  │  ├─SwingSet2
│  │  │  │  └─src
│  │  │  │      └─resources
│  │  │  │          └─images
│  │  │  │              ├─buttons
│  │  │  │              ├─combobox
│  │  │  │              ├─filechooser
│  │  │  │              ├─htmldemo
│  │  │  │              ├─ImageClub
│  │  │  │              │  ├─food
│  │  │  │              │  └─misc
│  │  │  │              ├─list
│  │  │  │              ├─Octavo
│  │  │  │              ├─optionpane
│  │  │  │              ├─scrollpane
│  │  │  │              ├─splitpane
│  │  │  │              ├─tabbedpane
│  │  │  │              ├─toolbar
│  │  │  │              └─tooltip
│  │  │  ├─SwingSet3
│  │  │  └─TableExample
│  │  │      └─src
│  │  ├─jpda
│  │  ├─jvmti
│  │  │  ├─agent_util
│  │  │  │  └─src
│  │  │  ├─gctest
│  │  │  │  ├─lib
│  │  │  │  └─src
│  │  │  ├─heapTracker
│  │  │  │  ├─lib
│  │  │  │  └─src
│  │  │  ├─heapViewer
│  │  │  │  ├─lib
│  │  │  │  └─src
│  │  │  ├─hprof
│  │  │  │  └─src
│  │  │  │      └─windows
│  │  │  ├─java_crw_demo
│  │  │  │  └─src
│  │  │  ├─minst
│  │  │  │  ├─lib
│  │  │  │  └─src
│  │  │  ├─mtrace
│  │  │  │  ├─lib
│  │  │  │  └─src
│  │  │  ├─versionCheck
│  │  │  │  ├─lib
│  │  │  │  └─src
│  │  │  └─waiters
│  │  │      ├─lib
│  │  │      └─src
│  │  ├─management
│  │  │  ├─FullThreadDump
│  │  │  │  └─src
│  │  │  ├─JTop
│  │  │  │  └─src
│  │  │  │      └─META-INF
│  │  │  │          └─services
│  │  │  ├─MemoryMonitor
│  │  │  │  └─src
│  │  │  └─VerboseGC
│  │  │      └─src
│  │  ├─nbproject
│  │  │  ├─jfc
│  │  │  │  ├─FileChooserDemo
│  │  │  │  │  └─nbproject
│  │  │  │  ├─Font2DTest
│  │  │  │  │  └─nbproject
│  │  │  │  ├─Java2D
│  │  │  │  │  └─nbproject
│  │  │  │  ├─Metalworks
│  │  │  │  │  └─nbproject
│  │  │  │  ├─Notepad
│  │  │  │  │  └─nbproject
│  │  │  │  ├─SampleTree
│  │  │  │  │  └─nbproject
│  │  │  │  ├─Stylepad
│  │  │  │  │  └─nbproject
│  │  │  │  ├─SwingApplet
│  │  │  │  │  └─nbproject
│  │  │  │  ├─SwingSet2
│  │  │  │  │  └─nbproject
│  │  │  │  └─TableExample
│  │  │  │      └─nbproject
│  │  │  ├─management
│  │  │  │  ├─FullThreadDump
│  │  │  │  │  └─nbproject
│  │  │  │  ├─JTop
│  │  │  │  │  └─nbproject
│  │  │  │  ├─MemoryMonitor
│  │  │  │  │  └─nbproject
│  │  │  │  └─VerboseGC
│  │  │  │      └─nbproject
│  │  │  └─scripting
│  │  │      └─jconsole-plugin
│  │  │          └─nbproject
│  │  ├─plugin
│  │  │  ├─applets
│  │  │  │  ├─Animator
│  │  │  │  │  ├─audio
│  │  │  │  │  └─images
│  │  │  │  │      ├─Beans
│  │  │  │  │      └─SimpleAnimation
│  │  │  │  ├─ArcTest
│  │  │  │  ├─BarChart
│  │  │  │  ├─Blink
│  │  │  │  ├─CardTest
│  │  │  │  ├─Clock
│  │  │  │  ├─DitherTest
│  │  │  │  ├─DrawTest
│  │  │  │  ├─Fractal
│  │  │  │  ├─GraphicsTest
│  │  │  │  ├─GraphLayout
│  │  │  │  │  └─audio
│  │  │  │  ├─ImageMap
│  │  │  │  │  ├─audio
│  │  │  │  │  └─images
│  │  │  │  ├─JumpingBox
│  │  │  │  │  └─sounds
│  │  │  │  ├─MoleculeViewer
│  │  │  │  │  └─models
│  │  │  │  ├─NervousText
│  │  │  │  ├─SimpleGraph
│  │  │  │  ├─SortDemo
│  │  │  │  ├─SpreadSheet
│  │  │  │  ├─TicTacToe
│  │  │  │  │  ├─audio
│  │  │  │  │  └─images
│  │  │  │  └─WireFrame
│  │  │  │      └─models
│  │  │  └─jfc
│  │  │      ├─CodePointIM
│  │  │      │  └─src
│  │  │      │      └─resources
│  │  │      ├─FileChooserDemo
│  │  │      │  └─src
│  │  │      │      └─resources
│  │  │      │          └─images
│  │  │      ├─Font2DTest
│  │  │      │  └─src
│  │  │      ├─Java2D
│  │  │      │  └─src
│  │  │      │      ├─fonts
│  │  │      │      ├─images
│  │  │      │      └─java2d
│  │  │      │          └─demos
│  │  │      │              ├─Arcs_Curves
│  │  │      │              ├─Clipping
│  │  │      │              ├─Colors
│  │  │      │              ├─Composite
│  │  │      │              ├─Fonts
│  │  │      │              ├─Images
│  │  │      │              ├─Lines
│  │  │      │              ├─Mix
│  │  │      │              ├─Paint
│  │  │      │              ├─Paths
│  │  │      │              └─Transforms
│  │  │      ├─Laffy
│  │  │      ├─Metalworks
│  │  │      │  └─src
│  │  │      │      └─resources
│  │  │      │          └─HelpFiles
│  │  │      ├─Notepad
│  │  │      │  └─src
│  │  │      │      └─resources
│  │  │      ├─SampleTree
│  │  │      │  └─src
│  │  │      │      └─resources
│  │  │      │          └─images
│  │  │      ├─Stylepad
│  │  │      │  └─src
│  │  │      │      └─resources
│  │  │      ├─SwingApplet
│  │  │      │  └─src
│  │  │      ├─SwingSet2
│  │  │      │  └─src
│  │  │      │      └─resources
│  │  │      │          └─images
│  │  │      │              ├─buttons
│  │  │      │              ├─combobox
│  │  │      │              ├─filechooser
│  │  │      │              ├─htmldemo
│  │  │      │              ├─ImageClub
│  │  │      │              │  ├─food
│  │  │      │              │  └─misc
│  │  │      │              ├─list
│  │  │      │              ├─Octavo
│  │  │      │              ├─optionpane
│  │  │      │              ├─scrollpane
│  │  │      │              ├─splitpane
│  │  │      │              ├─tabbedpane
│  │  │      │              ├─toolbar
│  │  │      │              └─tooltip
│  │  │      ├─SwingSet3
│  │  │      └─TableExample
│  │  │          └─src
│  │  └─scripting
│  │      └─jconsole-plugin
│  │          └─src
│  │              ├─com
│  │              │  └─sun
│  │              │      └─demo
│  │              │          └─scripting
│  │              │              └─jconsole
│  │              ├─META-INF
│  │              │  └─services
│  │              ├─resources
│  │              └─scripts
│  ├─include
│  │  └─win32
│  ├─jre
│  │  ├─bin
│  │  │  ├─client
│  │  │  ├─new_plugin
│  │  │  └─server
│  │  └─lib
│  │      ├─applet
│  │      ├─audio
│  │      ├─cmm
│  │      ├─deploy
│  │      │  └─jqs
│  │      │      ├─ff
│  │      │      │  └─chrome
│  │      │      │      └─content
│  │      │      └─ie
│  │      ├─ext
│  │      ├─fonts
│  │      ├─i386
│  │      ├─im
│  │      ├─images
│  │      │  └─cursors
│  │      ├─management
│  │      ├─security
│  │      ├─servicetag
│  │      └─zi
│  │          ├─Africa
│  │          ├─America
│  │          │  ├─Argentina
│  │          │  ├─Indiana
│  │          │  ├─Kentucky
│  │          │  └─North_Dakota
│  │          ├─Antarctica
│  │          ├─Asia
│  │          ├─Atlantic
│  │          ├─Australia
│  │          ├─Etc
│  │          ├─Europe
│  │          ├─Indian
│  │          ├─Pacific
│  │          └─SystemV
│  ├─lib
│  │  └─visualvm
│  │      ├─etc
│  │      ├─platform10
│  │      │  ├─config
│  │      │  │  ├─ModuleAutoDeps
│  │      │  │  └─Modules
│  │      │  ├─core
│  │      │  │  └─locale
│  │      │  ├─docs
│  │      │  ├─lib
│  │      │  │  └─locale
│  │      │  ├─modules
│  │      │  │  ├─ext
│  │      │  │  │  └─locale
│  │      │  │  └─locale
│  │      │  └─update_tracking
│  │      ├─profiler3
│  │      │  ├─config
│  │      │  │  └─Modules
│  │      │  ├─lib
│  │      │  │  ├─deployed
│  │      │  │  │  ├─jdk15
│  │      │  │  │  │  └─windows
│  │      │  │  │  └─jdk16
│  │      │  │  │      └─windows
│  │      │  │  └─locale
│  │      │  ├─modules
│  │      │  │  ├─docs
│  │      │  │  │  └─locale
│  │      │  │  └─locale
│  │      │  └─update_tracking
│  │      └─visualvm
│  │          ├─config
│  │          │  └─Modules
│  │          ├─core
│  │          │  └─locale
│  │          ├─modules
│  │          │  └─locale
│  │          └─update_tracking
│  └─sample
│      ├─javac
│      │  └─processing
│      │      └─src
│      ├─jmx
│      │  └─jmx-scandir
│      │      ├─docfiles
│      │      ├─nbproject
│      │      ├─src
│      │      │  ├─com
│      │      │  │  └─sun
│      │      │  │      └─jmx
│      │      │  │          └─examples
│      │      │  │              └─scandir
│      │      │  │                  └─config
│      │      │  └─etc
│      │      └─test
│      │          └─com
│      │              └─sun
│      │                  └─jmx
│      │                      └─examples
│      │                          └─scandir
│      │                              └─config
│      ├─jnlp
│      │  ├─corba
│      │  │  ├─src
│      │  │  │  ├─core
│      │  │  │  └─stubs
│      │  │  └─war
│      │  │      ├─app
│      │  │      └─WEB-INF
│      │  ├─jreinstaller
│      │  │  ├─build
│      │  │  │  ├─linux
│      │  │  │  │  ├─jreinstallers
│      │  │  │  │  │  ├─j2re1_4_2
│      │  │  │  │  │  └─resources
│      │  │  │  │  └─minclude
│      │  │  │  ├─share
│      │  │  │  │  └─jreinstallers
│      │  │  │  ├─solaris
│      │  │  │  │  ├─jreinstallers
│      │  │  │  │  │  ├─j2re1_4_2
│      │  │  │  │  │  └─resources
│      │  │  │  │  └─minclude
│      │  │  │  └─win32
│      │  │  │      ├─jreinstallers
│      │  │  │      │  ├─j2re1_4_2
│      │  │  │      │  └─resources
│      │  │  │      └─minclude
│      │  │  └─src
│      │  │      ├─share
│      │  │      │  └─classes
│      │  │      │      └─jnlp
│      │  │      │          └─sample
│      │  │      │              └─JreInstaller
│      │  │      │                  └─resources
│      │  │      └─win32
│      │  │          └─jreinstallers
│      │  ├─raf
│      │  │  ├─src
│      │  │  └─war
│      │  │      ├─app
│      │  │      └─WEB-INF
│      │  ├─servlet
│      │  │  └─src
│      │  │      └─classes
│      │  │          └─jnlp
│      │  │              └─sample
│      │  │                  ├─jardiff
│      │  │                  │  └─resources
│      │  │                  ├─servlet
│      │  │                  │  └─resources
│      │  │                  └─util
│      │  └─webpad
│      │      ├─src
│      │      │  ├─servlet
│      │      │  └─version1
│      │      └─war
│      │          ├─app
│      │          └─WEB-INF
│      ├─nbproject
│      ├─nio
│      │  └─server
│      ├─scripting
│      │  └─scriptpad
│      │      ├─nbproject
│      │      └─src
│      │          ├─com
│      │          │  └─sun
│      │          │      └─sample
│      │          │          └─scriptpad
│      │          ├─META-INF
│      │          ├─resources
│      │          └─scripts
│      └─webservices
│          ├─EbayClient
│          │  ├─nbproject
│          │  └─src
│          │      └─ebay
│          │          └─client
│          │              └─handler
│          └─EbayServer
│              ├─images
│              ├─nbproject
│              └─src
│                  └─ebay
│                      └─server
└─jre6
    ├─bin
    │  ├─client
    │  └─new_plugin
    └─lib
        ├─applet
        ├─audio
        ├─cmm
        ├─deploy
        │  └─jqs
        │      ├─ff
        │      │  └─chrome
        │      │      └─content
        │      └─ie
        ├─ext
        ├─fonts
        ├─i386
        ├─im
        ├─images
        │  └─cursors
        ├─management
        ├─security
        ├─servicetag
        └─zi
            ├─Africa
            ├─America
            │  ├─Argentina
            │  ├─Indiana
            │  ├─Kentucky
            │  └─North_Dakota
            ├─Antarctica
            ├─Asia
            ├─Atlantic
            ├─Australia
            ├─Etc
            ├─Europe
            ├─Indian
            ├─Pacific
            └─SystemV
因为安装了jre所以有两个顶级目录jdk1.6.0_20和jre6,其中jre6目录不用看,因为 jdk1.6.0_20目录中有一个jre目录和该目录结构绝大部分相同,所以jre6只是jdk1.6.0_20目录的子集。

4、在jdk1.6.0_20目录中,只用注意两个目录bin和lib,demo等其它目录和实际开发关系不大。在bin目录中绝大多数是可执行程序,如开发用的工具java,javac等命令;当然还包括jvm相关工具,如jps,jstat等;

5、lib目录下包含jdk类库,这里有个疑问:为什么找不到Java中各个类的class文件(如String.class等)?


你可能感兴趣的:(jdk类库)