学习javaEE初阶的第一堂课

学习金字塔

java发展简史

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

199x年

199x年,互联网还处在比较早期的阶段,当时主流的编程语言是 C/C++,

有个大佬要搞个"智能面包机",觉得用C++来做太难了

于是就基于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,然后就能从风投那里骗到钱,

但是好景不长,经济形式没那么好,资本也冷静下来了,趋势也就被遏制住了

~~ 随之移动端开发这个事情"火爆"也就冷静下来了

现在的移动端和后端和前端...没有啥本质区别~~

冯诺依曼体系结构

CPU

组装台式机的八大件

CPU, 内存, 硬盘, 主板, 散热器, 电源, 机箱, 显卡

CPU 是一台计算机,最最核心,最最重要的部分,最最有科技含量的东西!!!

CPU是当前人类科技的巅峰之作!!!能和CPU相提并论,目前唯有氢弹.

CPU主要成分,硅 ~~ 从沙子(二氧化硅)提炼的 => "点沙成金"

美国人要对咱们进行卡脖子,不供给咱们芯片~ 主要指的就是CPU

模电,数电,计组,微机接口原理与技术 => 告诉你CPU的工作原理

CPU研发端:

代表: Intel(霸主), AMD, 高通, 苹果等

CPU制造端:

代表: 台积电

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

如何衡量CPU运行速度快慢呢??

CPU有个很重要的概念,主频 ~~ 数字越大,运算速度越快!!

第一代计算机,埃尼阿克,主频5000(每秒计算5000次)

GPU

GPU ~~ 显卡

最初的计算机,没有GPU

~~ 图形的显示和渲染,都是CPU完成的

随着人们对于图像要求越来越高 ~~ 处理图像运算量越来越大了

图像运算的算法简单,但是运算量大,好比就算1+1,要算很多很多个1+1

CPU是属于"通用计算芯片"

~~ CPU可以算1+1简单的任务,也可以解微分方程复杂的任务 ~~ 让CPU进行图形的显示和渲染,就大材小用了

为了解决这个问题,就弄了"专用计算芯片"GPU,专门去负责算1+1,但是特别擅长算这个

目前消费机最好的显卡: 英伟达的4090

显卡不光可以用来渲染图形,还可以用来挖矿,还可以用来应用到机器学习中(人工智能)

javaEE初阶的学习

解锁新地图,开始关于JavaEE初阶的内容了

~~ 注:无论是理论还是代码,都要比数据库&数据结构难很多

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

~~ 做网站!!

学了javaEE初阶就能做网站了

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

网站的构成

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

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

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

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

是为了干啥??

~~ 做网站!!

学了javaEE初阶就能做网站了

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

网站的构成

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

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

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

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

相关推荐
陈大爷(有低保)23 分钟前
UDP Socket聊天室(Java)
java·网络协议·udp
kinlon.liu37 分钟前
零信任安全架构--持续验证
java·安全·安全架构·mfa·持续验证
李小星同志38 分钟前
高级算法设计与分析 学习笔记6 B树
笔记·学习
霜晨月c1 小时前
MFC 使用细节
笔记·学习·mfc
王哲晓1 小时前
Linux通过yum安装Docker
java·linux·docker
java6666688881 小时前
如何在Java中实现高效的对象映射:Dozer与MapStruct的比较与优化
java·开发语言
Violet永存1 小时前
源码分析:LinkedList
java·开发语言
小江湖19941 小时前
元数据保护者,Caesium压缩不丢重要信息
运维·学习·软件需求·改行学it
执键行天涯1 小时前
【经验帖】JAVA中同方法,两次调用Mybatis,一次更新,一次查询,同一事务,第一次修改对第二次的可见性如何
java·数据库·mybatis
Jarlen1 小时前
将本地离线Jar包上传到Maven远程私库上,供项目编译使用
java·maven·jar