javeSE基础语法汇总以及核心概念(一)

184 阅读9分钟

概念图

涵盖的一些基础概念汇总,图里没有涉及的,下面文字会说明;查了很多资料汇总的;有问题还希望大家及时指正!!! javaSE基础一.png

JRE、JDK、JVM三者区别

JVM(Java Virtual Machine,Java虚拟机)

  • JVM是Java程序运行的虚拟机,它负责将Java字节码(.class文件)转换为特定平台的机器码。JVM提供了Java程序的运行环境,使得Java具有“编写一次,处处运行”的特点。
  • 它具有垃圾收集、内存管理等功能。

JRE(Java Runtime Environment,Java运行环境)

  • JRE是Java程序运行所需的环境,它包含了JVM和Java类库(Java API),以及其他一些支持文件。用户只需安装JRE,就可以运行Java应用程序。
  • JRE不包含开发工具,因此不能用来编写或编译Java程序。

JDK(Java Development Kit,Java开发工具包)

  • JDK是开发Java应用程序的工具包,包含了JRE、JVM以及开发Java程序所需的编译器(javac)、调试工具等。它是给开发者用的,提供了开发、编译、调试和执行Java程序的全部功能。
  • JDK是最全面的Java软件包,适合于需要开发和测试Java应用程序的用户。

总结:

  • JVM 是负责执行Java字节码的虚拟机。
  • JRE 是包含JVM及Java类库的运行环境,适用于运行Java程序。
  • JDK 则是开发Java程序的工具包,包含JRE和开发工具。

Java SE、Java EE、Java ME的概念和区别

Java SE(Java Standard Edition)

  • 概念:Java SE是Java的标准版,提供了基本的Java编程语言和核心类库。它适用于开发桌面应用程序、简单的服务器端应用程序以及其他一些基础的Java应用。
  • 功能:Java SE包含了Java语言的所有基本特性,以及广泛的类库,如集合框架、输入输出、线程、图形用户界面等。
  • 使用场景:常用于开发桌面软件、命令行工具、小型应用程序等。

Java EE(Java Enterprise Edition)

  • 概念:Java EE是Java的企业版,建立在Java SE之上,专为开发企业级应用程序而设计。它提供了一套丰富的API和运行环境,用于构建大型、分布式、多层次的应用程序。
  • 功能:Java EE包括了一系列扩展功能,如Servlet、JSP(Java Server Pages)、EJB(Enterprise JavaBeans)、JPA(Java Persistence API)、Web服务等,支持企业级需求。
  • 使用场景:广泛应用于大型企业应用、电子商务平台、复杂的Web应用、分布式系统等。

Java ME(Java Micro Edition)

  • 概念:Java ME是Java的微型版,特别设计用于资源受限的设备和嵌入式系统,如手机、智能卡、嵌入式设备等。
  • 功能:Java ME提供了一组适合小型设备的类库,支持网络连接、用户界面、存储等。它的API相对较少,开发环境也比较轻量。
  • 使用场景:主要用于开发移动应用、嵌入式设备应用等。

总结区别

特性Java SEJava EEJava ME
目标用户普通开发者企业开发者嵌入式系统开发者
应用范围桌面应用、简单应用企业级、大型分布式应用移动应用、嵌入式设备应用
提供的API核心类库扩展的企业级API轻量级API
运行环境本地环境企业应用服务器(如Tomcat)嵌入式设备环境

常见的架构模式

1. C/S(Client/Server,客户端/服务器)架构

  • 概念:在C/S架构中,应用程序被分为客户端和服务器两部分,客户端负责用户界面和一些业务逻辑,服务器则处理数据存储和管理。

  • 特点

    • 客户端可以是桌面应用,通常通过网络与服务器进行通信。
    • 适合处理复杂的业务逻辑和大数据量的应用,性能相对较好。
  • 使用场景:文件共享、数据库管理系统、企业内部应用等。

2. MVP(Model-View-Presenter,模型-视图-演示者)架构

  • 概念:MVP是一种软件架构模式,将应用程序分为模型、视图和演示者三个部分,以实现更好的分离关注点。

  • 特点

    • 模型:负责业务逻辑和数据处理。
    • 视图:负责显示数据和用户界面。
    • 演示者:充当模型和视图之间的中介,处理用户输入。
  • 使用场景:常用于桌面应用和移动应用的开发。

3. MVC(Model-View-Controller,模型-视图-控制器)架构

  • 概念:MVC是一种常见的设计模式,将应用程序分为模型、视图和控制器三个部分。

  • 特点

    • 模型:封装数据和业务逻辑。
    • 视图:负责展示模型的数据。
    • 控制器:处理用户输入并更新模型和视图。
  • 使用场景:广泛应用于Web开发和桌面应用开发。

