初入Java

2024-03-17 05:40
文章标签 java 初入

本文主要是介绍初入Java,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Java发展史

Java起源于20世纪90年代。1991年成立了一个名为Green的项目组,由James Gosling即Java之父领导。由于C++过于复杂和庞大,项目组因此对C++进行改造,于1992年,开发出“Oak”面向对象语言,但因缺乏硬件支持而被搁置。1994年项目组将Oak应用于万维网,向无数程序员展示了其网页技术——Applet(嵌入网页,随同网页进行网络传输),与此同时,Oak正式更名为Java。

过去的这二十多年,Java不断进行更新改进。

1996年1月——JDK 1.0(开发工具和运行环境)——Java虚拟机(JVM)、Applet、AWT等。

1997年2月——JDK 1.1——JDBC、JavaBeans、RMI、JAR文件格式、Java语法中的内部类和反射。

1998年12月8日——JDK 1.2(第二代Java平台的企业版J2EE发布)——Swing、Java IDL、EJB、Java Plug-in等,在API文档中,添加了strictfp关键字和Collections集合类。

1999年4月27日——HotSpot虚拟机发布。

1999年6月——Sun公司把Java体系一分为三:

J2ME——应用于移动、无线及有限资源的环境;

J2SE——应用于桌面环境;

J2EE——应用于基于Java的应用服务器。

2000年5月——JDK 1.3、JDK 1.4和J2SE 1.3相继发布。

2002年2月26日——J2SE 1.4(与1.3相比多近62%类和接口)——XML支持、安全套接字(Socket)支持(通过SSL与 TLS协议)、全新的I/O API、正则表达式、日志与断言。

​ 2004年9月30日——J2SE1.5更名为Java SE 5.0(内部版本号为1.5.0)——泛型支持、基本类型的自动装箱、改进的循环、枚举类型、格式化I/O及可变参数。

2005****年6月——Java SE 6——J2EE更名为JavaEE、J2SE更名为JavaSE、J2ME更名为JavME。

2009****年4月20日——Oracle收购Sun。

​ 2011年7月28日 ——Java SE 7——二进制整数、支持字符串的switch语句、棱形语法、多异常捕抓、自动关闭资源的try语言等新特性。

​ 2014年3月18日——Java SE 8——全新的Lambda表达式、流式编程等大量新特性。

​ 2017年9月22日——Java SE 9——强化Java模块化系统使之更轻量化、采用更高效智能的GI垃圾回收器、更新核心类库。

​ 2018年3月21日——Java SE 10——局部变量类型推断、GC改进、性能提升、线程管控等新特性。

2018****年9月26日——Java SE 11——第一个长期支持版本,带来了ZGC、Http Client等重要特性,共17个JEP。

​ 2019年9月23日——Java SE 13——添加文本块,以可预测的方式自动格式化字符串,并在需要时让开发人员控制格式。

Java特点与特性

Java体系

Java SE:Java Platform,Standard Edition

标准版:各应用平台的基础,桌面开发和低端商务应用的解决方案。

Java EE:Enterprise Edition

企业版:以企业为环境而开发应用程序的解决方案

Java ME:Micro Edition

微型版:致力于消费产品 和嵌入式设备的最佳解决方案

Java 的特性

  • 一种纯面向对象的编程语言。
  • 一种与平台无关(跨平台)的语言。(它提供了在不同平台下运行的解释环境)
  • 一种健壮的语言,吸收了 C/C++语言的优点。
  • 有较高的安全性。(自动回收垃圾,强制类型检查,取消指针)

JVM与GC

跨平台

在这里插入图片描述
在这里插入图片描述

Java虚拟机(JVM)

在这里插入图片描述

JVM 可以理解成一个可运行 Java 字节码的虚拟计算机系统

  • 它有一个解释器组件,可以实现 Java 字节码和计算机操作系统之间的通信
  • 对于不同的运行平台,有不同 的 JVM。

垃圾回收器(GC)

  • 自动回收不再使用的内存空间。
  • JVM 提供了一种系统线程跟踪存储空间的分配情况。并在 JVM 的空闲时,检查并释放那些可以被释放的存储空间。
  • 无法精确控制与干预。

Java SE 的组成概念图及JDK与JRE的概念

在这里插入图片描述

JDK(Java Development Kits)——Java开发工具集

Java API (应用程序编程接口)——Java 编译器(javac.exe)、Java 运行时解释器(java.exe)、Java 文档化化工具(javadoc.exe)及其它工具及资源

JRE(Java Runtime Environment)——Java运行时环境

JRE 的三项主要功能:

  • 加载代码:由类加载器(class loader)完成;
  • 校验代码:由字节码校验器(byte code verifier)完成;
  • 执行代码:由运行时解释器(runtime interpreter)完成。

Java程序开发步骤

在这里插入图片描述

JDK环境配置

