jdk、jre、jvm的区别联系

简介:  jdk包括以下三个东西:D:\Program Files\jdk1.7.0_21\bin\javac.exe和java.exeD:\Program Files\jdk1.7.0_21\jre D:\Program Files\jdk1.7.0_21\jre\bin\client\jvm.dllJava类库概念:Java的应用程序接口以包的形式来组织,每个包提供了大量的相关类、接口和异常处理类,这些包的集合就是Java的类库。

 jdk包括以下三个东西:

D:\Program Files\jdk1.7.0_21\bin\javac.exe和java.exe

D:\Program Files\jdk1.7.0_21\jre

 D:\Program Files\jdk1.7.0_21\jre\bin\client\jvm.dll

Java类库概念:Java的应用程序接口以包的形式来组织,每个包提供了大量的相关类、接口和异常处理类,这些包的集合就是Java的类库。 

包名以 Java 开始的包是 Java 核心包 (Java Core Package) ; 
包名以 Javax 开始的包是 Java 扩展包 (Java Extension Package) ,例如 javax.swing 包;

常用的 Java 核心包 (Java Core Package) 
1. java.lang Java 编程语言的基本类库,在使用 Java 时,除了 java.lang 外,其他的包都需要 import 语句引入之后才能使用。

  1. java.applet 创建 applet 需要的所有类
  2. java.awt 创建用户界面以及绘制和管理图形、图像的类
  3. java.io 通过数据流、对象序列以及文件系统实现的系统输入、输出
  4. java.NET 用于实现网络通讯应用的所有类
  5. java.util 集合类、时间处理模式、日期时间工具等各类常用工具包 
    其它还有
  6. java.sql 访问和处理来自于 Java 标准数据源数据的类
  7. java.test 以一种独立于自然语言的方式处理文本、日期、数字和消息的类和接口
  8. java.security 设计网络安全方案需要的一些类
  9. java.beans 开发 Java Beans 需要的所有类
  10. java.math 简明的整数算术以及十进制算术的基本函数
  11. java.rmi 与远程方法调用相关的所有类 
    常用的 Java 扩展包 (Java Extension Package)
  12. javax.accessibility 定义了用户界面组件之间相互访问的一种机制
  13. javax.naming.* 为命名服务提供了一系列类和接口
  14. javax.swing.* 提供了一系列轻量级的用户界面组件,是目前 Java 用户界面常用的包 
    其中最重要的是java.lang和java.util。 
    java.lang 包 
    这个包称为 java 语言包,是由编译器自动引入的。程序中不必用 import 语句就可以使用。它所包含的类和接口对所有实际的 Java 程序都是必要的。
  15. object 类
  16. 数学类 (Math)
  17. 数据类型类
  18. 线程类
  19. 字符串类 (String 类和 StringBuffer 类 )
  20. 系统及运行类 (System 类和 Runtime 类 )
  21. 错误和异常处理类 (Throwable 、 Exception 、 Error)
  22. 过程类 (process) 
    java.util 包
  23. 日期类、日历类( Data 、 Calendar 、 GregorianCalendar )
  24. 随机数类( Random )
  25. 位运算类( BitSet )
  26. 矢量类( Vector )
  27. 数据结构类( Stack )
  28. 散列表类( Hashtable )
  29. StringTokenizer类

1.java.lang包 java.lang包 是Java中最常用的包,程序不需要注入,就可以使用该包中的类,利用包中的类可以设计最基本的Java程序。

2.java.awt包 java.awt包中的类提供了图形界面的创建方法,包括按钮、文本框、列表框、容器、字体、颜色和图形等元素的建立和设置。

3.javax.swing包 javax.swing包为Java编写的图形界面提供创建类,利用javax.swing包的类建立的界面元素可调整为各种操作系统的界面风格,支持各种操作平台的界面的开发。此外,swing包还提供了树形控件、标签页控件、表格控件的类。Java.swing包中的很多类都是从java.awt包的类继承而来,Java保留使用java.awt包是为了保持技术的兼容性,但应尽量地使用javax.swing包来开发程序界面。

4.java.io包 java.io包的类提供数据流方式的系统输入输出控制、文件和对象的读写串行化处理,比较常用的类包括:BufferInputStream、BufferOutputStream、BufferedReader、BufferedWriter、DataInputStream、DataOutputStream、FileInputStream和FileOutputStream等。

5.java.util包 java.util包提供时间日期、随机数以及列表、集合、哈希表和堆栈等创建复杂数据结构的类,比较常见的类有:Date、Timer、Random和LinkedList等。

