- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 Excel批量生成sql语句函数
="UPDATE i_healthcard_master SET patient_id = '"&A1&"' WHERE ID = '"&B1&"';"="INSERT INTO mem_patient (ID, C_CREATE_DATE, C_DELETE_FLAG, C_NAME,C_MOBILE, C_MEMBER_ID, customer_id) VALUES('"&A2&"', NOW(), 0, '"&B1&"', '"&..
2021-01-12 11:10:41 332
原创 Cannot parse date “2020-08-31 00:00:00“: while it seems to fit format ‘yyyy-MM-dd‘T‘HH:mm:ss.SSS
报错内容Cannot parse date "2020-08-31 00:00:00": while it seems to fit format 'yyyy-MM-dd'T'HH:mm:ss.SSS报错原因这种格式springboot中不能识别并转化。它会抛出异常信息,提示转换失败解决方法 @JsonFormat(shape= JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") @ApiParam(va
2020-12-29 18:47:10 4270
原创 jvm简述
一次编译到处运行是如何实现的Java程序从编写到运行需要:首先编写Java源代码,然后通过Javac编译器将Java源代码编译成.class字节码文件,然后把字节码文件交由jvm虚拟机,虚拟机会在执行Java程序的时候把字节码转换为二进制的机器码执行。字节码文件是平台无关性的重要一环,Java能在不同平台上运行,是依托了不同平台上不同的Java虚拟机。不同的虚拟机会根据同一份字节码文件转换...
2019-10-10 15:35:44 429
原创 Mysql 大表在线DDL添加表字段/修改表全文索引解决方式
添加字段ALTER TABLE `rmb_order_item` ADD COLUMN `asset_snapshot` varchar(5000) NOT NULL DEFAULT '' COMMENT '设备快照' AFTER `item_snapshot`,ALGORITHM=INPLACE, LOCK=NONE;添加主键索引 ALTER TABLE `table_name...
2019-09-20 11:30:52 1392
原创 使用redis实现分布式锁
SET操作会覆盖原有值,SETEX虽然可设置key过期时间,但也会覆盖原有值,所以考虑可以使用SETNX使用redis的setnx「SET if Not eXists」实现。只在key不存在的情况下,将key值设为valuekey存在,不做任何操作redis> EXISTS job # job 不存在(integer) 0redis>...
2019-08-28 14:23:25 238
原创 Redis之JedisCommand接口说明
import java.util.List;import java.util.Map;import java.util.Set;/*** Common interface for sharded and non-sharded Jedis */public interface JedisCommands { /** * 存储数据到缓存中,若key已存在则覆盖 v...
2019-08-28 10:55:10 531
原创 微信代公众号授权登录踩过的坑
代公众号发起网页授权在公众号授权托管给第三方平台后,第三方平台可以根据官方文档相关说明,代替授权公众号发起网页授权。官方文档GitHub下图是我开发测试截图,比邻用户中心是第三方公众号,此时已授权托管给我们自己的微信公众平台,此时发起网页授权,用户同意后即可获取用户相关信息。授权流程:1、根据appid获取预授权码code2、根据code获取accessToken...
2019-05-22 17:37:39 4259
原创 mysql清除表重复数据
表信息CREATE TABLE `rmb_item_material` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `store_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '商店id', `item_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '商品...
2019-04-23 14:37:37 585
原创 HashMap 扩容resize方法以及哈希碰撞
final Node<K,V>[] resize() { Node<K,V>[] oldTab = table; //原始table容量 int oldCap = (oldTab == null) ? 0 : oldTab.length; //原始table阈值 int oldThr = th...
2019-04-12 15:46:45 587
原创 针对Java8的HashMap get与put方法分析
和JDK1.6的HashMap结构不同的是,JDK1.6中HashMap采用的是位桶+链表的方式,即我们常说的散列链表的方式,而JDK1.8中采用的是位桶+链表/红黑树的方式,也是非线程安全的。当某个位桶的链表的长度达到某个阀值的时候,这个链表就将转换成红黑树。public class HashMap<K,V> extends AbstractMap<K,V> ...
2019-04-12 14:21:02 240
原创 关于日常开发Java8流处理max()随笔
Stream字节流接口max方法,需要传入一个Comparator比较器,可看到若没有最大的元素会返回null/** * Returns the maximum element of this stream according to the provided * {@code Comparator}. This is a special case of a *...
2019-03-27 10:52:25 4784
原创 由数组、链表、双链表引发的ArrayList、LinkedList源码分析
最近看了数据结构与算法分析(Java语言描述)书中表一章节,总结下。List继承了Collection接口,因此包含Collection接口所有方法先看ArrayList的add()方法/** * Appends the specified element to the end of this list. * * @param e element ...
2019-03-26 10:57:04 195
原创 Collectors.toMap出现NPE空指针的解决办法
一次在使用Collectors.toMap()方法遇到一个问题出现了NPE异常debug定位到userResponses中有的name值为null,导致转map的时候value值为空,抛出NPE异常Collectors.toMap底层是基于Map.merge方法来实现的,而merge中value是不能为null的,如果为null,就会抛出空指针异常在openJDK的bu...
2019-02-12 11:24:30 7407 2
原创 JDK动态代理
JDK动态代理主要是实现InvocationHandler接口,在invoke方法中实现代理逻辑业务接口package AOP.jdk;public interface userDao { public void addUser();}实现类package AOP.jdk;public class userDaoImpl implements userDao{...
2018-09-26 16:51:14 156
原创 sql调优之添加索引
当数据库单表数据量非常大的时候,使用普通查询耗时非常多,默认会根据搜索条件全表扫描;添加索引后,查询时就会先去索引列表中一次定位到特定值的行数,大大减少遍历匹配的行数,所以能明显增加查询的速度。添加索引的话,首先去索引列表中查询,而我们的索引列表是B类树的数据结构,查询的时间复杂度为O(log2N),定位到特定值得行就会非常快,所以其查询速度就会非常快。我们这里有一张表,有67万条数据...
2018-08-29 14:45:44 24979
原创 win7安装activemq启动报错
启动/bin/win64目录下activemq.bat时报错,出现BeanFactory not initialized or already closed - call 'refresh' before accessing beans修改/conf/activemq.xml<transportConnectors> <!-- DOS pro...
2018-07-31 14:34:44 646
原创 java解析http+json数据包
/** * 回调函数 * * @param request * @param response */ @RequestMapping(value = "/call", method = RequestMethod.POST) public void callback(HttpServletRequest request, HttpServletResponse respo...
2018-07-16 16:43:18 1385
原创 重入锁ReentrantLock、死锁和中断响应
import java.util.concurrent.locks.ReentrantLock;public class IntLock implements Runnable{ //重入锁ReentrantLock public static ReentrantLock lock1 = new ReentrantLock(); public static ReentrantLock l...
2018-06-13 10:05:10 3022 1
原创 线程池的实现
使用线程池的好处:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。 提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。某些流程中的一些节点,由于是串联执行的。上一步要等下一步执行完毕;或者提交数据之后要等待后台...
2018-06-06 10:00:57 13436 4
原创 JSP+Servlet+mysql实现原生分页
简单实现了分页、删除、更新操作,原生分页其实很简单,只需要获取当前页数以及每页显示条数,通过后台查出当前页数据存入List集合中,然后request.setAttribute()将结果反馈给jsp整个工程输入localhost:8080/Page/PageServlet即可访问数据库cby localhost:3306user user_id username数据库连接pa...
2018-06-01 12:26:18 4755 2
简单学生信息管理系统(Swing版)
2015-07-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人