`
chenming47
  • 浏览: 94283 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

《java深度历险》学习笔记--深入java 2 sdk

阅读更多

1、什么是jdk,jdk的作用?
jdk是java的开发工具,开发任何的java程序都需要jdk的辅助。


2、jdk、jre、jvm之间的关系
jdk是java的开发工具,它包含了jre;jre是java程序的运行环境;jvm是虚拟机,其本质是jre中的动态联接函数库。


3、jdk安装后为什么会有两套jre?
jdk中也含有很多用java开发的工具,这些工具本身也是java程序,也需要在jdk默认安装的jre上运行,另一套可选安装的jre则是用来运行程序员编写的java程序的,当然程序员编写的java程序也可以在jdk默认安装的jre上运行。


4、包装器的含义
javac.exe本质上是一个类的包装器,它的主要作用是执行对应的程序并且避免开发者输入过长的指令,类似于快捷方式。

 

5、包装器的运行机制
javac.exe先找到jre中的tools.jar,然后运行其中的com.sun.tools.javac.Main函数

 

6、运行jdk命令发生错误的原因
由于一台电脑中可以安装多套的jdk和jre,所以在执行类似java.exe命令时,首先要弄清楚执行的是哪套jdk下的java.exe命令,其次要弄清楚这个java.exe命令是在哪套jre下运行的,最后要确保java.exe和jre是否同一版本,否则会报版本不符错误,此外如果执行java -server -version类似的命令则要查看对应的jdk的bin目录或jre的bin目录里是否有对应的命令或文件夹结构

 

7、如何判断执行的java.exe或javac.exe是哪套jdk下的?
默认情况下程序执行的是系统环境变量path值下的第一个含有java.exe命令路径下的java.exe命令,可以通过在dos窗口下执行path=……来设定执行java.exe命令的文件目录。

 

8、java.exe寻找jre作为程序运行环境的默认顺序?
系统首先默认寻找java.exe所在目录的子目录是否有jre文件,如果没有则寻找java.exe所在目录的父目录下是否有jre文件,如果还是没有则寻找WindowsRegistry(HKEY_LOCAL_MACHINE\Software\JavaSoft\Java
Runtime Environment\)下的jre

 

9、jre之间的关系
jre就相当于一台pc,各个pc间是各自独立的个体,同样各个jre间也是各自独立的个体,对jre a进行的设置或增加类库,不会对jre b产生任何影响,反之依然

 

10、使用者环境变量与系统环境变量的区别
使用者环境变量只对当前使用者起作用,系统环境变量则对登录该系统的所有用户有效,在dos窗口中运行path命令可以发现系统环境变量默认排在用户环境变量之前。由于pc中有可能有多套的jdk及jre,所以为了避免使用用户环境变量指定的javac.exe编译后的程序,在执行java.exe命令时会在系统环境变量制定的jre上运行,从而产生错误,我们应该选择设置系统环境变量的path为妙

 

11、为了避免在dos窗口编译和运行java程序时发生错误,最好在编译和运行程序前先设定path变量为要使用的jdk的bin路径。

 

12、javac.exe 与java.exe的运行机理
javac.exe用于编译程序只有在jdk的bin目录下存在,也因此它默认使用jdk下默认安装的jre作为运行环境,而java.exe用于运行java程序在window/system32这样的文件夹中也有,它会按系统默认的顺序去寻找jre来作为程序运行环境

 

13、java -classpath 类路径 包名.主类名 该命令用于执行指定类路径下的主方法

jar包程序运行步骤:

1、在dos窗口中进入jar包所在的目录

2、执行java -classpath jar包完整名称 主类所在的包名,如果没有可以省略 主类名

 

14、jdk不但有很多的版本,而且不同的公司也有自己的jdk,比如ibm就有自己的jdk,各自的公司的jdk都有自己的优缺点,不过我们一般都用sun开发的jdk

 

15、dos中path的设置只对当前窗口有效。

 

16、classpath环境变量用于设置程序运行时的类的加载路径,如果没有设置,程序运行时则从当前窗口所在的路径下寻找class文件,如果有设置则先从classpath环境变量设置的目录下加载class然后再到当前窗口所在的路径下寻找class文件

 

17、jdk安装时设置path和classpath环境变量只是为了我们在利用dos窗口编译和运行java程序时的简便,不用一次次的在dos窗口中设置path和classpath环境变量(当然,如果你把这些写成一个bat脚本,就可以反复执行了),而如果我们才用eclipse这样的高级ide就可以不用设置这些环境变量,只要在eclipse下设置项目要使用的jdk就好了。

 

18、java.exe与jre的版本问题

执行哪个java.exe是通过系统的path变量来决定的,而java.exe在哪个jre上执行,是由java.exe的默认寻找jre的搜索顺序决定的,但是java.exe 能否正常执行,还决定于java.exe和jre的版本是否一致,如果不一致就会报版本不一致的执行错误。

 

19、设置系统环境变量的好处是不用一次次的设置path变量,坏处是容易出错。在每个dos窗口中设置特定的path变量好处是不容易出错,坏处是要一次次的输入,综合的话,最好是写一个bat执行脚本,兼顾两者的好处。

分享到:
评论

相关推荐

    java深度历险--学习深入了解java的好书

    《Java深度历险》是一本深入探讨Java技术的书籍,旨在帮助读者理解Java的内在机制,包括JVM(Java虚拟机)、JDK(Java开发工具包)和JRE(Java运行环境)之间的关系,以及类加载的过程等核心概念。通过这本书,你...

    java深度历险——王森

    关于JDK有两个问题是很容易一直困扰Java程序员的地方:一个是CLASSPATH的问题,其实从原理上来说,是要搞清楚JRE的ClassLoader是如何加载Class的...推荐看一下王森的《Java深度历险》,对这两个问题进行了深入的探讨。

    Java深度历险完整版

    Java深度历险 深入Java 2 SDK 深入类别载入器 Java与MS Office 用Visual Studio.net操控Java虚拟机 package与import机制 Ant 附录A.Java 2 SDK原版码概观

    Java深度历险_Java深度历险

    《Java深度历险》这本书是Java开发者的一本深入学习指南,它涵盖了Java编程语言的核心概念、高级特性以及实际开发中的应用技巧。通过本书,读者可以系统地了解Java的各个方面,从而提升自己的编程技能和问题解决能力...

    Java深度历险(2)--深入类装载器

    ### Java深度历险(2)--深入类装载器 #### 前言 在现代软件开发领域,特别是使用Java这样的高级编程语言时,“动态性”是一个非常重要的概念。它指的是程序能够在运行时根据需要加载、卸载或替换部分代码的能力。这...

    java深度历险.rar

    java深度历险.rarjava深度历险.rarjava深度历险.rarjava深度历险.rarjava深度历险.rar

    王森 Java深度历险

    《王森 Java深度历险》是一本专门为Java初学者精心编写的教材,旨在引领读者深入探索Java编程的世界。王森,作为业界知名的IT专家,以其丰富的教学经验和深厚的编程功底,将复杂的Java知识以易懂的方式呈现出来,...

    java深度历险+深入java虚拟机

    《Java深度历险》与《深入Java虚拟机》是两本深受Java开发者喜爱的经典书籍,它们涵盖了Java编程语言和Java虚拟机(JVM)的高级主题,旨在帮助读者深入理解Java平台的工作原理。 《Java深度历险》这本书通常会涵盖...

    java深度历险.pdf

    《Java深度历险》这本书主要探讨了Java编程语言的深度知识,涵盖了从早期版本到Java 2 SDK的演进历程。Java是由Sun Microsystems开发的一种高级编程语言,最初被称为OAK,后来发展为Java 1.0,并逐步演变为Java 1.1...

    Java 深度历险.pdf

    《Java 深度历险》是一本专为Java开发者准备的深度学习书籍,它涵盖了Java编程语言的核心概念、高级特性以及实战应用。通过这本书,读者可以深入理解Java的内部机制,提升编程技能,实现从初级到高级的跨越。下面...

    Java深度历险-完整版

    《Java深度历险》是一本全面探讨Java技术的书籍,主要关注Java虚拟机(JVM)的深入理解和相关概念。本书旨在帮助读者不仅掌握Java编程的基本语法,而且能够理解Java平台的工作原理,从而提升编程技能和解决问题的...

    JAVA2深度历险_简体版(PDF格式)

    《JAVA2深度历险_简体版》是一本专注于Java编程技术的深度探索书籍,旨在帮助读者深入理解和掌握Java语言的各个方面。这本书以其简体版的形式,相较于繁体版更便于国内读者阅读和理解,降低了学习Java技术的语言障碍...

    Jave深度历险(CH_01深入Java_2_SDK)

    ### Java深度历险:深入Java 2 SDK #### 前言 《Java深度历险》这本书中的第一章《深入Java 2 SDK》旨在探讨Sun Microsystems发布的Java开发工具——Java 2 SDK的重要性和特点。该章节从Java开发工具的历史演变...

    JAVA深度历险(PDF格式)

    《JAVA深度历险》是由知名Java专家王森撰写的一本深度探索Java编程的著作,PDF格式使得读者可以方便地在电子设备上阅读和学习。这本书是Java开发者提升技能、深化理解的重要参考资料,涵盖了从基础到高级的众多Java...

    Java深度历险.pdf

    《Java深度历险.pdf》这份文档主要围绕Java技术的一些深入理解和...综上所述,《Java深度历险.pdf》详细介绍了Java技术的安装、配置、运行环境搭建以及JVM的理解和应用,为Java开发者提供了深入的学习资料和实践指南。

    Java深度历险

    《Java深度历险》这本书是为那些希望深入了解Java平台运行机制的初学者和有经验的开发者准备的。它深入探讨了Java技术的核心概念,揭示了Java如何在幕后工作,帮助读者提升对Java语言的理解和应用能力。 1. **Java...

    java深度历险-深入讨论java

    《Java深度历险》是一本面向已有基础的Java程序员的高级读物,...通过深入学习和实践《Java深度历险》中的这些知识点,Java开发者可以提升自己的技术水平,更好地应对复杂项目和挑战,实现高效、稳定和可维护的代码。

Global site tag (gtag.js) - Google Analytics