自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 了解Servlet的概念与使用方式

Servlet是tomcat的一组api,在开发阶段并不在标准库内,需要引入依赖,可以从Maven中央仓库下载,注意依赖库的版本要对应tomcat的版本,如tomcat 8.5版本对应Servlet3.1.0的版本

2023-11-06 21:29:00 57

原创 HTTP与HTTPS协议

HTTP协议是一个应用层协议,通常的应用层协议需要程序猿自定义,也可以基于一些现有的协议,在此基础上进行定制,HTTP协议就是如此,其可定制性非常高。

2023-11-04 20:24:37 62 1

原创 简单使用CSS

CSS的主要作用是使网页变得好看比如颜色是一个样式,大小又是一个样式,所有的样式叠加起来就能使网页变得好看,这称作CSS样式表。

2023-10-17 08:00:00 128

原创 简单使用JavaScript

innerHTML,innerText等根DOM有关的属性是特殊的属性,而src,id,value等属性是基本属性,对于这些特殊的属性,如innerHTML我们可以直接使用原生的JS直接对其赋值,也可以使用JQuery中的特殊方法html(text)进行修改或者赋值,但是不能对其使用attr,attr只适用于基本的属性

2023-10-16 15:00:00 60 1

原创 基础网络协议

TCP四次挥手FIN是结束报文客户端向服务器发送FIN代表客户端要求与服务器断开连接然后服务器要给客户端发送ACK以视回应,也要发送FIN向客户端申请断开连接之后客户端也要给服务器进行回应这里的ACK与FIN大概率是不能一起发送的因为客户端发送给服务器FIN时,服务器要返还一个ACK,这一步是由系统内核操作的而发送FIN的时机是由socket.close决定的也就是说能不能一起发送取决于我们应用层的代码是怎么写的

2023-10-15 08:00:00 96 1

原创 简单使用HTML

HTML:超文本标记语言,任何浏览器的支持直接解析该语言一般都是用Edge或者Chrome对HTML进行解析

2023-10-14 21:06:50 69 1

原创 Java中的Socket(套接字)

这里的客户端与服务器内部的socket都没有调用close方法,因为这是一个简单的回显程序,内部的while(true)循环会一直执行,如果跳出了循环,即意味着start方法结束,然后main方法结束,main方法结束意味着进程结束,其会自动释放该程序占用的资源。程序猿在进行网络编程的时候,主要编写的是应用层的代码,在传输数据的时候,需要上层协议调用下层协议,应用层需要调用传输层的一些api,而这些api统称为socket api。直接投送短信,这就是无连接。从接收的数据报中,获取发送端主机的端口号;

2023-10-14 09:00:00 208 1

原创 网络原理基础概念

局域网:通过集线器或者路由器或者交换机将一些计算机相连,或者直接连接让所有计算机两两相连,这样就形成了局域网,比如一些游戏就可以进行局域网联机,在局域网外的计算机不能和局域网内部的计算机联机广域网:一种相对概念,通过相关设备扩大局域网,使局域网更大,连接一个城市,一个国家,最后整个世界,这样就可以实现相隔两地的人也可以进行联机游戏。

2023-10-13 21:12:16 41

原创 文件与IO

在Windows操作系统中一个文件对应的路径是唯一的,不会存在两个路径相同,但文件不同的情况也就是说在windows中,路径和文件是一一对应的以记事本的形式打开一个文件,如果看的懂就是文本文件,如果看不懂,就是二进制文件因为以记事本的形式打开,默认是以文本文件的形式打开,记事本会尝试在特定字符集中将二进制数字进行翻译,如果某个二进制数字超出了字符集的范围,就会以乱码的形式展现。

2023-06-29 13:47:50 90 1

原创 JUC部分常见组件

JUC一些常见但不是非常常用的组件

2023-06-28 19:50:33 83 1

原创 锁策略与CAS

假如一段代码来回加锁解锁,比如连续使用StringBuffer实例化对象进行append100W次,这就涉及到了100W次加锁解锁,此时编译器会将锁优化成一个更粗粒度的锁,即一开始上锁,append100W次完成后再解锁,这样虽然锁的粒度上升了,但是减少了上锁解锁的次数,上锁解锁开销也是很大的,而且每次上锁解锁导致的锁竞争都可能引入一定的等待开销,通过锁的粗化操作,这样在一定程度上,也能使程序效率升高。一般来说乐观锁要做的工作比较少,效率比较高,悲观锁要做的事比较多,效率比较低(根据不同情况分析)

2023-06-14 20:40:38 74

原创 Java线程池基础

简单了解线程池的执行逻辑以及如何创建一个线程池

2023-05-31 16:58:22 69 1

原创 Java简单模拟实现Timer

简单实现Java标准库内的Timer

2023-05-28 17:20:15 123 1

空空如也

空空如也

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

TA关注的人

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