- 博客(87)
- 资源 (1)
- 问答 (3)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 mysql mybatis分页查询 大数据量 非常慢
然后自定义一个查询count的方法,在接口上面添加上@cacheable注解(具体实现自行百度),如果下一次查询的条件和上次的条件一致,则直接返回结果,就不需要跟数据库进行交互。为什么说这个方法对于连表查询有用呢,是因为连表查询,sql比较复杂,通过自带的count肯定查询条件一致,但是自定义的话就只查询主表数量就足够了,不需要连表进行count。看了很多帖子,要么就是数据库记录数据、或者来一条数据更新一下总数、或者多线程一个查询列表一个程序总数等等,这些方法都不适用于正常的待条件分页查询,可以忽略。
2023-11-30 17:19:43
3583
3
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 linux安装elasticsearch-head (es可视化界面)
linux安装elasticsearch-head (es可视化界面) ,集群健康值 未连接 等问题修改
2022-11-30 16:18:19
3447
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Linux centos7.6 安装elasticsearch8.x (es8) 教程
linux centos7.6 安装elasticsearch8.4.3 实测可行
2022-11-30 11:35:42
3787
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 windows10安装RabbitMq教程
一、下载并安装erlang原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang。 下载地址:http://www.erlang.org/downloads 我的电脑是64位的,各位根据自己的电脑配置选择相应的,速度较慢,可以去下面的地址下载,需要积分,可以直接使用。 csdn erlang22.2下载地址:https://do...
2020-02-03 18:12:30
463
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 idea+docker+springcloud+Dockerfile自动部署项目
研究了一上午中午部署成功了。这条帖子理解不全面,会留有很多疑问,知道的小伙伴可以帮忙回答,我也会持续更新补充的。环境:腾讯云的centos7 本地项目:springcloud项目(3个),今天就拿注册中心来做展示。一、项目结构二、centos上面安装docker首先现在idea中讲docker的插件安装好,顺便重启一下idea接着配置docker连接服务器进行测试...
2019-11-19 10:37:54
1645
原创 docker干货分享-安装redis-只需四个命令即可
通过docker images命令可以看到已经下载了redis的镜像,同时版本号是latest最新版。启动/重启/停止容器:docker start/restart/stop redis。进入容器内部命令:docker exec -it redis redis-cli。第三步:设置自动启动,docker如果重启的话 自动启动redis。我的是放在了/usr/local/docker_data/redis。在/usr/local/docker_data/redis目录下。第三步:启动docker容器。
2024-01-18 12:02:45
470
原创 docker干货分享-安装mysql-只需三个命令即可
通过docker images命令可以看到已经下载了mysql的镜像,同时版本号是5.7版本。-e MYSQL_ROOT_PASSWORD=root 指定root用户密码:root。启动/重启/停止容器:docker start/restart/stop mysql。进入容器内部命令:docker exec -it mysql /bin/bash。第三步:设置自动启动,docker如果重启的话 自动启动mysql。注意:如果不是root账户登录的服务器,每个命令前面都需要加上。
2024-01-18 11:50:11
534
原创 java面试题-Spring常见的异常类有哪些?
看完后试着用自己的话复述出来。有问题请指出,有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来,大家一起解决。
2024-01-05 13:42:58
634
原创 java面试题-mysql中的 锁 你知道多少?
但是既然是锁,就会导致效率低下,所以共享锁的实现就是事务A读取order表的时候,把order表进行锁表,这时候别人都无法修改表中的任何数据。当然这些是平时项目中最常遇到的锁,还有一些比如:页级锁、间隙锁、自旋锁等等,不怎么常见,甚至不能显式的用SQL表达,后面会单独开篇文章记录其他几种锁,平时的面试如果能回答上来上述的也基本可以了。乐观锁的上面也说了他只是一种思想,msyql中的锁实现都是悲观锁。悲观锁也是一种思想,与乐观锁不同的是他的事务一开始就会加了锁,而乐观锁实际上是没有锁的概念,只有版本号。
2024-01-05 12:00:26
1179
原创 java面试题-mysql关键字select、from、where等执行的顺序
面试官:你知道mysql中关键字的执行顺序吗,select、from、where、having、group by、order by、limit等常用的关键字,在整个执行过程中,发生作用的先后顺序是什么?
2024-01-05 09:32:38
586
原创 java面试题-ArrayList的自动扩容过程
如果够,则直接进行添加,如果不够,容量就会变成(list1.size()+list2.size()+1)。回归到上面就是如果list1里面有一个数据,list2里面有15个数据。比如:list1.size()=1且容量=10,list2.size()=15 操作:list1.addAll(list2)有问题请指出,有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来,大家一起解决。3、这是属于一般的list.add()方法的扩容,但是还存在一种批量添加list.addAll()。
2024-01-04 17:18:32
645
原创 java面试题-解决高并发的思路?
高并发是指同一时间段内,大量的请求同时到达的情况。既然谈到解决思路,那一般就是项目出现了问题或者瓶颈,比如系统反应慢、接口卡死、甚至项目停止运行等情况。看完后试着用自己的话复述出来。有问题请指出,有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来,大家一起解决。我做的项目说实话算不上高并发,高峰期的时候基本上也就1500/s。面试官:你对高并发项目有什么解决的思路或者方法?
2023-12-21 14:08:36
455
原创 java生产环境问题-mysql写存储过程定时删除大数据量表
注意:生产环境之前的配置不算高,所以执行的时候会出现cup飙升的情况。执行的时候需要实时观察mysql所在服务器的cpu情况,如果持续飙升到100以上,就立马停止掉。首先判断表中的数据是0还是1,如果是0继续执行循环。然后开始删除数据,接着休眠30s,最后再查询一遍开关表中的数据是0还是1,直到为1就结束循环。逻辑就是:根据表中的时间字段in_time排序,每隔30s删除最早的1000条数据,同时,最近三个月的数据不做删除。这个看自己需求,可以直接更改表中的值,就不用这个存储过程了。
2023-12-20 10:58:02
575
原创 flowable-startEvent[开始事件]相关配置[表单、执行监听器]
flowable各个事件、网关、任务的使用详解既然网上没有合适的教程,那就力求达到先会用,再理解。当然各个事件有一些功能是重复的,比如事件和任务都有执行监听器,这个等说到任务的时候就会提一下,然后带过。
2023-12-19 15:59:03
2187
7
原创 Flowable解读-序
通过这两张图,你就会发现,为什么不同的节点右边的菜单不一样,如果不了解基础,那么你可能觉得这就是若依的作者自己设计的。提示:这个专栏是关于flowable的,但不是按照顺序来的(不会是怎么运行、怎么引入依赖等等),因为我也在技术预研中,目前没有找到很完善的教程,只能按照自己的理解开始一点一点的接触。所以,目前还是处于预研的阶段。从码云、github上等看了很多开源项目、同时也在其他视频网站找视频教程,目前没有发现很完善的教程,甚至flowable的教程都没有,可能会找到部分activit的教程。
2023-12-18 17:08:02
466
1
原创 java面试题-Redis缓存穿透、雪崩、击穿
(但是这个要考虑一下清理操作,因为你存了空值,如果哪天业务里面真有了这个key,那么此时返回null就不合适了:两种方案:1是定时清理为空的key,2是创建数据的时候同时更新缓存)但是此时有人恶意攻击,查询的全都是缓存里面不存在的,甚至数据库也不存在。那么每次就都会查询数据。具体就是:在项目的过滤器中,获取用户的请求ip,如果相同ip在知道时间段内请求次数大于我设定的次数,比如10秒 20次。就是数据库中很多缓存都是设置了两小时失效,结果在俩小时突然到的时候,缓存都失效了,然后大量的请求直接去请求数据库。
2023-12-14 14:54:22
592
原创 java面试题-Spring事务以及@Transactional注解详解
1、@Transactional(propagation = Propagation.REQUIRED)-默认如果当前没有事务,就新建一个事务;如果已经存在一个事务中,加入这个事务。如果加入,那么不管两个事务逻辑哪个出错,全都回滚每次都新建一个事务,挂起当前事务。也就是对当前事务不受影响。新事务失败当前事务不回滚。
2023-12-14 08:00:00
1248
原创 java面试题-“==“和“equals“有什么区别?
引用类型----引用传递:如果我们定义了一个User类 User user = new User("张三","10","男");其实传递的是user在内存中的地址。有问题请指出,有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来,大家一起解决。基本类型数据:(byte、short、int、long、char、boolean、float、double)引用类型数据: 其实就是java类,需要注意的是String也是引用类型。1、==是运算符、equals是Object类中得一个方法。
2023-12-13 17:41:13
433
原创 java面试题-SpringMVC工作原理
有问题请指出,有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来,大家一起解决。3、核心控制器会根据HandlerMapping寻找并分发请求到具体的Handler(controller)4、controller接收到请求,会进行逻辑处理、数据访问(数据库)2、请求都会汇总到核心控制器(dispatcherServlet)面试官: SpringMVC的工作原理或者流程你了解吗?1、客户端可以是页面也可以是postman等工具发起请求。5、最后返回ModelAndView给到前端。
2023-12-12 18:16:43
555
原创 java面试题-线程、线程池的了解及工作原理、拒绝策略
首先用户提交任务,先判断核心线程数是否已满,如果未满则创建新线程来执行任务。如果核心线程数已满,则判断是否达到最大线程数,如果已达到最大线程数,则通过拒绝策略处理,如果未达到最大线程数,则将任务放入工作队列等待调用。空闲的线程如果没有新的任务可以执行,等待时间到达后就会被回收掉。
2023-12-12 15:00:35
1077
原创 java面试题-mysql索引相关问题
首先,从navicat创建索引的界面中 可以看到,索引的组成就是索引名称、对应的字段、索引类型、索引方法、注释众所周知,索引会使得查询速度变快,所以引出第一个问题。
2023-12-12 11:58:11
965
原创 java面试题-描述下Object中常用的方法
wait方法就是使当前线程等待该对象的锁,当前线程必须是该对象的拥有者,也就是具有该对象的锁。保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。该方法用于哈希查找,重写了equals方法一般都要重写hashCode方法。该方法是非常重要的一个方法。该方法用于释放资源。(2)其他线程调用了该对象的notifyAll方法。(1)其他线程调用了该对象的notify方法。该方法唤醒在该对象上等待的某个线程。
2023-12-11 17:11:24
474
原创 java面试题-String、StringBuffer、StringBuilder区别
操作字符串的类有:String、StringBuffer、StringBuilder。String 和 StringBuffer、StringBuilder 的区别在于 String 声明的是不可变的对象,每次操作都会生成新的 String 对象,然后将指针指向新的 String 对象,而 StringBuffer、StringBuilder 可以在原有对象的基础上进行操作,所以在经常改变字符串内容的情况下最好不要使用 String。
2023-12-11 17:06:15
559
原创 java面试题-Dubbo和openFeign怎么选择,优劣
这是今年遇到的一个真实的面试题,而且两家公司都遇到了,因为我们项目主要用zk+dubbo的搭配多一些,但是springcloud项目中大多使用openfeign,所以后来整理了一下。2.openfeign是基于HTTP进行数据传输,属于应用层,相对来讲数据传输受网络等其他因素影响较大一些。它还是一个相对独立的RPC框架,提供完整的服务治理解决方案,适用于大型的分布式项目中。看完后试着用自己的话复述出来。有问题请指出,有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来,大家一起解决。
2023-12-06 15:05:16
1790
原创 java面试题汇总(真实面试总结)-目录
坚持记录和总结一些面试过程中遇到的面试题,以及总结出自己的回答技巧。不用死记硬背也能完整的回答出来。会持续更新,欢迎提出问题和疑问,大家一起总结经验。
2023-12-06 14:11:10
810
原创 java面试题-ArrayList 和 LinkedList 的区别是什么
因为双向链表除了存储数据外,还需要存储两个引用,一个指向前一个元素一个指向后一个元素。ArrayList 与 LinkedList 都是 List 接口的实现类,因此都实现了 List 的所有未实现的方法,只是实现的方式有所不同。LinkedList基于双向链表,每一个元素都是依靠地址和指针连接在一起,这时候查找某个元素的时间复杂度是O(n)LinkedList则直接通过指针重新指向进行新增和删除数据。1.ArrayList的实现是基于数组,LinkedList的实现是基于双向链表。
2023-12-06 11:48:50
784
原创 java面试题-谈谈sql优化-mysql
看完后试着用自己的话复述出来。有问题请指出,有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来,大家一起解决。这是面试总结出来的几点,每次问道都是这么回答,分层分点。首先搞懂sql优化的目的是什么,然后针对每个目的具体做什么操作。
2023-12-05 15:14:46
744
2
原创 java面试题-Hashmap、Hashtable、ConcurrentHashMap原理
比如:第一个值进来后,根据key返回的索引是1,那么这个值就存储在下标为1的这个bucket中,紧接着又进来一个key,解析后返回的索引还是1,这时候就会判断下标为1的bucket中是否存在当前这个key,如果存在就替换,如果不存在就在链表的最后追加上这个值。但是hashcode返回的索引是有限的,所以,不同的code可能得到的索引是相同的,就代表一个bucket里面可能存了不同的key。更适用于高并发的场景。hashmap内部方法没有加锁,所以是线程不安全的,只适用于单线程的环境,但是性能较快。
2023-12-05 14:37:57
543
1
原创 spark on yarn 运行任务提示java.io.IOException: Cannot run program “python3“: error=2, No such file or dire
spark on yarn 运行任务提示java.io.IOException: Cannot run program “python3“: error=2, No such file or dire
2023-08-18 18:29:11
1796
2
原创 Linux centos7.6 安装docker 简单、高效
如果安装成功,将会输出一些信息,包括 "Hello from Docker!现在您已经成功在 CentOS 7.6 上安装了 Docker。
2023-04-17 11:30:32
479
原创 java设计模式--单例模式(饿汉、懒汉、双重检索)-附代码
单例模式 顾名思义就是任何适合都只能有一个实例。且该类需自行创建这个实例,并对其他的类提供调用这一实例的方法。是java中常用的设计模式。单例在实现方式上主要有:饿汉模式、懒汉模式(线程不安全)、懒汉模式(线程安全)、双重检索模式(推荐使用)以及其他不列举。
2023-03-28 19:44:35
1338
1
原创 java常用设计模式以及场景使用及代码实现-系列(大全)
设计模式(design pattern)是对软件设计中普遍存在的各种问题,所提出的解决方案。设计模式并不是固定的一套代码,而是针对某一特定问题的具体解决思路与方案。可以认为是一种最佳实践,因为他是无数软件开发人员经过长时间的实践总结出来的。
2023-03-15 15:22:02
638
原创 linux-centos7 永久关闭防火墙
直接执行即可1.查看防火墙状态systemctl status firewalld.service2.关闭防火墙systemctl stop firewalld.service3.永久关闭systemctl disable firewalld.service
2021-09-23 15:07:34
137
原创 centos7+nginx 设置开机自启
具体怎么安装就不写了,网上的教程很多地址安装在了/usr/local/nginxnginx 安装成功后并且可以正常启动后,按照下面的命令逐步执行1.创建nginx启动命令脚本vi /etc/init.d/nginx2. 在打开的命令界面输入一下内容,注意path 修改成自己的安装地址#! /bin/bash# chkconfig: - 85 15PATH=/usr/local/nginx #------------------------此处修改成自己的安装地址D..
2021-09-23 15:02:32
301
otp_win64_22.0.rar
2020-02-03
hive如何实现查询n天内销售值是连续增长的
2023-07-25
mysql 根据字符串匹配度来查询数据
2022-11-24
java静态工厂模式和new有什么区别
2022-11-14
java 给出圆心的经纬度以及半径 求并集
2021-03-07
mysql 多表联查 一对多数据量大的情况下效率低下
2021-03-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人