CompletableFuture优化首页加载速度 注:没有考虑某一个任务超时的情况,我们没有这种场景,就像有些公司一天几百单,非要搞多服务之间的分布式事务,考虑用bigint作为自增id是否会越界,我觉得,想多了。情况是这样的,我们的APP首页,加载的数据非常多,由于业务上对展示数据实时性的要求,不便于使用缓存,所以考虑用并行化查询来优化首页接口的响应速度,使用。基于CompletableFuture本身的一些缺点,采用包装类规范使用尽可能地来避免,以下是我写的包装类。,此类的具体使用就不赘述了。
设计链表(力扣707) 自己设计一个链表,实现简单的增删改查,上代码:class MyLinkedList { public static void main(String[] args) { MyLinkedList myLinkedList = new MyLinkedList(); myLinkedList.addAtHead(7); myLinkedList.addAtHead(2); myLinkedList.addAtHead(1);
建表的时候需要考虑什么 经验1:独立性一张表如果在业务上比较独立,即只用来单表查询,考虑在哪个字段上加索引即可。但是如果要和其他表连接查询,要考虑被连接的表的大小,联表以后的查询速度,那么回到联表的根源上,当然是要查被连的那张表的字段,这时候为了不连表,可以在新表上适当冗余。示例:# a表为新表,b表为千万级表select count(*) from a join b on a.b_id = b.b_id where b.record_id = ?;# 改进,给a表加record_id, 速度会快不少select c
Socket发送和接收数据 我们来试验一下socket发送和接受数据一共有三个文件:mysocket.h、socketServer.c、socketClient.c过程:1.将这三个文件准备好,放到一个目录下2.执行 gcc socketServer.c -o server.out3.执行 gcc socketClient.c -o client.out4.在一个终端窗口执行:./server.out,可以看到当前进程处于等待状态5.再打开另一个终端窗口执行:./client.out 16.观察两个窗口的输出下面是三
磁盘满了导致JTA事务无法提交 线上有一个项目启动,刷了大量日志,把磁盘写满了,然后服务出问题了;清磁盘,重启就解决了:org.springframework.transaction.TransactionSystemException: JTA failure on commit; nested exception is com.atomikos.icatch.jta.ExtendedSystemException: Error in commit: could not flush state image java.io.IOExce
sed命令和awk命令详解 vim和sed、awk之间的区别: vim命令是交互式的,sed和awk是非交互式的。比如vim需要i来插入,需要wq来保存退出 vim命令使文件操作模式,sed和awk是行操作模式。sed命令:1.sed作用 sed一般用于对文本内容做替换(不一定非用/分割,任意字符都可以): 如sed '/usr1/s/usr1/u1/' /etc/passwd2.sed的模式空间 sed的基本工作方式为: 将文件的每一行读取到内存...
shell命令详解 shell命令1.shell是什么? shell是命令解释器,用于解释用户对操作系统的操作 shell有很多,看cat /etc/shells centos默认使用的shell是bash2.Linux的启动过程 BIOS引导介质-MBR(硬盘引导)-BootLoader(grub)-kernel(内核启动)-systemd(系统初始化, systemd为1号进程,centos6位init)-shell3.shell脚本的格式 cd /usr/lo...
linux常用命令 man 命令:man ls、man pwd等linux中的命令可以用man来查看具体使用,如ls -l的作用================================================================================help 命令:命令分为内部命令和外部命令,shell自带的称为内部命令,其他的是外部命令使用type cd、type shell区分内部命令使用如: help cd外部命令使用如:ls —help======.