学习javaEE初阶的第一堂课

news2024/11/23 17:14:13

请添加图片描述

学习金字塔

java发展简史

Java最初诞生的时候是用来写前端的!!

199x年

199x年,互联网还处在比较早期的阶段,当时主流的编程语言是 C/C++,
有个大佬要搞个"智能面包机",觉得用C++来做太难了
image-20230914175513956

于是就基于C++搞了个简单点的语言,Java 就诞生了~~
遗憾的是项目流产了,没做成,但是java存活了下来,后来别人一看,
java这门语言还行,还不错 ~~ 毕竟当时的人苦C++久已!!!

这时java又被赋予新的用途了 ~~ java用来做网页前端开发了,相关的技术叫applet
~~ 去图书馆翻比较老的java教科书,一般上面都会介绍applet
java通过这点, 变得风声水起 ~~ 大火 ~~ 甚至说,后来有后来者,为了蹭热度,把自己的名字都改成和Java相关的,叫JavaScript,但是了,java和javaScript是两门毫不相关的语言

问题来了,为什么现在不再用java做前端开发???
原因就是,java在发展的过程中,被微软这个大佬精准狙击了,
做网页前端开发的必要条件就是,代码要运行在浏览器上的.
当年最火的浏览器 ~~ 网景(Netscape) ~~ 当时人们上网的标配
但是由于微软WIndows的强势崛起,带着IE浏览器(Windows内置的浏览器)上分了 ~~ 可怜的网景被打得没有还手之力
当IE坐稳第一的交椅,成为最属浏览器之后,微软做出了违背祖宗的决定 ~~ IE浏览器不再支持Java !!!
Java就这样从天堂跌入到了地狱!!!

为啥要微软要狙击java ???
为了扶持自家的产品 ~~ VBScript之类的
但是了,当时的市场并不买账,程序猿们纷纷投靠JavaScript
~~ 这个事情就让JS莫名其妙的就火了快30年~~鹬蚌相争,渔翁得利

2000年后

时间到了2000年之后,相比于90年代,互联网得到了极大的发展,
互联网的产品形态越来越丰富,网站变得不再是一个简单的"报纸/杂志"这样的形态,而是有了更多的功能需求 => 对于服务器这里也是一个很大的需要了!!!
各路神仙纷纷去抢这个服务器开发的市场份额
~~ 在这之前, web服务器开发主要是靠C/C++(CGI技术体系),但是用起来比较难用
其中抢的最好的就是PHP ~~ PHP拔的头筹,当时web 服务器开发最火的技术
~~ Java 屈居第二,紧随其后,使用的是JSP这一套技术
~~第三的就是微软弄的一个ASP

当年来进行web开发的技术体系LAMP
L=> linux
A => Apache
M => MySQL
P => PHP

由于这时PHP的十分火爆,导致,PHP的作者们都有点膨胀
~~在PHP官方网站上写下了这样的一句话,
“PHP是世界上最好的编程语言”

同时,主角Java 也从被微软狙击的阴影中走出来 ~~ 发展的又风生水起,

再加上2000年之后,手机(功能机)的逐渐流行
代表之作: 诺基亚 , 摩托罗拉等等
这些手机也是允许开发程序.也是使用Java ~~ J2ME
当年的手机程序,启动的时候,都是带java logo

基于如此, Java就成了最主流的编程语言之一

2010年后

时间来到了2010年之后 ~~ (2007乔布斯发布了苹果手机)
iPhone 4 的发布 ~~ 早期苹果最经典的版本 ~~ 带来最大的变化就是引入了应用商店(AppStore)
=> 这就允许开发者开发各种各样的第三方应用, 用手机做一个平台, 进行应用的推广~~ 具有划时代的意义

但是由于苹果手机的昂贵,普通人是无力购买的
这时,另外一个大佬安卓(谷歌开发的)登场了,
在一系列安卓手机厂商,如韩国的三星,国内的小米加持下,
智能手机的价格就被打下来了,但随之而来的是对之前的诺基亚等功能机的毁灭性打击,
~~ J2ME系列技术栈,也就随之陨落了 ~~ 大量的手机开发者就失业了
~~ Java 再次受到严重的打击

