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知识就分享到这里来啦~🐣
🐣喜欢就三连一个吧💖~🐣
相关文章:

JAVA学习-全网最详细
🌈write in front🌈 🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如…...

基于物联网的农村地区智能微电网系统(Simulink)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

JavaScript系列从入门到精通系列第九篇:JavaScript中赋值运算符和关系运算符以及Unicode编码介绍
一:赋值运算符 1: 右侧的值可以赋值给左侧的变量。 var a 123; console.log(a);//123 2: var a 10; a a 5; a 5; 上边这两个写法是一样的。 3:- var a 10; a a-5; a - 5; 上边这两个写法是一样的。 4:* …...
租用独立服务器有哪些常见的误区?
租用独立服务器有哪些常见的误区? 如今,租用独立服务器的市场随着idc行业良好的发展趋势而变得越来越广泛,其最明显的地方在于出现了许多的代理商,而成为代理商的门槛非常低,这样一来就会出现许多问题,导致…...
【学习笔记】POJ 3834 graph game
点这里 结论题😅 ,图一乐 结论:如果原图中存在两个边集不交的生成树,那么 Bob \text{Bob} Bob必胜;否则 Alice \text{Alice} Alice必胜 证明有点难😅 首先,考虑维护两颗 不存在红边 的生成树…...
无监督学习算法Kmeans
1. 有监督学习和无监督学习 在机器学习算法中,常把算法分为有监督学习和无监督学习两种。他们之间的区别主要在于输入数据集类型和学习目标。 (1)有监督学习:训练输入的数据需要带有标签,以便算法能够学习输入和输出…...

区块链(4):区块链技术模型介绍
1 区块链白皮书中的公有链,私有链,联盟链概念介绍 区块链系统根据应用场景和设计体系的不同,一般分为公有链、联盟 链和专有链(私有链)。其中: 公有链的各个节点可以自由加入和退出网络,并参加链上数据的读 写,运行时…...

go语言 rune 类型
ASCII 码只需要 7 bit 就能完整地表示,但只能表示英文字母在内的 128 个字符,为了表示世界上大部分的文字系统,发明了 Unicode ,它是 ASCII 的超集,包含世界上书写系统中存在的所有字符,并且为每个代码分配…...

DS18B20温度传感器
DS18B20简介 DS18B20 是由 DALLAS 半导体公司推出的一种的“一线总线(单总线)”接口的温度传感器 这种一线总线就是 三线制 SPI DS18B20的 配置寄存器: TM 是测试位,出厂设置就被设置为0,不需要改动, R1、R…...
LeetCode322. 零钱兑换
322. 零钱兑换 文章目录 [322. 零钱兑换](https://leetcode.cn/problems/coin-change/)一、题目二、题解方法一:完全背包二维数组方法二:一维数组 三、注意 一、题目 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 a…...

AUTOSAR扫盲贴--不是黑神话【基本概念和方法论】
猴子纵有72搬变化,也跳不出如来的手掌 目录 1. 引言 2. AUTOSAR的基本概念 2.1. AUTOSAR的架构和组成部分 2.2. AUTOSAR的规范和...

python抠图(去水印)开源库lama-cleaner入门应用实践
1. 关于 Lama Cleaner Lama Cleaner 是由 SOTA AI 模型提供支持的免费开源图像修复工具。可以从图片中移除任何不需要的物体、缺陷和人,或者擦除并替换(powered by stable diffusion)图片上的任何东西。 特征: 完全免费开源&am…...

Nginx可视化管理工具结合cpolar实现远程访问内网服务
前言 Nginx Proxy Manager 是一个开源的反向代理工具,不需要了解太多 Nginx 或 Letsencrypt 的相关知识,即可快速将你的服务暴露到外部环境,并且支持 SSL 配置。基于 Tabler 的美观且安全的管理界面,无需了解 Nginx 即可轻松创建转发域、重定…...

CCC数字钥匙设计【BLE】 --建立安全测距
1、建立安全测距Establish Secure Ranging 车端总共有三种建立安全测距的方式,具体如下: 1) Optimal Flow 2) Sub-Optimal Flow 3) Ranging Recovery Flow 为了确定建立安全测距需要执行哪条流程,车辆需要进行以下流程选择。当车辆和设备…...
Ubuntu22.04 Opencv4.5.1 CPU和GPU编译攻略,Opencv CPU和GPU编译保姆教程 亲自测试。
1、安装opencv依赖 安装时最好更换一下源。 sudo apt-get -y update sudo apt-get -y install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get -y install libgtk-3-dev gfortran openexr libatlas-base-dev python3-dev pyt…...

常识判断 --- 党史
目录 中共1~3大 例题 国民党 例题 中共4~5大 例题 中共起义~会议 例题 中共六届六中全会(1938年9月) 中共七大(1945年4月) 例题 中共七届二中全会 例题 中共8~10大 中共11~12届全会 例题 中共13~14大 …...
Rust 基础再理解
Rust堆栈 Rust中各种类型的值默认都存储在栈中,除非显式地使用Box::new()将它们存放在堆上,但数据要存放在栈中,要求其数据类型的大小已知。对于静态大小的类型,可直接存储在栈上,如裸指针、布尔、字符、整数浮点数&a…...

Opencv cuda版本在ubuntu22.04中安装办法,解决Could NOT find CUDNN的办法
文章目录 概要下载cuda的runfile版本配置环境变量官网下载cudann安装Opencv依赖包下载opencv和opencv_contrib并解压准备编译安装anaconda环境执行编译命令安装OpenCV并检查是否安装成功 概要 解决以下安装问题: -- Could NOT find CUDNN: Found unsuitable versi…...
全网首发YOLOv8暴力涨点:Gold-YOLO,遥遥领先,超越所有YOLO | 华为诺亚NeurIPS23
💡💡💡本文独家改进:提出了全新的信息聚集-分发(Gather-and-Distribute Mechanism)GD机制,Gold-YOLO,替换yolov8 head部分 实现暴力涨点 Gold-YOLO | 亲测在多个数据集能够实现大幅涨点 💡💡💡Yolov8魔术师,独家首发创新(原创),适用于Yolov5、Yolov7、…...
BD就业复习第四天
1. 布隆过滤器怎么实现去重 布隆过滤器是一种用于快速检查一个元素是否可能存在于一个大集合中的数据结构,但它并不适用于精确去重。因为布隆过滤器具有一定的误判率(可能会将不存在的元素误判为存在),所以不能确保完全的去重。但…...

19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...

大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...

Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...

MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...

Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...