学习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进阶就能用一些更好的,更优化,更高效的方式做出网站

网站的构成

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

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

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

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

相关推荐
zquwei8 分钟前
SpringCloudGateway+Nacos注册与转发Netty+WebSocket
java·网络·分布式·后端·websocket·网络协议·spring
爱吃西瓜的小菜鸡8 分钟前
【C语言】判断回文
c语言·学习·算法
TT哇15 分钟前
*【每日一题 提高题】[蓝桥杯 2022 国 A] 选素数
java·算法·蓝桥杯
小A15931 分钟前
STM32完全学习——SPI接口的FLASH(DMA模式)
stm32·嵌入式硬件·学习
火烧屁屁啦37 分钟前
【JavaEE进阶】初始Spring Web MVC
java·spring·java-ee
w_31234541 小时前
自定义一个maven骨架 | 最佳实践
java·maven·intellij-idea
岁岁岁平安1 小时前
spring学习(spring-DI(字符串或对象引用注入、集合注入)(XML配置))
java·学习·spring·依赖注入·集合注入·基本数据类型注入·引用数据类型注入
武昌库里写JAVA1 小时前
Java成长之路(一)--SpringBoot基础学习--SpringBoot代码测试
java·开发语言·spring boot·学习·课程设计
qq_589568101 小时前
数据可视化echarts学习笔记
学习·信息可视化·echarts
Q_19284999061 小时前
基于Spring Boot的九州美食城商户一体化系统
java·spring boot·后端