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

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定