6.java.NET包 java.Net包提供网络开发的支持,包括封装了Socket套接字功能的服务器Serversocket类、客户端Socket类以及访问互联网上的各种资源的URL类。

7.java.applet包 java.applet包只有一个Applet类,用于开发网页上的Applet小程序,使网页具有更强的交互能力以及多媒体、网络功能。

这七个包中的类库都是java编程语言中最基本最常用的,同学们一定要熟练掌握。这样才能在java编程语言学习中提高效率,事半功倍。

 

目录
相关文章
|
2月前
|
Java
安装JDK18没有JRE环境的解决办法
安装JDK18没有JRE环境的解决办法
259 3
|
23天前
|
Java
Java基础之 JDK8 HashMap 源码分析(中间写出与JDK7的区别)
这篇文章详细分析了Java中HashMap的源码,包括JDK8与JDK7的区别、构造函数、put和get方法的实现,以及位运算法的应用,并讨论了JDK8中的优化,如链表转红黑树的阈值和扩容机制。
19 1
|
27天前
|
Dubbo Java 应用服务中间件
剖析Tomcat线程池与JDK线程池的区别和联系!
剖析Tomcat线程池与JDK线程池的区别和联系!
剖析Tomcat线程池与JDK线程池的区别和联系!
|
3月前
|
存储 Java
【Java集合类面试七】、 JDK7和JDK8中的HashMap有什么区别?
JDK7中的HashMap使用数组加链表解决冲突,而JDK8增加了红黑树结构以优化链表过长时的性能,提高查找效率。
|
3月前
|
Java
No compiler detected, make sure you are running on top of a JDK instead of a JRE
No compiler detected, make sure you are running on top of a JDK instead of a JRE
46 1
|
3月前
|
C# Windows 开发者
当WPF遇见OpenGL:一场关于如何在Windows Presentation Foundation中融入高性能跨平台图形处理技术的精彩碰撞——详解集成步骤与实战代码示例
【8月更文挑战第31天】本文详细介绍了如何在Windows Presentation Foundation (WPF) 中集成OpenGL,以实现高性能的跨平台图形处理。通过具体示例代码,展示了使用SharpGL库在WPF应用中创建并渲染OpenGL图形的过程,包括开发环境搭建、OpenGL渲染窗口创建及控件集成等关键步骤,帮助开发者更好地理解和应用OpenGL技术。
187 0
|
3月前
|
Java 编译器 开发工具
JDK vs JRE:面试大揭秘,一文让你彻底解锁Java开发和运行的秘密!
【8月更文挑战第24天】JDK(Java Development Kit)与JRE(Java Runtime Environment)是Java环境中两个核心概念。JDK作为开发工具包,不仅包含JRE,还提供编译器等开发工具,支持Java程序的开发与编译;而JRE仅包含运行Java程序所需的组件如JVM和核心类库。一个简单的"Hello, World!"示例展示了两者用途:需借助JDK编译程序,再利用JRE或JDK中的运行环境执行。因此,开发者应基于实际需求选择安装JDK或JRE。
52 0
|
3月前
|
缓存 Java 编译器
JRE、JDK、JVM 和 JIT 之间的区别详解
【8月更文挑战第22天】
101 0
|
22天前
|
存储 安全 Java
jvm 锁的 膨胀过程?锁内存怎么变化的
【10月更文挑战第3天】在Java虚拟机(JVM)中,`synchronized`关键字用于实现同步,确保多个线程在访问共享资源时的一致性和线程安全。JVM对`synchronized`进行了优化,以适应不同的竞争场景,这种优化主要体现在锁的膨胀过程,即从偏向锁到轻量级锁,再到重量级锁的转变。下面我们将详细介绍这一过程以及锁在内存中的变化。
33 4
|
22天前
|
缓存 算法 Java
JVM知识体系学习六:JVM垃圾是什么、GC常用垃圾清除算法、堆内存逻辑分区、栈上分配、对象何时进入老年代、有关老年代新生代的两个问题、常见的垃圾回收器、CMS
这篇文章详细介绍了Java虚拟机(JVM)中的垃圾回收机制,包括垃圾的定义、垃圾回收算法、堆内存的逻辑分区、对象的内存分配和回收过程,以及不同垃圾回收器的工作原理和参数设置。
45 4
JVM知识体系学习六:JVM垃圾是什么、GC常用垃圾清除算法、堆内存逻辑分区、栈上分配、对象何时进入老年代、有关老年代新生代的两个问题、常见的垃圾回收器、CMS