但是,Java并没有选择沉沦,开始Java重新布局~~

1.服务器这边 ~~ PHP逐渐难以应付更复杂的网站开发了 ~~ 前后端分离的开发模式开始流行,
Java 的Spring开始崛起 ~~ 在Spring加持之下,Java 成为web后端开发的首选 ~~

注: Spring不只是一个框架,而是一个生态 ~~ 开发一个网站,你想要啥,不用自己从头写
~~ Spring 都给你提供对应的组件,直接能用

2.移动端这边 ~~ 本来,安卓程序开发语言,谷歌是想使用 Python ~~ (正好 Python 作者龟叔,
那段时间要从谷歌离职), Java就趁机上位
~~ 之前开发J2ME 的程序猿们立即投靠安卓阵营,短时间就给安卓开发出大量的应用程序 ~~=> 吸引到更多的用户来使用 ~~=> 进一步吸引到更多的程序猿来开发应用 (一个良性循环)
~~ 安卓就在短短几年内,爆发式增长 ~~ 快速就超过了苹果,甚至超过了windows桌面端
现在的安卓就是妥妥的世界第一大操作系统

Java在安卓和Spring两大助力之下,就被推上了江湖的第一把交椅 ~~ Java就成“世界上最好的编程语言"

2010年左右的这个时间 ~~ 属于后端和移动端都在崛起 ~~ 快速发展阶段
尤其是移动端~~ 这个时间点,搞安卓和ios的人特别多,找工作也异常容易
~~ 当时国内,市场发展是非常野蛮 ~~ "全民创业”,
随便有个点子,做个app,然后就能从风投那里骗到钱,
但是好景不长,经济形式没那么好,资本也冷静下来了,趋势也就被遏制住了
~~ 随之移动端开发这个事情"火爆"也就冷静下来了
现在的移动端和后端和前端…没有啥本质区别~~

冯诺依曼体系结构

image-20230914205508466

CPU

组装台式机的八大件
CPU, 内存, 硬盘, 主板, 散热器, 电源, 机箱, 显卡

CPU 是一台计算机,最最核心,最最重要的部分,最最有科技含量的东西!!!
CPU是当前人类科技的巅峰之作!!!能和CPU相提并论,目前唯有氢弹.
CPU主要成分,硅 ~~ 从沙子(二氧化硅)提炼的 => “点沙成金”

美国人要对咱们进行卡脖子,不供给咱们芯片~ 主要指的就是CPU
模电,数电,计组,微机接口原理与技术 => 告诉你CPU的工作原理

CPU研发端:
代表: Intel(霸主), AMD, 高通, 苹果等

CPU制造端:
代表: 台积电

CPU运算快 => 集成程度高 =>单位原件就小 => 加工难度就越大

如何衡量CPU运行速度快慢呢??
CPU有个很重要的概念,主频 ~~ 数字越大,运算速度越快!!
第一代计算机,埃尼阿克,主频5000(每秒计算5000次)

image-20230914213407088

image-20230914212740996

GPU

GPU ~~ 显卡
最初的计算机,没有GPU
~~ 图形的显示和渲染,都是CPU完成的
随着人们对于图像要求越来越高 ~~ 处理图像运算量越来越大了
图像运算的算法简单,但是运算量大,好比就算1+1,要算很多很多个1+1
CPU是属于"通用计算芯片"
~~ CPU可以算1+1简单的任务,也可以解微分方程复杂的任务 ~~ 让CPU进行图形的显示和渲染,就大材小用了
为了解决这个问题,就弄了"专用计算芯片"GPU,专门去负责算1+1,但是特别擅长算这个
目前消费机最好的显卡: 英伟达的4090
显卡不光可以用来渲染图形,还可以用来挖矿,还可以用来应用到机器学习中(人工智能)

