- 博客(17)
- 收藏
- 关注
原创 @Resource注解用法
@Resource注解和@Autowired注解一样,都是为了装配Bean,但是两者在使用上又有少许区别@Autowired是默认按照类型装配Bean,当需要用名称装配时,可以在@Autowired后面使用@Qualifier注解指定name属性,来告知容器加载哪个bean@Resource默认按照名字装配Bean,即会按照name属性的值来找到具有相同id的Bean Definition 并注入。如果@Resource没有指定name属性,则会根据这个将要被注入的属性的名字来进行Bean.
2021-08-20 16:32:59
19966
3
原创 Junit单元测试默认自动回滚
Junit单元测试中,测试方法默认自动回滚,若要关闭自动回滚,需要使用注解@Rollback(false)显式关闭,默认回滚式@Rollback(true)
2021-03-04 17:01:32
637
3
原创 Arrays.asList需要注意的点
Arrays.asList是一个将数组转换成集合的方法,但是需要注意的是,当该数组被转换成集合后,数组和该集合仍然具有关联性。Arrays.asList方法返回的ArrayList是一Arrays类中的一个内部类(Arrays$ArrayList),并非是我们常用的java.util.List包下面的ArrayList。虽然ArrayList和Arrays$ArrayList同样继承了AbstractList,但是Arrays$ArrayList却没有对add、remove、clear方法进行重写。而在抽象
2021-02-20 11:49:02
365
1
原创 count()和count(1)以及count(列名)的区别
根据Mysql官方文档的说法:There is performance difference(在性能上没有差别)也就是说在InnoDB引擎上,count(*)和count(1)在性能上是一样的再来说下count(列名):count(列名)统计的是该列上不为null的数据有这么一个表在列[sex]上不为空的记录数有6条,执行select count(sex) from `user`; 看下结果可见count(列名)只统计不为nu...
2020-11-04 16:22:10
254
1
原创 Java如何实现多继承?
今天舍友面了一家公司,面完后他发了面经,有一个问题印象比较深,对话如下:面试官:Java支持多继承吗?舍友:准确来说不支持,但是接口与接口之间可以允许多继承。面试官:那假如我一定要用类来实现多继承,可以吗?。。。不会,于是上网找了资料,然后记录下来Java除了可以用接口(Interface)实现多继承之外,还可以用内部类(inner Class)来实现多继承。但是用内部类来实现多继承的话,网上有争议,认为这不是严格的多继承,因为一般来说继承往往可以伴随上转型,但是内部类不行。不.
2020-11-02 16:43:46
1984
1
原创 LeetCode 381. O(1) 时间插入、删除和获取随机元素 - 允许重复(官方题解笔记)
381. O(1) 时间插入、删除和获取随机元素 - 允许重复设计一个支持在平均时间复杂度O(1)下,执行以下操作的数据结构。注意: 允许出现重复元素。insert(val):向集合中插入元素 val。 remove(val):当 val 存在时,从集合中移除一个 val。 getRandom:从现有集合中随机获取一个元素。每个元素被返回的概率应该与其在集合中的数量呈线性相关。示例:// 初始化一个空的集合。RandomizedCollection collection ...
2020-10-31 16:13:59
164
原创 从LeetCode 990. 等式方程的可满足性 学习并查集
990. 等式方程的可满足性给定一个由表示变量之间关系的字符串方程组成的数组,每个字符串方程equations[i]的长度为4,并采用两种不同的形式之一:"a==b"或"a!=b"。在这里,a 和 b 是小写字母(不一定不同),表示单字母变量名。只有当可以将整数分配给变量名,以便满足所有给定的方程时才返回true,否则返回false。示例 1:输入:["a==b","b!=a"]输出:false解释:如果我们指定,a = 1 且 b = 1,那么可以满足第一个方程,但无...
2020-09-16 22:08:02
138
原创 智力题之【老鼠吃毒药问题】
毒药问题:大家应该都听说过这个老其中题目:有 1000 个一模一样的瓶子,有 999 瓶是普通的水,有一瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有 10 只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药?这个问题的答案也堪称经典:把瓶子从 0 到 999 依次编号,然后全部转换为 10 位二进制数。让第一只老鼠喝掉所有二进制数右起第一位是 1 的瓶子,让第二只老鼠喝掉所有二进制数右起第二位是 1 的瓶子,等等。一星期后,如果第一只老鼠死了,就知道毒药瓶子的二进制编号中,右...
2020-09-13 16:31:49
4682
原创 String的intern函数
String.intern() 是一个 Native 方法,它的作用是:如果运行时常量池中已经包含一个等于此 String 对象内容的字符串,则返回常量池中该字符串的引用;如果没有,JDK1.7之前(不包含1.7)的处理方式是在常量池中创建与此 String 内容相同的字符串,并返回常量池中创建的字符串的引用,JDK1.7以及之后的处理方式是在常量池中记录此字符串的引用,并返回该引用。“abc”是在字符串常量池中,所以intern函数返回的也是在字符串常量池的引用,比较之后返回true下面再来.
2020-09-03 16:59:58
267
原创 Redis实现分布式锁
Redis实现分布式锁的核心:redis命令:setnx key valueSETNX key value可用版本: >= 1.0.0时间复杂度: O(1)只在键key不存在的情况下, 将键key的值设置为value。若键key已经存在, 则SETNX命令不做任何动作。SETNX是『SET if Not eXists』(如果不存在,则 SET)的简写。返回值命令在设置成功时返回1, 设置失败时返回0。代码示例redis...
2020-07-25 22:22:56
194
原创 ThreadPoolExecutor分析
ThreadLocal线程池是池化思想的技术应用,除此之外还有数据库连接池等。目录#创建线程池的方式:创建线程池的方式:使用Executors创建线程池ExecutorService es = Executors.newFixedTreadPool(2);手动调用ThreadPoolExecutor构造函数ExecutorService es = new ThreadPoolExecutor(5,5,30L,TimeUnit.MILLISECONDS,new Linke...
2020-07-18 11:03:56
163
原创 SSM+maven整合环境配置
最近要交个课程大作业,要求用的是SSM,平时是用Spring boot用习惯了,很多配置都不用自己配,现在一配SSM环境就出各种问题,所以自己就把整合配置过程写下来,免得以后忘了又到处找解决方案(环境配置和代码存放的位置是根据自己的风格配的),仅作参考项目大体结构:如上图所述,用maven创建的一个webapp模板,依赖就不放出来了,spring+springmvc+mybatis这些依赖一搜就出来,写这篇主要是记录整合和配环境的下面来说一下各项配置文件: db.propertie..
2020-07-15 15:31:41
208
原创 Trie树前缀树
今天刷LeetCode碰到一题前缀树的题目,想不出来,就顺着学习下Trie树的数据结构了Trie树又称字典树,前缀树放上一张偷来的前缀树结构图:可以看到,前缀树是一种多叉树结构,上面这张图表示了关键字集合{"and","as","at","cn","com" },那么前缀树的前缀体现在哪里?可以看出,前缀树的关键字一般是字符串,而每一个节点则是一个字符,从根节点root到叶子节点的一条路径上所经过的节点则组成一个关键字,而当两个存在前缀字符的字符串,所走的路径是部分相同的,所以叫前缀树.
2020-07-14 00:13:53
146
原创 问题解决:Invalid bound statement (not found): com.yoe.mapper.UserMapper
在用Maven整合SSM项目的时候测试Demo发现报了这么一个错误:Invalid bound statement (not found): com.jxgm.csz.mapper.UserMapper.add因为自己用的是Mybatis的逆向工程生成的Mapper接口和Mapper.xml,所以不存在Mapper接口和Mapper.xml名字不一致的问题,于是就上网搜解决方案,原来是Maven的问题。Maven默认只识别src-main-resources下的资源文件,如果在maven工.
2020-07-12 21:52:08
17382
1
原创 关于问题“TCP为什么要三次握手,而不是两次”的个人见解
最近在看面经,看到有一个问题是“TCP为什么要有第三次握手?”,网上有一部分关于这个问题的答案是谢希仁写的《计算机网络》里面说的那样:主要是为了防止已经失效的连接请求报文段突然又传送到了B而产生的错误,假设客户端A第一个连接请求报文段没有丢失,但是在网络中滞留了,以致延误到连接释放后的某个时间才到达服务端B,本来是一个早就失效的报文段,服务端B收到后以为客户端A又发出一次新的连接。于是向A发...
2020-04-12 15:36:01
278
原创 windows下使用laravel5.1+redis+socket.io实现事件广播
因为要重构一个studio的招新系统,碰到的问题就是面试官点击下一个面试者之后,需要把消息传达给等候室,本来考虑到直接搭个多人聊天就完事了,通知的消息由面试官自己发送到前台,但是看到之前师兄写的代码,用到了laravel的事件,就想着为何不直接广播一条通知消息给前台呢?效率肯定比面试官手动发送要快,而且发送的数据是直接从数据库拿到的,不易出错。于是就查阅了一下laravel的官方文档跟网上的...
2019-05-01 12:03:22
498
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人