- 博客(242)
- 资源 (2)
- 收藏
- 关注
原创 python学习笔记
使用元组传参,不要忘了加个逗号,表示当前是个元组,而不是普通括号;self关键字出现在形参中,但本质上不占用参数位置,无需理会;pass关键字本身无意义,只是用来补全语法,相当于占位;在函数中,如果没有声明返回值,默认返回None;私有属性和方法以两个下划线(__)开始。cursor.fetchall获取结果。pySpark flatMap用法。12. lambda匿名函数。17. json数据处理。5. 字符串快速格式化。15. 自定义模块导入。16. python包。6. None的作用。
2024-06-26 16:40:14 136
转载 CompletableFuture实现异步编排全面分析和总结
异步回调方法可以选择是否传递线程池参数Executor,这里为了实现线程池隔离,当不传递线程池时,默认会使用ForkJoinPool中的公共线程池CommonPool,这个线程池默认创建的线程数是CPU的核数,如果所有的异步回调共享一个线程池,核心与非核心业务都竞争同一个池中的线程,那么一旦有任务执行一些很慢的I/O 操作,就会导致线程池中所有线程都阻塞在I/O操作上,很容易成为系统瓶颈,影响整个系统的性能。因此, 建议强制传线程池,且根据实际情况做线程池隔离,减少不同业务之间的相互干扰。
2024-03-22 17:31:57 314
原创 Spring线程池ThreadPoolTaskExecutor的使用
降低系统资源消耗,通过重用已存在的线程,降低线程创建和销毁造成的消耗;提高系统响应速度,当有任务到达时,通过复用已存在的线程,无需等待新线程的创建便能立即执行;方便线程并发数的管控,因为线程若是无限制的创建,可能会导致内存占用过多而产生OOM,并且会造成cpu过度切换(cpu切换线程是有时间成本的(需要保持当前执行线程的现场,并恢复要执行线程的现场)提供更强大的功能,延时定时线程池。
2024-03-21 18:02:58 234
转载 mysql数据库多字段in写法
经常在写sql语句的时候会用到in的用法,以下内容讲解多个字段如何同时使用in,以下内容基于mysql 8.0进行讲解。
2023-09-15 17:48:02 2053
原创 win11开启护眼模式设置
1.点击左下角菜单,点击开始键打开"运行",或者点击"WIN+R"也能打开”运行“框,打开后,在框内输入regedit,并按下回车,转到注册编辑表;7.打开左下角菜单栏,点击重启电脑,重启完成后便可。4.进入文件夹页面后,再点击左侧的Control Panel里面的color;5.进入Colors 界面后,找到下面的windows,并点击它;2.选择左侧"HKEY_CURRENT_USER:,再点击进入;3.进入界面后,再次点击"Control Panel"进入;,填写完后,选择确定即可;
2023-09-14 10:01:47 13285
转载 VMware克隆Linux主机后网络问题
将网卡配置中和网卡缓存配置中的网卡名和mac地址都修改为与ifconfig中的一致,然后使用命令。,此文件名在不同的CentOS系统中数字可能不一致,比如可能为。目录下的网卡配置文件名为ifcfg-eno16777984,且ifcfg-eno16777984中的网卡名。为00:50:56:AC:C5:11。ifconfig命令显示网卡名为。
2023-08-16 18:01:59 137
转载 java Queue中 remove/poll/take, add/offer/put, element/peek区别
不阻塞阻塞不阻塞阻塞不阻塞。
2023-07-14 15:37:44 881
转载 java8中函数式接口特性
返回一个组合函数, 首先执行before function的apply方法, 将它的返回作为输入参数再应用当前的function。结果:先执行value -> value * 2 >>5*2=10,再执行value -> value - 1, 10-1=9。先执行value -> value - 1 >>5-1=4,在执行value -> value * 2 结果是8。1.Function 有参有返回型函数、Function 函数的表现形式为接收一个参数,并返回一个值。* @return 函数的结果。
2023-07-14 15:09:07 364
原创 nginx: client intended to send too large body
最近上传大于1M文件的时候,报错nginx。经过排查修改nginx配置这是最简单的一个做法,着报错原因是nginx不允许上传配置过大的文件,那么件把nginx的上传大小配置调高就好。2、 把nginx.conf 加上超时时间 (在http{}里配置即可)
2023-06-21 16:21:40 3264
原创 split失效分析
在这里插入图片描述](https://img-blog.csdnimg.cn/d4604edd6c0140cfbaa3cd575c3189bd.png)第2个例子中结果并不是 {“1223”, “234”, “”}, 而是 {“1223”, “234”}结尾空字符串被丢弃的问题。避免结尾空字符串丢弃。
2023-06-05 09:56:15 678
原创 Spring Boot 启动:No active profile set, falling back to default profiles: default
方法一:pom.xml加上下面两个依赖。方法二:添加启动参数。
2023-05-18 16:26:42 585
转载 Maven打包插件详解
是maven中针对打包任务而提供的标准插件,可以实现自定义打包。提供一个把工程依赖元素、模块、网站文档等其他文件存放到单个归档文件里打包成指定格式分发包,支持各种主流的格式如ziptar.gzjar和war等,具体打包哪些文件是高度可控的能够自定义包含/排除指定的目录或文件是提供的maven打包插件。可打直接可运行的jar包或war包。如果使用版本,则需要maven版本在2.0及以上,JDK在1.8及以上。
2023-05-06 10:31:22 2291 1
转载 企业级的OSS对象存储
ConditionalOnMissingBean:修饰bean的一个注解,当你的bean被注册之后,注册相同类型的bean,就不会成功,它会保证你的bean只有一个,即你的实例只有一个。OssTemplate:oss模板接口,此接口主要是对oss操作的方法的一个接口,定义为接口主要是满足可扩展原则,就是其他人使用了我们的jar包,实现此接口可以自定义相关操作。看下图,有很多的配置,有的指定了默认值有的没有,可以到AmazonS3的官方文档熟悉相关配置,配置你所需要指定的配置信息等。
2023-05-04 10:49:37 513
转载 dependencyManagement和dependencies的区别
模型本身的版本很少改变,虽然如此,但它仍然是必不可少的,这是为了当Maven引入了新的特性或者其他模型变更的时候,确保稳定性。如果项目中不写依赖项,则会从父项目。2)dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要的依赖。是不会从父项目中继承的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取。modules:一个项目有多个平级模块,也叫做多重模块,或者合成项目,modules实现平级模块管理。
2023-04-26 14:30:45 218
转载 IDEA 用上这款免费 GPT4 插件,生产力爆表了
前两天,一兄台分享给我一款 IDE 插件:Bito-ChatGPT ,安装就能直接在IDE中使用 GPT,就算是不会魔法,同样也能使用;可自定义性强:插件对话框并不仅仅限于聊天机器人,也可以自定义对话框,让开发者根据自己的需求进行自由定制,可定制的选项包括头像、名称、背景等。总之,Bito-ChatGPT 插件是一款非常实用的智能化聊天机器人插件,可以为开发人员提供更快更准确的交互编程环境,有效提升开发效率。测试了一下,2021以上的 IDE 版本是能正常搜索到的,2020 版本的IDE搜不到插件。
2023-04-23 00:45:31 4453 1
转载 记一次FEIGN传递头带来的影响
这里我们直接看response里面的内容,这个时候已经远程调用远成了,看我们的请求头是有带有Accept-Encoding这个头的。Accept-Encoding: gzip, deflate ,表示这个请求的内容希望被压缩,压缩的目的是为了减少网络流量,Accept-Encoding表示Http响应是否进行压缩,一般的浏览器在访问网页时,是默认在请求头中加入。但是这个只是协议,只能是要求而不是强制的,如果服务器不支持压缩或者没有开启压缩,则不能起到作用,看一下这个两个头的作用,
2023-04-12 19:19:35 321
原创 ES-Spring Data Elasticsearch
Spring Data Elasticsearch是Spring Data的一个子项目,该项目旨在为新数据存储提供熟悉且一致的基于 Spring 的编程模型,同时保留特定于存储的功能和功能。Spring Data Elasticsearch是一个以 POJO 为中心的模型,用于与 Elastichsearch 文档交互并轻松编写 Repository 风格的数据访问层。Spring Data 的目的是用统一的接口,适配所有不同的存储类型。
2023-03-22 14:17:58 456
原创 ES-客户端
ES 5.0.0只是发布第一个Java Low-level REST client时的ES版本(2016年),不代表其向前只兼容到5.0,Java Low-level REST client基于Apache HTTP 客户端,它允许使用 HTTP 与任何版本的 Elasticsearch 集群进行通信。Java API使用的客户端名称叫TransportClient,从7.0.0开始,官方已经不建议使用TransportClient作为ES的Java客户端了,并且从8.0会被彻底删除。
2023-03-22 14:11:02 762
原创 ES-数据建模
数据模型是描述现实世界某种现象或者状态的物理抽象,比如我们之前用FSA来描述周老师的一天这种现象,就是把现实世界抽象成某种模型。现实世界有很多重要的关联关系:博客帖子有一些评论,银行账户有多次交易记录,客户有多个银行账户,订单有多个订单明细,文件目录有多个文件和子目录。每个实体(或 行 ,在关系世界中)可以被主键唯一标识。实体规范化(范式)。唯一实体的数据只存储一次,而相关实体只存储它的主键。只能在一个具体位置修改这个实体的数据。实体可以进行关联查询,可以跨实体搜索。
2023-03-20 18:06:31 396
原创 ES-nested和join查询
Elasticsearch没有内部对象的概念,因此,ES在存储复杂类型的时候会把对象的复杂层次结果扁平化为一个键值对列表。在索引父子级关系数据的时候必须传入routing参数,即指定把数据存入哪个分片,因为父文档和子文档必须在同一个分片上,因此,在获取、删除或更新子文档时需要提供相同的路由值。join唯一合适应用场景是:当索引数据包含一对多的关系,并且其中一个实体的数量远远超过另一个的时候。max:使用所有匹配的子对象中的最高相关性得分。min:使用所有匹配的子对象中最低的相关性得分。
2023-03-20 18:05:31 944
原创 ES-搜索推荐
搜索一般都会要求具有“搜索推荐”或者叫“搜索补全”的功能,即在用户输入搜索的过程中,进行自动补全或者纠错。以此来提高搜索文档的匹配精准度,进而提升用户的搜索体验,这就是Suggest。##四种Suggester。
2023-03-20 17:14:18 708
原创 ES-索引的批量操作
create:如果在PUT数据的时候当前数据已经存在,则数据会被覆盖,如果在PUT的时候加上操作类型create,此时如果数据已存在则会返回失败,因为已经强制指定了操作类型为create,ES就不会再去执行update操作。比如:PUT /pruduct/_create/1/ ( 老版本的语法为 PUT /pruduct/doc/1/create )指的就是在索引product中强制创建id为1的数据,如果id为1的数据已存在,则返回失败。delete:删除文档,ES对文档的删除是懒删除机制,即标记删除。
2023-03-20 16:09:15 962
转载 MySQL索引失效跑的8个场景
索引的底层是一颗B+树,那么联合索引的底层也就是一颗B+树,只不过联合索引的B+树节点中存储的是键值。在 WHERE 子句中,如果在 OR 前的条件列是索引列,而在 OR 后的条件列不是索引列,那么索引会失效 举个例子,比如下面的查询语句,b 是主键,e 是普通列,从执行计划的结果看,是走了全表扫描。因为索引保存的是索引字段的原始值,而不是 b - 1 表达式计算后的值,所以无法走索引,只能通过把索引字段的取值都取出来,然后依次进行表达式的计算来进行条件判断,因此采用的就是全表扫描的方式。
2023-03-20 14:41:31 96
原创 ES-脚本查询
首先,使用doc关键字,将导致该字段的条件被加载到内存(缓存),这将导致更快的执行,但更多的内存消耗。(2)painless:JavaEE使用java语言开发,.Net使用C#/F#语言开发,Flutter使用Dart语言开发,同样,ES 5.0+版本后的Scripting使用的语言默认就是painless,painless是一种专门用于Elasticsearch的简单,用于内联和存储脚本,是ES 5.0+的默认脚本语言,类似于Java,也有注释、关键字、类型、变量、函数等,是一种安全的脚本语言。
2023-03-17 15:45:44 1421
原创 ES-聚合查询
size=0 { “aggs”: { “”: { “histogram”: { “field”: “price”, #字段名称 “interval”: 1000, #区间间隔 “keyed”: true, #返回数据的结构化类型 “min_doc_count”: , #返回桶的最小文档数阈值,即文档数小于num的桶不会被输出 “missing”: 1999 #空值的替换值,即如果文档对应字段的值为空,则默认输出1999(参数值) } } } }
2023-03-16 18:45:51 8133
原创 ES-分词器
ikmaxword会将文本做最细粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌”,会穷尽各种可能的组合,适合 Term Query;ik下载地址:https://github.com/medcl/elasticsearch-analysis-ik。Github加速器:https://github.com/fhefh2015/Fast-GitHub。quantifier.dic:特殊词库:计量单位等。
2023-03-16 17:06:00 703
原创 ES-搜索和查询
使用query关键字进行检索,倾向于相关度搜索,故需要计算评分。搜索是Elasticsearch最关键和重要的部分。 概念:相关度评分用于对搜索结果排序,评分越高则认为其结果和搜索的预期值相关度越高,即越符合搜索预期值。在7.x之前相关度评分默认使用TF/IDF算法计算而来,7.x之后默认为BM25。 排序:相关度评分为搜索结果的排序依据,默认情况下评分越高,则结果越靠前。
2023-03-16 16:01:51 1969
原创 ES-映射
1) Frozen indices(冻结索引):有些索引使用率很高,会被保存在内存中,有些使用率特别低,宁愿在使用的时候重新创建,在使用完毕后丢弃数据, Frozen indices的数据命中频率小,不适用于高搜索负载,数据不会被保存在内存中,堆空间占用比普通索引少得多,Frozen indices是只读的,请求可能 是秒级或者分钟级。 ⑨ enable:是否创建倒排索引,可以对字段操作,也可以对索引操作,如果不创建索引,让然可以检索并在_source元数据中展示,谨慎使用,该状态无法 修改。
2023-03-16 13:53:30 861
原创 ES-索引的CRUD
(6)删除数据 DELETE /index/type/id。(3)删除索引:DELETE /index?(2)查询索引:GET _cat/indices?(1)创建索引:PUT /index?基于REST风格的API。
2023-03-16 13:36:21 109
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人