摘要:
起因是小红书爬虫抓取下来的笔记发布日期通过java format转换失败,但是在时间戳转换工具网上又能转成功 仔细看了后发现爬下来的时间戳和java语言本身生成的位数有不同 Unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。 但是Jav获取时间戳的API并不是 阅读全文
摘要:
出现该问题的原因是ide配置的jdk不统一,在装机时为了方便直接通过IDEA安装了jdk8,后续debug时出现该问题 解决方法: Run->Edit Configuration 我是通过idea安装的jdk,因此全部统一为Bundled内置jdk 跑单元测试时候可能会遇到相同报错,再设置一次即可 阅读全文
摘要:
场景是同样一个字段分别给前端和后端rpc调用各提供了一个接口,都需要做校验,校验逻辑相同 该字段为非必填,如果 非空则长度要求6-28位 为了省事直接把校验代码从给后端的接口复制了一次用于给前端的接口,发现传空也做了校验 直接页面F12查看发现原因很简单,因为前端的空字符串传的是""而不是null 阅读全文
摘要:
之前做的excel文件导出都相对简单,用的都是公司自己封装的一些poi方法,导出内容都是表头+一行行的数据,但是这次需要导出的excel复杂度高了不少,自己用现有方法做比较麻烦,因此引入了Easypoi 进行实现。 之所以用Easypoi我是看中了它可以直接根据现有模板填充数据实现excel生成,而 阅读全文
摘要:
给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。 k 是一个正整数,它的值小于或等于链表的长度。 如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 示例: 给你这个链表:1->2->3->4->5 当 k = 2 时,应当返回: 2->1->4->3->5 当 k 阅读全文
摘要:
最优解其实jdk中已经有解答,就是LinkedHashMap,但自己在限定时间写的话代码量大很难保证不出错,因此本例直接使用jdk中的HashMap+LinkedList实现。 由于实际使用的是LinkedList保存最近使用的key,遍历复杂度为O(n),因此速度并不快,只是更适合面试场合写 其中 阅读全文
摘要:
节点连通问题一般来说有两个思路: 1、化作图论问题,是否连通变为深度/广度优先搜索,连通个数为连通分量 2、构造并查集解决 两者代码复杂度差不多但并查集时间复杂度更低 注意:只适用于无向图的情况 class UnionFind { private int[] id; public UnionFind 阅读全文
摘要:
//创建sqlsession以后获取mapper调用方法执行sql EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class); List<Employee> all = employeeMapper.getA 阅读全文
摘要:
class Trie { //是否是结尾节点 boolean isEnd = false; //a-z的实现,如果是汉字需要用HashMap保存 Trie[] children = new Trie[26]; /** * 插入 */ public void insert(String word) { 阅读全文
摘要:
BlockingQueue之所以叫阻塞队列这个名字,主要就是以下两个特点 当队列元素满时,添加元素的操作(put())会阻塞直到队列有空位 当队列为空时,获取元素的操作(poll())会阻塞直到队列不为空(可以设置获取超时时间,超时返回null) 实现以上特性主要是使用了ReentrantLock+ 阅读全文