JAVA学习-全网最详细

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

 

目录

JAVA的介绍

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

阿里巴巴的历史原因

阿里巴巴发展的必然选择

令人难以抗拒的优点

No.1 跨平台/可移植性

No.2 安全性

No.3 面向对象

No.4 简单性

No.5 高性能

No.6 分布式

No.7 多线程

No.8 健壮性

Java的语法结构

面试题1:

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/87624.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux学习第19天:Linux并发与竞争实例: 没有规矩不成方圆

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 先说点题外话,上周参加行业年会,停更了一周。接下来的周五就要开启国庆中秋双节模式,所以有的时候,尤其是工作以后…

java面试题-设计模式基础

面试专题-设计模式 前言 在平时的开发中,涉及到设计模式的有两块内容,第一个是我们平时使用的框架(比如spring、mybatis等),第二个是我们自己开发业务使用的设计模式。 面试官一般比较关心的是你在开发过程中&#…

游戏录屏软件推荐,教你录制高清游戏视频

“有没有好用的游戏录屏软件推荐呀,最近当上了游戏主播,平台要求每天都要发一个游戏视频,可是我的游戏录屏软件太拉胯了,录制出来的视频非常糊,导致平台审核不通过,所以想问问大家有没有游戏录屏软件推荐一…

SQL server 创建存储过程

SQL Server如何创建存储过程 存储过程: 可以理解为完成特定功能的一组 SQL 语句集,存储在数据库中,经过第一次编译,之后的运行不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数…

时序分解 | Matlab实现CEEMD互补集合经验模态分解时间序列信号分解

时序分解 | Matlab实现CEEMD互补集合经验模态分解时间序列信号分解 目录 时序分解 | Matlab实现CEEMD互补集合经验模态分解时间序列信号分解效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现CEEMD互补集合经验模态分解时间序列信号分解 1.分解效果图 &#xff0…

opencv dnn模块 示例(17) 目标检测 object_detection 之 yolo v5

在前文【opencv dnn模块 示例(16) 目标检测 object_detection 之 yolov4】介绍的yolo v4后的2个月,Ultralytics发布了YOLOV5 的第一个正式版本,其性能与YOLO V4不相伯仲。 文章目录 1、Yolo v5 和 Yolo v4 的区别说明1.1、Data Augmentation - 数据增强1…

vue3【echarts 做的词云图】

效果图 安装 安装echarts npm install echarts安装词云图 npm install echarts-wordcloudecharts-wordcloud的git仓库地址 echarts官网地址 引用 import * as ECharts from "echarts"; //引用eacharts import echarts-wordcloud;//引用云词这里的echarts 是自己简…

PHP8的类与对象的基本操作之类的实例化-PHP8知识详解

定义完类和方法后,并不是真正创建一个对象。类和对象可以描述为如下关系。类用来描述具有相同数据结构和特征的“一组对象”,“类”是“对象”的抽象,而“对象”是“类”的具体实例,即一个类中的对象具有相同的“型”,…

【Solidity】Solidity Keccak256 与 SHA3-256

Solidity Keccak256 与 SHA3-256 文章目录 前言什么是 SHA3Keccak256 和 SHA3-256 有什么区别?为何推出sha3参考区块链的造富神话大家一定都有所耳闻,今天我们讨论以太坊中一项基础技术,主打一个一学就会。 前言 看过以太坊源码或者对区块链有了解的的同学,一定都见过一个…

华为 Mate60 系列全球发布:地表最强黑科技旗舰,打破传统,引领未来!

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

Amazon Lightsail——兼具亚马逊云科技的强大功能与 VPS 的简易性

对于开发者而言,当你想构建系统架构时,你的面前就出现了两种选择,选择一:花时间去亲手挑选每个亚马逊云科技组件(云服务器、存储、IP 地址等),然后自己组装起来;选择二是只需要一个预…

WebGL HUD(平视显示器)

目录 HUD(平视显示器) 如何实现HUD 示例程序(HUD.html) 示例程序(HUD.js) 代码详解 在网页文字上方显示三维物体 代码详解 HUD(平视显示器) 平视显示器(head…

展示日志log4.properties

log4.properties 1.log4.properties 此时文件主要用于展示日志的输出的级别的信息。 # Set root category priority to INFO and its only appender to CONSOLE. #log4j.rootCategoryINFO, CONSOLE debug info warn error fatal log4j.rootCategoryinfo, CONSO…

算法通过村第九关-二分(中序遍历)黄金笔记|二叉搜索树

文章目录 前言1. 有序数组转二叉搜索树2. 寻找连个正序数组的中位数总结 前言 提示:有时候,我感觉自己一辈子活在两个闹钟之间,早上的第一次闹钟,以及5分钟之后的第二次闹钟。 --奥利弗萨克斯《意识的河流》 每个专题都有简单题&a…

netty快速入门基本用法

1、netty的基本工作流程 在netty中存在以下的核心组件: ServerBootstrap:服务器端启动辅助对象;Bootstrap:客户端启动辅助对象;Channel:通道,代表一个连接,每个Client请对会对应到…

快速排序与代码

快速排序(Quicksort)是一种常用的排序算法,它基于分治的思想。 时间复杂度:O(nlogn) 空间复杂度:O(logn) 快速排序的基本思想如下: 选择一个元素作为基准&a…

文档升级 | iTOP-RK3568开发板ADB工具的安装和使用

iTOP -RK3568开发板使用手册更新,后续资料会不断更新,不断完善,帮助用户快速入门,大大提升研发速度。 《iTOP-3568开发板ADB使用手册》进行了文档升级,对ADB工具的安装和使用进行了更全面的步骤介绍。 第1章 安装adb工…

JMeter之脚本录制

【软件测试面试突击班】如何逼自己一周刷完软件测试八股文教程,刷完面试就稳了,你也可以当高薪软件测试工程师(自动化测试) 前言: 对于一些JMeter初学者来说,录制脚本可能是最容易掌握的技能之一。…

Java集成支付宝沙箱支付,详细教程(SpringBoot完整版)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、开发前准备?二、使用步骤1、引入库2、配置在 application.yml 里面进行配置:3、alipay的java配置:AplipayConfig.java4、支付…

安达发|APS排单软件中甘特图的应用

近几年来,企业对生产效率和管理水平的要求越来越高。为了提高生产效率,降低生产成本,许多企业开始引入先进的生产计划与调度系统(APS),实现生产过程的自动化、智能化管理。APS排产软件是一种能够根据企业的…