javaEE初阶的学习

解锁新地图,开始关于JavaEE初阶的内容了
~~ 注:无论是理论还是代码,都要比数据库&数据结构难很多

学习JavaEE目标是为了干啥??

~~ 做网站!!

学了javaEE初阶就能做网站了
学了javaEE进阶就能用一些更好的,更优化,更高效的方式做出网站

网站的构成

一个网站包含两部分,包含前端和后端

~~ 一个网站 = 前端 + 后端

前端: 浏览器打开的网页,直接和用户交互的部分

后端: 服务器(网页后面的部分) ~~ 网页的数据来源

是为了干啥??

~~ 做网站!!

学了javaEE初阶就能做网站了
学了javaEE进阶就能用一些更好的,更优化,更高效的方式做出网站

网站的构成

一个网站包含两部分,包含前端和后端

~~ 一个网站 = 前端 + 后端

前端: 浏览器打开的网页,直接和用户交互的部分

后端: 服务器(网页后面的部分) ~~ 网页的数据来源

image-20230914152937120

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

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

相关文章

【SpringMVC】自定义注解

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟在这里,我要推荐给大家我的专栏《Spring MVC》。&#x1f3…

MMrotate_dev 1.x训练自己的数据集

因为MMRotate dev 1.x 新增了PSC角度编码器以及RTMDet目标检测算法,而之前从官网下载的MMRotate是main分支,没有新增的东西,所以重新搞了一下,以此记录。 环境配置 1.创建虚拟环境 注意:如果之前安装了MMRotate的其…

基于小程序的理发店预约系统

一、项目背景及简介 现在很多的地方都在使用计算机开发的各种管理系统来提高工作的效率,给人们带来很多的方便。计算机技术从很大的程度上解放了人们的双手,并扩大了人们的活动范围,是人们足不出户就可以通过电脑进行各种事情的管理。信息系…

pycharm安装jupyter,用德古拉主题,但是输入行全白了,看不清,怎么办?

问题描述 今天换了以下pycharm主题,但是jupyter界面输入代码行太白了,白到看不清楚这行的字,更不知道写的是什么,写到哪了,这还是挺烦人的,其他都挺正常的。 问题分析 目前来看有两个原因: 1、…

深化产教融合,知了汇智助力高校数字化人才培养

随着数字经济的不断深入和发展,数字人才短缺的问题逐渐凸显,根据相关报告,目前我国数字人才缺口在2500万到3000万左右,且缺口仍在不断扩大。为了满足数字经济的发展需求,如何培养出具备创新型、复合型、应用型能力的数…

C++学习笔记一(重载、类)

C 1、函数重载2、类2.1、类的方法和属性2.2、类的方法的定义2.3、构造器和析构器2.4、类的实例化2.5、基类与子类2.6、类的public、protected、private继承2.7、类的方法的重载2.8、子类方法的覆盖2.9、继承中的构造函数和析构函数 1、函数重载 函数重载大概可以理解为&#x…

再次理解Android账号管理体系

目录 ✅ 0. 需求 📂 1. 前言 🔱 2. 使用 2.1 账户体系前提 2.2 创建账户服务 2.3 操作账户-增删改查 💠 3. 源码流程 ✅ 0. 需求 试想,自己去实现一个账号管理体系,该如何做呢? ——————————…

竞赛 基于大数据的时间序列股价预测分析与可视化 - lstm

文章目录 1 前言2 时间序列的由来2.1 四种模型的名称: 3 数据预览4 理论公式4.1 协方差4.2 相关系数4.3 scikit-learn计算相关性 5 金融数据的时序分析5.1 数据概况5.2 序列变化情况计算 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 &…

2004-2020年中小企业板上市公司财务报表股票交易董事高管1200+变量数据及说明

2004-2020年中小企业板上市公司财务报表股票交易董事高管1200变量数据及说明 1、时间:2004-2020年 2、范围:中小企业板上市公司,具体名单参看下文链接内数据预览 3、指标:1200变量 变量说明、证券代码、证券代码-字符串、年份…

