初入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

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

Java中的.close()举例详解

《Java中的.close()举例详解》.close()方法只适用于通过window.open()打开的弹出窗口,对于浏览器的主窗口,如果没有得到用户允许是不能关闭的,:本文主要介绍Java中的.... 目录当你遇到以下三种情况时,一定要记得使用 .close():用法作用举例如何判断代码中的 input

Spring Gateway动态路由实现方案

《SpringGateway动态路由实现方案》本文主要介绍了SpringGateway动态路由实现方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随... 目录前沿何为路由RouteDefinitionRouteLocator工作流程动态路由实现尾巴前沿S