自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一些关于TCP,UDP,IP的理解

为什么主机号要减去2,在主机号全为0是结合前面的网络号就成了一个网络号(有点拗口,可以认为是一词多用比如张德帅是他的名字,德帅也是),代表这个局域网。UDP数据报为十个字节,报头八个字节分为源端口,目的端口,UDP报文长度(整个数据报),校验和(通过某种运算(比如CRC,MD5,SHA1)得到的载荷的映射,极难逆运算出来),载荷两个字节。IP地址是互联网上唯一标识一台网络设备的一串32位二进制数字(这是IPV4,IPV6为128位(16个字节)以下都是默认IPV4),由网络号和主机号组成。

2024-04-23 01:03:10 751 1

原创 TCP三次握手的状态变化

Tcp连接管理机制(安全机制)

2024-04-22 23:43:50 305

原创 我学习多线程的一些知识

但在极端情况下,比如取钱,当我们去ATM哪里取钱时,如果突然卡了,我们又手欠多按了几下,ATM进行了多次CAS操作,当第一次成功扣款后,第二次由于获取到的值与原值不同就不会扣款,但是如果一个人突然转了等额的钱进来,那么就会被扣了。这是一把可重入的锁,他与synchronized的用法有所不同,他加锁采用的是自己类里面的方法而不是直接写旁边,而且这两把锁是不会产生锁冲突的.同时也要注意因为ReentrantLock把加锁解锁分开了,我们要注意不要忘记解锁,可以用finally修饰一下.

2024-04-22 23:33:07 526

原创 多线程一些学习阶段的知识-------基础篇

那么如果不加锁使用呢?1.创建进程2.销毁进程3.调度进程.这三个过程都非常消耗时间,而如果在程序之间如果有共享的资源这时候重新调度就会非常浪费(举个我刚刚看到的例子:在我写这篇文档的时候,WPS会自动的帮我保存文档,而键盘会读取我输入的文字,屏幕负责显示文字,在单核心CPU上(类似于并发)如果只有一个进程,那么就只能做一件事.所以只能采用多进程的方式,而每个进程都会有我文档的信息,进程的来回切换很浪费(进程内的上下文比线程多)同时可以减少通信带来的性能损失(访问共享空间))于是就有了线程.

2024-04-02 23:43:25 538 1

原创 枚举的一些知识点

/4.valueOf(),返回对应的枚举常量,之所以打印名称是因为没有重写toString。//3.values()返回一个数组,在源码中也说明了这个隐式的方法,在编译阶段生成。//必须第一行,其后面可以是无参和有参的,前提是类里得有,而且内置了一个索引从0开始。//枚举类其实继承了一个Enum的大枚举类,这个枚举类替我们做了很多事。//2.ordinal()返回枚举的索引,从0开始。//1.name(),返回对应枚举的名字。SPRING("春暖花开","春"),//在真正的枚举类里是能修改属性的。

2024-03-21 00:49:39 438 1

原创 MyBatis一些学习的记录

当对象作为返回值的时候,MyBatis把返回的值根据名字,一一对应的赋值给返回值的对象,当名字不同的时候就不会进行赋值.但是java有java的命名规则,MySQL有MySQL的.此时我们就要做一些处理来告诉java或者告诉MySQL谁对应谁.这里有三种方法。b.告诉MyBatis返回的结果谁对应谁,然后把返回的结果让根据这个对应关系填充进返回值.id表示把这个对应关系作为一个组,下一个语句想要就不用写里面的内容了而是写一个。a.要求MySQL返回的数据要用什么名字,也就是通过as修改。

2024-02-14 03:53:02 810 1

原创 IOC和DI

重写: 如果父类和子类都使用了@Bean,那么是不行的就算子类返回父类的对象也是不行的(也就是子类方法的返回值是父类被重写方法返回值的父类)解决方法:考虑重命名其中一个bean,或者通过设置spring.main.allow-bean-definition- override =true来启用覆盖,如果只有一个被@Bean修饰那么Spring就可以直接建立对象.这里要注意的是三种常用的getBean方法,当使用字符串的时候是对象的名字,默认是类名的小驼峰,当第一个和第二个都是大写字母的时候就不变第一个了。

