- 博客(18)
- 收藏
- 关注
原创 Packet for query is too large,nacos查看配置文件,点进命名空间时报错解决
改完记得重启mysql,最大不超过1G,超过1G时显示也是1G。查看数据库max_allowed_packet 配置大小,修改配置my.cnf配置文件,在[mysqld]下添加。临时修改,这种方式mysql重启以后又会失效。数据库里面设置了2k太小了,改成100M。
2024-02-05 11:28:09 182 1
转载 超详细!完整版!基于spring对外开放接口的签名认证方案(拦截器方式)
超详细!完整版!基于spring对外开放接口的签名认证方案(拦截器方式)_接口如何做签名认证-CSDN博客
2024-01-12 10:58:01 172 1
原创 idea快捷键Ctrl+Alt+左方向键失效的问题
搜索back,找到Navigate,右键选择add keyboard shortcut,添加新的快捷键,直接选中按键盘即可设置。因使用mstsc远程桌面,导致返回上一步快捷键失效,通过更改快捷键的方式解决。找到setting中的KeyMap。
2023-11-10 15:48:26 3280 1
原创 Python入门学习笔记
自己模块和调用者在同一目录,或者放到python的site-packages目录下D:\software\python\Lib\site-packages,就可以使用导入的模块。类中定义init方法,初始化类中数据,调用类的时候必须传入参数, c= Caculator('name','2','1','2','10'),也可以设置默认值,安装python,我的是3.11.4,打开idle,就可以学习了!通过global将局部变量变成全局变量。定义一个类,注意 :、self、readlines读所有行。
2023-07-05 21:46:06 91
原创 在windows环境下安装Jupyter Notebook
发现需要将C:\Users\16506\AppData\Roaming\Python\Python311\Scripts这个目录添加到python,安装完成了,但是没有启动成功,这是因为没有配置环境变量。在用户变量path中添加python的scripts目录。可能是无法访问国外的服务器导致的,可以使用国内的镜像。在系统变量path中添加scripts目录。即使切换了镜像我这块还是报错,使用命令。
2023-06-10 22:39:08 316
原创 ConcurrentHashMap是怎么保证线程安全的(1.8)
在1.8中ConcurrentHashMap采用分段锁和CAS+synchronized的方式保证线程安全,分段锁采用内部类Segment实现,实现了ReentrantLock方法;
2023-06-05 22:03:10 756 1
原创 HashMap的hash方法如何实现的
所以,通过扰动函数,原本连续的 hash 值 1 到 7,变成了 0, 2, 3, 5, 6这样更加分散的序列。7 -> 7 ^ (7 >>> 16) = 7 ^ 0 = 7 可以看到,通过异或运算,1 的 hash 值变成了 0,和其他 hash 值的差距变大了。让 hash 值的分布更加均匀。如果直接使用 key.hashCode(),很可能高位和低位的值都很相近,导致 hash 值分布不均,最终存储位置的分布也不均匀,容易发生冲突。假设我们有这样的输入:1, 2, 3, 4, 5, 6, 7。
2023-06-05 20:24:34 95 1
原创 如何反编译apk文件,并且修改文件后再编译
下载apktool工具,不要忘了将后面的版本号删除,修改成如下图的apktool.jar。后面跟上反编译生成的文件地址和需要反编译的apk地址。
2023-06-04 20:40:51 991 1
原创 HashMap、HashTable、ConcurrentHashMap区别是什么
在1.8之前采用分段锁,将hash表分为16个分片,对每个分片进行加锁,锁的粒度更细;1.8以后采用CAS+synchronized实现加锁,对每个桶进行加锁,锁的粒度更细。继承了AbstractMap,实现了ConcurrentMap接口。继承了AbstractMap,实现了 Map。中方法是同步的,所以是线性安全的。继承了Dictionary类。
2023-06-04 16:18:02 80 1
原创 解决hash冲突的方法有哪些?
所有发生冲突的元素存入一个公共的溢出区,通过链表的方式解决冲突。综上,开放定址法和链地址法是两种常用的hash冲突解决方法。- 双重散列(Double hashing):使用两个不同的散列函数,当第一个位置冲突时使用第二个散列函数探测下一个位置。- 二次探测(Quadratic probing):以步长为1、3、5、7...的平方数线性探测下一个位置。这种方法在发生冲突时,通过扫描表中的其他位置来查找一个空闲的存储位置。当冲突达到一定程度时,对已经存入的所有元素重新进行散列,获得一个更大的哈希表。
2023-06-04 15:48:33 423
原创 ArrayList序列化是怎么实现的?
在readObject()方法中,首先读取序列化的size字段;实现了Serializable接口,表明其实例可以被序列化,仅序列化size字段,其elementData数组被定义为transient,不会被序列化,因为elementData数组内容过大,直接序列化效率低下,且ArrayList大小可变,序列化时数组大小不代表最终大小,所以只serialize size,在反序列化时根据size重新构建elementData数组。
2023-06-02 23:03:34 551 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人