自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 Servlet原理&&Servlet API

Tomcat通过Socket读取到这个请求(一个字符串),并按照HTTP请求的格式来解析这个请求:根据请求中的Context Path确定一个webapp,再通过Servlet Path确定一个具体的类,再根据当前请求的方法(GET或者POST或其他)决定调用这个类的doGet或者doPost方法。service中根据请求的类型不同,调用不同的方法,doGet,doPost方法等等,会执行多次,每收到一次HTTP请求就执行一次。注意:响应对象是服务器要返回给浏览器的内容,这里的重要信息都是程序员设置的。

2024-04-03 16:40:18 733

原创 【Servlet基础】Servlet项目创建

Tomcat在调用doGet的时候,Tomcat就会解析这次的HTTP请求,生成一个HttpServletRequest对象,这个对象的属性啥的都是和HTTP协议格式匹配的,相当于Tomcat帮我们把HTTP请求解析好了,同时Tomcat也会构造出一个空的HttpServletResponse对象(此处的空对象不是null,而是一个new好但是没有初始化属性的对象),把这个resp对象也会传递到doGet里面。这里的1和3都是Tomcat帮我们实现的,我们写代码只关心2,也就是doGet要完成的工作。

2024-04-02 09:22:09 613

原创 HTTPS

HTTPS也是一个应用层协议,是在HTTP协议的基础上引入了一个加密层,HTTP的内容都是按照文本的方式明文传输的,这就导致在传输过程中出现一些被篡改的情况。

2024-03-29 09:54:32 1230

原创 HTTP协议

HTTP协议全称为超文本传输协议,就是可以传输文本及其它格式的数据,如音乐、图片、视频等,是一种广泛应用的应用层协议;对于应用层协议的解释: 将数据从A端传送到B端,TCP/IP协议相当于顺丰的功能,但是两端还要对数据进行加工处理或使用,所以还需要一层协议,不必关心通信的细节,只关心应用,这层协议就是应用层协议;我们平时打开的网站都是通过HTTP协议来传输数据的,HTTP协议是基于传输层TCP协议实现(HTTP1.0,HTTP1.1,HTTP2.0都是基于TCP,HTTP3.0基于UDP实现),

2024-03-28 09:30:30 941

原创 网络编程之IP协议

这是一个域名解析协议,位于应用层简单来讲,DNS相当于一个翻译官,负责将域名翻译成ip地址。

2024-03-26 20:19:14 602

原创 TCP/UDP协议

程序员根据用户需求来制定的应用内部协议。

2024-03-20 17:15:20 908

原创 Socket套接字(实现TCP和UDP的通信)

Socket套接字,是由系统提供用于网络通信的技术,是基于TCP/IP协议的网络通信的基本操作单元。基于Socket套接字的网络程序开发就是网络编程。换句话说,一个Socket由一个IP地址和一个端口号唯一确定,利用Socket能比较方便的实现两端的网络通信。

2024-03-17 20:39:22 837 1

原创 网络原理之初识

网络互连的目的是进行网络通信,也即是网络数据传输,更具体一点,是网络主机中的不同进程间,基于网络传输数据。那么,在组建的网络中,如何判断到底是从哪台主机,将数据传输到那台主机呢?这就需要使用IP地址来标识。

2024-03-16 11:16:59 423 1

原创 文件操作-IO

文件路径可以是绝对路径和相对路径。绝对路径表示文件在文件系统中的完整位置,从根目录开始。相对路径表示文件相对于另一个文件或目录的位置。

2024-03-15 15:44:31 911 1

原创 七大排序【java数据结构】

【本节目标】1、掌握七大基于比较的排序算法基本原理及实现2、掌握排序算法的性能分析3、掌握Java中常用的排序算法。

2023-11-15 21:06:28 36 1

原创 优先级队列(堆)

队列是一种先进先出(FIFO)的数据结构,但是在某些情况下,该场景下,使用队列显然不合适,例如:在手机上玩游戏的时候,如果有来电,那么系统应该优先处理打进来的电话。在这种情况下,。这种数据结构就是。

2023-11-07 14:20:44 32 1

原创 树与二叉树

遍历就是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问,访问结点所做的操作依赖于具体的应用问题(比如:打印结点内容),遍历是二叉树最重要的操作之一,是二叉树上进行其他运算的基础。N代表根结点,L代表根结点的左子树,R代表根节点的右子树,则根据遍历根节点的先后次序有以下几种遍历方式:(三种遍历方式的区别在于打印/访问根节点的时机不同)度为 0 的节点为 n0,度为 1 的节点为 n1,度为 2 的节点为 n2,因为是奇数个结点,所以度为1的结点个数为0,n1 = 0。int value;