2024-02-07 19:48:13 860

原创 JVM一些知识点

把申请出来的内存让JVM自动检测是否不用了,然后回收掉.这就带来两个问题1.系统开销:需要一些线程不断的去扫描所有对象是否需要回收.2.效率问题:扫描是周期性的,不一定及时.一旦同一时间大量的对象都要回收,就会造成很大的开销和负担.(STW问题)属于类加载中加载的一个环节负责找到.class文件,先交给双亲来查找,双亲在往上传递,传不了了就会开始查找(在自己负责的范围),双亲找不到就传给儿子.负责查找的是三个类加载器.之所以这么设定是为了保证类库加载的顺序.不过也是可以被打破的.

2024-02-07 17:33:40 348 1

原创 计算机是如何运行的 -- 下

由于硬件设备种类繁多提供的接口也多,为了能更好的管理,硬件厂商会提供驱动,装了对应驱动才能正确识别,让操作系统更好的使用。而软件可以通过操作系统更好的在计算机上运行.所以操作系统就像工厂的管理员指挥硬件工作,而软件就像是客户,在一定的物限里提供,要求让管理员完成。是指在CPU运行一个进程时会不断的来回切换,在进程里线程是抢占式运行。每个PCB都是一个类似结构体的东西,主要是1.Pid(进程的身份。那么,什么是操作系统,首先操作系统是一个软件,是一个向下管理。硬件设备,对上对软件提供稳定的运行环境。

2023-10-25 23:42:48 26 1

原创 计算机是如何工作的 --- 上

这两个都是要保持通电的,它们要负责CPU的读写和处理,并且也是易失的(数据)ROM无需持续通电也能保存且非易失。其中算术单元负责所有数字操作比如四则运算之类的,而逻辑单元负责逻辑操作,与或非之类的。半减器(Half reducer)由一个XOR门,NOT门、AND门构成。半加器(Half Adder) (由一个XOR门和And门构成)全加器(FULL Adder) (由两个半加器和一个OR门构成)CPU主频(时钟每秒震荡次数 )可以近似的看作每秒执行的指令数。寄存器(Register)和内存(RAM)

2023-10-25 23:12:43 101 1

原创 事务的四个特性三种情况和级别

①脏读 在事务进行读数据操作时,如果有另一个事务对数据进行了修改,此时若读数据操仍在进行,此时的数据是无效的也叫做脏数据。在多个事务并发进行时,有时会发生①脏读②不可重复读③幻读等问题此时就要通过加锁的方或对事务进行隔离避免事务间互相影响。②不可重复读 在事务进行多次查询同一数据时由于被查询数据的改变导致查询出的结果不同,(重点在修改)③幻读 在事务对数据进行修改时,另一个事务对数据进行增加,或删除导致事务1语以为修改过了或没修改过。避免在服务器宕机后数据的丢失,在服务器重启后便能回滚。

2023-10-24 08:25:00 28 1

原创 B树和B+树的不同

相对于B树在根结点处最大值后面没有地址,这就使得数据有了明显的上界,在数据的存储方面非叶子节点只存索引不再存储其余的信息,这使得同样大小的内存,一个节点可以存储更多的记录,所以在B+树图中我插入了更多节点索引,这也使得树的深度更加稳定。这种结构可以让树的深度太大降低,使得IO次数减少(相较于其他数据结构),但随之它也有缺点.离在内存从磁盘内取结点时会发现相同的内存是存了大量的记录里的数据这会使得同样大小的内存,存的节点信息更少,因此前辈们为了优化把B树变为了 B+树。

2023-10-23 23:53:11 18 1

空空如也

空空如也

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

TA关注的人

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