摘要:
1.消息处理,需要完成两件事情 public boolean expend(Object body) { AtomicBoolean flag = new AtomicBoolean(true); // 第一件事 CompletableFuture<Void> f1 = CompletableFut 阅读全文
摘要:
synchronized是阻塞式同步,在线程竞争激烈的情况下会升级为重量级锁。而volatile可以说是java虚拟机提供的最轻量级的同步机制。 根据Java内存模型,各个线程会将共享变量从主内存中拷贝到工作内存,然后执行引擎会基于工作内存中的数据进行操作处理。线程在工作内存进行操作后何时写到主内存 阅读全文
摘要:
1.synchronized加锁 package com.bjsxt.base.sync001; import java.util.concurrent.atomic.AtomicInteger; /** * 线程安全概念:当多个线程访问某一个类(对象或方法)时,这个对象始终都能表现出正确的行为,那 阅读全文
摘要:
创建bean: 1.默认构造函数 spring.xml <bean class="com.test.spring.HelloSpring"></bean> HelloSpring.java HelloSpring() {} 2.指定构造函数 <bean class="com.test.spring. 阅读全文
摘要:
【本文图部分取自别处】 一、Jsp与Servlet 1.JSP九大内置对象 2.生命周期 3.Servlet生命周期 init( ),service( ),destroy( )是Servlet生命周期的方法。代表了Servlet从“出生”到“工作”再到“死亡 ”的过程。Servlet容器(例如Tom 阅读全文
摘要:
单线程和高性能 数据都在内存中,运算基于内存而不是磁盘,快速; 单线程,避免了多线程频繁切换带来的性能损耗; 单线程如何处理高并发连接: 多路复用:利用epoll来实现io多路复用。 多路复用 注意点: 1.尽量避免使用key命令。比如redis存有上百万条数据,redis读取一般10w/s,起码也 阅读全文
摘要:
179.Redis 是什么?都有哪些使用场景?Redis 是一个使用 C 语言开发的高速缓存数据库。redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set 阅读全文
摘要:
学习资料:关于MySQL内核,一定要知道的! 并发控制 并发控制保证数据一致性的方法: (1)锁: 普通锁:串行执行 读写锁:读读并发 (2)数据多版本: 读写并发 (1)写任务发生时,将数据克隆一份,以版本号区别 ; (2)写任务操作新克隆的数据,直至提交 (3)并发读任务可以继续读旧版本的数据, 阅读全文
摘要:
String i am a string 单值缓存 set key value get key mset key value key value key value 批量插入 mget key,key 批量获取 exist key del key expire key second 设置超时时间 s 阅读全文
摘要:
学习资料:关于MySQL内核,一定要知道的! 索引 排好序的数据结构。 问题1:为什么设计索引 用于提升数据库的查找速度 问题2:哈希比树快,索引结果为什么设计成树形 索引设计成树形,和SQL的需求相关。 (1)哈希:查询/插入/更新/删除 的平均复杂度都是o(1)。单行查询哈希更快,但是如果是排序 阅读全文