👉博主介绍: 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO TOP红人

💕💕 感兴趣的同学可以收藏关注下不然下次找不到哟💕💕

✊✊ 感觉对你有帮助的朋友,可以给博主一个三连,非常感谢 🙏🙏🙏

在这里插入图片描述

写在前面

🔔Java是一种广泛使用的编程语言,由Sun Microsystems(现在是Oracle Corporation的一部分)于1995年推出。它是一种面向对象的语言,具有简单、可移植和高效的特点。Java被设计成具有跨平台的能力,这意味着它可以在不同的操作系统上运行,只需编写一次代码。

Java的语法类似于C++,但相对简洁和易于理解。它支持自动内存管理,通过垃圾回收机制来管理内 存,减轻了开发人员的负担。Java还提供了丰富的标准库和API,使开发人员能够轻松地进行各种任务,如网络编程、图形用户界面开发、数据库连接等。

Java广泛应用于各个领域,包括企业应用开发、移动应用开发(Android平台)、Web开发、游戏开发等。它的跨平台特性使得开发人员可以编写一次代码,然后在不同的设备和操作系统上运行,提高了开发效率和代码重用性。

1、入门必须知道的 Java 发展史

在这里插入图片描述

Java的发展史可以追溯到20世纪90年代初。以下是Java的主要发展里程碑:

  1. 1991年,Java的前身Oak由Sun Microsystems的詹姆斯·高斯林(James Gosling)等人开始开发。Oak最初是为家用电器和嵌入式系统设计的,但后来转向了互联网应用的开发。

  2. 1995年,Oak被重新命名为Java,并在同年发布。Java的目标是成为一种跨平台的编程语言,可以在不同的操作系统上运行。

  3. 1996年,Sun Microsystems发布了Java 1.0版本,这是第一个完整的Java版本。它引入了Java虚拟机(JVM)的概念,使得Java程序可以在任何支持JVM的平台上运行。

  4. 1997年,Java 1.1发布,引入了内部类、JavaBean和RMI(远程方法调用)等新特性。

  5. 1998年,Java 2发布,其中包括Java标准版(Java SE)、企业版(Java EE)和微型版(Java ME)等不同的版本。Java SE成为最广泛使用的版本,用于开发桌面和服务器应用程序。

  6. 2004年,Java 5(又称为Java 1.5)发布,引入了重要的语言和库的改进,如泛型、枚举、自动装箱和拆箱等。这些新特性大大提高了Java的开发效率和代码质量。

  7. 2011年,Oracle Corporation收购了Sun Microsystems,并成为Java的主要维护者和开发者。

  8. 近年来,Java不断发展和更新,发布了Java 8、Java 9、Java 10、Java 11、Java 12、Java 13、Java 14和Java 15等版本,每个版本都带来了新的功能和改进。

Java的发展史展示了它作为一种强大的编程语言的不断演化和适应不同领域需求的能力。它在企业级应用、移动应用、大数据处理和云计算等领域都有广泛应用。

2、Java 的优缺点

在这里插入图片描述

Java作为一种编程语言,具有许多优点和一些缺点。以下是Java的主要优缺点:

优点:

  1. 跨平台性:Java具有跨平台的能力,可以在不同的操作系统上运行,只需编写一次代码。这使得Java成为开发跨平台应用程序的理想选择。

  2. 面向对象:Java是一种面向对象的语言,它支持封装、继承和多态等面向对象的特性,使得代码更易于理解、维护和扩展。

  3. 内存管理:Java通过垃圾回收机制自动管理内存,开发人员不需要手动分配和释放内存。这减轻了开发人员的负担,并减少了内存泄漏和指针错误等问题。

  4. 强大的标准库和API:Java提供了丰富的标准库和API,包括网络编程、图形用户界面、数据库连接等功能。这使得开发人员可以快速、高效地开发各种应用程序。

  5. 大型开发社区和丰富的资源:Java拥有庞大的开发社区和活跃的开发者社区,这意味着开发人员可以轻松地获取到大量的学习资源、文档和支持。

缺点:

  1. 性能:相对于一些编译型语言(如C++),Java的性能可能稍逊一筹。尽管Java在性能方面有所改进,但仍然不如一些底层语言。

  2. 内存消耗:由于Java的自动内存管理机制,它需要更多的内存来运行相同的程序。这可能对一些资源受限的环境(如嵌入式系统)造成一定的影响。

  3. 学习曲线:相对于一些简单的脚本语言,Java具有较陡峭的学习曲线。它的语法和概念可能对初学者来说有一定的难度。

  4. 冗长的代码:相对于一些其他语言,Java的代码可能更冗长。这可能导致开发时间的增加和代码的阅读困难。

总体而言,Java作为一种广泛使用的编程语言,具有许多优点,如跨平台性、面向对象和内存管理。然而,它也有一些缺点,如性能和内存消耗。选择Java作为开发语言时,需要权衡这些优缺点,并根据具体需求做出决策。

3、Java 的应用场景

