java
huangjingjinglll
一起加油(ง •̀_•́)ง
展开
-
double vs float
double vs float vs intfloat 单精度浮点数在机内占 4 个字节,用 32 位二进制描述。double 双精度浮点数在机内占 8 个字节,用 64 位二进制描述。double 和 float 的区别是double精度高,有效数字16位,float精度7位(可提供7位或8位有效数字,构成包括符号位、指数位和尾数位)。但double消耗内存是float的两倍,dou...原创 2020-01-14 10:19:23 · 191 阅读 · 0 评论 -
redis Jedis
Jedis常用操作测试连通性public class Demo01 { public static void main(String[] args) { //连接本地的 Redis 服务 Jedis jedis = new Jedis("127.0.0.1",6379); //查看服务是否运行,打出pong表示OK System.out.println("c...原创 2019-09-16 00:46:41 · 90 阅读 · 0 评论 -
redis 主从复制
redis 主从复制是什么主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主能干啥读写分离、容灾恢复怎么玩配从(库)不配主(库)从库配置:slaveof 主库IP 主库端口每次与master断开之后,都需要重新连接,除非你配置进redis.conf文件info replication修改配置...原创 2019-09-16 00:45:57 · 76 阅读 · 0 评论 -
redis 发布订阅
是什么redis 发布订阅是进程间的一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。怎么用先订阅后发布后才能收到消息,1 可以一次性订阅多个,SUBSCRIBE c1 c2 c32 消息发布,PUBLISH c2 hello-redis3 订阅多个,通配符, PSUBSCRIBE new*4 收取消息, PUBLISH new1 redis2015小结但是不...原创 2019-09-16 00:44:31 · 58 阅读 · 0 评论 -
redis 事务
是什么可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞。2.2以后支持CAS能干什么一个队列中,一次性、顺序性、排他性的执行一系列命令怎么用常用命令MUTI 标记一个事务块的开始EXEC 执行所有事务块内的命令DISCARD 取消事务,放弃执行所有事务块内的命令UNWATCH 取消WATCH对所有key...原创 2019-09-16 00:42:41 · 64 阅读 · 0 评论 -
redis AOF
AOF是什么以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换言之,redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作。AOF保存的是appendonly.aof文件FLASHALL也会被记录进去appendonly.aof 和dump.rdf同...原创 2019-09-16 00:40:41 · 130 阅读 · 0 评论 -
JMM内存模型和Volatile锁
早期:加锁在线程1还没有给解锁之前,别的线程不能用,其实算是串行了,当然没有缓存JMM 数据原子操作JMM缓存不一致问题现在:MESI缓存一致性协议cpu和主内存交互:经过总线线程各自一起读取自己需要的,并行运行[外链图片转存失败(img-t1LJkT5S-1568279245775)(C:\Users\huang\AppData\Roaming\Typora\typora-u...原创 2019-09-12 17:09:47 · 89 阅读 · 0 评论 -
Synchronized锁
为何要设计锁:多线程编程中,多个线程同时访问同一个共享可变资源,并发访问会导致线程安全问题,锁用来保证线程安全。内存模型原子操作Synchronize锁不加锁:不能保证代码段的原子性加锁:保证代码段逻辑的原子性。序列化访问临界资源,同一时刻只能有一个线程访问临界资源(同步互斥访问)锁定义:显示锁:reentrantLock,ReentrantReadWriteLock,手动...原创 2019-09-12 16:45:10 · 134 阅读 · 1 评论 -
线程池
功能创建线程变成从线程池获得空闲线程,关闭线程变成了向线程池归还线程。线程的创建和销毁都需要时间,线程池可以避免系统频繁地创建和销毁。五大线程池Executors类是线程池工厂,ThreadPoolExecutor类实现该Executor接口,可以调度任何Runnable对象有以下工厂方法newFixedThreadPool(int nThreads)返回ExecutorServ...原创 2019-09-12 14:29:07 · 72 阅读 · 0 评论 -
jdk1.7 vs jdk 1.8 之HashMap
HashMapJDK1.7 数组+链表JDK1.8 数组+链表,链表长度>8 --> 红黑树1.7根据hash计算index,一般index= hash % length, 让键值对均匀分配在数组中插入元素时可能产生 哈希冲突,所以产生了链表链表的缺陷: 查询O(N)为什么需要指数次幂?负载因子:0.75initialCapacity数组的初始长度:2的指数次幂如果...原创 2019-08-30 16:04:16 · 141 阅读 · 0 评论 -
自定义对象需覆盖hashcode和equals
今天在实现算法的时候,本来想把图存在hashmap里,如 HashMap<String, HashMap<Timestamp,ArrayList<Edge>>>.根据hashmap的原理,keyset里每个值都应该是unique的,但是当我遍历keyset时,得到了以下的结果这是不合理的,keyset 里存在2个2019-3-13,这是自定义的Time...原创 2019-08-28 21:15:38 · 119 阅读 · 0 评论