自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 计算机网络学习笔记——应用层

客户/服务器(Client/Server,C/S)方式服务器总是处于运行状态,并等待客户的服务请求。服务器具有固定端口号(例如HTTP服务器的默认端口号为80),而运行服务器的主机也具有固定的IP地址。是因特网上传统的、同时也是最成熟的方式通常是服务集中型的,即应用服务集中在网络中比客户计算机少得多的服务器计算机上。对等(Peer-to-Peer,P2P)方式对等方相互之间直接通信,每个对等方既是服务的请求者,又是服务的提供者。

2024-05-29 21:03:55 1200

原创 计算机网络学习笔记——运输层(b站)

物理层、数据链路层、网络层实现了主机到主机的通信。如何为运行在不同主机上的应用进程提供直接的通信服务是运输层的任务,运输层协议又称为端到端协议。

2024-05-29 20:24:37 1323

原创 计算机网络学习笔记——网络层(b站)

网络层主要任务:实现网络互连,进而实现数据报在网络之间的传输需解决一下问题:①网络层向运输层提供怎样的服务(可靠传输or不可靠传输)(不可靠传输丢弃有误码的帧,什么也不做;可靠传输要想办法实现发送端发送什么,接收端就接收什么)②网络层寻址③路由选择。

2024-05-28 21:38:25 972

原创 MyBatis进阶(<if><trim><where><set><foreach><include>标签的使用)

本文介绍了MyBatis中标签的使用

2024-05-26 20:07:00 387

原创 MyBatis详细教程!!(入门版)

MyBatis是一款持久层框架,用于简化JDBC开发持久层:持久化操作的层,通常指数据访问层(DAO),是用来操作数据库的。

2024-05-26 16:37:28 491

原创 #{ }和${ }——MtBatis两种参数赋值方式对比

预编译SQL,编译⼀次之后会将编译后的SQL语句缓存起来,后⾯再次执⾏这条语句时,不会再次编译 (只是输⼊的参数不同),省去了解析优化等过程,以此来提⾼效率。${ }可以完成,但仍然存在SQL注⼊的问题,所以通常使⽤mysql内置函数concat来完成。提前对SQL进⾏编译,然后把参数填充到SQL语句 中.#{} 会根据参数类型,⾃动拼接引号。,所以不能在 SQL 语句的片段(如列名、表名、LIKE 语句的部分模式等)中使用。,⼀起对SQL进⾏编译.如果参数为字符串,需要加上引号 ' '

2024-05-26 16:24:44 241

原创 数据库连接池

程序启动时,会在数据库连接池中创建⼀定数量的Connection对象,当用户请求数据库连接池,会从数据库连接池中获取Connection对象,然后执⾏SQL,SQL语句执⾏完,再把 Connection归还给连接池.如果想使用其他数据库连接池,而不是默认数据库连接池,只需要引入相关依赖。

2024-05-26 16:21:35 187

原创 SpringBoot中注解@RestController | @ResponseBody | @Controller

告诉Spring,帮我们管理这个代码,我们后续访问时,才能访问到。(注解没有写属性名,默认是value)路由映射,可以修饰方法,也可以修饰类。使用method,限制请求方式。访问地址:类的路径+方法的路径。支持get和post。

2024-05-24 15:02:23 215

原创 SpringBoot日志

①系统监控 通过⽇志记录这个系统的运⾏状态,每⼀个⽅法的响应 时间,响应状态等,对数据进⾏分析,设置不同的规则,超过阈值时进⾏报警.⽐如统计⽇志中关键字的数 量,并在关键字数量达到⼀定条件时报警,这也是⽇志的常⻅需求之⼀②数据采集 数据采集是⼀个⽐较⼤的范围,采集的数据可以作⽤在很多⽅⾯,⽐如数据统计,推荐排序等.③⽇志审计 通过系统⽇志分析,可以判断⼀些⾮法攻击,⾮法调⽤,以 及系统处理过程中的安全隐患.

2024-05-20 14:17:23 770

原创 SpringBoot配置文件