HTML基础标签 CSS选择器 JavaScript基础语法 WebAPI_ 页面设计 HTTP协议

第 1 题(简答题) 题目名称: 编写博客, 总结 HTML 中的常用标签用法 题目内容: 编写博客, 总结 HTML 中的常用标签用法 第 2 题(简答题) 题目名称: image 标签的 alt 和 title 属性有什么…

基于红黑树对map和set容器的封装

本章代码gitee仓库:map和set模拟实现、stl_map_set_tree源码 文章目录 🐱1. 红黑树的泛型🐈1.1 红黑树节点🐈1.2 红黑树迭代器🐈1.3 仿函数 🐯2. 对set的封装🦄3. 对map的封装 🐱1. …

android获取设备的IMEI号

在Android 8.0 (API级别26)和更高版本的平台上的 ,64位数字(表示为十六进制字符串),对于应用程序签名密钥、用户和设备的每个组合都是唯一的。ANDROID_ID的值由签名密钥和用户限定作用域。如果在设备上执行出厂重置或如果APK签名密钥更改,则该…

【校招VIP】前端操作系统之存储管理加密

考点介绍 加密算法有很多,如不可逆的摘要算法MD5、SHA(安全哈希算法),可逆的Base64编码,对称加密算法DES、AES,还有非对称加密算法DH、RSA等。那是不是说明我们可以使用任何一种加密算法就能保证网站的安全…

认养一头牛———众筹+合伙人商业模式解析

2016年成立以来,认养一头牛致力于打造数字化乳业第一品牌,只为一杯好牛奶。公司在创立三年内完成了10个亿销售目标,被业界称为新消费品牌黑马,一举闯入互联网新消费梯队的视线。未来三年,认养一头牛将着力打造全国最大…

【精品】将两个字符串进行加密和解密的Java工具类

原理 使用一个分隔符将两个字符串连接在一起,并对连接后的字符串进行加密。加密过程中,首先生成一个随机下标列表,然后根据随机下标打乱字符串的顺序,并使用Base64进行编码。解密过程中,根据之前生成的随机下标列表将…

Definition and properties of the Gamma function

See https://math.libretexts.org/Bookshelves/Analysis/Complex_Variables_with_Applications_(Orloff)/14%3A_Analytic_Continuation_and_the_Gamma_Function/14.02%3A_Definition_and_properties_of_the_Gamma_function 勒让德倍元公式(Legendre duplication fo…

无涯教程-JavaScript - N函数

描述 N函数返回一个转换为数字的值。 语法 N (value) 争论 Argument描述Required/OptionalValue 要转换的值或对值的引用。 N转换下表中列出的值。 Required 值 N的返回值一个数字那个数字日期,采用Microsoft Excel中可用的内置日期格式之一该日期的序列号 TRUE 1 FALSE…

微视网媒:新媒体时代的宣传与营销新范式

随着数字科技的快速发展,新媒体已经成为了现代社会中不可或缺的一部分。其中,微视网媒作为新兴的网络媒体形态,正在改变着传统的宣传和营销模式,为企业和个人提供了全新的推广平台。本文将对微视网媒的优势、应用场景以及案例进行…

免费开箱即用的微鳄任务管理系统

编者按:基于天翎低代码平台实现的微鳄365任务管理系统,包括有发起任务、重点关注、日程、项目管理等功能,支持私有化部署,免费开箱即用。任务管理系统是组织工作中不可或缺的工具,可以提高工作效率、促进协作、增强任务…

GTS 中testPeakPssOfAllApps fail 详解

0. 前言 GTS 在测试 case armeabi-v7a GtsMemoryHostTestCases 的时候出现下面异常,本文总结一下。 com.google.android.memory.gts.AllAppsMemoryHostTest#testPeakPssOfAllApps 1. error log 09-14 10:16:34 I/TestFailureListener: FailureListener.testFaile…