首页 > 编程语言 >Java初识

Java初识

时间:2024-11-21 14:18:28浏览次数:1  
标签:类库 文件 Java 字节 初识 JVM SE

Java概述

Java由来

  Java是由James Gosling设计的。最初是为了网联化的市场前景而开启的项目计划,起名为Oak,但这个市场并不友好,这个项目就被搁置了;但在1994 年,该项目小组看到了浏览器在未来的发展前景,于是决定将 OaK 应用于万维网,就这样Java诞生了。随着Java的发展,体系越来越完整;截止到2024年9月,已经到JDK23了。

Java名词解释

JDK、JRE、JVM

  JVM(Java Virtual Machine):Java虚拟机(bin目录下的文件),其就是一个运行在操作系统上的一个软件,用于将Java编译后的 .class 文件(字节码文件)转化成机器码(二进制代码文件)。但有一个问题就是:实际的物理机器不同(Windows、Linux等),二进制代码的编码方式也不一样,这样就没办法统一转化成一种形式的机器码了;所以Java的一次编译、处处运行实际上靠的是特定机器上的JVM来转化成该机器可执行的二进制文件,所以不同物理机器(不同操作系统)所用的JVM不一样,下载的时候需要注意。这里可以说一下:其实所谓的跨平台运行的道理就是将与特定平台无关的逻辑单独抽离出来整合(编译、字节码文件),将不能跨平台的部分按照特定平台的需求依次实现(机器码、二进制文件)。JVM需要学习的内容非常多,也很有趣,但这里先简单了解一下它是用来将字节码转化为特定平台的机器码即可(后面再专门学)。

  JRE(Java Runtime Environment):Java运行环境(bin目录和lib目录下的文件),JRE = JVM + Java核心类库,在编译后的字节码文件中包含一些依赖的类库,为了将这些引入的类库和该字节码文件整合,这就需要JRE出手了,它包含了JVM和lib下Java包含的核心类库,帮助JVM将字节码转化为机器码。

  JDK(Java Development Kits):Java开发工具包(整个下载下来的JDK),JDK = JRE + Java开发工具集 = JVM + Java核心类库 + Java开发工具集,JDK包括编译、转化、打包工具等,是整个Java程序运行的必要程序集。

JSR、JCP

  JCP(Java Community Process):是一个开放的国际组织,主要由Java开发者以及被授权者组成,职能是发展和更新,监督Java的发展,设立Java规范标准(看起来还是相当正式的,Java还是庞大的)。

  JSR(Java Specification Requests):Java 规范请求(或者活规范提案)。这个请求(提案)是提给 JCP 的(Java Community Process);只能说这么多人一起努力,才有了Java现在这样的水平。

Java SE、Java EE、Java ME
  • Java SE:Standard Edition
  • Java EE:Enterprise Edition
  • Java ME:Micro Edition

    简单来说,Java SE就是标准版,包含标准的JVM和标准库,而Java EE是企业版,它只是在Java SE的基础上加上了大量的API和库,以便方便开发Web应用、数据库、消息服务等,Java EE的应用使用的虚拟机和Java SE完全相同。Java ME就和Java SE不同,它是一个针对嵌入式设备的“瘦身版”,Java SE的标准库无法在Java ME上使用,Java ME的虚拟机也是“瘦身版”。

 

 

标签:类库,文件,Java,字节,初识,JVM,SE
From: https://www.cnblogs.com/cmhjavastudy/p/18560654

相关文章

  • 【力扣热题100】[Java版] 刷题笔记-234. 回文链表
    题目:234.回文链表给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。解题思路回文定义:是指正读和反读都相同的字符序列。将链表数据获取出来,再通过前后指针向中间遍历,数据一致,则是回文;如果不一致则不是回文。......
  • 初识C++
    目录1.C++发展历史2.C++在工作领域中的应用3.第一个C++程序3.1梦开始的地方:打印helloworld4.命名空间4.1namespace的价值4.2namespace的定义4.3命名空间的使用5.C++输入&输出6.缺省参数7.函数重载8.引用8.1引用的概念的定义8.2引用的特性8.3引......
  • Java基础面试:关键字与注释
    Java中的关键字什么是关键字Java关键字是Java语言中预先定义好的、具有特殊含义的标识符。这些标识符在程序中有固定的用途,不能用作变量名、方法名或类名。Java中共有53个特殊标识符,其中包括48个关键字,2个保留字,外加3个特殊直接量。关键字分类及说明分类关键......
  • 小白如何进阶 Java 高级工程师
    一、小白进阶之路开启在当今数字化时代,Java作为一种广泛应用的编程语言,掌握它对于个人职业发展至关重要。从小白进阶为Java高级工程师不仅意味着薪资的提升,更是个人技术实力和职业价值的体现。然而,这条进阶之路充满挑战。首先,Java语言本身具有一定的复杂性。它涵盖了众......
  • Java中常用的线程安全单例模式实现
    在Java中,实现线程安全的单例模式有多种方式。以下是几种常用的线程安全单例模式实现:1.饿汉式(线程安全,类加载时初始化)特点:简单且线程安全,但如果实例过于占用资源且程序可能不使用它,会造成内存浪费。publicclassSingleton{privatestaticfinalSingletonINSTANCE......
  • JavaApi---第一节
    JavaApi高级编程JavaApi什么是JavaApi?JavaApi是一组预先定义好的类和接口,帮助开发者快速开发程序JavaApi就是学会如何使用别人编写的类和接口Api应用程序的接口函数与类的集合实际就是别人写好的类Java中常用的包Java.lang:基础语言包java.util:......
  • java工具类static静态方法读取yml配置
    当我们需要在工具类中获取yml配置的时候,由于变量是staic导致获取不到yml配置因为spring加载静态方法比IOC早,所以不能直接使用@Value注解读取yml配置,读取结果是null。@ComponentpublicclassTestUtil{//使用@Value注解读取yml配置的数据@Value("${test.url}")......
  • 基于Java+SpringBoot的影院订票系统
    关注底部领取源码源码编号:S346源码名称:基于SpringBoot的影院订票系统用户类型:双角色,用户、管理员主要技术:Java、Vue、ElementUl、SpringBoot运行环境:Windows/Mac、JDK1.8及以上运行工具:IDEA/Eclipse数 据 库:MySQL5.7及以上版本数据库表数量:11张表是否有毕业论文......
  • 基于Java+SpringBoot的影院订票系统
    关注底部领取源码源码编号:S346源码名称:基于SpringBoot的影院订票系统用户类型:双角色,用户、管理员主要技术:Java、Vue、ElementUl、SpringBoot运行环境:Windows/Mac、JDK1.8及以上运行工具:IDEA/Eclipse数 据 库:MySQL5.7及以上版本数据库表数量:11张表是否有毕业论文......
  • 【JavaSE】【网络编程】UDP数据报套接字编程
    目录一、网络编程简介二、Socket套接字三、TCP/UDP简介3.1有连接vs无连接3.2可靠传输vs不可靠传输3.3面向字节流vs面向数据报3.4双向工vs单行工四、UDP数据报套接字编程4.1API介绍4.1.1DatagramSocket类4.1.1.1构造方法4.1.1.2主要方法4.1.2DatagramP......