- 博客(59)
- 资源 (1)
- 收藏
- 关注
原创 Mysql 中子查询时order by与group by合用无效的解决办法
先筛选出同学A的成绩,按照id排序【默认id自增,最新一次考试的id是最大的】,然后将该查询结果作为子表,对分数进行分组。可是执行后发现,展示的结果好像并没有order by,也就是说子查询的order by失效了,解决办法。比如有张学生分数表,里面包含了学生一年的所有考试的语数外成绩,我想要获取同学A的最后一次考试成绩。这里的limit 3 ,3代表的是语数外三门,可以大于3,不能够小于3。他们说order by 如果没有加limit 就会失效。需要获取某些条件下,在分组后,取最新的记录。
2023-12-27 16:16:34
891
原创 解决 MacOS JD-GUI 打开失败的问题
将 Contents/MacOS/universalJavaApplicationStub.sh 文件的内容替换为 https://github.com/tofi86/universalJavaApplicationStub/blob/v3.2.0/src/universalJavaApplicationStub 中的内容,保存。起初,我第一感觉可能是新版的 MacOS 和老版本的 JD-GUI 不兼容导致的,然后在官网下载最新的 1.6.6 版本,安装后,依然报同样的错误信息。
2023-12-26 15:53:48
1729
2
原创 【ElasticSearch】 sort排序子句
查询order_v2索引的所有结果,结果根据order_no字段降序,order_no相等的时候,再根据shop_id字段升序排序。ES的默认排序是根据相关性分数排序,如果我们想根据查询结果中的指定字段排序,需要使用sort Processors处理。sort子句支持多个字段排序,类似SQL的order by。
2023-06-19 17:33:04
356
原创 【ElasticSearch】中文分词器
ES默认的analyzer(分词器),对英文单词比较友好,对中文分词效果不好。不过ES支持安装分词插件,增加新的分词器。1、如何指定analyzer?默认的分词器不满足需要,可以在定义索引映射的时候,指定text字段的分词器只要在定义text字段的时候,增加一个analyzer配置,指定分词器即可,这里指定的分词器是smartcn,后面会介绍怎么安装smartcn插件。
2023-06-19 17:10:50
5321
原创 【Node.js】mac升级或降级node版本
2、可以根据自己的需要选择安装版本[可选]1、安装node版本管理模块 n。2.3 版本降级/升级。
2023-06-15 15:59:21
2211
原创 【ElasticSearch】query语法
介绍ES 的query子句的语法,query子句主要用于编写查询条件,类似SQL中的where语句。query子句主要用来编写类似SQL的Where语句,支持布尔查询(and/or)、IN、全文搜索、模糊匹配、范围查询(大于小于)。通过match实现全文搜索,全文搜索的后面有单独的章节讲解,这里大家只要知道简单的用法就可以。说明:{FIELD} - 就是我们需要匹配的字段名{TEXT} - 就是我们需要匹配的内容article索引中,title字段匹配ES教程的所有文档。
2023-06-09 10:59:00
6016
原创 idea maven 拉取报错failed to transfer from http://0.0.0.0/ during a previous attempt
原因: maven在3.9.1 的默认配置文件中增加了一组标签,如果仓库镜像是http 而不是https 就会被拦截禁止访问,而公司私服一般是http 而不支持https.一、 注释掉maven里的这个默认拦截配置。maven版本 3.9.1。
2023-03-23 12:28:14
2501
原创 mybatis-plus导致分布式id失效问题
一、背景使用了mybatis-plus,在业务上需要使用自定义的分布式id,所以使用了拦截器,设置id为分布式id,但是实际插入到数据库中仍然是自增id。二、问题原因Do在id字段上添加了注解。mybatis-plus在insert时,当配置了IdType_AUTO,会自动使用自增主键...
2022-04-01 18:01:04
565
原创 肝!!!Spring事务报错?是不是没看这篇文章?
spring使用事务的注意事项Q1.同一个类中事务方法是无法直接调用的,如果 ServiceA.methodA调用 Service.methodB,会使被调用方法的事务失效。因为spring的事务是基于代理类来实现的。在controller里的service其实是代理对象,所以b方法的事务有效。,而在同一个类中ServiceA.methodA调用 Service.methodB,你拿到的不是代理后的methodB,所以事务会失效解决方法很简单,在methodA方法类中获取当前对象的代理对象Serv
2021-06-20 23:13:05
219
原创 肝!!!瞎扯,Spring只能解决setter注入方式的循环依赖?不存在的!
别的先不扯,先上结论方式依赖情况注入方式能够解决循环依赖情况一AB相互依赖均采用setter方式能情况二AB相互依赖均采用构造器方式不能情况三AB相互依赖A中注入B采用setter,B中注入A采用构造器能情况四AB相互依赖A中注入B采用构造器,B中注入A采用setter不能测试数据 <bean id="a" class="com.ziyang.cycle.A"> <constructor-arg r
2021-06-20 20:19:40
660
1
原创 肝!!!手撕Spring循环依赖
别的先不扯,先上结论Spring通过三级缓存解决了循环依赖,其中一级缓存为单例池(singletonObjects),二级缓存为早期曝光对象earlySingletonObjects,三级缓存为早期曝光对象工厂(singletonFactories)。当A、B两个类发生循环引用时,在A完成实例化后,就使用实例化后的对象去创建一个对象工厂,并添加到三级缓存中,如果A被AOP代理,那么通过这个工厂获取到的就是A代理后的对象,如果A没有被AOP代理,那么这个工厂获取到的就是A实例化的对象。当A进行属性注
2021-06-20 14:32:29
104
原创 xml实现状态机
刚换了一家公司,学习了公司内部的项目,带我的师兄让我学习下公司项目中状态机的实现,并自己实现一个状态机。以此来记录学习状态机的过程。https://blog.csdn.net/xinghuanmeiying/article/details/81586954通过这篇博文学习了状态机图如何绘制,以及状态机图中的一些概念,不清楚的状态机的小伙伴可以学习下。(不知道这算不算侵权哈,反正自己也是通过别...
2020-04-10 22:34:14
633
原创 【ElasticSearch】安装中文分词器jieba踩坑小记
Elasticsearch 结巴分词插件的官方地址为 https://github.com/sing1ee/elasticsearch-jieba-pluginlz安装的es版本是7.6.1,所以这边下载了v7.4.2的版本,下载完成之后,使用gradle命令生成jar包使用。(具体操作网上一堆就不赘述了)。lz遇到的问题是,在启动es的时候,出现了路径找不到的问题。很多文章只写了解压j...
2020-04-10 00:41:10
3447
1
原创 Java注解那些事
注解(也被称为元数据),为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后的谋和时刻非常方便的使用这些数据。比如,当你创建描述符性质的类或接口时,一旦其中包含了重复性工作,那就可以考虑使用注解来简化与自动化该过程。注解的出现是在jdk1.5中引入的,注解的使用往往会伴随着java反射的使用。接下来介绍jdk中内置的三种标准注解以及四种元注解。三种标准注解定义在lang包下,分别是:...
2020-03-09 20:12:10
142
原创 InnoDB存储引擎---间隙锁
之前翻阅过很多博客,关于InnoDB存储引擎在REPEATABLE READ隔离级别下如何解决幻读的情况的?大多数的答案是MVCC+间隙锁。对于MVCC上一文章中也提及过,MVCC是保存了行记录的多种快照版本,当一个事务A正在执行某条记录的update/delete语句时,此时该记录加了X锁,如果事务B需要读取行,根据行锁的S锁,X锁兼容性来看,需要等待事务A释放该行的X锁,事务B才能获取S锁,读...
2020-02-09 18:56:31
256
原创 InnoDB储存引擎中的锁
InnoDB存储引擎与MylSAM存储引擎一个差别就是InnoDB支持表锁和行锁,MylSAM存储引擎只实现了表锁。InnoDB存储引擎实现了两种标准的行级锁:共享锁(S LOCK),允许事务读一行数据。排他锁(X LOCK),允许事务删除或者更新一行数据。存在一行数据r,如果事务T1获取了数据行r的S锁,此时事务T2可以立即获取数据行r的S锁,因为读取并没有更改数据的内容,因此S锁之...
2020-02-08 15:58:16
247
原创 漫谈MySQL中的日志文件
操作系统:windowsmysql版本:mysql 8MySQL中日志的分类:1.错误日志(error log)2.查询日志(log)2.慢查询日志(slow query log)3.二进制日志(binlog)错误日志:错误日志文件对mysql的启动,运行,关闭过程进行了记录。比如在mysql启动时加载配置文件出现的问题信息记录等。一般在数据库不能够正常启动的时候,首先查看错误日志...
2020-02-07 02:26:25
287
原创 redis---地理模块Geo模块
redis在3.2版本以后增加了地理位置Geo模块,意味着我们可以使用redis来实现类似摩拜单车的“附近的Mobike”,微信的“附近的人”这样的功能。丢弃redis再介绍新模块之前,可以先思考下其他的方法实现这个问题,我们可以通过数据库保存位置信息,从而实现这项功能。地图元素采用经纬度的表示,经度范围[-180,180],纬度范围[-90,90],纬度正负以赤道为界限,北正南负,经度正负...
2019-12-15 16:22:43
466
原创 redis分布式锁的实现
场景引入当我们在分布式应用基础上进行开发时,经常会遇到并发问题。比如一个操作去修改用户的状态,第一步先要读取用户的状态,在内存里修改,改完然后再存回去。如果这两个操作同时进行,就会出现并发问题。因为‘读取’和‘保存状态’这两个操作不是原子操作。(原子操作是指不会被线程调度机制打断的操作。这种操作一旦开始,就会一直运行到结束。中间不会有任何的线程切换。)分布式锁分布式锁本质上要实现的目标就是在...
2019-12-08 13:46:19
104
原创 redis高级数据结构---布隆过滤器
从上一节学习了使用HyperLogLog数据结构来进行估数统计,他非常的有价值,在数据量庞大的情况下,低内存消耗的解决很多对精度要求不高的统计问题。但是加入我们想知道某一个值是不是已经在HyperLogLog结构里面了,此时HyperLogLog显得有些无能为力,因为HyperLogLog只提供了pfadd,pfcount以及pfmerge方法,并没有提供类似于pfcontain方法。描述一个...
2019-12-07 23:46:31
565
原创 轻量级ORM框架---JOOQ
当今企业级开发中,几乎都会用到orm框架,有全自动的orm框架hibernate,也有半自动的orm框架mybatis,还有springboot推荐使用的jpa,作者本人个偏向于mybatis框架(写原生sql真的很爽啊!!!),但是在高并发的场景下,不推荐在sql语句中使用关联查询,更倾向于单张表表冗余查询,在代码中使用stream操作,当然这是题外话。前几天逛论坛意外发现一篇标题为《抛弃myb...
2019-12-06 12:06:40
900
原创 redis高级数据结构---HyperLogLog
业务场景引入在讲诉HyperLogLog数据结构之前,先讲诉一个业务场景,我们需要记录某个网站的每一个网页的每天的UV数据,然后需要开发一个统计UV的功能模块。该如何实现?如果是PV数据的话,很简单,每一个页面配置一个单独的redis计数器,按照页面名称_日期作为key,value作为访问次数,每访问一次,就+1。但是如果是统计UV数据呢,UV需要去重,统计多少人访问过该页面,每个用户的每个...
2019-12-04 22:22:08
470
原创 【工欲善其事必先利其器】IntelliJ IDEA插件系列之---PlantUML
IDEA自带类图的生成,但还没有时序图的生成。在团队开发中,代码的交流,有了时序图会更加的清楚。本文对在MAC环境如何安装PlantUML进行阐述:插件安装:第一种安装方式:IDEA plugins安装左上角点击Preferences–>选择plugins—>Marketplace,搜索plantuml进行安装,安装结束后,需要重启idea(据说2019.3版本安装插件不需要重启...
2019-12-04 12:43:30
4779
原创 redis高级数据结构---bitmap
场景引入*我们在正常开发环境中,有时候需要将bool型数据进行存取,比如用户一年里面签到了多少次,签到了设置1,没签到设置0,要记录365天,如果使用普通的key/value形式存储,每个用户就需要占据365键值对,当用户量上亿的时候,需要惊人的存储空间。更何况是一年的。为了解决这种问题,redis提出了bitmap的数据结构,这样每天用户签到只需要占据一个位,365天就是365位,46个字节...
2019-12-03 22:47:31
2171
原创 Redis中5种--基本--数据结构
Redis有5中基础数据结构,分别为:string(字符串),list(列表),hash(字典),set(集合)以及zset(有序集合)。这5种基本数据结构的熟练使用,是redis的相关知识中的最基础,最重要的部分。string(字符串):字符串是redis的最简单的数据结构,他的内部表示就是一个字符数组。redis所有的数据结构都以唯一的key字符串作为名称,然后通过这个唯一的key值来获取...
2019-12-01 18:13:31
289
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人