JAVA学习-全网最详细

简介: JAVA学习-全网最详细

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的语法结构🌿

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 中的

       双亲委派模型

       类加载器

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知识就分享到这里来啦~🐣

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


目录
相关文章
|
27天前
|
Java 调度 开发者
Java线程池ExecutorService学习和使用
通过学习和使用Java中的 `ExecutorService`,可以显著提升并发编程的效率和代码的可维护性。合理配置线程池参数,结合实际应用场景,可以实现高效、可靠的并发处理。希望本文提供的示例和思路能够帮助开发者深入理解并应用 `ExecutorService`,实现更高效的并发程序。
34 10
|
30天前
|
Java 数据库连接 数据库
【潜意识Java】深度分析黑马项目《苍穹外卖》在Java学习中的重要性
《苍穹外卖》项目对Java学习至关重要。它涵盖了用户管理、商品查询、订单处理等模块,涉及Spring Boot、MyBatis、Redis等技术栈。
86 4
|
30天前
|
前端开发 Java 数据库连接
【潜意识Java】深度解读JavaWeb开发在Java学习中的重要性
深度解读JavaWeb开发在Java学习中的重要性
30 4
|
30天前
|
存储 移动开发 算法
【潜意识Java】Java基础教程:从零开始的学习之旅
本文介绍了 Java 编程语言的基础知识,涵盖从简介、程序结构到面向对象编程的核心概念。首先,Java 是一种高级、跨平台的面向对象语言,支持“一次编写,到处运行”。接着,文章详细讲解了 Java 程序的基本结构,包括包声明、导入语句、类声明和 main 方法。随后,深入探讨了基础语法,如数据类型、变量、控制结构、方法和数组。此外,还介绍了面向对象编程的关键概念,例如类与对象、继承和多态。最后,针对常见的编程错误提供了调试技巧,并总结了学习 Java 的重要性和方法。适合初学者逐步掌握 Java 编程。
52 1
|
3月前
|
Java 大数据 API
14天Java基础学习——第1天:Java入门和环境搭建
本文介绍了Java的基础知识,包括Java的简介、历史和应用领域。详细讲解了如何安装JDK并配置环境变量,以及如何使用IntelliJ IDEA创建和运行Java项目。通过示例代码“HelloWorld.java”,展示了从编写到运行的全过程。适合初学者快速入门Java编程。
|
3月前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
4月前
|
XML Java 编译器
Java学习十六—掌握注解:让编程更简单
Java 注解(Annotation)是一种特殊的语法结构,可以在代码中嵌入元数据。它们不直接影响代码的运行,但可以通过工具和框架提供额外的信息,帮助在编译、部署或运行时进行处理。
124 43
Java学习十六—掌握注解:让编程更简单
|
4月前
|
存储 算法 Java
带你学习java的数组军队列
带你学习java的数组军队列
48 0
|
4月前
|
存储 SQL 小程序
JVM知识体系学习五:Java Runtime Data Area and JVM Instruction (java运行时数据区域和java指令(大约200多条,这里就将一些简单的指令和学习))
这篇文章详细介绍了Java虚拟机(JVM)的运行时数据区域和JVM指令集,包括程序计数器、虚拟机栈、本地方法栈、直接内存、方法区和堆,以及栈帧的组成部分和执行流程。
66 2
JVM知识体系学习五:Java Runtime Data Area and JVM Instruction (java运行时数据区域和java指令(大约200多条,这里就将一些简单的指令和学习))
|
4月前
|
小程序 Oracle Java
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
这篇文章是关于JVM基础知识的介绍,包括JVM的跨平台和跨语言特性、Class文件格式的详细解析,以及如何使用javap和jclasslib工具来分析Class文件。
81 0
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用