Java第一课——Java详细图文概述

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
大数据开发治理平台 DataWorks,不限时长
简介: Java第一课——Java详细图文概述

Java概述

定义

编程语言和计算平台(计算平台是电脑中运行应用程序的环境,包括硬件环境和软件环境)

特点
  • 面向对象

  • 摒弃了C++中的多继承、指针、内存管理等等概念;不用手动管理对象的生命周期

  • 具备功能强大和简单易用两个特点,适用于企业级开发、快速敏捷型开发,同时出现了多种框架。

  • 支持网络编程

  • 静态语言(在编译时期就知道数据类型)

  • 基于JVM的平台独立性和可移植性

    定义:Java应用程序是在Java虚拟机(JVM)上运行的。JVM是一个虚拟的计算机环境,它可以在不同的操作系统和硬件平台上运行。

    原先计算机应用程序和硬件之间会屏蔽很多细节,它们之间通过操作系统来完成调度和协调。

    image-20230620191840684

加入JVM之后的变化

image-20230620191904860

  • 在用户空间内实现多线程
  • 健壮性(强类型机制、异常处理机制、垃圾回收机制)
  • Java很容易分布式开发项目

jdk1.5之后的三大版本

  • Java SE(J2SE,Java 2 Platform Standard Edition,标准版)
    Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为Java EE和Java ME提供基础。
  • Java EE(J2EE,Java 2 Platform Enterprise Edition,企业版)
    Java EE 以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web2.0应用程序。2018年2月,Eclipse 宣布正式将 JavaEE 更名为 JakartaEE
  • Java ME(J2ME,Java 2 Platform Micro Edition,微型版)
    Java ME 以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。

JVM、JRE和JDK的关系

JVM
Java Virtual Machine是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台有自己的虚拟机,因此Java语言可以实现跨平台

JRE
Java Runtime Environment包括Java虚拟机和Java程序所需的核心类库等。核心类库主要是java.lang包:包含了运行Java程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处理、线程、异常处理类等,系统缺省加载这个包

如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

JDK
Java Development Kit是提供给Java开发人员使用的,其中包含了Java的开发工具,也包括了JRE。所以安装了JDK,就无需再单独安装JRE了。其中的开发工具:编译工具(javac.exe),打包工具(jar.exe)等

JVM&JRE&JDK关系图
在这里插入图片描述

java包
  • java.lang:这个是系统的基础类
  • java.io:这里面是所有输入输出有关的类,比如文件操作等;
  • java.nio:为了完善 io 包中的功能,提高 io 包中性能而写的一个新包;
  • java.net:这里面是与网络有关的类;
  • java.util:这个是系统辅助类,特别是集合类;
  • java.sql:这个是数据库操作的类。

字节码

字节码:Java源代码经过虚拟机编译器编译后产生的文件(即扩展为.class的文件),它不面向任何特定的处理器,只面向虚拟机。

字节码的好处:解决了传统解释型语言执行效率低的问题,同时又保留了解释性语言可移植的优点。

虚拟机

定义及特点

使用软件仿真技术,作为一种在操作系统上被安装的支持特定软件包运行的软件,通过在物理硬件上模拟出一台或多台虚拟计算机,使得每个虚拟计算机具备自己的操作系统、应用程序和资源。

  • 独立(eg:一台宿主机上配备了多台虚拟机,每个虚拟机都可以运行不同的操作系统并且各自运行应用程序)
  • 可以对资源进行分配和管理
拓展:虚拟主机(VH)

一台物理服务器上划分出多个逻辑的、私密的虚拟服务器环境。每个虚拟主机都有自己独立的操作系统、应用程序和资源,它们相互之间是隔离的,互不影响。虚拟主机可以通过服务器虚拟化技术实现,例如使用容器或虚拟化软件(如VMware、Xen、KVM等)。

在这里插入图片描述

实现原理

在这里插入图片描述

每一种平台的解释器是不同的,但是实现的虚拟机是相同的。

JIT(Just In Time)编译器:部分的.java代码通过JIT编译器进行编译,实时将一些热点代码编译成机器码,不同于单纯进行编译执行,提高了效率。

Java与C++的区别

  • 都是面向对象的语言,都支持继承、封装和多态
  • Java不提供指针来直接访问内存,程序内存更加安全

  • Java的类是单继承的,C++支持多重继承,虽然Java中的类不可以多继承,但是其接口是可以多继承的。

  • Java中有自动内存管理机制,不需要程序员手动释放内存。
目录
相关文章
|
3天前
|
IDE Oracle Java
java基础教程(1)-Java概述和相关名词解释
【4月更文挑战第1天】Java是1995年Sun Microsystems发布的高级编程语言,以其跨平台特性著名。它介于编译型和解释型语言之间,通过JVM实现“一次编写,到处运行”。Java有SE、EE和ME三个版本,分别针对标准、企业及嵌入式应用。JVM是Java虚拟机,确保代码在不同平台无需重编译。JRE是运行环境,而JDK包含开发工具。要安装Java开发环境,可从Oracle官网下载JDK,设置JAVA_HOME环境变量并添加到PATH。
|
3天前
|
Java 关系型数据库 编译器
Java概述
本篇为Java基础部分的内容,主要介绍了JDK、JRE和JVM及其三者的关系。
50 1
Java概述
|
3天前
|
Oracle 小程序 Java
Java知识面试题复习(一)Java概述
Java知识面试题复习(一)Java概述
50 1
|
3天前
|
网络协议 算法 Java
【Java网络编程】网络编程概述、UDP通信(DatagramPacket 与 DatagramSocket)
【Java网络编程】网络编程概述、UDP通信(DatagramPacket 与 DatagramSocket)
17 3
|
3天前
|
安全 Java API
Java 8新特性概述及其对编程实践的影响
【4月更文挑战第30天】本文将详细讨论Java 8的新特性,包括Lambda表达式、Stream API以及Optional类等,并探讨这些新特性如何改变了Java编程的实践。我们将通过实例代码展示这些新特性的用法,并分析其对提高代码可读性和编写效率的影响。
|
3天前
|
JavaScript Java 编译器
Java概述:跨足编程世界的瑞士军刀
Java概述:跨足编程世界的瑞士军刀
46 0
Java概述:跨足编程世界的瑞士军刀
|
3天前
|
Java
JAVA异常概述
JAVA异常概述
10 1
|
3天前
|
Java
JAVA面向对象概述
JAVA面向对象概述
9 1
|
3天前
|
Java 数据处理
JAVA流概述
JAVA流概述
15 1
|
3天前
|
存储 安全 Java
JAVA集合类概述
JAVA集合类概述
11 0

热门文章

最新文章