- 博客(54)
- 收藏
- 关注

原创 【面试准备三】多线程
线程https://www.huaweicloud.com/articles/eb6b375fbd2bd8de8106a8552b769dac.html基础知识线程状态转化进程线程区别进程:资源调度单位线程:任务调度单位线程间通信 6信号、信号量、管道、消息队列、共享内存、socket(套接字)线程池创建线程池方法 5个newFixThreadPool newSingleThreadPool newCachedThreadPool newScheduledTh
2021-06-09 20:00:03
405
5

原创 maven 使用本地库
功能B库使用A本地打出来的包。A库包打到本地1. A库中涉及version的地方,你都改成具体版本号2. 然后执行:mvn clean install -Dmaven.test.skip=true 打到本地仓库B库删除从远程读取的配置,改成本地1. B库引用A的jar版本号使用本地打出来的固定版本号;2.然后删除对应的远程读取配置,改成本地读取配置<repositories> <repository> <id>n.
2021-02-08 14:39:16
786
原创 update内容如果不变化,update_time也不会改变
表定义的时候,update_time会自动更新。`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,但如果update的内容和原有内容完全一致,则update_time不会更新。例子:update之前如下图:执行update操作,注意时间为2022-05-23 16:23:29,表示执行成功重新去查表,得到如下图:update_time没发生变化
2022-05-23 16:31:19
2162
原创 Lock wait timeout exceeded; try restarting transaction
问题数据表中新增字段,一直加不上去,出现"Lock wait timeout exceeded; try restarting transaction"错误。分析表很小,数据量也很小,不可能是因为需要时间长,超时,加不上去。看提示像表被锁了,无法操作。解决select trx_id,trx_state,trx_started,trx_mysql_thread_id,trx_query,trx_operation_state from information_schema.INNOD
2022-03-11 10:30:18
886
原创 mybatis批量插入并返回主键至原list
mybatis useGeneratedKeys UnsupportedOperationException
2022-01-06 11:34:35
1600
原创 T E K V ?区别,源码中这些字符是什么鬼
文章目录概述概念介绍范型与?区别范型用法参考概述在看源码的时候经常看到T E K V 与?,这些字符到底是什么含义、做什么的?概念介绍T E K V 其实是java泛型,是Java SE 1.5增加的新特性,业内默认使用:字符通常含义TType,通常表示类型EElement,通常表示容器的元素KKey,通常表示Map中的键VValue,通常表...
2021-11-16 19:58:54
189
原创 @Transactional(rollbackFor = Exception.class) 不生效,没回滚
1、检查你的方法是不是 public 修饰的。2、检查是不是同一个类中的方法调用(如a方法调用同一个类中的b方法,在b方法上加的事务)。参考:Spring事务@Transactional(rollbackFor = Exception.class) 不生效_riemann_的博客-优快云博客...
2021-11-01 11:36:44
5383
原创 【面试准备四】sping
spring springmvc springboot springcloud区别spring:控制反转(IOC)和面向切面(AOP)的容器框架。ioc是容器管理bean;aop公共提出来,比如鉴权、操作日志等等;springMVC是spring的一部分,spring还包括springJDBC、springTest等;springBoot秉承约定大于配置的原则,省去spring复杂的配置,基于spring的一套快速开发整合包,可以快速搭建一个spring服务;springCloud是基于sp
2021-08-09 16:49:38
222
原创 git 恢复未add文件 执行了reset --hard
如果使用Jetbrains系列产品,那恭喜你,可以恢复,步骤:1. 项目右击,选择local history -> show history2. 选择恢复的时间点,右键,revert即可。如果你只依赖git,是无法恢复的,只能哭了......
2019-12-19 12:25:40
3155
3
原创 HashMap中容量为什么用2的幂次方,不用素数
众所周知,很多结构如Hashtable初始容量都用是11,用的素数,为了后期存数据的时候能后分布更均匀如果用合数,重新rehash后,之前在一组的数又会重新在一起,所以不分散,所以不采用HashMap为什么要求容量是2的幂次方呢?对,就用是之前在一组的数字,rehash之后会重新在一起。定义数字为n,容量为cap,cap为2的幂次方则一般取模运算为: n&(cap-1)举例...
2019-10-30 18:43:47
826
原创 找出int数字最高位的1对应的2幂次方
文章目录分析例子源码中的应用分析方法一:从左向右依次取该位bit,找到最高位1。复杂度是O(n), n为该数组的bit位方法二:将该数字的末尾全部置1,然后i - (i >>> 1)即可,复杂度O(1)数字1后面的值都设置为1算法: i |= (i >> 1); i |= (i >> 2); i ...
2019-10-29 15:58:41
994
原创 10G整数文件找出中位数或者第K大数
将10G整数分成2G读5次,读入内存中,每个数组归入对应的桶中:1)将int分为4Byte,取最高8位,分成256个桶(0-255)2)获取每个整数的高8位,归入对应的桶中3)读完2G,将255个桶数据放入磁盘中4)依次读完10G整数文件针对0-255个桶,从0开始累加桶中数据size,找出中位数所处的桶计为k1桶将k1桶中整数,按照次高位放入0-255个桶【1)-4)】,找到对应...
2019-10-28 15:34:55
936
原创 PriorityQueue源码分析
优先队列内部实现是是堆,结构是数组,使用堆排序初始化容量11,如果拆入数的时候,大于当前队列数组容量,则扩容扩容方案:如果当前数组小于64,则扩容一倍,如果大于,则扩容50%, 这用Arrays.copyOf将原有数组放到另一块新的空间内部实现堆排序主要靠两个函数:堆排序,父节点:i,两个儿子节点:2i+1、2i+2最大堆为例(可以comparator来自定义优先级):sift...
2019-10-28 12:07:52
180
原创 【leetcode】378. Kth Smallest Element in a Sorted Matrix
378. Kth Smallest Element in a Sorted Matrix378. Kth Smallest Element in a Sorted Matrix题目思路代码)378. Kth Smallest Element in a Sorted Matrix题目题目链接: https://leetcode.com/problems/kth-smallest-eleme...
2019-10-22 19:23:08
223
原创 【leetcode】180. Consecutive Numbers
答案select Num as ConsecutiveNums from (select T.Num, max(T.Count) as Count from (select Num, (case when @pre <> (@pre := Num) then @i := 1 else @i := @i + 1 end) as Count from Logs, (select @i:=...
2019-10-11 19:38:05
189
原创 【leetcode】 178. Rank Scores
参考https://www.cnblogs.com/rever/p/7149995.html练习做完
2019-10-11 19:36:49
216
原创 【leetcode】1179. Reformat Department Table
文章目录答案case有input_expression没有input_expression组函数group bymysql总结讲解参考答案select id, max(case when month = 'Jan' then revenue end) as Jan_Revenue,max(case when month = 'Feb' then revenue end) as Feb_Rev...
2019-10-10 17:26:27
515
原创 linux crontab运行原理
工作流程主进程fork个子进程cron (A) 为守护进程,每分钟读取一下crontab中的配置,是否有要调度的进程,如果有,则放入任务队列中;执行该调度任务命令:A 先fork一个子进程 (B) 整体管理整个命令的执行,B 进程fork一个子进程 (C) 运行cron命令,如果该任务有输入,则 B 进程fork一个子进程 (D),D 进程将任务输入输出给 C 进程。D 进程不是必须的...
2019-10-10 11:09:43
1271
转载 select ... for update
Mysql InnoDB 排他锁用法: select … for update;例如:select * from goods where id = 1 for update;排他锁的申请前提:没有线程对该结果集中的任何行数据使用排他锁或共享锁,否则申请会阻塞。for update仅适用于InnoDB,且必须在事务块(BEGIN/COMMIT)中才能生效。在进行事务操作时,通过“for up...
2019-10-09 15:18:40
502
转载 位运算实现加减乘除四则运算
要用位运算来实现四则运算,不仅仅要知道&,|,~,^,<<,>>怎么做,还需要先掌握位运算的几个运算规律:1:~n=-(n+1),比如:~3=-42:获取整数n的二进制串中最后一个1:-n&n=~(n-1)&n3:去掉整数n的二进制串中最后一个1:n&(n-1)然后,我们就可以使用常规位运算并结合上面的运算规律来实现四则运算了。加法...
2019-10-09 10:48:51
414
转载 Java Object.getClass()源码分析
栈:Person对象引用堆:person实例对象,Person.class信息person实例对象:1)mark word:对象头,存放实例摘要信息,比如该对象的锁信息、hash值、线程信息等;2)kclass元数据类型指针,指向Person类型元数据的指针3)实例数据:对象的各种成员变量值Person.class信息Person.class类的信息老生代:Person类型元数...
2019-09-26 15:47:55
827
原创 data.username must not be null pycharm 远程调试
因为重启pycharm远程调试配置丢失,用户名密码重新配置一下就可以了Preferences – Build, Execution, Deployment – Deployment发现用户名密码没了,所以重新写入即可...
2019-09-12 12:09:03
2886
转载 java Integer.bitCount源码分析
算法:统计整数的二进制表达式中的bit位为1的位数普通算法public int bitCount(int num) { int count = 0; do { if ((num & 1) == 1) { count++; } num>>=1; } while (num &g...
2019-09-06 11:04:29
260
原创 Mock InjectMocks ( @Mock 和 @InjectMocks )区别
@Mock: 创建一个Mock.@InjectMocks: 创建一个实例,其余用@Mock(或@Spy)注解创建的mock将被注入到用该实例中。SomeHandler类中@Autowire了OneDependency类的对象,在写SomeHandler的test用例的时候要用到OneDependency对象,则需要将OneDependency Mock到SomeHandler中,注入到Some...
2019-08-26 17:07:58
745
原创 Java Object.hashCode()源码分析
文章目录hashcode介绍hashCode源码分析参考hashcode介绍hashcode是Object中的函数,所有类都拥有的一个函数,主要返回每个对象的hash值,主要用于哈希表中,如HashMap、HashTable、HashSet。哈希码的通用约定如下:在java程序执行过程中,在一个对象没有被改变的前提下,无论这个对象被调用多少次,hashCode方法都会返回相同的整数...
2019-08-23 18:25:18
14186
原创 git 迁移代码库,将源代码库中代码迁移到一个新库中
适用于迁移一个库的某一分支到一个新库把一个库的某个分支迁移到一个新库的同一分支其实上述两个同理先行提示在迁移库时可以使用一下命令查看当前库的远程库连接情况:git remote -v如果只是将源本地库中的某一个分支迁移到目的库中,则需要将源本地库中的除了要迁移的分支保留,其他分支均删除这样只会迁移一个分支,不然本地库中的所有分支都会被迁移到目的库步骤进入源库目...
2019-08-21 17:45:20
1266
原创 [LeetCode] 1008. Construct Binary Search Tree from Preorder Traversal (java)
文章目录题目翻译思路代码题目Return the root node of a binary search tree that matches the given preorder traversal.(Recall that a binary search tree is a binary tree where for every node, any descendant of node....
2019-08-13 19:41:31
369
原创 linux下source sh ./ 执行脚本区别
命令执行用途文件要求执行过程sourcesource a.sh通常针对配置文件,执行source使生效,如.bashrc中export变量,则source .bashrc之后,当前terminal中可以使用该变量针对 a.sh, 当前用户不需要执行权限在当前shell内执行,使用变量与当前terminal一致,a.sh中对变量的修改,影响当前terminal中变...
2019-08-12 20:58:47
225
原创 elasticsearch不能以root用户运行:can not run elasticsearch as root
参考https://blog.youkuaiyun.com/hoooooly/article/details/80612612问题:原因:不能使用root用户启动解决:adduser elastic // 设置密码和信息chown -R elastic:elastic <es所在文件夹> // 将es的拥有者和group改为elasticsuelastic...
2019-07-30 11:36:36
5033
2
原创 eclipse Git插件Team中不显示
eclipse git插件Team中不显示主要原因:eclipse版本git版本不对应解决方案: 卸载git插件,安装对应版本的git插件卸载git插件,加载干净结果:help->about eclipse中不显示git help->installion detail->instaled softwahore, 选中对应的git, 点击下方uninstall;如果还存在git插件,在eclip
2017-03-14 19:36:07
8351
原创 【caffe学习】学习初探
早已闻caffe大名,最近闲下来,学习一下。本人菜鸟一枚,入手caffe两三天,遇到error请在楼下打log(留言批评指正)。关于安装:直接到github上看安装教程,相对于很多博客,现在安装步骤简化了很多。所以强烈建议按照官网安装。 https://github.com/BVLC/caffe关于安装设备:本人穷学生一枚,电脑为09年台式机,只有cpu(话说caffe很多配置默认都是gpu,
2016-10-29 21:40:32
430
转载 ros学习网站
ros教程:http://blog.youkuaiyun.com/xiaocainiaoshangxiao/article/category/1710543ros, CMakeList.txt编写: http://blog.youkuaiyun.com/u013243710/article/details/357958413.
2016-05-11 22:03:54
364
原创 12 类
1. 类的定义和声明一旦类定义完成后,就没有任何方式可以增加成员了。在类内部定义的成员函数(函数实现体在类中),则会认为是inline成员函数(该函数被调用时直接换成函数体)不完全类型:声明了该类,在定义该类之前,成为不完全类型: 只有当类定义体完成之后才能定义类,所以类不能具有自身类型的数据成员(因为该类定义还没有完成,不知道存储该类的对象所需的空间,无法完成初始化)但类数据成员可以是指
2016-05-01 22:13:49
384
翻译 基于视觉的障碍物检测和规避
1. 介绍为了使直升机在复杂多变的走廊中平稳避障飞行,本文提出了三个算法: 一个鲁棒性好的平稳控制算法(基于光流+声波传感器);对周围环境做及时反应使helicopter保持在航线上 障碍物检测(基于SVM,对图像进行分割提取特征);检测到接近的任何障碍物 障碍物规避;给出避障控制量:最佳偏角 实验: 走廊跟踪和楼梯跟踪。2. 引言用单目摄像头在走廊中检测障碍物,光流可以用于
2016-04-29 20:38:50
33179
2
原创 新浪实习生面试题
200个数组,每个数组100个已排好序的数(从大到小),求出最大的20个数;复杂度。方法一:1、200个数组第一个数快排从大到小排好;200log2002、取出排好序的第一元素为最大元;3、将最大元所在数组第二个数取出,折半查找插入相应位置;log2004、重复2、3,直到找到20个为止。 19log200所以时间复杂度为219log200 空间复杂度200方法二:(面试完之后想的)1、
2016-04-25 22:47:20
1224
原创 排序算法--面试总结分析
面试时最常问的就是排序算法,所以总结一下这个过程中我遇到的问题:叙述**排序算法思想,然后写代码;最常问的是快排;各个排序的时间复杂度,一般情况下都说的是平均。首先还是会问快排,nlogn,然后问同样复杂度的排序算法,合并排序、堆排序、shell排序。(刚开始的时候一直特别害怕复杂度,因为感觉自己不清楚,面试过程中突然感觉,只要进行了折半,复杂度就是nlogn。所以知道各个排序的思想,还是很好
2016-04-25 22:45:45
573
原创 分治/减治/变治
分治:大的问题分别为规模小的相同的子问题。原问题仅存在于分解出来的某一个子问题中;子问题需要综合处理得出原问题解。减治:一个问题给定实例的解和同样问题较小实例的解之间的关系。减去一个常量;将去一个常数因子;减可变规模。分治减治区别:分治法:求解多个子问题(每个子问题均需要单独求解),合并子问题的解。减治法:求解一个子问题(子问题只需要求一次),扩展子问题的解。例如:求a^n。 分治法
2016-04-25 22:29:38
2222
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人