- 博客(14)
- 收藏
- 关注
原创 lxc创建centos7容器失败面对的问题
才知道是这里出现的问题。当我尝试修改这个文件将其换为阿里的yum源配置,再运行lxc-create -t centos --name centos1 -- -- release 7 --arch x86_64时还是不行,这个lxc-centos-temp.repo文件会被重新覆盖为原来的样子。使用lxc-create -t centos --name centos1 -- -- release 7 --arch x86_64创建centos7的的lxc容器时给我报错。
2024-11-24 12:42:22
262
原创 关于虚拟机网络配置方面遇到的问题及其解决方法
发现ens33 对应只有一个ipv6,因为之前都是有ipv4地址的,所以这次没有显示ipv4地址就说明存在问题,通过上网搜索大多是让我去/etc/sysconfig/network-scripts/ifcfg-ens33文件中修改配置,但是我确定我的配置是没有问题的,所以这些教程对我来说没能解决问题。和往常一样使用xshell登录本地的虚拟机,但是却连接不上了,我通过ping该虚拟机的ip地址,发现ping不通。发现勾选的是下面的那一个并不是ens33,我便觉得这里是问题所在。于是把其勾选为ens33。
2024-11-16 02:25:19
279
原创 Windows控制台下mysql乱码问题
在Windows的cmd控制台使用mysql数据库,发现即使将不管是数据库,还是表的字符集,校验集都设置为对应的utf8,但是最终插入的数据都是乱码,并且comment注解评论的内容也是乱码的,我认为在数据库字符集相关的设计方面应该没有什么问题,于是在navicat上进行同样的数据库创建,表创建,数据插入的操作,却没有造成乱码问题,那么得出结论:这是Windows控制台的锅。但是这种方式在关闭 cmd 之后会自动失效,下次再打开,chcp对应的码值还是会变回默认的 936。
2024-10-09 00:47:35
202
原创 在运行springboot的jar包时关于命令行的问题
在将springboot项目打包后通过命令行执行时,我先试用powershell进行命令行交互,在进入到对应jar包的目录下后执行。后面试了试在cmd中进行命令行交互。springboot项目启动成功。
2024-09-29 17:38:42
161
原创 Mysql事务隔离性的原理分析
换言之,提高了效率。Read View就是事务进行 快照读 操作的时候生产的 读视图 (Read View),在该事务执行的快照读的那一刻,会生成数 据库系统当前的一个快照,记录并维护系统当前活跃事务的ID(当每个事务开启时,都会被分配一个ID, 这个ID是递增 的,所以最新的事务,ID值越大)。如果记录的DB_TRX_ID 值小于 Read View 中的 m_up_limit_id 值,表示这个版本的记录是在创建 Read View 前已经提交的事务生成的,所以该版本的记录对当前事务可见。
2024-08-24 23:30:58
1486
原创 关于多次序列化同一对象,但期间该对象经过改动,序列化的结果的研究
根据测试代码,我们很容易可以知道我们上面写的服务端的问题所在,服务端进行序列化传输时一直传输的是同一个对象,只不过每次循环传输时,这个对象中的属性值会与之前不同 ,但是就算属性值不同,因为传输的是同一个对象,在第一次序列化传输该对象之后对该对象的所有修改都不会被记录保存,所以对端每次反序列化读取上来的对象都是同一个对象且致命的是每次反序列化读取上来的该对象中的字节数组buf以及readLen都是一样的,全是第一次序列化时的数据内容。今天在写网络相关代码时,让我对序列化有了更深的研究。
2024-08-20 16:00:21
844
原创 关于socket中使用ObjectInputStream类对象造成的阻塞问题
经过查阅资料,和翻看源码,大致得出结论:在new一个ObjectInputStream类对象时,如果对应的套接字对端没有数据发送过来,那么将会阻塞在new这个位置,直到对端发送数据过来。今天在写网络传输相关代码时,意外发现了这个问题,以前没注意到,今天发现了就把记录下来。所以修改服务端代码,让服务端发送数据过来,测试一下结论是否可靠。运行服务端后运行客户端,发现客户端并没有打印出。下面是相关的测试代码来说明该问题。再次运行服务端,然后运行客户端,经过调试发现,客户端阻塞在了。客户端便没有阻塞住了。
2024-08-20 14:55:42
168
原创 StreamCorruptedException: invalid type code: AC异常分析
ObjectOutputStream实例在第一次进行序列化时会额外添加一个head,后面继续使用该对象实例进行序列化传输的时候省去了这一个步骤,而ObjectInputStream 实例在第一次反序列化时会去掉head,然后在后续使用该对象实例进行反序列化时就直接读取,不再有去掉head的操作。第一,让客户端和服务端保持匹配,客户端中的ObjectInputStream对象实例在每次循环时重新new一个。所以这里有两个解决方案。
2024-08-20 14:08:38
578
原创 多线程下抛出的ConcurrentModificationException异常原因分析
默认给的初值就是modCount,并且查看源码发现expectedModCount是没有在其他任何地方出现可能被修改的操作,也就是说当我们通过Vector类对象调用iterator()方法时,它返回来的迭代器对象中的expectedModCount属性就已经固定,所以只有可能是因为在迭代的过程中modeCount发生了改变才会造成modCount!这时候我就想起来这是因为我在一个线程迭代一个Vector对象时,另一个线程在向该Vector对象中add元素,造成了modCount值的改变。
2024-08-14 08:53:08
286
原创 Map接口的解析
这是HashMap.java中的源码,HashMap是Map的实现类,HashMap重写了values方法,其返回的接口对象就可以像我刚才说的一样,用来对HashMap中存储的键值对数据中的“值”进行相关操作。注意上面的三个接口对象其实并不负责对数据进行存储,因为本质上这些接口对象只是重写了一些方法,这些方法可以方便地实现对相关数据的一些操作(对键值的操作,对“键”的操作,对“值”的操作),实际数据的存储是通过散列表+链表+红黑树来进行的。类似的,HashMap中重写的KeySet()返回的.....
2024-08-10 22:02:52
279
1
原创 结构体的对齐问题
最后一个d,对齐数为8,所以要在偏移量为8的整数倍处开始占位,刚才把s3排完一往后就是偏移量为24的位置,刚好满足,所以开始占位,再数一数一共32个字节,结构体的整体大小就是 该结构体中的嵌套结构体的最大对齐数和该结构体中其他成员对齐数 的最大值的整数倍,c1对齐数为1,s3最大对齐数为8,d的对齐数为8,所以s4大小为8的整数倍,刚好32个字节满足,所以不必浪费多余的空间,该结构体的大小就是32。s3最大对齐数为8所以要在偏移量为8的整数倍处开始占位,这里就是8的位置。S2大小为8个字节。
2023-10-14 11:56:38
105
1
原创 动态内存管理(介绍malloc,free,calloc,realloc函数)
malloc函数向内存申请一块连续可用的空间,并返回指向这块空间的指针如果开辟成功,则返回一个指向开辟好空间的指针。但不会初始化开辟空间的内容如果开辟失败.则返回一个NULL指针,因此malloc函数的返回值一定要做检查。返回值的类型void*,所以malloc函数并不知道开辟空间的类型,所以要根据需求自己来决定如果参数size为0,malloc的行为是标准是未定义的,取决于编译器。malloc申清的内存空间,当程序退出时,会还给操作系统。
2023-10-10 20:37:12
153
1
原创 部分内存函数
使用前需要 #include该函数最后会返回destination的地址;函数memcpy从source的位置开始向后复制num个字节并且该函数遇到\0不会停止复制source和destinetion部分不能出现重叠部分,否则可能出问题对于该函数你可以对任意类型的数组进行拷贝和粘贴操作,因为形参部分是void*,可以接收任何类型的指针经过简单的讲解,我们下面来模拟实现一下memcpy函数通过一个字节一个字节地拷贝粘贴来进行操作运行后结果为符合要求。
2023-10-08 20:19:34
71
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人