首页
学习
活动
专区
工具
TVP
发布

Java学习123

专栏作者
205
文章
516754
阅读量
47
订阅数
JDK,JRE,JVM区别与联系
JVMJDKEclipseJava企业应用 很多朋友可能跟我一样,已经使用JAVA开发很久了,可是对JDK,JRE,JVM这三者的联系与区别,一直都是模模糊糊的。 今天特写此文,来整理下三者的关系。 JDK : Java Development ToolKit(Java开发工具包)。JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。 最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了属于自己的JDK,例如国外IBM公司开发了属于自己的JDK,国 内淘宝也开发了属于自己的JDK,各个组织开发自己的JDK都是为了在某些方面得到一些提高,以适应自己的需求,比如IBM的JDK据说运行效率就比 SUN的JDK高的多。但不管怎么说,我们还是需要先把基础的Sun JDK掌握好。 JDK有以下三种版本: J2SE,standard edition,标准版,是我们通常用的一个版本J2EE,enterpsise edtion,企业版,使用这种JDK开发J2EE应用程序J2ME,micro edtion,主要用于移动设备、嵌入式设备上的java应用程序 我们常常用JDK来代指Java API,Java API是Java的应用程序接口,其实就是前辈们写好的一些java Class,包括一些重要的语言结构以及基本图形,网络和文件I/O等等 ,我们在自己的程序中,调用前辈们写好的这些Class,来作为我们自己开发的一个基础。当然,现在已经有越来越多的性能更好或者功能更强大的第三方类库 供我们使用。 JRE:Java Runtime Enviromental(java运行时环境)。也就是我们说的JAVA平台,所有的Java程序都要在JRE 下才能运行。包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。 JVM:Java Virtual Mechinal(JAVA虚拟机)。JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM 的主要工作是解释自己的指令集(即字节码)并映射到本地的 CPU 的指令集或 OS 的系统调用。Java语言是跨平台运行的,其实就是不同的操作系统,使用不同的JVM映射规则,让其与操作系统无关,完成了跨平台性。JVM 对上层的 Java 源文件是不关心的,它关注的只是由源文件生成的类文件( class file )。类文件的组成包括 JVM 指令集,符号表以及一些补助信息。 下图很好的表面了JDK,JRE,JVM三者间的关系: 我们开发的实际情况是:我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些 JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。
Java学习123
2021-12-28
1.5K0
eclipse中使用maven创建项目和更新项目JDK版本默认是1.5解决方法
<profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile>
Java学习123
2021-12-28
3770
linux下同时安装多个tomcat实例
环境:rhel5.5 64bit 所需要的包: Jdk-6u21-linux-x64-rpm.bin Apache-tomcat-5.5.33.tar.gz 安装步骤 1. chmod +x Jdk-6u21-linux-x64-rpm.bin 2. ./jdk-6u21-linux-x64-rpm.bin 3. ln –s /usr/java/jdk 1.6.0_21  /usr/jdk 4. tar zxvf apache-tomcat-5.5.33.tar.gz -C /usr/local 5. ln
Java学习123
2018-05-16
1.5K0
Java中的日志——Java.util.logging、log4j、commons-logging
Java中给项目程序添加log主要有三种方式,一使用JDK中的java.util.logging包,一种是log4j,一种是commons-logging。其中log4j和commons-logging都是apache软件基金会的开源项目。这三种方式的区别如下: Java.util.logging,JDK标准库中的类,是JDK 1.4 版本之后添加的日志记录的功能包。  log4j,最强大的记录日志的方式。可以通过配置 .properties 或是 .xml 的文件, 配置日志的目的地,格式等等。 comm
Java学习123
2018-05-16
1K0
MyEclipse10.7安装jad反编译插件
1.下载反编译工具jad(下面提供下载) 将下载下来的jadstar158.zip解压缩,将jad.exe文件放入jdk安装目录下 如:C:\Program Files\Java\jdk1.6.0_20\bin 下载eclipse反编译插件net.sf.jadclipse_3.3.0.jar(下面提供下载) 将 import java.io.File;    import java.util.ArrayList;    import java.util.List;    /**   * MyEclips
Java学习123
2018-05-16
7210
Eclipse报内存溢出
(1)在配置tomcat的JDK里面设置。Window-->proference->Myeclipse-->servers-->Tomcat5-->JDK里面设置: -Xms500m -Xmx1024m -XX:PermSize=64M -XX:MaxPermSize=256m -XX:ReservedCodeCacheSize=48m <!--StartFragment --> (2)elipse.ini -startup plugins\org.eclipse.equinox.launcher_1.0.
Java学习123
2018-05-16
1.8K0
怎么将类似\u6570\u636e\u5e93的东西转化为汉字
命令..\jdk1.8_64\bin\native2ascii.exe是JDK自带的转码工具 将中文转码为UTF8(\u6570\u636e\u5e93)命令格式:   native2ascii -encoding gb2312 before.properties after.properties 将转码后的字符转换回中文命令格式: native2ascii -reverse  after.properties before.properties   before.properties文件中是转码前的中文,
Java学习123
2018-05-16
8410
没有更多了
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档