4. Microservices(微服务)架构

  • 概念:微服务架构将应用程序拆分为多个小的服务,每个服务独立运行,负责特定的业务功能。

  • 特点

    • 每个服务可以使用不同的技术栈,可以独立部署和扩展。
    • 更易维护和测试,适合大规模应用的开发。
  • 使用场景:适用于复杂的企业应用和需要高可用性的系统。

5. SOA(Service-Oriented Architecture,服务导向架构)

  • 概念:SOA是一种设计思想,通过将应用程序功能划分为相互独立的服务,使得系统更加灵活。

  • 特点

    • 服务之间通过标准协议(如SOAP、REST)进行通信。
    • 服务通常是松耦合的,可以独立开发和部署。
  • 使用场景:适用于需要系统交互和组件重用的大型企业系统。

6. Event-Driven Architecture(事件驱动架构)

  • 概念:事件驱动架构基于事件的产生和处理,将系统的各个组件通过事件进行解耦。

  • 特点

    • 当发生特定事件时,触发相应的处理逻辑。
    • 有助于提高系统的响应性和可扩展性。
  • 使用场景:适合需要实时处理和响应的应用,如消息队列系统、实时数据处理等。

7. B/S(Browser/Server,浏览器/服务器)体系架构

主要用于Web应用程序的开发与部署。它的核心思想是将应用程序的逻辑分为两部分:客户端和服务器。

B/S架构的组成部分

  1. 客户端(Browser)

    • 客户端通常是用户的Web浏览器(如Chrome、Firefox、Safari等),用户通过浏览器访问和使用Web应用。
    • 客户端负责用户界面的展示和用户输入的处理,向服务器发送请求并接收响应。
    • 由于应用的逻辑和数据主要在服务器端,因此客户端的实现相对简单,使用HTML、CSS和JavaScript等技术进行开发。
  2. 服务器(Server)

    • 服务器通常是Web服务器(如Tomcat、Nginx、Apache等),运行在远程机器上。
    • 服务器负责处理来自客户的请求,执行业务逻辑,并访问数据库或其他数据源。然后将处理结果返回给客户端。
    • 服务器端通常使用Java、Python、PHP、Node.js等技术栈来实现业务逻辑。
  3. B/S架构的特点

  • 简化客户端:客户端不需要安装复杂的软件,只需一个浏览器即可使用应用程序,降低了客户端维护和升级的复杂性。
  • 集中管理:服务器端集中管理应用的逻辑和数据,便于更新和维护,所有用户都可以及时访问到最新的版本。
  • 跨平台:由于浏览器具有良好的跨平台能力,用户可以使用不同的操作系统和设备访问应用程序。
  • 可扩展性:可以根据需求动态扩展服务器资源,以支撑更多用户的访问。
  1. B/S架构的工作流程
  • 用户在客户端输入信息并通过浏览器发起请求(如点击链接、提交表单等)。
  • 请求通过网络被发送到服务器。
  • 服务器接收请求,调用相应的处理逻辑,可能还需要访问数据库或其他服务。
  • 服务器处理完请求后,将结果(如HTML页面、JSON数据等)返回给客户端。
  • 客户端接收响应并更新用户界面。
  1. B/S架构的应用场景
  • Web应用程序:如企业管理系统、在线商城、社交媒体平台等。
  • 移动Web应用:通过手机浏览器访问的应用程序。
  • 云服务:如在线办公软件、数据分析平台等。

B/S架构是一种高效、灵活的Web应用开发模式,通过利用浏览器和服务器的分工,使得应用的开发、维护和升级变得更加简便和高效。随着互联网的发展,B/S架构广泛应用于各种Web和移动应用程序中。

总结

不同的架构有不同的设计理念和应用场景,选择合适的架构可以提高系统的可维护性、可扩展性和性能。这些架构的灵活性使得开发者可以根据特定需求进行设计和实现。

关键字(Keywords)

Java的关键字主要用于定义程序结构、控制流、数据类型和其他语言特性,包括但不限于:

  1. 数据类型

    • int
    • float
    • double
    • char
    • boolean
  2. 控制流

    • if
    • else
    • switch
    • case
    • for
    • while
    • do
    • break
    • continue
    • return
  3. 访问修饰符

    • public
    • private
    • protected
  4. 类和对象

    • class
    • interface
    • extends
    • implements
    • new
    • this
    • super
  5. 异常处理

    • try
    • catch
    • finally
    • throw
    • throws
  6. 其他

    • void
    • static
    • final
    • synchronized
    • volatile
    • native
    • abstract
    • strictfp

保留字(Reserved Words)

保留字是指在Java中被预留,虽然它们不会用于特定语义,但仍然不能用作标识符。实际上,Java中的所有关键字都是保留字。

不可用的标识符

使用以下保留字或关键字将导致编译错误:

  • 任何列出的关键字(如classpublic等)