HashMap源码(三)—— 成员变量解释和构造方法细节分析 HashMap数组容量,默认是16 1static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; HashMap最大容量:2的30次方 1static final int MAXIMUM_CAPACITY = 1 << 30; 默认负载因子,也叫加载因子 0.75 1static final float DEFAUL 2020-05-27 Java基础 #HashMap
HashMap源码(二)—— 成员变量 DEFAULT_INITIAL_CAPACITY 为什么是2的n次方??? HashMap 初始化容量12// 默认容量 16static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; //16 为什么必须是2的n次幂因为只有是2n,才可以通过 hash & (leng-1) 计算出的索引尽可能保证数据分布均匀. 如果不是2的n次幂,计算出的索引特别容易相同,很容易发生hash碰撞,导致其余数组空间很大程 2020-05-27 Java基础 #HashMap
HashMap源码(一)—— 数据结构put存储过程介绍 HashMap 数据结构 Jdk1.8之前:数组+链表 Jdk 1.8之后 数组+链表+红黑书 链表长度大于8后并且数组长度 大于64 链表结构转化成红黑树结构为什么jdk8之后要用红黑树因为链表插入快,查询慢,当链表太长时, 相当于 node.next.next.next.next.next.next.next.next …… = new Node(xx) 其中next就相当于插入,而红黑数可 2020-05-27 Java基础 #HashMap
创建Mysql数据库 Cant create database XXX 问题完美解决 情况: 创建数据库报错:Can’t create database XXX (errno: 15938145) 排除权限问题 偶然看了一篇文章,说重启系统会自动恢复部分故障的 重启后,启动mysql报错 Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ 翻到入下博客完美解决问题 https: 2020-01-08 Mysql #Mysql
Spring Service层本类中调用另一个事务方法不生效原因 原文链接:https://blog.csdn.net/dapinxiaohuo/article/details/52092447 首先调用的是AOP代理对象而不是目标对象,首先执行事务切面,事务切面内部通过TransactionInterceptor环绕增强进行事务的增强,即进入目标方法之前开启事务,退出目标方法时提交/回滚事务 2019-12-24 Spring #事务
Python学习——元类 元类MetaClass(元类),元类创建了Python中所有的对象。简单的理解,就是创建类的类,即创建类之后,再由类来创建实例进行应用。使用元类可以在创建类时动态修改类定义。为了使用元类动态修改类定义,程序需要先定义元类。简单理解为:元类就是用来创建类的东西 注意,不要从字面上去理解元类的含义,事实上,MetaClass 中的 Meta 这个词根,起源于希腊语词汇 meta,包含“超越”和“改变” 2019-11-29 Python #元类
Python学习——Python装饰器执行逻辑、执行顺序、调用流程原理分析 装饰器介绍是Python的一个重要组成部分,可以有效的增强一个函数的功能。 可以在不修改原函数的情况下对其进行功能扩展,遵循开放封闭原则 举个栗子要给好多个index函数添加验证, 常规的做法如下,显然违反了封闭原则,并且实施起来也比较困难。 1234567891011121314def verification(): print("验证代码逻辑")def index1( 2019-11-25 Python #装饰器
《乌合之众:大众心理研究》——古斯塔夫・勒庞【法】读后感 介绍——摘自百度百科《乌合之众:大众心理研究》法国社会心理学家古斯塔夫·勒庞创作的著作。在书中,勒庞阐述了群体以及群体心理的特征,指出了当个人是一个孤立的个体时,他有着自己鲜明的个性化特征,而当这个人融入了群体后,他的所有个性都会被这个群体所淹没,他的思想立刻就会被群体的思想所取代。而当一个群体存在时,他就有着情绪化、无异议、低智商等特征。 美句鉴赏 一个群体中的个人,也不过就是沙漠中的一粒细沙, 2019-11-01 读后感 #乌合之众 #读后感
二进制中模、原码、反码、补码分析和二进制位运算、移位运算 原码、反码、补码、模二进制数二进制数分为有符号数和无符号数。对于有符号位二进制数,最高位表示正负数,最高位1表示负数,最高位是0则表示正数。如一个8位的有符号位二进制数 1000 0001 最高是1则表示一个负数(-1) ,如果1000 0001 是无符号位,换算成十进制数是129. 模指一个计量系统的计数范围,可以简单理解成一个范围,超出这个范围后回到原点,即一个轮回。模实质上是计量器产生”溢出 2019-10-29 计算机网络 #原码 #补码 #位运算
Java JDK序列化 (Serializable和Externalizable) 概念12序列化:将结构对象转为字节序列的过程。反序列化:将字节序列恢复为结构对象的过程。 为什么要序列化:简单的说序列化是用来通信的,为了跨进程传递格式化数据(byte流)。当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为对象。这样客户端和服务端就 2019-10-14 Java基础 #Serializable #Externalizable #序列化