JAVA学习-全网最详细

🌈write in front🌈
🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流.
🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如需转载还请通知⚠️
📝个人主页:Aileen_0v0🧸---CSDN博客
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​
📣系列专栏:Aileen_0v0🧸的JAVA学习系列专栏🌸------CSDN博客
🗼我的格言:"没有罗马,那就自己创造罗马💫~"

目录

JAVA的介绍

为什么阿里巴巴超级喜欢JAVA开发?

阿里巴巴的历史原因

阿里巴巴发展的必然选择

令人难以抗拒的优点

[No.1 跨平台/可移植性](#No.1 跨平台/可移植性)

[No.2 安全性](#No.2 安全性)

[No.3 面向对象](#No.3 面向对象)

[No.4 简单性](#No.4 简单性)

[No.5 高性能](#No.5 高性能)

[No.6 分布式](#No.6 分布式)

[No.7 多线程](#No.7 多线程)

[No.8 健壮性](#No.8 健壮性)

Java的语法结构

面试题1:

[JAVA 程序的运行过程](#JAVA 程序的运行过程)

面试题2:

面试题3:

面试题4:


JAVA的介绍🍃

JAVA是一种高级编程语言,由Sun Microsystems公司于1995年首次推出,并且现在由Oracle公司负责维护。它的特点是可移植性、面向对象性、安全性和性能良好。

在JAVA的发展历程中,最为重要的里程碑是J2SE(Java 2 Standard Edition)和J2EE(Java 2 Enterprise Edition)的推出。J2SE是JAVA标准版本,包括核心类库、JVM(JAVA Virtual Machine)和编译工具,用于开发桌面应用程序。J2EE则是JAVA企业版,用于开发企业级应用程序,包括EJB(Enterprise Java Beans)、Servlet、JSP(JavaServer Pages)和JDBC(Java Database Connectivity)等技术。

JAVA的应用非常广泛,它被用于开发桌面应用程序、Web应用程序、移动应用程序、嵌入式系统等。其中,JAVA在Web开发领域中占有着重要的地位,因为它可以通过Servlet和JSP技术来开发动态网站,也可以通过Spring、Hibernate等框架来快速开发企业级应用。

在编程界,一直都在不断地产生新的编程语言,当然也会淘汰一些跟不上时代的语言。

然而,有26年历史的JAVA却在各大编程语言排行榜上依然地位稳固!也是众多大型企业的最常用的编程语言!

对此,有不少小伙伴会有疑问,为什么JAVA就会如此受欢迎呢?

为什么阿里巴巴超级喜欢JAVA开发?🌱

作为互联网龙头企业之一的阿里巴巴,一向都是众多互联网公司的风向标,因此回答这个问题是非常具有代表性的。

接下来优优就为你一一给你道来,JAVA究竟是有何魅力,让阿里巴巴如此热衷~

阿里巴巴的历史原因

2003年,门户网站还处在鼎盛时期,网页三剑客是程序员争相学习的技术之一,也就是PHP、ASP(.NET)和JSP是互联网常用的网站开发语言,是大部分门户网站的首选

而淘宝也就是在2003年创立的,当时为了快速上线,就选择了PHP,最初的几个月跑下来还是很好的满足了需求,但随着用户量和交易量的飞速增加,各种各样的性能问题就爆发了出来,PHP已经无法支持阿里的业务了,并发量不够,因此不得不考虑换一种更加高效和稳定的架构。

这时候Java就进入了候选列表,在Sun公司专家的主导下开始转向Java,一直延续到现在。

阿里巴巴发展的必然选择

经过10几年的发展,阿里已经有拥有数以万计的Java开发人员,在Java技术栈有着非常深厚的积累。

目前看阿里的核心架构是Java语言开发,而且所有的技术生态都是围绕Java进行的。从需求管理、代码托管、集成发布、运行容器、数据存储、监控预警、日志分析等全流程工具大部分都是基于Java自主研发

阿里这个商业操作系统全身上下都流淌着Java的血液,因此喜欢Java也是必然的结果。

令人难以抗拒的优点🌻

Java的优点可以用几个词来概括:优美,严谨,健壮,不易出错等等。Java有8大特性,也就是它的8大优点:

No.1 跨平台/可移植性

跨平台是Java语言的核心优势,在设计之初Java就很注重可移植性和跨平台性,因为Java的运行是通过JVM来实现的,所以系统本身是什么无关紧要,只要安装对应的虚拟机即可,省去了大量的代码重复编写时间。

并且Java称霸时间较早,在整个行业建立了强大的生态体系,目前已经成为了覆盖IT行业的"第一大语言",是计算机界的"英语"。虽然后来也有其他的跨平台语言出现,但是无法和Java强大的生态体系抗衡。

No.2 安全性

Java的安全模型基于一个可定制的"沙盒",Java 软件程序可在其中安全运行,对系统或用户无潜在风险。

No.3 面向对象

Java是完全的面向对象语言,非常适合大型软件的设计和开发。

No.4 简单性

Java去掉了头文件,指针,结构,联合等内容,比起其他语言,更加简单易学。

No.5 高性能

Java在初期总是被人吐槽"性能低",但是在Java语言发展过程中通过对虚拟机的优化,提升了很多的效率,现代Java低性能的问题已经完全被解决了。

No.6 分布式

Java是为分布式环境设计的,它可以处理TCP/IP协议。其还支持远程调用方法,使程序能够通过网络调用。

No.7 多线程

Java多线程的简单易用性使Java成为了最主流的服务器端开发语言,多线程的使用可以使资源利用率更高,程序设计在某些情况下更简单,程序响应更快。

No.8 健壮性

Java吸收了C/C++的优点,但是丢弃了指针等容易使程序崩溃的内容,提升了语言的健壮性。

Java的语法结构🌿

java 复制代码
package Oniline;
public class HelloWorld{
	public static void main(String[] args) {
		System.out.println("HelloWorld");
	}
}

注:

Java 中的main方法 必须包含 public static, main

System.out.println 相当于 C语言中的 printf

面试题1:

1.这个main方法,为什么是static的?

2.String\[\] args 的作用是什么?

注意:Java 的文件名不能是 数字 或 中文

什么是idea,IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具。

JAVA 程序的运行过程🌾

面试题2:

JDK JRE JVM 三者有什么关系和区别?

JDK: Java 开发工具

JRE: Java 运行环境

JVM: Java 虚拟机

关系图:

先将磁盘上的.Java文件利用 javac 编译成二进制的.class 文件,然后再通过 java + 文件名 进行内容的打印

java.class 跑完以后 程序都来到了 JVM(java virture machine--->JAVA 虚拟机) 它可以把 .class文件 中的字节码 加载到 JVM 中 运行

编译过程中的 javac 和 最后打印用的 java 都属于JDK命令

javac 不仅仅是 「java 的编译器」 也是「Java 的命令」~~

控制台运行结果:

编译之后生成的是 .class文件

面试题3:

从.class文件 加载成 JVM 中的

双亲委派模型

类加载器

java 复制代码
class A{
	
}
public class HelloWorld{
	public static void main(String[] args) {
		System.out.println("HelloWorld");
	}
}

一个Java 文件里面可以有 多个 class~

但是 一个 Java 文件里面 有且仅有 一个 public!

控制台用 javac 编译 java文件 之后 目录里面会多 那些定义的 class 文件

一个类 会生成 一个字节码文件

如果 一个类是public 的 那么这个类的类名 一定要和文件同名,

并且 一个java 文件当中 只能拥有一个公共的类.

面试题4:

为什么这样设置?

为了方便使用.

如果需要HelloWorld这个类, 那么就加载对应的字节码文件.

🐣今天的Java知识就分享到这里来啦~🐣

🐣喜欢就三连一个吧💖~🐣

相关推荐
Scott9999HH1 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
腻害兔1 小时前
【若依项目-产品经理视角】深度拆解 RuoYi-Vue-Pro 商城模块:从商品管理到交易引擎,50 张表撑起一整套电商系统
java·大数据·vue.js·产品经理·ai编程
码智社2 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
AI云海2 小时前
python 列表、元组、集合和字典
开发语言·python
萧瑟余晖3 小时前
JDK 26 新特性详解
java·开发语言
马优晨4 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
a1117765 小时前
2FA 验证码生成器(github登录验证 app)
笔记·学习
我的xiaodoujiao5 小时前
API 接口自动化测试详细图文教程学习系列32--Allure测试报告2
python·学习·测试工具·pytest
人邮异步社区6 小时前
怎么把C语言学到精通?
c语言·开发语言
心平气和量大福大6 小时前
C#-WPF-控件-TextBox 数据绑定
开发语言·c#·wpf