摘要:
1、windows和linux之间互相传文件,通过xftp工具进行传输 我是先用xshell连接的数据库,然后xshell上有用xftp打开的快捷方式,懒的重新输入账号密码,就直接用快捷方式打开了xftp,然后一直用这个xftp传输文件 传输压缩包,解压失败,说文件不完整,从linux上下载文件,p 阅读全文
摘要:
@Transactional注解实现事务的功能是通过aop的方式实现的,在Synchronized锁生效之前就开启了事务,然后锁关闭,最后再提交事务,在高并发的情况下,存在同步锁关闭,但是事务还未提交,新的线程已经重新获取了同步锁, 数据库数据此时还未更新,新线程读到的数据是旧数据。导致Synchr 阅读全文
摘要:
情景再现: 页面点击插入数据操作无反应 问题追溯: 查看日志,sql执行语句输出,sql语句无错,报异常Lock wait timeout exceeded; try restarting transaction 解决问题: 直接数据库执行sql语句,长时间无反应,其他数据行插入成功,外键索引列为特 阅读全文
摘要:
SELECT ORDINAL_POSITION 编号, COLUMN_NAME 字段名, COLUMN_TYPE 类型, IF( IS_NULLABLE='NO', '是', '否' ) 是否非空, IF( COLUMN_KEY='PRI', '是', '否' ) 是否主键, COLUMN_COMM 阅读全文
摘要:
需求case:学校要查看所有学院的新冠疫情健康情况统计情况 解决方法:以学院数据为左连接表,保证显示所有的学院 问题:有时间搜索条件,加在where之后,会对数据进行筛选,如果有学院没有填写健康情况,那么不会显示这个学院的数据 改进解决方法:把时间搜索条件加在left join on 之后 case 阅读全文
摘要:
Tip:不建议执行三张表以上的多表联合查询 对数据量不大的应用来说,多表联合查询开发高效,但是多表联合查询在表数据量大,并且没有索引的时候,如果进行笛卡儿积,那数据量会非常大,sql执行效率会非常低 多次单表查询在service层进行合并好处: 1、缓存效率更高,许多应用程序可以方便地缓存单表查询对 阅读全文
摘要:
1、数组 数组在物理内存分配上是连续的,所以在初始化的时候需要指定内存的大小。 数组通过下标索引来访问,所以查找的效率为O(1),由于中间插入、删除以及头部插入和删除需要移动后续的数据保证数组是连续的,所以中间和头部的插入和删除的效率为O(N),修改的效率与查找的效率一致为O(1) 2、链表 链表在 阅读全文
摘要:
wait()释放锁 sleep()不释放锁,让出cpu时间 sleep(3000)不一定在3秒后就执行了 sleep(0),java线程分配是抢占式的,该操作会触发操作系统立刻重新进行一次CPU竞争,重新计算优先级,让有些优先级低的线程也能获取到cpu控制权,同理可证sleep()操作是会让出cpu 阅读全文
摘要:
锁从设计理念上可分为2类,分别为悲观锁(互斥锁)和乐观锁(非互斥锁) 悲观锁适用于写多读少的场景,乐观锁适用于读多写少的场景 java中的悲观锁就是Synchronized,AQS框架下的锁则是先尝试cas乐观锁去获取锁,获取不到,才会转换为悲观锁,如RetreenLock。 java中主要锁有2种 阅读全文
摘要:
java中都是值传递 如果参数是引用类型的,实际上是把引用地址复制了一份传递 例如 User user = new User(); user存放在栈中,里面存放着内存地址,new User()会在堆中初始化一块内存区域,存放user的实际内容 例1: public void pass(User us 阅读全文