JavaEE初阶
文章平均质量分 86
JavaEE初阶
-_-||
这个作者很懒,什么都没留下…
展开
-
23、网络原理——TCP/IP四层模型之中的重点协议(2)
数据链路层的作用两个设备(同一种数据链路节点)之间进行传递数据。网络层的作用在复杂的网络环境中确定一个合适的路径。MTU相当于发快递时对包裹尺寸的限制。原创 2022-07-18 21:22:27 · 158 阅读 · 0 评论 -
22、网络原理——TCP/IP四层模型之中的重点协议(1)
全双工指的是,TCP任何一段既是发送数据方,又是接收数据方,因此这就要求TCP通讯双方既要保证自己的发送能力,又要保证自己的接受能力才行。归根结底,TCP和UDP都是程序员的工具,什么时机用,具体怎么用,还是要根据具体的需求场景去判定。,先发少量的数据,探探路,摸清当前的网络拥堵状态,再决定按照多大的速度传输数据;.........原创 2022-07-18 19:51:49 · 664 阅读 · 0 评论 -
21、当在浏览器中输入了URL之后,程序是怎样执行的?
当在浏览器中输入了URL之后,程序是怎样执行的?原创 2022-07-16 13:20:38 · 351 阅读 · 0 评论 -
20、网络原理——基础概念
IP地址描述的是路途总体的起点和终点,是给人使用的网络逻辑地址。MAC地址描述的是路途上的每一个区间的起点和终点,即每一跳的起点和终点,是给网络硬件设备使用的网络物理地址。原创 2022-07-16 11:44:22 · 99 阅读 · 0 评论 -
19、网络原理——初识
目录一、网络发展史1.1独立模式1.2网络互连1.2.1局域网LAN一、网络发展史1.1独立模式独立模式:计算机之间相互独立;1.2网络互连随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即以多个计算机协同工作来完成业务,就有了网络互连。网络互连:将多台计算机连接在一起,完成数据共享。数据共享本质是网络数据传输,即计算机之间通过网络来传输数据,也称为网络通信。根据网络互连的规模不同,可以划分为局域网和广域网。1.2.1局域网LAN局域网,即 Local Area Netwo原创 2022-06-01 16:45:55 · 369 阅读 · 0 评论 -
18、Java 中操作⽂件
目录一、Java 中操作⽂件1、 File 常⽤构造⽅法2、常⽤⽅法2.1 观察 get 系列的特点和差异2.2 ⽂件判断与创建一、Java 中操作⽂件Java 中通过 java.io.File 类来对⼀个⽂件(包括⽬录)进⾏抽象的描述。注意:有 File 对象,并不代表真实存在该⽂件。1、 File 常⽤构造⽅法import java.io.File;public class FileDemo1 { public static void main(String[] args) {原创 2022-05-30 21:01:17 · 196 阅读 · 0 评论 -
17、Cookie 和 Session
目录一、Cookie:二、理解会话机制 (Session)三、Cookie和Session的区别四、核心方法五、读Cookie和写Cookie六、读Session和写Session一、Cookie:HTTP 协议⾃身是属于 “⽆状态” 协议。“⽆状态” 的含义指的是:默认情况下 HTTP 协议的客户端和服务器之间的这次通信和下次通信之间没有直接的联系。但是实际开发中, 我们很多时候是需要知道请求之间的关联关系的。例如登陆⽹站成功后, 第⼆次访问的时候服务器就能知道该请求是否是已经登陆过了:注意:虽原创 2022-05-17 23:31:37 · 143 阅读 · 0 评论 -
16、获取POST请求中JSON格式的参数
POST 请求的参数⼀般通过 body 传递给服务器, body 中的数据格式有很多种, 如果是采⽤ form 表单的形式, 可以通过getParameter() 获取参数的值,但是,使⽤getParameter() 的⽅式是获取不了 JSON 格式的数据的。获取方式如下:后端代码:import com.fasterxml.jackson.databind.ObjectMapper;import javax.servlet.ServletException;import javax.servlet原创 2022-05-17 21:23:56 · 4103 阅读 · 0 评论 -
15、Servlet的生命周期
Servlet生命周期:首先加载servlet的class,实例化servlet,然后初始化servlet调用init()方法,接着调用服务的service()方法处理doGet和doPost方法,最后是容器关闭时候调用destroy()销毁方法。Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:·Servlet 通过调用 init () 方法进行初始化。·Servlet 调用 service() 方法来处理客户端的请求。·Servlet 通过原创 2022-05-17 21:01:19 · 70 阅读 · 0 评论 -
13、学习总结:HTTP协议
目录1.HTTP 是什么?1.1 HTTP 1.0、1.1、2.0、3.0区别:2.HTTP ⼯作过程2.1 HTTP 协议格式2.1.1 抓包⼯具使⽤2.1.2 抓包⼯具原理2.1.3 抓包结果分析:HTTP请求/响应2.1.4 协议格式⼩结3.HTTP 请求1.HTTP 是什么?HTTP (全称为 “超⽂本传输协议”) 是⼀种应⽤⾮常⼴泛的应⽤层协议。.所谓 “超⽂本” 的含义, 就是传输的内容不仅仅是⽂本(⽐如 html, css 这个就是⽂本), 还可以是⼀些其他的资源, ⽐如图⽚, 视频, ⾳原创 2022-05-10 20:56:55 · 447 阅读 · 0 评论 -
12、学习总结:JavaScript篇
目录1.什么是JavaScript?1.1 JS、HTML、CSS 关系1.2 JS 是如何运⾏的?2.JS 前置知识2.1 第⼀个JS程序2.2 JS 书写格式2.2.1 ⾏内格式2.2.2 内嵌格式2.2.3 外部格式2.3 注释2.4 消息打印3.JS 基础语法3.1 定义变量3.2 JS 数据类型3.3定义⽅法3.4 条件判断3.4.1 if3.4.2三元表达式3.4.3 switch3.5循环语句3.5.1 while 循环3.5.2 for 循环4.JS 操作 DOM4.1 得到控件4.2 操纵原创 2022-05-05 16:55:35 · 338 阅读 · 0 评论 -
11、学习总结:CSS篇
目录1.什么是CSS2.CSS 基本语法3.CSS 类型3.1 ⾏内样式3.2 内部样式3.3 外部样式3.4 多种样式优先级4.代码⻛格4.1 样式格式4.2 样式⼤⼩写5.选择器5.1 选择器功能5.2 选择器种类5.2.1 标签选择器5.2.2 类选择器5.2.3 id 选择器类选择器 VS id选择器5.2.4 通配符选择器5.3总结6.常⽤元素属性6.1 字体属性6.1.1 设置字体6.1.2 字体⼤⼩6.1.3 字体粗细6.1.4 ⽂字样式6.1.5 ⽂本属性1.什么是CSSCSS:层叠样式原创 2022-05-04 12:09:46 · 309 阅读 · 0 评论 -
10、学习总结:HTML篇
目录1.HTML 结构1.1 HTML ⽂件基本结构1.2 标签层次结构1.3 快速⽣成代码框架2.HTML 常⻅标签2.1 注释标签2.2 标题标签: h1-h62.3 段落标签: p2.4 换⾏标签: br注:使用的软件是Microsoft VS Code。1.HTML 结构HTML:全称为HyperText Markuo Language,超文本标记语言,是一种用于创建网页的标准标记语言。HTML 代码是由 “标签” 构成的.●标签名 (如body) 放到 < > 中●⼤部分原创 2022-04-27 22:19:45 · 93 阅读 · 0 评论 -
9、多线程7
目录一、常见锁策略1乐观锁1.1定义:1.2实现:CAS机制1.3 CAS应用a.⾮线程安全的代码b.AtomicInteger的基础使用c.CAS解决线程安全问题1.4 CAS存在ABA问题1.5 ABA问题解决方案:AtomicStampedReference一、常见锁策略锁策略不仅仅是局限于 Java , 任何和 “锁” 相关的话题, 都可能会涉及到以下内容. 这些特性主要是给锁的实现者来参考的,对于合理的使⽤锁也是有很⼤帮助的。1乐观锁1.1定义:乐观锁认为⼀般情况下不会出现冲突,所以只会原创 2022-04-24 21:56:20 · 462 阅读 · 0 评论 -
8、多线程6
目录一、单例模式1.1单例模式的实现步骤:1.2饿汉方式的实现1.3懒汉模式的实现一、单例模式**单例模式能保证某个类在程序中只存在唯⼀⼀份实例, ⽽不会创建出多个实例.**这⼀点在很多场景上都需要,⽐如 JDBC 中的 DataSource 实例就只需要⼀个。单例模式具体的实现⽅式, 分成 “饿汉” 和 “懒汉” 两种:1、饿汉⽅式(线程安全,可能会造成资源的浪费):程序启动之后,里面创建单例对象。2、懒汉⽅式(使⽤时才加载,可以避免资源不必要的浪费):当有程序调用单例对象的时候才初始化。1原创 2022-04-21 18:52:32 · 60 阅读 · 0 评论 -
7、多线程5
目录一、传统线程的缺点:二、线程池是什么三、线程池的优点四、线程池的使用:两种实现方式:七种实现方法:1.创建一个固定大小的线程池: Executors.newFixedThreadPool1.1有返回值的线程池一、传统线程的缺点:1.创建线程需要开辟本地线程栈、虚拟机栈、程序计数器等私有线程内存,消耗的时候也需要释放这些内存,频繁的创建和销毁线程是需要消耗系统资源的;2.线程没有任务管理的功能, 当任务量远远⼤于线程可以承载的数量之后,不能对任务进行管理或者拒绝任务。二、线程池是什么线程池(T原创 2022-04-20 22:40:15 · 105 阅读 · 0 评论 -
6、多线程4
目录一、死锁定义一、死锁定义死锁是指两个或两个以上的进程在执⾏过程中,由于竞争资源或者由于彼此通信⽽造成的⼀种阻塞的现象,若⽆外⼒作⽤,它们都将⽆法推进下去。也就是两个线程拥有锁的情况下,⼜在尝试获取对⽅锁,从⽽造成程序⼀直阻塞的情况。import java.util.concurrent.TimeUnit;/** * 死锁示例 */public class ThreadDemo23 { public static void main(String[] args) {原创 2022-04-16 18:35:44 · 54 阅读 · 0 评论 -
5、多线程3
目录一、观察以下代码和执行结果:二、volatile 解决内存可⻅性和指令重排序问题三、锁3.1 内置锁:synchronized① synchronized 基本使⽤1.修饰静态⽅法一、观察以下代码和执行结果:import java.time.LocalDateTime;/** * 内存可见性问题 */public class ThreadDemo21 {//全局变量(类级别) private static boolean flag=true; public static原创 2022-04-15 19:39:11 · 433 阅读 · 0 评论 -
4、多线程2
目录一、线程常用方法1.1线程等待 join1.2线程终止a) ⾃定义标记符进⾏中断b) 使⽤Interrupt()进⾏中断isInterrupted VS interrupted使用 stop 停止线程1.3 yield 让出执⾏权1.4获取当前线程一、线程常用方法1.1线程等待 join等待某个线程执行完之后,再执行后续的代码。优点:写法更优雅,运行时所用的资源更少。有时,我们需要等待⼀个线程完成它的⼯作后,才能进⾏⾃⼰的下⼀步⼯作。应用场景:例如,李四只有等张三下班了他才上班,这时我们需原创 2022-03-28 23:20:40 · 306 阅读 · 0 评论 -
编写代码, 实现多线程数组求和.
给定一个很长的数组 (长度 1000w), 通过随机数的方式生成 1-100 之间的整数.实现代码, 能够创建两个线程, 对这个数组的所有元素求和.其中线程1 计算偶数下标元素的和, 线程2 计算奇数下标元素的和.最终再汇总两个和, 进行相加.记录程序的执行时间.方法一:import java.util.Random;/** * 课后题:实现数组相加 * 实现思路1:使用普通线程,把线程的随机数值存起来 */public class ThreadDemo18 { static i原创 2022-03-28 17:01:28 · 252 阅读 · 0 评论 -
3、多线程
目录一、线程使⽤1.1 线程休眠演示打印电影字幕1.2 多线程 VS 单线程性能1.3 线程的 3 种创建⽅式1.3.1继承Thread进行实现(2种写法)方法1:继承 Thread, 重写 run方法2:继承 Thread, 重写 run, 使用匿名内部类start ⽅法 run ⽅法的区别:继承Thread新建线程的缺点:1.3.2实现Runnable接口进行实现(3种写法)方法1:实现Runnable接口方法2:匿名 Runnable ⽅式方法3:使⽤ Lambda 匿名 Runnable ⽅式(⽀持原创 2022-03-24 16:05:58 · 86 阅读 · 0 评论 -
2、枚举和Lambda表达式
目录一、枚举1.1switch判断1.2枚举常用方法1.2.1 values()1.2.2 ordinal()1.2.3 valueOf()1.2.4compareTo()1.3枚举的优缺点二、Lambda表达式2.1为什么要使用Lambda表达式?(Lambda表达式的优点)2.2基本语法2.3 Lambda 和函数式接⼝2.3.1 函数式接⼝2.4 Lambda 的变量捕获2.5 Lambda 在集合中的使⽤2.5.1 Map 中的 forEach2.5.2 List 排序2.5.3 List 查找2.原创 2022-03-21 14:29:41 · 563 阅读 · 0 评论 -
1、计算机是如何工作的?
目录一、冯诺依曼体系结构二、硬件——CPU是如何工作的?1、算术单元一、冯诺依曼体系结构现代的计算机, 大多遵守冯诺依曼体系结构。除了冯诺依曼体系结构,还有计算机的二进制也是冯诺依曼发明并提出的。CPU 中央处理器: 进行算术运算和逻辑判断.存储器: 分为外存和内存, 用于存储数据(使用二进制方式存储)输入设备: 用户给计算机发号施令的设备.输出设备: 计算机个用户汇报结果的设备.内存vs外存:1、内存小,外存大2.内存的制作工艺高因此比较贵,外存成本低3.内存操作速度快(纳秒级别原创 2022-03-18 23:30:18 · 897 阅读 · 0 评论