学习javaEE初阶的第一堂课

2023-10-30 01:40
文章标签 java 学习 初阶 ee 一堂课

本文主要是介绍学习javaEE初阶的第一堂课,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

请添加图片描述

学习金字塔

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

这篇关于学习javaEE初阶的第一堂课的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/304762

相关文章

Java实现删除文件中的指定内容

《Java实现删除文件中的指定内容》在日常开发中,经常需要对文本文件进行批量处理,其中,删除文件中指定内容是最常见的需求之一,下面我们就来看看如何使用java实现删除文件中的指定内容吧... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细介绍3.1 Ja

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

spring中的ImportSelector接口示例详解

《spring中的ImportSelector接口示例详解》Spring的ImportSelector接口用于动态选择配置类,实现条件化和模块化配置,关键方法selectImports根据注解信息返回... 目录一、核心作用二、关键方法三、扩展功能四、使用示例五、工作原理六、应用场景七、自定义实现Impor

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.