自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++智能指针shared_ptr的简单实现

【代码】C++智能指针shared_ptr的简单实现。

2024-03-07 20:05:55 320

原创 C++编译链接流程详解

链接是将不同部分的代码和数据收集和组合成一个单一文件的过程,这个文件可被加载到存储器并执行。在大型软件开发中,我们不会将所有的功能实现放入一个源文件中,而是将它分解为更小更容易管理的模块,当我们修改了一个模块时,只需要重写编译这一个模块,再通过链接器链接。

2023-07-18 22:17:41 788 1

原创 锐捷校园网使用python登录

一.准备工具pycharm ,fiddler(抓包工具)二.流程1.打开校园网登录界面2.输入用户名密码后,不要点连接,打开fiddler,把这里清空3.点击连接,fiddler出现的记录中URL里有method=login的那条记录就是我们需要的,创建python程序,模板在下方,现在修改模板。、URL填记录属性的url。双击fiddler那条记录,点击右侧headers将里面的内容填入模板headers里面。再点击webforms将里面的内容写入formdata中。impo

2021-10-27 16:38:57 1155 1

原创 用户数据报协议UDP学习总结

UDP概述用户数据报协议UDP只在IP的数据服务之上增加了很少一点功能,这就是复用和分用的功能以及差错检测功能。UDP主要特点:1.UDP是无连接的。2.UDP不保证可靠交付。3.UDP是面向报文的,发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。应用层交给UDP多长的报文,UDP就发送多少。4.UDP没有拥塞控制。5.UDP首部开销很小,只有8个字节。...

2021-06-21 16:57:58 555

原创 IP数据报格式

IP数据报的格式能说明IP协议具有什么功能,从图中可以看出一个IP数据报由首部和数据部分组成,首部前一段是固定长度,共20字节。后面数据部分长度可变。IP数据报首部固定部分中的各字段1.版本 占四位,指IP协议的版本,通信双发协议必须一致,目前广泛使用的版本号为4(IPv4)。2.首部长度 占四位,可表示最大十进制数值是15。注意表示的是32位字(一个32位字长是4字节)。首部长度最短为5(二进制0101),最长为15(二进制15)。IP分组的首部长度必须是4的整数倍,不是就要利用填充字段填充。.

2021-06-17 18:17:27 490

原创 ARP地址解析协议

一、ARP地址解析协议为了解决同一个局域网知道了一个机器(主机或路由器)的地址,需要找出其相应的硬件地址的问题。在网络链路上传送数据帧时,必须使用该网络的硬件地址。但IP地址和下面的网络硬件地址由于格式不同而不存在简单的映射关系,在一个网络上可能经常会有新的主机加入进来,更换网络适配器也会使主机的硬件地址改变。地址解析协议ARP解决这个问题的办法是在主机的ARP高速缓存中存放一个本局域网的IP地址到硬件地址的映射表,这个表会经常更新。二、ARP工作流程为了减少网络通信量,主机A在发送其ARP请求分

2021-06-16 22:33:27 106

转载 解读JDK8中HashMap的源码

解读JDK8中HashMap的源码

2021-02-25 21:24:34 62

原创 TCP协议学习1

TCP协议主要特点是:首部占20个字节(1)面向连接的运输层协议:通信之前必须建立连接;(2)每一条TCP连接只能是点对点的(一对一);(3)提供可靠交付的服务;通过TCP连接传输的数据,无差错,不丢失,不重复。(4)提供全双工通信;(5)面向字节流。虽然程序和TCP交互是一次一个数据块,但是Tcp把应用程序交下来的数据看成仅仅是一连串的无结构的字节流。TCP报文段首部格式序号:seq=序号占4个字节,简称报文段序号。序号范围是0到2的32次方,到2的32次方-1后,下一个序号为0。在

2021-02-23 22:24:18 539

转载 java synchronized关键字理解

深入理解synchronized底层原理,一篇文章就够了!通俗易懂的讲解了synchronized特性、用法、底层实现,更深入讲解了锁升级。

2021-02-21 16:56:03 85

原创 java volatile关键字

一、作用域作用于变量二、Volatile 解决了什么问题?禁止指令重排序保证了内存的一致性可见性三、什么是指令重排序编译器和处理器会通过多种方式比如重排序对代码进行优化,然而在重排序后可能会导致运行结果与预想的不同。重排序的方式:编译器优化的重排序:编译器在不改变单线程程序语义的前提下,可以重新安排语句的执行顺序。指令级并行的重排序:现代处理器采用了指令级并行技术来将多条指令重叠执行。如果不存在数据依赖性(即后一个执行的语句无需依赖前面执行的语句的结果),处理器可以改变语句