Java有广泛的应用场景,以下是一些常见的应用领域:

  1. 企业级应用程序开发:Java是开发企业级应用程序的首选语言。它提供了丰富的API和库,使开发人员能够构建高性能、可扩展和安全的企业应用程序,如电子商务系统、客户关系管理系统(CRM)和人力资源管理系统(HRM)等。

  2. Android应用开发:Java是Android平台的主要编程语言。开发人员可以使用Java编写Android应用程序,利用Android SDK提供的工具和库来构建功能丰富的移动应用。

  3. Web开发:Java可以用于构建动态网站和Web应用程序。Java的服务器端技术,如Java Servlet、JavaServer Pages(JSP)和JavaServer Faces(JSF),可以与Java EE(Enterprise Edition)平台结合使用,开发高性能、可扩展的Web应用。

  4. 大数据处理:Java在大数据处理和分析领域也有广泛应用。Hadoop和Spark等大数据处理框架使用Java作为主要编程语言,开发人员可以使用Java编写MapReduce任务和分布式数据处理应用。

  5. 金融领域:Java在金融领域有广泛的应用。许多金融机构使用Java开发交易系统、风险管理系统和金融数据分析工具等。

  6. 游戏开发:尽管Java在游戏开发领域相对较少使用,但它仍然可以用于开发2D和轻量级3D游戏。Java的图形库和游戏开发框架(如LibGDX)提供了开发游戏所需的工具和功能。

这只是Java的一些应用场景示例,实际上Java在许多其他领域也有广泛的应用。由于Java的跨平台性和丰富的生态系统,它成为了许多开发人员的首选语言。

4、JRE 和 JDK (面试重点)

**JRE(Java Runtime Environment)和JDK(Java Development Kit)**是与Java相关的两个重要概念。

JRE是Java的运行时环境,它包含了Java虚拟机(JVM)和Java类库。JRE用于在计算机上执行已编译的Java程序。当用户想要运行一个Java程序时,只需要安装JRE即可,无需进行编译和开发。JRE提供了Java程序运行所需的基本环境。

JDK是Java的开发工具包,它包含了JRE以及用于开发Java应用程序的各种工具和JDK提供了编译器(javac)和调试器(jdb)等开发工具,以及诸如Java标准库、开发文档和示例代码等资源。开发人员需要安装JDK才能编写、编译和调试Java程序。JDK提供了完整的开发环境,使开发人员能够进行Java应用程序的开发和调试工作。

简而言之,JRE用于运行Java程序,而JDK用于开发Java程序。如果你只是想运行Java程序,只需要安装JRE即可。如果你希望进行Java应用程序的开发工作,需要安装JDK。

在面试中,JRE和JDK通常是被问到的重点问题,因为它们是Java开发的基础。面试官可能会问到它们的区别、作用等相关问题。

5、面向对象

在这里插入图片描述

**面向对象(Object-oriented)**是一种计算机编程的方法论和编程范式。它的核心思想是将程序中的数据(对象)与操作数据的方法(函数)封装在一起,形成一个独立的实体,通过对象之间的交互来完成程序的设计和实现。

面向对象编程的基本概念包括类(Class)、对象(Object)、继承(Inheritance)、封装(Encapsulation)和多态(Polymorphism)等。

  • 类是一种抽象的概念,用来描述具有相同属性和行为的一组对象。它定义了对象的结构和行为。
  • 对象是类的实例化,它是具体的、可以在程序中使用的实体。每个对象都有自己的状态(属性)和行为(方法)。
  • 继承是指一个类可以从另一个类派生出来,继承可以实现代码的重用和扩展。子类可以继承父类的属性和方法,并且可以添加自己的特性。
  • 封装是将数据和操作数据的方法封装在一起,隐藏内部的实现细节,只暴露对外的接口。封装可以提高代码的可维护性和安全性。
  • 多态是指同一个方法可以根据不同的对象调用出现不同的行为。多态可以提高代码的灵活性和可扩展性。 面向对象的编程方法可以使程序更加模块化、易于理解和维护。它是现代软件开发中广泛应用的一种编程范式。

6、继承(Inheritance)、封装(Encapsulation)和多态(Polymorphism)

继承(Inheritance)、封装(Encapsulation)和多态(Polymorphism)是面向对象编程的三个核心概念。

  1. 继承(Inheritance): 继承是指一个类可以从另一个类派生出来,子类继承了父类的属性和方法。通过继承,子类可以重用父类的代码,并且可以在不修改父类的情况下添加新的属性和方法。继承实现了代码的重用和扩展。父类也被称为基类或超类,子类也被称为派生类。

  2. 封装(Encapsulation): 封装是指将数据和操作数据的方法封装在一起,隐藏内部的实现细节,只暴露对外的接口。通过封装,可以控制对数据的访问,提高代码的可维护性和安全性。封装可以通过访问修饰符(如private、protected、public)来实现,将数据设为私有的,只能通过公有的方法来访问和修改。

  3. 多态(Polymorphism): 多态是指同一个方法可以根据不同的对象调用出现不同的行为。多态实现了代码的灵活性和可扩展性。多态有两种形式:静态多态和动态多态。静态多态是通过方法的重载(Overloading)实现的,即同一个类中有多个同名的方法,但参数类型或个数不同。动态多态是通过方法的重写(Overriding)和继承实现的,即子类重写了父类的方法,通过父类引用指向子类对象时,根据实际对象的类型调用对应的方法。

继承、封装和多态是面向对象编程的重要概念,它们可以使代码更加模块化、易于理解和维护。通过合理地运用这些概念,可以设计出灵活、可扩展的软件系统。

💕💕 本文由激流原创,原创不易,希望大家关注、点赞、收藏,给博主一点鼓励,感谢!!! 🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃🎃 在这里插入图片描述