- 博客(56)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 图数据库Neo4j集成springboot及导入数据踩坑问题
使用load csv导入数据,对数量有要求,大概超过2w行的,会报内存不足,这时候需要改用其他方式了,官网说可以使用批量提交,但是试了下,发现会报隐式事务问题,4.4版本需要安装apoc才行。需要注意上面引生的问题,如果使用了xxljob之类的定时任务中间件,如果出现neo4j并发问题、死锁之类的,会直接阻塞住,导致任务一直卡住,所以任务中一定要防止并发问题。如果使用java里面的api导入数据,save和saveAll效率都会比较慢,但是也不能直接使用多线程、并发,会报死锁之类的报错。
2024-02-01 15:52:20
1175
1
原创 mybatis set遇到坑: BuilderException: Error evaluating expression ‘shr ! = ‘‘ ,shr是关键字!
。。。
2022-09-30 15:37:33
1135
原创 html - 页面内的某个区域(div)进行截图
前置条件: html2canvas.min.js html2canvas(document.getElementById('要截图区域的divId'),{ backgroupColor: "transparent", allowTaint: true }).then((canvas)=>{ var a = document.createElement("a"); a.href = canvas.toDataUrl("image/jpg"); a.download = "生成的图片名称";
2022-05-06 14:33:58
2024
1
原创 Mybatis/Oracle 分页查询实现(自定义行号)、后端-数据库的日期时间格式转化)
Mybatis OracleROW_NUMBER() OVER()函数 :增加行号列java中String形式的时间与Oracle数据库中DATE格式的时间之间的转化-获取综合实战:分页功能:使用上面2个功能实现MyBatis的update语句中直接插入当前时间:sysdate ROW_NUMBER() OVER()函数 :增加行号列 语法格式:row_number() over(partition by 分组列 order by 排序列 desc) 例子:分页功能中,用来排序号,行序号作用 row_num
2021-12-17 15:05:59
1606
原创 提问:jedis成功连接使用redis,但过了一段时间后又连接不上了,重启服务器后又可以连上
问题遇到的现象和发生背景 Redis是安装在腾讯云的Linux上的 可以正常连接,但是没有其他修改,一段时间(半个小时到一个小时左右)之后,又连接不上了,使用 firewall-cmd --reload重启一下防火墙后又能连接上了,求大佬们分析一下 问题相关代码,请勿粘贴截图 示例:使用jedis @Test void testRedis() { redisUtils.set("hho","hihi"); System.out.println(redisUtils.g
2021-12-06 22:32:41
2585
2
转载 RedisTemplate事务报错 ERR EXEC without MULTI
关于RedisTemplate的ERR EXEC without MULTI错误 用SessionCallback可以 但是如果中途触发了discard()回滚,依然会报这个错,但是不影响业务回滚,所以可以忽略掉它
2021-12-04 22:36:05
1020
原创 Spring拦截器和过滤器使用
过滤器Filter 实现Filter接口,重写方法 web.xml <!-- 使用springSecurity过滤器 --> <filter> <filter-name>springSecurityFilterChain</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-cl
2021-12-01 20:44:13
244
原创 Nginx
文件路径 cd /usr/local/nginx/sbin/ 基本命令 ./nginx 启动 ./nginx -s stop 停止 ./nginx -s quit 安全退出 ./nginx -s reload 重新加载配置文件 ps aux|grep nginx 查看nginx进程 配置文件详解 分为三大部分 1. 全局块 worker_processes 1; :并发处理服务的关键配置 值越大,可以支持的并发处理量也越大,受硬件软件等设备的制约 2. events快 events {
2021-11-30 13:51:21
338
原创 SpringSecurity使用指南
SpringSecurity1、导入依赖2、自定义MyUserDetailService3、SecurityConfig(重点)如何获取登录用户自定义User 1、导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
2021-11-22 19:24:00
488
原创 封装类RedisUtils与自定义RedisTemplate
自定义redisUtils封装类 //package com.example.demo.util; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import org.springframework.util.Col
2021-11-14 00:15:34
208
原创 redis
RedisNoSQL特点四大分类Redis入门认识安装基础知识五大基本数据类型关于Redis-KeyStringListSetHashZset三种特殊数据类型geospatial(地理位置)geoadd 添加geopos 获取geodist 距离georadius 坐标查找georadiusbymember 元素查找geohash 返回元素hashzset 查看与移除hyperloglog(基数统计)bitmap(位图)事务操作事务锁JedisSpringBoot集成Redis自定义RedisTemplat
2021-11-14 00:14:56
229
原创 linux命令
Linux常用命令其他开机关机目录结构目录命令常用基本命令文件属性查看文件内容文件操作vim编辑器防火墙软件安装rpm安装tar压缩解压yum联网安装 其他 ifconfig:查看网络配置 ip addr:同上 man [命令] :查看命令详解 如:man cp q:退出 wq:保存 退出 开机关机 sync:将数据由内存同步到硬盘中(关机前先同步下数据) shutdowm:关机 shutdowm -h [10 | now | 20:25 ] :10分钟后关机,立马关机,哪个时刻关机 shutdowm -r
2021-11-01 19:50:11
155
原创 Mybatis工作原理和流程
加载mybatis全局配置文件(数据源、mapper映射文件等),解析配置文件。 Mybatis基于XML配置文件生成Configuration和一个个MapperStatement(包含参数映射配置、动态sql语句、结果映射配置),其对应着select、update、delete、insert标签项。 SqlSessionFactoryBuilder通过Configuration对象生成SqlSessionFactory,用来开启SqlSession。 SqlSession对象完成与数据库的交互: 用.
2021-10-27 16:29:11
287
原创 SpringMVC工作原理
SpringMVC工作原理 客户端发送来请求交给前端控制器DispatcherServlet处理 DispatcherServlet根据请求的信息和HandlerMapping的配置,解析找到处理该请求的Handler 在这里Spring会通过HandlerAdapter对该处理器进行封装,调用真正的处理器处理请求,并处理相关业务逻辑 处理器处理完业务后,会返回一个ModelAndView对象给DispatcherServlet DispatcherServlet会借助ViewResolver根据逻辑视图
2021-09-28 23:34:53
119
原创 Spring中Bean生命周期与Spring的执行流程
Spring中Bean的生命周期 实例化bean对象,并设置属性 检查Aware接口,并设置依赖 调用 BeanPostProcess的前置初始化方法postProcessBeforeInitialization() 调用InitializingBean的afterPropertiesSet()方法 调用自身init-method方法 调用 BeanPostProcess的后置初始化方法postProcessAfterInitialization() 完成创建- 使用 销毁 检查DisposableBe
2021-09-28 23:14:32
225
原创 把一个用符号隔开的字符串分割成几部分,与替换
分割 比如 String s = “2,654,24,6554,3234,3544,666,354,5435,11”; 逗号分割成十个数字 用StringTokenizer(s,",") StringTokenizer stringTokenizer = new StringTokenizer(s,","); int num = stringTokenizer.countTokens(); //10 for (int i=0;i<num;i++) {
2021-09-27 15:05:44
355
原创 RestTemplate: HTTP请求工具
RestTemplate是由 Spring 提供的一个 HTTP 请求工具,我们通过它来请求获取一个接口中的数据 https://c.m.163.com/ug/api/wuhan/app/data/list-total 这个是网易给的新冠疫情实时数据 我们用RestTemplate来获取数据,并进行后续的处理,封装到每一个pojo对象 1. 先导包 <dependency> <groupId>org.apache.httpcomponents</groupId>
2021-09-26 15:12:59
430
原创 Spring-AOP(demo)
@Aspect //声明这个类是一个切面类 :包含 切入点pointcut 和 通知advice @Component //声明组件 进入工厂 public class MyAspect { //切入点:*返回值 这个类下的*方法(.无论参数.) @Pointcut("execution(* com.zzt.service.UserServiceImpl.*(..))") public void pc(){} @Before("pc()"
2021-09-22 15:41:25
110
原创 springboot自动配置原理
一、扫描 启动类注解@SpringBootApplication 点进去 @EnableAutoConfiguration 再进去 @AutoConfigurationPackage 自动配置包 Registrar 返回主配置类在包中的位置 在 Registrar 类中的 registerBeanDefinitions 方法上打上断点,可以看到返回了一个包名,该包名其实就是主配置类所在的包。 总结:@AutoConfigurationPackage 注解就是将主配置类(@SpringBootCon
2021-09-17 20:32:41
125
原创 一些面试问题
OOM原因: 一个启动类大量加载了第三方jar包 Tomcat部署了太多应用 大量动态生成反射类,不断被加载,直到内存溢出 OOM解决办法: 尝试扩大内存: -Xmx:1024m -Xms:1024m -XX:+PrintGCDetails看看是不是堆内存不足 分析打印信息 内存快照工具 JProfiles Idea在VM Option中设置:-Xmx:8m -Xms:1m -XX:+DeapDumpOnOutOfMemoryError 分析 字符串常量池、静态变量都在堆中 运行..
2021-09-16 19:01:42
115
原创 4. 计算机网络
@TOC 1. OSI七层体系结构 应用层: 为应用程序提供交互服务,如HTTP、SMTP协议等 表示层: 负责数据格式的转化,如加密解密、压缩解压、转换翻译等 会话等: 负责网络中的两个节点之间建立、维持和终止通信 传输层: 向主机进程提供通用的数据传输服务 TCP: 面向连接、可靠的数据传输服务 UDP: 无连接、尽最大努力的数据传输服务,不可靠 网络层: 选择合适的路由和结点,确保数据及时传送,主要包括IP协议 数据链路层: 将网络层传输下来的IP数据包组装成帧,传送帧 物理层: 实现相邻结
2021-09-15 21:08:59
191
原创 3. JVM、并发
JVM+并发JVM1. 运行时常量池在堆中2. 静态变量不入栈3. 什么是JVM内存模型?4. 栈和栈帧5. JVM 中的常量池6. 如何判断一个对象是否存活?7. 强引用、软引用、弱引用、虚引用是什么,有什么区别?8. 堆内存划分并发1. 线程和进程2. Runnable和Callable3. 线程状态4. 死锁的4个条件5. 避免线程死锁6. shutdown() VS shutdownNow()7. start() 和 run()8. Thread类中的yield方法9. ReentrantLoc
2021-09-13 19:10:24
493
原创 2. 集合
集合1. Arraylist与 LinkedList2. Array 和 ArrayList 有什么区别3. hash冲突4. 解决hash冲突的办法有哪些?HashMap用的哪种?5. 为什么在解决 hash 冲突的时候,不直接用红黑树?而 选择先用链表,再转红黑树?6. ConcurrentHashMap 的实现原理是什么?7. ConcurrentHashMap 的 put 方法执行逻辑是什么?8. ConcurrentHashMap 的 get 方法是否要加锁,为什么?9. get方法不需要加锁
2021-09-11 23:08:22
178
原创 1. 基础
基础1. 重写2. 重载3. java静态变量、代码块、和静态方法的执行顺序4. 面向对象特点5. 抽象类和接口的区别6. 关于父类和子类的静态方法的继承或重写问题7. 反射反射的三种获取方法反射获取对象8. 虚拟机三个步骤9. 序列化实现问题:10. Error 和 Exception 区别11. throw 和 throws 的区别12. try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?变量怎么确定?13. BIO、NIO、AIO的区别1
2021-09-11 21:30:33
162
原创 MySQL
MySQL一、 索引1. 为什么要使用索引2. 索引是什么3. 索引存放位置4. 索引分类和创建二、 索引数据结构B树:B+树:索引常见面试题1. 什么非主键索引的叶子结点存放的数据是主键值2. 为什么InnoDB表必须创建主键3. 为什么使用主键时推荐使用整数类型自增主键三、InnoDB和MyISAM区别四、 联合索引和最左前缀法则1. 联合索引特点2. 联合索引是如何存储的3. 最左前缀法则五、 SQL优化1. 工程优化2. Explain执行计划——sql优化神器1. select_type2.
2021-09-08 20:57:14
1019
原创 SSM 前台AJax传递参数和controller后台接收的方法
前台传,后台接收1. 前台用data传递多个参数,后台用@RequestParam(value = "xx")接收有坑: 前台data传递参数的时候不需要加 "XX="2. 直接在url后 +XX,后台用@PathVariable("XX")接收3. 表单点击事件:前台用data:序列化表格,后台用n个RequestParam("XX"),给每一个input接收4. 前台页面A带参数跳转页面B,页面B根据hash获取 1. 前台用data传递多个参数,后台用@RequestParam(value = “xx
2021-09-06 00:16:00
2838
1
原创 Mybatis逆向工程模糊查询
criteria.andGnameLike("%"+gname+"%"); andXXXLike("%"+name+"%")
2021-09-04 17:13:55
530
原创 js中将从ajax获得的时间戳数字串转换成理解的时间格式
1. 前台获得的时间戳 2. js转换 //获得的时间戳数字串 var date = data[i].date; /*转化时间*/ var date1 = new Date(date); var date2=(date1.toLocaleDateString().replace(/\//g, "-") + " " + date1.toTimeString().substr(0, 8)); 3. 转化后 ...
2021-09-04 14:39:31
484
原创 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingExce
MyBatis逆向工程后,自己创建多个使用2个其他参数的查询 测试语句 但是却报错了 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'mno' not found. Available parameters are [arg1, arg0, param1, param2] dao原本是这样写的 后来上网找了下 可
2021-09-02 17:25:45
358
原创 设计模式2(原型、外观、装饰、代理、模板、责任链
设计模式四、原型模式浅拷贝深拷贝五、外观模式六、装饰模式七、代理模式静态代理JDK动态代理CGLIB动态代理八、模板模式九、责任链模式 四、原型模式 优点: 底层直接复制,不通过构造方法,也不受权限修饰符影响 因为调用的是本地native方法,性能好 具体: 类实现Cloneable接口 重写clone()方法 (ps: 底层native的) @Override protected Object clone() throws CloneNotSupportedException {
2021-08-29 16:27:07
136
原创 设计模式1(简单工厂、工厂、单例模式
一、简单工厂 /** * 简单工厂中,所有产品必须拥有相同接口或父类,属于同一产品系列的 * 1. 定义商品接口 * 2. 具体商品继承商品接口,实现接口定义的方法 * 3. 定义工厂,有个静态static的获取实例的方法getProduct(String p) * 直接通过工厂名.getProduct("p")来获取具体对象 * * 缺点: 不符合开闭原则 * getProduct()方法中需要定义每个商品,增加商品的话这里需要自己手动添加if(){} * 商品子类过多会太庞大,不适于
2021-08-25 21:54:58
135
原创 常见集合: ArrayList、Vector、LinkList、HashMap
集合一、ArrayList二、Vector三、LinkList四、Connection接口五、List接口六、HashMap 一、ArrayList 动态扩充数组 实现原理:采用动态对象数组,默认构造数组创建了一个空数组(默认大小为0) 第一次添加元素,扩容为10,之后的扩充算法:新容量 = 老容量 + 老容量的一半 (1.5倍老容量) 动态数组不适合删除、插入(移位) 最好存储相同类型的元素,以免类型转换麻烦 动态扩充次数过多或影响性能,所以建议在创建ArrayList时给定初始容量 线程不安全,适合单
2021-08-24 23:12:48
371
jedis成功连接使用redis,但过了一段时间后又连接不上了,重启服务器后又可以连上
2021-12-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