自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HTTPS详解

网络请求方式通常分为两种,分别是HTTP请求和HTTPS请求,其中HTTP的传输属于明文传输,在传输的过程中容易被人截取并且偷窥其中的内容,而HTTPS是一种在HTTP的基础上加了SSL/TLS层(安全套接层)的安全的超文本传输协议,其传输的内容是通过加密得到的,所以说是一种安全的传输。HTTP协议:超文本传输协议,明文传输,客户端与Web服务器间的应用层通信协议。HTTPS协议:HTTP+SSL/TLS,即HTTP下加入SSL层,使用SSL加密,用于安全的HTTP传输,https默认使用端口443。

2023-03-22 15:25:53 236

原创 2023春招求职经验分享

其实编程语言之间的差别并不大,重要的是要决定方向并且持之以恒的努力。不要盲目的签约,一定要通过多个渠道了解公司的薪酬、福利、是否加班的情况。如果对某公司不满意,就要放弃,要坚信自己会找到更好的工作。小公司的面试可能会更难(比如根据是不是科班挂简历),公司规模越大反而对基础的考察更多,因此不要先入为主的认为大厂一定难进。场景题,考察应用技术的场景,比如自己设计一个分布式锁,如何记录用户的浏览记录、三个线程交替打印ABC等。:你觉得你成绩好吗,你绩点多少,你这个学校QS排名多少,怎么不去个排名更高的学校?

2023-03-16 17:39:53 138

原创 Guava的RateLimiter源码探究

Guava RateLimiter是一个谷歌提供的限流工具,可以有效限定单个JVM实例上某个接口的流量。RateLimiter抽象类提供限流的所有功能,它的实现类只有SmoothRateLimiter。而SmoothRateLimiter的具体策略又由它的两个内部子类来实现。

2023-02-09 02:17:40 341

原创 聚集索引,非聚集索引、索引覆盖和联合索引

聚集索引,非聚集索引、索引覆盖和联合索引

2023-01-21 01:27:44 206

原创 Golang的数组、切片和map

Golang的数组、切片和map

2023-01-15 15:28:04 467

原创 java中的锁

在并发环境下,常常要对多个线程共享/共同操作的资源加锁,来保证数据准确性。共享锁(S锁)与排它锁(X锁)共享锁:又称为读锁,即加锁后事务只能对数据进行读取和查询,不能进行增删改。当数据被加上了共享锁之后,其他事务只能再给这个数据加共享锁,而不能加排它锁。从而保证了线程在读取时数据不会发生改变。排它锁:又称写锁。当数据被一个事务加上写锁之后,则不能再被加上任何锁。此时,这个数据只能被该事务增删改查,直到排它锁被释放。悲观锁与乐观锁悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人

2022-07-16 05:46:00 113

原创 排序算法小总结

十种排序算法

2022-06-25 01:01:54 310

原创 Java中抽象类与接口

个人理解:抽象类是在接口和实体类之间的一个桥梁。是在抽象和具体之间的一个过度。先看共性:不同:可以看出,抽象类是介于接口和普通类之间的一种类,它同时具有二者的一些特性。在添加新方法时,抽象类具有更灵活的特点,如果新方法是普通方法,则抽象类的子类不需要做更改即可得到这些方法。而接口则需要所有子类做出更改,因为接口的实现类必须重写接口中所有的抽象方法。在jdk1.8中增加的default方法就是为了提高接口的扩展性,接口中的默认方法不需要被实现类重写。...

2022-06-17 23:45:04 118

原创 【Java】值传递与引用传递

值传递是对基本型变量而言的,传递的是该变量的一个副本,即“复制”了一份值给目标,改变副本不影响原变量.引用传递一般是对于对象型变量而言的,传递的是该对象地址的一个副本, 并不是原对象本身 。引用传递可以看做是一种特殊的值传递,传递的值为变量的地址。几个例子:假设num=10,例子1:这个例子中相当于num的值(10)首先被复制给了局部变量value,而后value的值被改为100,方法执行完毕,系统释放方法栈,局部变量value也会被销毁。num不受影响。例子2:由于String是引用类型,

2022-06-16 23:05:10 76

原创 TCP相关

一、三次握手TCP:传输控制协议。面向连接的,可靠的。在建立连接时,tcp协议采用经典的三次握手机制。三次握手中TCP报文的seq,ack,SYN和ACK起到了关键性作用。Seq是报文中32位二进制的数据号,ack是32位的确认号(和ACK区分开)。SYN和ACK则都是1位的标志位。三次握手的具体实现过程:1. 第一次握手:Client(客户端主机A)向Server(服务器主机B)发送一个连接请求,在这个包中,标志位SYN=1,发送序号seq=x。Client(客户端)进入SY.

2021-11-21 09:24:00 373

原创 基于哈夫曼树实现的压缩软件

一、概念 计算机中最小的储存单位是字节Byte。序列化就是将java对象转化成字节序列,从而使得java对象可以进行传输和存储。 序列化:java对象 → 字节序列 反序列化:字节序列 → java对象...

2021-11-20 11:00:41 1046

原创 动态规划小总结

记录一下最近复习动态规划的心得。动态规划的核心在于找到状态转移方程。因为动态规划的思想就是当前状态来源于上一刻的状态。关于确定状态转移方程: 以基本的卖出股票最佳时机为例:1.首先要确定方程中dp数组的定义和下标,也就是状态的具体含义(股票问题中表示当前资金)。2.确定状态转移方程: 第i天的状态有两种: 持股 or 不持股。 如果持股: 因为今天(i天)买了股票,或者因为昨天(i-1)天就已经持有了股票,今日无操作 若不持股 可能是...

2021-11-18 08:56:08 194

转载 Java哈希表

1.什么是哈希表?哈希表(Hash Table)的是数组与链表/二叉树的结合,其中哈希是指哈希函数。哈希函数的主要功能是将一个值经过加工而得到另外一个值。这种函数的特点就是输出的空间远小于输入的空间2.哈希表的存储方式哈希表是数组+链表/二叉树的方式来实现的数据结构。其中数组的下标就是由哈希函数计算得到的结果。下标对应的位置存储的就是一个键值对。3.哈希冲突同的数据输入哈希函数后可能得相同的结果,此时称为哈希冲突。解决哈希冲突的办法:开放寻址法和拉链法。开放寻址法:寻

2021-10-30 04:58:44 510

原创 JAVA五子棋

一个简单的JAVA小项目,主要实现的功能有:一、下棋功能,在棋盘的交点处落子。二、悔棋功能,取消最后一颗下的棋子。三、简单人机对战功能。1.窗体实现。主要使用了JFrame类public class GameUI { public static void main(String[] args) { GameUI ui = new GameUI(); ui.showUI(); } //显示游戏界面 public vo

2021-09-24 20:29:06 707

空空如也

空空如也

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

TA关注的人

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