摘要:
数据并发控制 LBCC 对于修改操作都为其加上排他锁,想要读取一个数据得等上一个事务提交才能去访问,这样并发性很低,所以就有了MVCC MVCC 首先理解MVCC要先理解事务的四种隔离级别,对于以下四种级别,MVCC主要是解决RC和RR的问题,对于RU和Serializeable这两种,要么直接读取 阅读全文
摘要:
Spring扫描配置过程 当我们在Spring中指定component-scan之后,由ComponentScanBeanDefinitionParser将指定的xml装载成BeanDefinition,当然最终实现功能的还是ComponentScanBeanDefinitionScanner的do 阅读全文
摘要:
作用: volatile修饰的变量能够保证所有线程的可见性,即当数据修改后所有线程都能够访问到修改后的数据 synchronized同步锁,表示在多线程环境下只能有一个线程进入被synchronized修饰过的代码块、方法、变量、对象。 区别: 修饰对象不同,volatile只能修饰于变量,而syn 阅读全文
摘要:
关于Redis缓存雪崩引起的思考 通常我们为了保证缓存中的数据与数据库中的数据一致性,会给 Redis 里的数据设置过期时间,当缓存数据过期后,用户访问的数据如果不在缓存里,业务系统需要重新生成缓存,因此就会访问数据库,并将数据更新到 Redis 里,这样后续请求都可以直接命中缓存。 那么,当大量缓 阅读全文
摘要:
问题描述 在做OSS开发的时候,一直报这个异常 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/ssl/TrustStrategy at com.aliyun.oss.OSSClient.<init 阅读全文
摘要:
问题描述 在公司一次接口调用的时候,由于所有的接口都需要在请求头上设置token来验证身份,所以我从本服务调用远程服务的时候使用了feign来调用,但是出现了一个很致命的问题,由于我用了线程池,导致request被销毁,在子线程中无法访问主线程的request(其实就算能访问到也被销毁了),所以调用 阅读全文
摘要:
Java课程设计 个人总结 "Java团队课程设计 socket聊天室(Day4总结篇)" 个人负责模块和任务说明 1. user端的发送到server的代码 2. user端接收server发送的代码 3. 储存消息记录的数据结构 4. 参与server端的代码编写 5. 负责整个系统的具体转发逻 阅读全文
摘要:
Java团队课程设计 socket聊天室(Day4总结篇) 团队名称: ChatRoom 项目git地址: https://gitee.com/Wenwrangler/ChatRoom.git git提交记录(仅截取部分): 面向对象设计包图、类图 包图 UML类图 总结: 首先总结一下这几天遇到的 阅读全文
摘要:
Java团队课程设计 socket聊天室(Day3) 写了两天的项目,越写到后面越觉得这个结构太烂了,所以迫不得已只能重新搭建框架 此前代码的冗余度太高,复用率低,于是今天重构项目 重构后: 对Message类进行整理,分出HistoryMessage(历史消息),OfflineMessage(离线 阅读全文
摘要:
Java团队课程设计 socket聊天室(Day2) 数据库的构建: 首先,在用户管理中创建多个用户并给与最高权限以方便小组成员访问和管理数据库: 其次,创建每个用户的信息表(如cxxx,hhb,test)以及总的用户表(user) 信息表 名字为对应用户的名字,字段包含发送信息方的姓名(hisNa 阅读全文