① 如何在Eclipse中查看JDK类库的源代码 (转载)
1.点 “window”-> "Preferences" -> "java" -> "Installed JRES"
2.此时"Installed JRES"右边是列表窗格,列出了系统中的 JRE 环境,选择你的JRE,然后点边上的 "Edit...", 会出现一个窗口(Edit JRE)
3.选中rt.jar文件的这一项:“c:program filesjavajre_1.5.0_06lib
t.jar”
点 左边的“+” 号展开它,
4.展开后,可以看到“Source Attachment:(none)”,点这一项,点右边的按钮“Source Attachment...”, 选择你的JDK目录下的 “src.zip”文件
5.一路点"ok",结束。
dt.jar是关于运行环境的类库,主要是swing的包
tools.jar是关于一些工具的类库
rt.jar包含了jdk的基础类库,也就是你在java doc里面看到的所有的类的class文件
② mv /usr/local/ jdk1.8.0_11是什么命令
使用linux之安装jdk 7
卸载OpenJDK
rpm -qa | grep java
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64 rpm -e --nodeps java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64 rpm -e --nodeps tzdata-java-2012j-1.el6.noarch
输入命令:wget http://211.149.198.47/data/main/jdk-7u7-linux-i586.tar.gz 下载jdk
输入命令: ll 可以查看当前目录下存在文件jdk-7u7-linux-i586.tar.gz ,然后在当前目录下解压源码包,输入命令:tar -zxvf jdk-7u7-linux-i586.tar.gz
输入命令: ll 可以查看当前目录下存在目录jdk1.7.0_07,然后将其移动到/usr/local/目录下,并重命名为 jdk7,输入命令:mv jdk1.7.0_07 /usr/local/jdk7
下面我们来设置jdk的环境变量这里彩全局设置方法,就是来修改 /etc/profile,它是所有用户的共用的环境变量输入命令:vi /etc/profile然后在打开的文件末尾添加如下内容:JAVA_HOME=/usr/local/jdk7JRE_HOME=/usr/local/jdk7/jrePATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATHCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libexport JAVA_HOME JRE_HOME PATH CLASSPATH
使环境变量立即生效,输入命令:source /etc/profile
检验是否安装成功
输入命令:java #检测jdk bin环境
接着输入:javac #检测jdk classpath环境
成功,你会看到如下java命令参数使用说明界面;
当前我们输入以上的命令后,可能会报如下的错误:bash: /usr/local/jdk7/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录是因为64位系统中安装了32位程序,而且我当前使用的正是64位的linux版本解决方法:yum install glibc.i686
我是在安装了上面的 glibc.i686 等相关的包后,就可以正常执行 java,javac等命令了。并没有安装以下的包 重新安装以后还有如下类系错误 再继续安装包 error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directoryyum install libstdc++.so.6
当然,如果你安装的是64位的jdk,就不会报该错误了。
安装jdk1.8.0_11是相同的。
③ jdk是什么
JDK是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
自从Java推出以来,JDK已经成为使用最广泛的Java SDK。由于JDK的一部分特性采用商业许可证,而非开源。
因此,2006年Sun微系统宣布将发布基于GPL的开源JDK,使JDK成为自由软件。在去掉了少量闭源特性之后,Sun微系统最终促成了GPL的OpenJDK的发布。
组件
1、 javac – 编译器,将源程序转成字节码
2、 jar – 打包工具,将相关的类文件打包成一个文件
3、 javadoc – 文档生成器,从源码注释中提取文档
4、 jdb – debugger,查错工具
5、 java – 运行编译后的java程序(.class后缀的)
6、 appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
7、 Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
8、 Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
9、 Jconsole: Java进行系统调试和监控的工具。
一、系统需求
无论Linux、Windows或者Mac OS系统,JDK均有X86与X64甚至安腾架构的发行版本。且均为多语言发行,即根据系统语言的不同自动显示不同语言的信息。
二、其他 JDK
除了本文中讨论的最广泛使用的 JDK 之外,还有其他 JDK 通常可用于各种平台,其中一些从 Sun JDK 源代码开始,而另一些则没有。都遵循基本的 Java 规范,但通常在明确未指定的领域有所不同,例如垃圾收集、编译策略和优化技术。他们包括:
1、 Azul SystemsZing,适用于 Linux 的低延迟 JDK;
2、 适用于 Linux、Windows、Mac OS X、嵌入式和云的基于Azul Systems/OpenJDK的 Zulu;
3、 OpenJDK/IcedTea;
4、 AicasJamaicaVM;
5、 IBM J9JDK,适用于 AIX、Linux、Windows、MVS、OS/400、Pocket PC、z/OS;
以上内容参考网络-jdk
④ 我安装了JAVA jdk1.8.0_11,按照网络上的视频方法,先制作了源代码,可是无法编译出来,希望高手可以指导
贴出你的代码先。另外下面的提示很明显了啊。下面这个运行试试
publicclassHelloWorld{
publicstaticvoidmain(String[]args){
System.out.println("Hellojava");
}
}
另外类申明必须要跟文件名保持一致! 例如你的类叫HelloWorld,那么文件名就应该是HelloWorld.java而不是Hello.java
⑤ java的JDK更新到什么版本了
Standard Edition(标准版)的最新版:jdk 14。
Early-Access(先行版)的最新版:jdk15。
LTS(长期支持版)的最新版:jdk 11.0.6。
JRE(Java Runtime Environment,Java运行时环境),包含了java虚拟机、java基础类库。是使用java语言编写的程序运行所需要的软件环境。
它相当于操作系统部分,提供了Java程序运行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。
JDK(Java Development Kit,Java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发人员使用的。JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,jvisualvm等工具软件,还包含了java程序编写所需的文档和demo例子程序。
⑥ 如何在Eclipse中查看JDK类库的源代码
1.点 “window”-> "Preferences" -> "Java" -> "Installed JRES"
2.此时"Installed JRES"右边是列表窗格,列出了系统中的 JRE 环境,选择你的JRE,然后点边上的 "Edit...", 会出现一个窗口(Edit JRE)
3.选中rt.jar文件的这一项:“c:program filesjavajre_1.5.0_06lib
t.jar”
点 左边的“+” 号展开它,
4.展开后,可以看到“Source Attachment:(none)”,点这一项,点右边的按钮“Source Attachment...”, 选择你的JDK目录下的 “src.zip”文件
5.一路点"ok",结束。
dt.jar是关于运行环境的类库,主要是swing的包
tools.jar是关于一些工具的类库
rt.jar包含了jdk的基础类库,也就是你在java doc里面看到的所有的类的class文件
⑦ Java11的新功能有哪些
Java 11 JDK中已计划的新功能
目前来看,JDK 11已有九个已经确认的新功能,而且还有更多新功能仍在考虑之中。计划的新功能包括:
HTTP客户端(标准),这个功能于JDK 9中引入并在JDK 10中得到了更新,现在终于转正了。该API通过CompleteableFutures提供非阻塞请求和响应语义,可以联合使用以触发相应的动作。自从JDK 9和10中引入该功能后,JDK 11完全重写了该功能,现在其实现完全是异步的。RX Flow的概念也得到了实现,这样就无需为了支持HTTP/2而创造许多概念了。现在,在用户层请求发布者和响应发布者与底层套接字之间追踪数据流更容易了。这降低了复杂性,并最大程度上提高了HTTP/1和HTTP/2之间的重用的可能性。Epsilon垃圾回收器,被称为“no-op”回收器,它仅负责内存分配,却没有实现任何实际的内存回收机制。Epsilon回收器可以用于性能测试、内存压力测试和虚拟机接口。它还可以用于短生命周期的任务。lambda参数的局部变量语法,可以消除隐含类型表达式中正式参数定义的语法与局部变量定义语法的不一致。这样就能在隐含类型的lambda表达式中定义正式参数时使用var了。Java的类文件格式将被扩展,以支持新的常量池,CONSTANT_Dynamic。其目标是降低开发新形式的可实现类文件约束带来的成本和干扰。采用Curve25519和Curve448加密的密钥交换比现有的Diffie-Hellman椭圆曲线密钥交换方式更有效、更安全。根据IETF的资料,Curve25519和Curve448两种椭圆曲线采用常量时间的实现方式,以及不会发生异常的数乘实现,能更好地抵抗各种旁路攻击,包括时序攻击、缓存攻击等。该提案的目标是为密钥交换方法提供一个API和实现,同时开发一个平台无关、纯Java的的实现。由于该提案采用了复杂且精密的模算数,因此还是有风险的。飞行记录仪(Flight Recorder)将提供低开销的数据收集框架,用来调试Java应用程序和HotSpot JVM。飞行记录仪是Oracle的商业版JDK的功能,但在JDK 11中,其代码将移动到公开代码库中,这样所有人都能使用该功能了。Iclouded将作为API,以事件的形式产生或消耗数据,同时提供缓存机制、二进制数据工具,同时支持配置和事件过滤。该提案还提议为OS、HotSpot和JDK库提供事件。更新platform API以支持Unicode版本10.0,从而使Java跟上潮流。预计以下的类将支持:lang包中的Character和Stringawt.font包中的NumericShapertext包中的Bidi、BreakIterator和Normalizer实现ChaCha20和Poly1305加密算法。ChaCha20是种相对较新的流加密算法,能代替旧的、不安全的R4流加密。ChaCha20将与Poly1305认证算法配对使用。ChaCha20和ChaCha20-Poly1305加密实现将通过crypto.CipherSpi API于SunJCE(Java加密扩展)中提供。增强Java启动器,使之能够运行单一文件的Java源代码,使得应用程序可以直接从源代码运行。单文件程序常见于小型工具,或开发者初学Java时使用。而且,单一源代码文件有可能会编译成多个类文件,这会增加打包开销。由于这些原因,在运行程序之前进行编译,已成为了不必要的步骤。Java JDK 11仍在开发中的新功能
Java 11的创建者们还在考虑几个对JDK 11的变更或新功能的提案:
给Java添加raw字符串字面值。这样可以更容易地以人类可阅读的形式书写字符序列,而无需特殊的Java标记。这样也能更容易地将非Java语法的字符串提供给Java使用,还能支持多行字符串,而无需使用特殊的标记。扩展switch语句,使之能作为语句或表达式使用。这样还能改进switch处理null值的方式。这些改动可以简化编程,同时为switch支持模式匹配做准备。嵌套的访问控制,对应于Java当前的嵌套类型。嵌套可以让逻辑上属于同一代码实体但被编译到不同的类文件中的类互相访问对方的私有成员,而无需让编译器插入扩大访问权限的方法。JDK 11删除的功能
Java EE和CORBA模块从Java SE9就成了不推荐使用(deprecated),并计划在未来的版本中删除。这个未来版本就是JDK 11。
Java SE 6于2006年12越发布,它为Java EE平台提供了整套的Web服务技术栈:JAX-WS(Java API for XML-based Web Services),JAXB(Java Architecture for XML Binding),JAF(JavaBeans Activation Framework),以及Common Annotations for Java。这些年来,Java EE版本在不断进化,这给Java SE造成了许多麻烦,例如加入与Java SE无关的技术,以及同时维护两个Java版本的困难变得更大。由于独立的Java EE版本由第三方网站提供,Oracle说Java SE或JDK中已经没有必要提供Java EE了。
当然,一些依赖于JDK中的Java EE API及工具的应用程序将无法编译或运行。将JDK 6、7或8移植到新版本时将会产生二进制不兼容和源代码不兼容。Oracle说,受到这些影响的开发者可以部署相应的Java EE版本。
CORBA来自于二十世纪九十年代,Oracle说,现在用CORBA开发现代Java应用程序已经没有意义了,维护CORBA的成本已经超过了保留它带来的好处。
但是删除CORBA将使得那些依赖于JDK提供部分CORBA API的CORBA实现无法运行。目前还没有第三方CORBA版本,也不确定是否会有第三方愿意接手CORBA API的维护工作。
JavaFX已经被移除,因此已经与Java JDK每年两次的更新无关。
⑧ jdk11.0.2的代码jdk13.0.2可以直接使用吗
一般是可以的
⑨ Java jdk的安装目录下没有 src.zip压缩包怎么回事我从官网下载的jdk,怎么会这样
src.zip只有源码,eclipse会自动解析,没有也不会出任何问题.
你说的scanner类,是java.util.Scanner包下的,直接引用就可以了 import java.util.Scanner;
⑩ Java1.8 JDK源码中,对两个类进行 按位与 操作是什么意思
Integers=11;
Integera=12;
System.out.println(s|a);
你就这么理解吧。|这个符号就叫做与操作。