此电脑à属性à高级系统设置à高级à环境变量à新建一个系统变量JAVA_HOMEà将所安装的JDK地址写入其中à找到名为Path的系统变量à写入调用JDK中的bin文件的地址à键盘摁下win+r键弹出运行窗口输入cmd进入命令提示符界面à分别输入Java、Java -version检验JDK是否安装成功

注:倘若因进行多个要求不同JDK的项目时,仅需改变系统变量中JAVA_HOME中的jdk文件地址
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

注释与语法

注释:

  • 单行注释://注释
  • 多行注释:/注释/
  • 文档注释:/*注释/

语法规则:

  • java 是严格区分大小写的
  • java 是一种自由格式的语言
  • 代码分为结构定义语句和功能执行语句
  • 功能执行语句的最后必须用分号结束

计算机中的程序

让计算机执行某些操作或解决某个问题而编写的一系列有序指令(即命令)的集合。

法规则:**

  • java 是严格区分大小写的
  • java 是一种自由格式的语言
  • 代码分为结构定义语句和功能执行语句
  • 功能执行语句的最后必须用分号结束

计算机中的程序

让计算机执行某些操作或解决某个问题而编写的一系列有序指令(即命令)的集合。

这篇关于初入Java的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/817987

相关文章

Springboot配置文件相关语法及读取方式详解

《Springboot配置文件相关语法及读取方式详解》本文主要介绍了SpringBoot中的两种配置文件形式,即.properties文件和.yml/.yaml文件,详细讲解了这两种文件的语法和读取方... 目录配置文件的形式语法1、key-value形式2、数组形式读取方式1、通过@value注解2、通过

Java 接口定义变量的示例代码

《Java接口定义变量的示例代码》文章介绍了Java接口中的变量和方法,接口中的变量必须是publicstaticfinal的,用于定义常量,而方法默认是publicabstract的,必须由实现类... 在 Java 中,接口是一种抽象类型,用于定义类必须实现的方法。接口可以包含常量和方法,但不能包含实例

JAVA Calendar设置上个月时,日期不存在或错误提示问题及解决

《JAVACalendar设置上个月时,日期不存在或错误提示问题及解决》在使用Java的Calendar类设置上个月的日期时,如果遇到不存在的日期(如4月31日),默认会自动调整到下个月的相应日期(... 目录Java Calendar设置上个月时,日期不存在或错误提示java进行日期计算时如果出现不存在的

Springboot的配置文件及其优先级说明

《Springboot的配置文件及其优先级说明》文章介绍了SpringBoot的配置文件,包括application.properties和application.yml的使用,以及它们的优先级,还讨... 目录配置文件内置配置文件yml与properties的比较优先级比较外置配置文件springboot

自定义注解SpringBoot防重复提交AOP方法详解

《自定义注解SpringBoot防重复提交AOP方法详解》该文章描述了一个防止重复提交的流程,通过HttpServletRequest对象获取请求信息,生成唯一标识,使用Redis分布式锁判断请求是否... 目录防重复提交流程引入依赖properties配置自定义注解切面Redis工具类controller

Java利用Spire.XLS for Java自动化设置Excel的文档属性

《Java利用Spire.XLSforJava自动化设置Excel的文档属性》一个专业的Excel文件,其文档属性往往能大大提升文件的可管理性和可检索性,下面我们就来看看Java如何使用Spire... 目录Spire.XLS for Java 库介绍与安装Java 设置内置的 Excel 文档属性Java

Java中的CompletableFuture核心用法和常见场景

《Java中的CompletableFuture核心用法和常见场景》CompletableFuture是Java8引入的强大的异步编程工具,支持链式异步编程、组合、异常处理和回调,介绍其核心用法,通过... 目录1、引言2. 基本概念3. 创建 CompletableFuture3.1. 手动创建3.2.

java中4种API参数传递方式统一说明

《java中4种API参数传递方式统一说明》在Java中,我们可以使用不同的方式来传递参数给方法或函数,:本文主要介绍java中4种API参数传递方式的相关资料,文中通过代码介绍的非常详细,需要的... 目录1. 概述2. 参数传递方式分类2.1 Query Parameters(查询参数)2.2 Path

SpringBoot整合 Quartz实现定时推送实战指南

《SpringBoot整合Quartz实现定时推送实战指南》文章介绍了SpringBoot中使用Quartz动态定时任务和任务持久化实现多条不确定结束时间并提前N分钟推送的方案,本文结合实例代码给大... 目录前言一、Quartz 是什么?1、核心定位:解决什么问题?2、Quartz 核心组件二、使用步骤1

Java线程池核心参数原理及使用指南

《Java线程池核心参数原理及使用指南》本文详细介绍了Java线程池的基本概念、核心类、核心参数、工作原理、常见类型以及最佳实践,通过理解每个参数的含义和工作原理,可以更好地配置线程池,提高系统性能,... 目录一、线程池概述1.1 什么是线程池1.2 线程池的优势二、线程池核心类三、ThreadPoolE