2023-10-29 19:25:42 31 1

原创 【多线程进阶】常见的锁策略和CAS

ABA问题是指在使用ABA操作进行比较-交换时,如果变量在此期间被修改了两次及以上,那么CAS操作可能会出现误判。举一个栗子:假设存在两个线程t1和t2,有一个共享变量num,其初始值为A,step1:接下来线程t1想使用CAS把num值改为Z,那么需要的操作是先读取num的值,记录到oldNum变量中,step2:然后再使用CAS判断当前num的值是否为A,如果为A,就修改为Z,但是,

2023-10-13 19:30:23 27

原创 【多线程基础】线程池

创建线程池采用了工厂模式,用了ExecutorService的静态方法,因为不用这种方法的话,如果都传两个参数,编译器无法分辨线程池的特性,而采用工厂模式的话就可以随用随取。线程池主要功能就是提升程序的执行效率的,为了减少冗余的创建,就是减少每次启动、销毁线程的损耗。如果任务队列中的任务满了,再添加任务,我就会丢弃最老的任务,把新的任务添加进来。如果任务队列中的任务满了,再添加任务,就丢弃要添加的任务。:如果任务队列中的任务满了,再添加任务,谁添加的谁负责。workQueue:线程池的任务队列。

2023-10-10 12:54:26 31 1

原创 【多线程基础】定时器

1、一个带优先级的阻塞队列为什么要带优先级呢?因为阻塞队列中的任务都有各自的执行时刻,最先执行的任务一定是delay最小的,使用带优先级队列这种数据结构就可以高效把这个delay最小的任务找出来。2、队列中的每个元素是一个Task对象。3、Task中带有一个时间属性,队首元素就是即将要执行的任务。4、同时会有一个线程一直扫描队首元素,看队首元素是否需要执行。1、首先构建一个MyTask类,表示一个任务//取当前时刻的时间戳+delay,作为该任务实际执行的时间戳@Override。

2023-10-08 19:53:51 31 1

原创 【多线程基础】单例模式

单例模式是指在内存中只会创建一次对象的设计模式。在程序多次使用同一对象时,为了防止频繁的创建对象而增加资源的开销,但是单例模式就可以让程序在内存中只创建一个对象,让所有需要调用的地方都共享这一单例对象。

2023-10-08 17:20:51 33 1

原创 【多线程基础】wait和notify

notify() 方法也是一个 Object 类的方法,所有 Java 类也都默认继承了该方法,都可以调用该方法,这个方法也是被 final 修饰的,因此也不可被子类重写,子类只能使用 Object 的实现。wait()方法在调用当前线程之前获取所在对象的监视器锁🔒,如果没有获取对象的监视器锁,直接调用wait()方法,会抛出。wait()方法是Object类的一个方法,因此Java中的所有类都默认继承了该方法,也就是都能使用该方法。:wait()和sleep()都可以暂停线程的执行。

2023-10-06 12:04:46 33 1

原创 【多线程基础】Thread类的基本用法

上一篇文章我们讲了Java关于进程和线程的区别和联系,接下来给大家分享一些线程是如何创建的以及线程的一些基本用法!

2023-10-05 21:59:37 32

原创 【多线程基础】进程与线程间的区别和联系

PS3:现在我们只有一个房间,安排两个滑稽老铁进行吃50只鸡,就相当于创建了两个线程,那么吃鸡的效率就大大提升了,并且此方式吃鸡的开销就小很多啦。PS2:现在我们有两个房间,就相当于创建了两个进程,安排两个滑稽老铁进行吃鸡,每人吃50只鸡,吃鸡的效率是提高了,但是此方式吃鸡的开销比较大。4、进程之间具有隔离性,一个进程挂了不会影响到别的进程,同一个进程里的多个线程之间,一个线程挂了可能会把整个进程带走,进而影响到其他线程。3、进程是操作系统资源分配的基本单位,线程是操作系统调度执行的基本单位。

2023-09-27 22:45:04 43 1

原创 数组中数字出现的次数

数组中数字出现的次数

2022-10-06 22:09:59 205 7

原创 模拟实现memmove函数

模拟实现memmove

2022-09-27 00:03:04 137

原创 结构体的内存对齐方式

结构体的内存对齐方式

2022-09-17 23:53:20 241

原创 左旋转字符

字符串的旋转

2022-08-10 22:39:01 155 2

原创 三子棋小游戏

三子棋小游戏

2022-07-31 23:36:57 49 1

原创 统计二进制中1的个数

统计二进制中1的个数

2022-07-29 17:55:25 137 2

原创 C:位段~

位段以及位段的存取方式

2022-06-08 20:55:01 61 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除