2021-02-20 22:21:26 104 1

原创 java类的加载过程

1.加载通过一个类的全限定名来获取定义此类的二进制字节流。将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口。2.验证验证是连接阶段的第一步,目的是为了确保Class文件的字节流包含的信息符合当前虚拟机的要求,并且不会危害虚拟机自身安全。文件格式验证元数据验证(对类的元数据信息进行语义校验)字节码验证符号引用验证3.准备准备阶段是正式为类变量分配内存并设置类变量初始值

2021-02-20 13:01:54 209

原创 java创建线程的4种方式

1.继承Thread类继承 Thread 类重写 run 方法;public class ExtendsThreadTest extends Thread{//1.继承Thread类 @Override public void run() {//2.重写run()方法 System.out.println("创建新线程"); } public static void main(String[] args) { new Extends

2021-02-17 22:45:57 97

原创 java实现寻找迷宫路径

迷宫描述:一个网格迷宫由n行m列的单元格组成,每个单元格要是空地(用0表示),或者是障碍物(用1表示)。寻找一条从起点到终点的移动序列,只能上下左右移动到相邻单元格。任何时候都不能在有障碍物的单元格中,也不能走到迷宫之外。起点为左上角和终点右下角。问题:解决迷宫路径查找问题,寻找一条从左上角迷宫入口到右下角迷宫出口的一条有效路径,0代表可走,1代表不能行走,找到请输出最终的迷宫和路径信息,找不到请输出不存在有效路径。迷宫示例0 1 1 1 10 1 1 1 10 0 0 0 11 1 1 0 1

2021-02-13 23:39:01 829 1

原创 java为什么在重写equals方法的时候要重写hashcode的方法?

首先看一条规定: java中规定两个对象的equals()相同,hashCode一定相同。那么会不会有两个对象的equals()相同,hashCode不同呢?hashCode()方法,它是一个本地方法,底层是运用对象的内存地址通过哈希函数来计算的。equals方法,内部还是使用==来比较对象在内存中的地址,但此时如果你自己重写了equals方法,不再去比较对象在内存中的地址是否相等,而是比较对象地址中的内容是否相等。这时就会出现一个问题:若两个对象的地址不同,但地址中的内容一致,equals方法返回t

2021-02-03 23:09:19 53

原创 java单例模式学习总结

一、单例模式1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。二、单例模式的实现方式懒汉式,就是在需要的时候再实例化类。1.懒汉式,线程不安全public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() {

2021-01-30 23:07:30 101 1

原创 java static 关键字

static 修饰符1.静态变量:static 关键字用来声明独立于对象的静态变量,无论一个类实例化多少对象,它的静态变量只有一份拷贝。 静态变量也被称为类变量。局部变量不能被声明为 static 变量。静态成员变量: 位于“方法区”,无论多少个对象该变量在内存中都只有一份非静态成员变量:位于“堆空间”,每 new 一个对象创建一份,因此有多少个对象该变量在内存就有多少份2.静态方法:static 关键字用来声明独立于对象的静态方法。静态方法不能使用类的非静态变量。静态方法从参数列表得到数据,然

2021-01-27 22:19:18 84

原创 java数据类型总结1

java数据类型总结Java 的两大数据类型:1.内置数据类型2.引用数据类型内置数据类型Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。1.byte:byte 数据类型是8位、有符号的,以二进制补码表示的整数;最小值是 -128(-2^7);最大值是 127(2^7-1);默认值是 0;byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;例子:byte a = 100,

2021-01-05 18:47:18 70

原创 Java 接口总结

Java 接口接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可

2021-01-04 17:11:06 101

原创 String类总结

String类总结String类位于java.lang包下,是Java语言的核心类,提供了字符串的比较、查找、截取、大小写转换等操作;Java语言为“+”连接符(字符串连接符)以及对象转换为字符串提供了特殊的支持,字符串对象可以使用“+”连接其他对象。1)String类被final关键字修饰,意味着String类不能被继承,并且它的成员方法都默认为final方法;字符串一旦创建就不能再修改。2)String类实现了Serializable、CharSequence、 Comparable接口。3)S

2021-01-03 23:11:27 163

空空如也

空空如也

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

TA关注的人

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