配置文件最重要的目的“解决硬编码问题(代码写死),把可能会发⽣改变的信息,放在⼀个集中的地⽅SpringBoot配置文件有事实上,SpringBoot只支持3个文件应用程序启动时,SpringBoot会自动从classpath路径找到并加载也可以通过sspring.config.name指定文件路径和名称理论上,properties 和.yml可以并存在于⼀个项⽬中,当和.yml并存时,两个配置都会加载.如果配置⽂件内容有冲突,则以为主,也就是优先级更⾼虽然理论上来讲可以和。

2024-05-19 19:15:04 689

原创 Spring Boot请求

本文介绍了Spring Boot中【请求】的相关内容

2024-05-14 19:19:32 203

原创 初识Spring | SpringBoot | SpringMVC

(对⽐ Spring 的项⽬我们也可以看到这⼀特点,⽐如在 Spring 中也是要配置 Bean 的扫描路径的,⽽ Spring Boot 则不需要)Spring 的诞⽣是为了简化 Java 程序的开发的,⽽ Spring Boot 的诞⽣是为了简化 Spring 程序开发 的。⽆需配置 Tomcat,点击“运⾏”按钮就可以运⾏项⽬,Spring Boot 内置了 Web 容器(可直接运。可以完全抛弃繁琐的 XML,使⽤注解和配置的⽅式进⾏开发。⽀持更多的监控的指标,可以更好的了解项⽬的运⾏情况。

2024-05-14 19:04:06 303

原创 获取 Bean 对象(对象装配)

是一个包含众多工具的容器(容器中装的是对象)【重要面试题!!IoC(Inversion of Control) 翻译成中⽂是“”的意思,即控制权反转,将创建对象的控制权,交给了Spring(优点:解耦)Spring帮我们管理对象①告诉Spring,帮我们管理哪些对象【存】②知道如何取出来这些对象【取】(也就是说Spring 是⼀个 IoC 容器,说的是将对象存放到容器中的好处:将对象存储在 IoC 容器相当于将以后可能⽤的所有⼯具制作好都放到仓 库中,需要的时候直接取就⾏了,⽤完再把它放回到仓库。

2024-05-14 18:56:42 882

原创 Spring Boot响应

响应。

2024-05-13 13:57:36 153

原创 开发博客系统中遇到的几个问题解答

此文主要解答前面文章中开发博客系统遇到的问题以及小结

2024-05-07 09:15:02 169

原创 博客系统(七)——实现发布博客功能

在一篇博客当中,它有 blogId、title、content、userId、postTime 属性。只有 title 和 content 是需要自己获取的,blogId 是自增主键,数据库会自己生成;userId 是作者信息,看提交博客的用户是谁,直接从会话中拿即可;类中添加一个 doPost 方法。postTime 是当前的时间。将编辑区容器代码改为以下代码。

2024-05-06 21:04:52 274

原创 博客系统(六) - 实现显示用户信息与注销功能

鉴于以上两种方式都可以实现注销功能,因此要么把 HttpSession 删掉;getSession 有创建/获取会话的方法,但是没有删除会话的方法,因此想要删除会话会比较麻烦。更好的办法就是 删除 user 对象,直接使用 removeAttribute 即可删除。需要判定当前的 登录状态;如果此时登录的是详情页,此处显示的是该文章的作者信息。如果是此时登录的列表页,此处显示的是登录用户的信息。②看看 session 对象里有没有 user。标签里加上一个 logout 路径。在之前写好的前端代码中的。

2024-05-06 20:58:05 231

原创 博客系统(五)——实现要求强制登录功能

当用户访问列表页/详情页/编辑页的时候,要求用户已经是登录的状态了,如果用户还没登录,就会强制跳转到登录页面。在页面加载的时候,专门发起一个新的 ajax。(一个页面里可以发多个 ajax 请求)如果以列表页为例,先发一个请求获取列表页,在获取列表页的时候再发个 ajax 获取用户的登录状态如果用户已经登录,就不会发生什么是;如果没有登录,就会跳转到登录页面。

2024-05-06 20:41:53 227

原创 博客系统(四)——登录页面功能实现

因此要使用 form 表单进行页面的跳转,如果是 ajax 请求,响应是 302 就无法进行跳转了,因为本身不会触发。使用form比ajax简单,但form功能没有ajax强,登录一般使用form。,因为在成功登录之后,会直接跳转到列表页。

2024-05-06 20:25:13 268

原创 博客系统(三)——博客详情页功能实现

在 博客列表页 点击 “查看全文” 按钮,就能跳转到中(跳转过去之后,在博客详情页中发起一个,从服务器获取到当前博客的具体内容。

2024-05-06 19:36:10 273

原创 博客系统(二)——实现获取博客列表页功能

此处就需要打通的操作。博客列表页在加载的时候,网页通过给服务器发一个请求,服务器查数据库获取到博客列表页数据,再返还给网页,网页再根据数据构造页面的内容。这样的交互过程也称为意思是前端只向后端请求数据,而不请求具体的页面,后端也仅仅是返回数据。这样设计的目的就是为了前端和后端更加的解耦,由浏览器进行具体的页面渲染,减少了服务器的工作量。

2024-05-06 18:53:39 211

原创 博客系统(一)——项目准备与数据库

对于查询操作会有一个遍历结果集合的步骤,其余的步骤也是一致的。在执行 sql 语句的时候,如果是 增删改 就要使用。

2024-05-06 18:11:46 755 1

原创 HttpServlet-HttpServletRequest-HttpServletResponse

本文介绍servlet API的详细情况(HttpServlet、HttpServletRequest、HttpServletResponse)

2024-04-20 10:45:55 973

原创 计算机网络学习笔记——数据链路层(b站)

为了减少开销,接收方不一定每收到一个按序到达且无误码的数据分组就给发送方发回一个确认分组,而是可以在连续收到好几个按序到达且无误码的数据分组后(由具体实现决定),才针对最后一个数据分组发送确认分组,这称为累积确认;为了让发送方能够判断所收到的ACK分组是否是重复的,需要给ACK分组编号,所用比特数量与数据分组编号所用比特数量一样,数据链路层一般不会出现ACK分组迟到的情况,因此在数据链路层实现停止-等待协议可以不用给ACK分组编号。一个站如果要发送比特0,则发送它自己的m bit码片序列的二进制反码)

2024-04-12 21:03:33 472

原创 计算机网络学习笔记——物理层(b站)

物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么。码元传输速率又称为波特率、调制速率、波形速率或符号速率,一个码元携带n比特信息量时,则波特率=n * 比特率。理想带通信道的最高码元传输速率(理想条件下 题目说明上下限) = W Baud=W 码元/秒。理想低通信信道的最高码元传输速率 = 2W Baud=2W 码元/秒。在假定理想的条件下,为了避免码间串扰,码元的传输速率是有上限的。②电气特性:指明在接口电缆的各条线上出现的。

2024-04-12 15:08:22 407

原创 计算机网络学习笔记——前导篇(b站)

常用单位 bit/s(b/s、bps)、kb/s=10^3 b/s、Mb/s=10……6b/s、Gb/s=10^9b/s、Tb/s=10^12b/s。:如何表示各网络以及网络中的各主机(网络和主机的共同编址问题,如IP地址);采用怎样的物理接口;:连接在计算机网络上的主机在数字信道上传送比特的速率,也成为比特率或数据率。:在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型。按拓扑结构分类:总线型网络、星型网络、环型网络、网状型网络。:表示在单位时间内通过某个网络(或信道、接口)的数据量)

2024-04-12 14:08:47 632

原创 http服务器——Tomcat使用——如何发布网站

Tomcat是java中最流行的http服务器Tomcat就相当于是网站的“底座”,所写的网站要架到这个底座上,其他用户才能顺利访问(java中)

2024-04-09 16:32:16 956

原创 HTTPS三种加密方式(对称加密、非对称加密、证书)

介绍了计算机网络中应用层https协议加密方式(对称加密、非对称加密、证书)

2024-04-09 09:14:11 1005

原创 应用层HTTP协议——请求、响应

浏览器的数据来自于服务器,浏览器后续的操作也是要提交给服务器的,服务器管理了一个网站的各种核心数据,但是程序运行过程中,也会有一些数据在后续请求的时候数据可能需要再发给服务器上次登陆时间.上次访问时间.用户的身份信息,累计的访问次数....(临时性的数据,存储在浏览器比较合适)加速器、vpn之类的也是代理,使用fiddler不能抓包,需要检查关闭代理软件(也可能是一个浏览器插件),还可以尝试不同的浏览器~正文的内容比较长,可能是多种格式(html,css,js,json,xml,图片,字体,视频,音频)

2024-04-08 20:34:11 540

原创 计算机网络——应用层

计算机网络应用层 应用层协议xml、json、protobuffer(pb)、DNS

2024-04-08 15:33:13 403

原创 计算机网络——数据链路层/以太网协议

计算机网络——数据链路层 以太网协议、mac地址、交换机

2024-04-08 15:11:59 232

原创 计算机网络——网络层(IP协议)

本文介绍了计算机网络中的网络层,网络层IP协议

2024-04-08 13:52:26 449

原创 TCP可靠传输机制详解

本文详细介绍了TCP协议如何实现可靠传输的重要机制1.确认应答 2.超时重传3.连接管理4.滑动窗口5.流量控制6.拥塞控制7.延时应答8.捎带应答9.面向字节流10.异常情况的处理

2024-04-07 19:46:57 1215

原创 计算机网络基础概念——网络前导篇

本文介绍了计算机网络的基础知识

2024-04-02 08:37:04 206

原创 TCP/IP五层网络模型——传输过程详解

如果经过路由器,就会封装分用到网络层 路由器解析到网络层,拿到IP地址,决定进一步如何传输,下一步传输的时候,又会重写经过网络层、数据链路层、物理层的解析。(实际上,这套规则是针对“传统”的路由器、交换机来说的,现在的路由器、交换机功能越来越强大了,能支持更复杂的操作)将应用层的数据报,进行打包(拼接上传输层的报头)(本质上还是字符串拼接),变成传输层的数据报,进一步交给网络层。使用UDP协议,对数据报解析,去掉报头,拿到载荷,把载荷交给应用层(根据端口号区分交给哪个应用层)

2024-04-02 08:34:04 732

原创 IO文件基本操作案例

实现对普通文件的复制。

2024-04-01 19:26:10 69

原创 文件IO基础知识

文件基础知识,包括文件、硬盘、目录、文件类型、文件的操作分类、文件分隔符、构造文件、文件相关方法、输入/输出

2024-04-01 16:13:20 327

原创 文件流对象(字节流、字符流)(InputStream、OutputStream、Reader、Writer)

close()释放文件描述符,文件描述符是一个顺序表(数组),一个进程每次打开一个文件,旧就需要在表里分配一个元素,如果一直打开文件不关闭,会把数组占满,再尝试打开文件时会出错。但如果写入缓冲区后没来得及写入硬盘进程结束了,那么数据会丢失,为了避免这种情况,手动使用flush方法(刷新缓冲区),手动刷新缓冲区,确保数据写入硬盘。每次读写最小单位是“字符”(utf8中1中文字符3字节 GBK中1中文字符2字节)(字符流相当于对字节流的封装 自动把文件中相邻的几个字节转换成一个字符)2.字符流(对应文本文件)

2024-04-01 16:10:47 402

原创 多线程进阶知识补充( 信号量Semaphore、CountDownLatch、数据结构中的线程安全问题、ConcurrentHashMap)

信号量Semaphore、CountDownLatch、数据结构中的线程安全问题、ConcurrentHashMap

2024-04-01 13:10:37 786

原创 ReentrantLock锁

但是ReentrantLock使用更复杂,尤其容易忘记解锁,加锁时还是首选synchronized(背后有一系列优化手段)③提供了更强大的等待通知机制,搭配Condition类实现等待通知。可重入锁,使用效果上和synchronized类似。①加锁时有两种方式lock,tryLock。②提供了公平锁的实现(默认情况下是非公平锁。

2024-03-31 16:24:11 162

空空如也

空空如也

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

TA关注的人

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