- 博客(38)
- 问答 (1)
- 收藏
- 关注
原创 MySQL中指定字段的某个值排在前面
如果我们想讲表中指定的字段的某一个值排序在最前面应该如何处理?这个可以做指定值排序(按照字段A的值为1,2,3,4依次排序)、使用case when then else end。
2024-11-11 10:39:08 67
原创 Quartz定时任务表达式用法
如:“0/15”在秒域意思是每分钟的0,15,30和45秒。符号“*”在“/”前面(如:*/10)等价于0在“/”前面(如:0/10)。记住一条本质:表达式的每个数值域都是一个有最大值和最小值的集合,如:秒域和分钟域的集合是0-59,日期域是1-31,月份域是1-12。如果是在日期域填写“1W”即使1号是周六,那么任务也只会在下周一,也就是3号触发,“W”字符指定的最近工作日是不能够跨月份的。也就是说这个表达式的值依赖于相关的“日历”的计算结果,如果没有“日历”关联,则等价于所有包含的“日历”。
2024-10-25 14:38:10 603
原创 mysql join索引失效可能的原因
MySQL中的JOIN操作是用来结合两个或多个表的行的。查询的JOIN条件不满足索引的优化条件,例如,使用了CROSS JOIN或者不是等值JOIN。对于多表JOIN,确保使用正确的JOIN类型(INNER JOIN, LEFT JOIN等)。重新评估查询,尝试改变表的顺序,或者优化WHERE子句中的条件。确保JOIN操作使用的列是被索引的,并且是查询中的过滤条件。如果使用了复合索引,确保查询中引用了索引中的第一个列。查询中使用了不支持索引的操作,如函数操作或类型转换。不正确的索引列被使用。
2024-10-23 10:55:00 229
原创 大型网站核心架构要素
主要应用在分布式缓存系统中,在增加或者删除服务器节点时,能够尽可能小地改变已存在的服务请求与处理请求服务器之间的映射关系,也就是系统中的大多数历史缓存的存储服务器节点可以不变,解决了普通hash算法带来的动态伸缩性问题。新增节点E (25000),按照一致性hash算法,只有B ~ E 之间的历史数据会受到影响,(之前是路由到C的,现在路由到 E ),即只有C的一部分数据需要迁移到E。删除节点B,那么 A~ B 之间的历史数据丢失,并且新增数据会被插入到 C,其他的节点都不会受到影响。
2024-09-13 12:57:27 1288 1
原创 JDK命令工具
查看java进程信息1 jps -l:输出主类全名,如果进程是jar,输出jar路径202722 jps -v:输出虚拟机进程启动时的jvm参数。
2024-09-12 09:10:45 831
原创 常见的 JVM 调优方法有哪些?
XX:MaxTenuringThreshold=15:对象每Minor GC在Survivor区存活一次 age++,当到age = 15的时候,直接进入老年代。-XX:NewRatio=4:表示设置 年轻代(包括Eden和两个Survivor区)/老年代 的大小比值为1:4,这意味着年轻代占整个堆的1/5。常用的CMS收集器: 设置回收阈值,需要根据程序的运行过程中的gc log来观察是否会用频繁的full gc 与 CMS gc。-XX:PermSize=64M 指的是JVM初始非堆内存。
2024-09-11 13:42:37 566
原创 Rocket MQ
广播消费模式下,相同消息消费者组(Consumer Group)的每个消费者(Consumer)实例都接收全量的消息。每个 Master 配置一个 Slave,所以有多对 Master-Slave ,消息采用同步双写方式,主备都写成功才返回成功。每个 Master 配置一个 Slave,所以有多对 Master-Slave,消息采用异步复制方式,主备之间有。优点是:数据与服务都没有单点问题,Master 宕机时消息无延迟,服务与数据的可用性非常高。
2024-09-10 10:57:09 815
原创 ZooKeeper相关原理
ZooKeeper是一个开源的,它为分布式系统提供一致性服务。在ZooKeeper中,客户端通过TCP长连接连接到服务集群,这种连接从客户端第一次连接到服务端开始建立,并通过心跳检测机制来保持有效的会话状态。通过这个连接,客户端可以发送请求并接收响应,同时也可以接收到Watch事件的通知。这种连接机制确保了ZooKeeper服务端与客户端之间的紧密联系和高效的通信1。此外,ZooKeeper的服务端与客户端之间的通信还涉及到一些关键概念,如和。
2024-09-06 16:32:20 929
原创 AQS:AbstractQuenedSynchronizer抽象的队列式同步器
AQS的全称为(AbstractQueuedSynchronizer),这个类在java.util.concurrent.locks包实现了AQS的锁有:自旋锁、互斥锁、读锁写锁、条件产量、信号量、栅栏都是AQS的衍生物。AQS维护了一个volatile int state和一个FIFO线程等待队列,多线程争用资源被阻塞的时候就会进入这个队列。
2024-05-08 11:14:29 976 1
原创 Mysql优化(持续更新)
索引优化注意 order by 字段要添加对应的索引,避免Using temporary; Using filesort临时表于文件排序的产生。
2024-01-30 17:31:41 498
原创 Fork-Join线程池原理
SumTask表示⼀个数字累加任务,可以指定begin、end,⽽compute()⽅法就是在执⾏任务,我们可以在compute()⽅法中去做任务拆分的逻辑。个线程负责拆分任务并阻塞等待⼦任务的结果,4个线程负责执⾏最⼩、不⽤拆分的任务。ForkJoinPool和ThreadPoolExecutor的最⼤区别就在于,ForkJoinPool在处理任务时,会触发。去处理,这样就可能充分利⽤ForkJoinPool中的线程,能更快的去执⾏⼀个⼤任务。如上图所示:相当于,任务1的执⾏需要等待任务。
2024-01-26 19:40:57 1902 1
原创 apache poi-检测到Zip Bomb解决方案
id=58499,以获取相关问题和ZIp-bomb异常,同时编写较大格式的Excel(.xlsx),以及如何确定何时出现Zip Bomb错误检索Excel文件样式表是否合法?因此,如果您创建的文件包含异常内容,例如如果许多行/列具有相同的内容,则可以使用这些保护措施并收到上述异常。是一个用于攻击向量的术语,其中一个小的zip文件会扩展为一个非常大的未压缩文件,因此会引起诸如耗尽内存或磁盘空间等问题。由于.xlsx文件实际上是包含XML文件的压缩文件,因此有可能在POI中引起这种zip bomb漏洞。
2023-12-12 19:57:45 2035
原创 一条SQL查询语句是如何执行的?
你会在数据库的慢查询日志中看到一个的字段,表示这个语句执行过程中扫描了多少行。这个值就是在执行器每次调用引擎获取数据行的时候累加的。在有些场景下,执行器调用一次,在引擎内部则扫描了多行,
2023-12-05 20:24:02 1023 1
原创 java poi中的应用
一 创建一个新的Workbook。二 所有列整体向后移动一位。五 创建excel中的图片。三 在第一行表头插入一个。四 excel的遍历。
2023-11-15 14:06:57 220
原创 ES在JAVA中的应用
boolQuery.must(QueryBuilders.termQuery("ES中字段的名字", "查询的字短的value"));boolQuery.must(QueryBuilders.matchQuery("ES中字段的名字", "查询的字短的value");match_phrase 精准搜索(必须包含一模一样的串,才会返回),分词,包含所以分词就会展示。term查询与match的效果类似,区别是term不分词,match会分词。
2023-11-15 14:02:27 162
原创 禅道禅道禅道
使用LDAP身份验证时,提供空白密码将被视为成功登录。原因是后端LDAP服务器将带有空/空白密码的绑定视为匿名绑定,我怀疑artifactory中的LDAP代码只是在寻找成功的绑定。也就是 /Users/chenyunbin/Downloads/zentaopms7.0/extension/xuan/im/model/user.php \imUser::identify方法。1. LDAP同步用户是生效的,但是姓名字段无法获取到,我看了LDAP和sonar服务,displayName都能获取到中文。
2023-05-05 10:51:02 627
原创 Elasticsearch 的 NGram 分词器使用技巧
NGram分词器是ES自带的具有前缀匹配搜索功能的一个文本分词器。它能根据逐步对写入的文本内容进行约束切割;
2023-05-03 20:59:37 2598
原创 ES实体类
analyzer : 分词器类型:当查询query时,Elasticsearch会根据搜索类型决定是否对query进行analyze,然后和倒排索引中的term进行相关性查询,匹配相应的文档。* index : 是否索引(默认:true):当一个文档被索引时,每个Field都可能会创建一个倒排索引(Mapping可以设置不索引该Field)//必须有 id,这里的 id 是全局唯一的标识,等同于 es 中的"_id"* @date 2021/11/26 上午11:51。* type : 字段数据类型。
2023-05-03 16:39:59 297
原创 ES 本地安装与启动
/如果之前安装过的话,卸载命令 npm uninstall -g grunt。6、在elasticsearch-head目录下执行。1、下载 elasticsearch-7.1.1。在elasticssearch目录下执行。7、 启动ElasticsSearch。4、下载并安装head插件。
2023-05-03 15:58:43 479
原创 ES查询语句
hits.total.value : 查询结果条数 (数量大于10000条时,json中需要加上一个一级条件 "track_total_hits":true ,才会展示实际数量)类似sql的limit,from和size都与query同级,from表示从第n-1个记录开始(mysql中第一条是0),size表示查询往后的n条记录。filter: 作用和must一样,但是仅过滤,不评分,所以性能更高(可以直接替换must,查询结果是一样的)3、查询结果相关信息。
2023-05-03 11:01:44 758
原创 谈谈final、finally、 finalize有什么不同
谈谈final、finally、 finalize有什么不同##final修饰类:不可以被继承修饰方法:不可以被重写修饰变量:变量不可以被赋值如果是集合list,例如://修饰还是可以被添加或者修改元素的 只是不能被赋值修改final List strList = new ArrayList<>();strList.add(“Hello”);strList.add(“world”);List unmodifiableStrList = List.of(“hello
2022-03-08 16:36:27 227
原创 Exception和Error有什么区别
继承关系顶层父接口:Throwable子类:Exception :异常,分为运行时异常(也称为不检查异常):NullPointException,ArrayIndexOutOfBoundsException非运行时异常(检查异常,在编辑期进行捕获):IOException,Error:错误,指的是程序不正常是出现的错误,不可以被预知所以不可以被捕获,如:OutOfMemoryError StackOverflowError对比Exception与Error的区别举例:Class
2022-03-08 16:31:37 263
原创 SpringBoot+Dubbo 本地install productor之后consumer无法引用Dubbo依赖的问题
1 productor首先我们先将对应写好的productor编写完成,然后使用idea提供的maven工具install命令将提供者服务依赖安装至本地,或者使用maven deploy命令提交至远程服务器才能正常引入,否则会包依赖包找不到。2 consumer编写对应的consumer代码controller,然后引入productor的依赖如上图所示,comsumer端无法引用到productor提供的dubbo服务依赖。3 原因如上图所示:查看引...
2021-08-09 18:22:34 363
原创 Docker Mashine学习之路
创建一个docker-machine 抛异常docker-machine create --driver virtualbox local-docker异常信息Running pre-create checks...(local-docker) Unable to get the latest Boot2Docker ISO release version: failure getting a version tag from the Github API response (are you g
2021-07-28 18:24:40 207
原创 springboot + docker容器化部署
springboot + docker1 首先我们需要创建一个springboot项目2 我们直接使用idea自带的工具maven package进行打包对应的jar会生成在/Users/chenyunbin/Documents/我的idea项目/dockertest/target目录下3 我们创建一个文件夹存放我们生成的jar包和Dockfile文件# Docker image for springboot file run# VERSION 0.0.1# Author
2021-07-28 12:02:13 893
hive启动之后,查询语句执行特别慢,之后发现日志中zookeeper报错
2019-12-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人