自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 Logql入门

logql 简单示例Log Queries基本的日志搜索语句包含两个部分log stream selectorlog pipelineloki的设计规定,log stream selector是必不可少的。log stream selector决定了多少日志文件被查找,一个好的log stream selector可以减少被查找的日志,并且也会影响查找性能。一个完整的查询示例{container="query-frontend",namespace="tempo-dev"} |= "met

2021-01-13 23:06:25 803

原创 Loki最佳实践

最佳实践使用静态标签比如host、application、environment尽可能少使用动态标签{app=”loki”} |= “level=error” 比 {app=”loki”,level=”error”}快{app=”loki”} != “level=debug” 会比 {app=”loki”,level!=”debug”} 加载较少的chunksToo many label value combinations leads to too many streams. The

2021-01-12 22:28:45 506

原创 Springboot项目整合Sentinel

版本springboot : 2.2.7.RELEASEspring-cloud-starter-alibaba-sentinel : 2.2.2.RELEASEsentinel-transport-simple-http : 1.7.2sentinel-datasource-nacos : 1.8.0nacos : 1.3.2dependency <!-- Sentinel --> <dependency> &

2020-10-21 22:12:58 1424

原创 正则匹配文本中的括号

正则匹配文本中的括号记录一下如何用正则匹配文本中的() [] {}()的匹配()进行匹配时都前后都需要进行转义 String demo2 = "abcd394de (fsd) cost : 2312";// 示例文本 Pattern pattern2 = Pattern.compile("[a-z0-9]+\\s+" + "(?<thread>\\([a-z]{1,4}\\)

2020-09-13 12:35:50 1062

原创 mysql执行一个查询到底经历了什么?

当我们向mysql发送一个请求的时候,mysql到底做了什么?客户端发送一条查询给服务器。 服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段。 服务器端进行sql解析,预处理,再由优化器生成对应的执行计划。 mysql根据优化器生成的执行计划,调用存储引擎的api来执行查询。 将结果返回给客户端。#### sql解析与预处理> 语法解析器会对sql语句进行检查,这一步会检查我们的sql是否正确,如果sql没有问题,则会生成对应的解析树以上.

2020-08-02 12:00:43 291 1

原创 golang基本数据结构-map

声明map[keyType] valueTypevar mapTest = map[string] string初始化没有进行初始化的map不能进行赋值操作,会报错mapTest = make(map[string] string)赋值mapTest["test"] = "testValue"这三步是最基础的操作,这样就完成了一个map从声明到初始化然后进行赋值的操作,下面可以自由的使用map。当然也可以直接初始化然后进行赋值,省去声明步骤。mapTest ...

2020-07-08 23:08:27 141

原创 Go WaitGroup

学习go的时候,接触到了WaitGroup的一点知识,感觉跟Java的countDownLatch很像,略有体会,记录一下。首先看一个简单的例子package mainimport ( "fmt" "sync")func main() { var wg sync.WaitGroup wg.Add(3) go func() { fmt.Println(1) wg...

2019-07-12 00:06:18 131

原创 问题记录--25端口邮件发送失败

最近写了一个监控日志程序的小功能,其中的一个步骤就是在检查到日志有ERROR级别的错误信息时,截取错误信息并发送到指定的邮箱。最初配置mail: host: smtp.exmail.qq.com username: xxxx.com password: xxxxx properties.mail.smtp.auth: true port: 25...

2019-06-05 23:30:10 1797

原创 刺激惊艳的Map转Object

项目中遇到过这样一个问题,sql查询出来的结果是一个Map<String,Object>,需要将map中对应的值放置到对应的实体类中,map中的key与实体类中的属性名一样。在属性值很少的时候,我们可以简单的取出值在set进实体类中,但是项目中一个类属性值可能有几十个,一个一个set的话会很麻烦,于是简答写一个转换的工具。1.Model类package com.boai.sp...

2019-03-30 16:44:32 2076 1

原创 Java coder 人人都应该拥有的书单

1.Spring5开发大全2.netty进阶之路3.SpringBoot企业级应用开发实战4.Java并发编程的艺术5.深入理解Java虚拟机6.高性能mysql

2019-03-17 15:50:23 130

原创 Spring AOP 实际使用案例

1.在方法上加注解2.在PointCut中捕获注解,执行相关的方法3.在Around中捕获上一步执行的相关方法,利用ProceedingJoinPoint joinPoint获取第一步加注解方法的执行结果4.统一处理获取的结果并返回这样一些需要全局处理的逻辑就可以完成了...

2019-03-03 18:26:15 787 4

原创 三个字段排序

这样的一个需求,资产数量升序排列,资产数量相同的按通过率降序排序,通过率也相同的按名称的首字母排序。如果在数据库中其实很好操作,因为特殊原因,目前需要在业务逻辑中进行处理。这里也顺便记录一下连续比较的用法。待排序的数据集是List&lt;Map&lt;String,Object&gt;&gt;类型的list链表ownerAssetsData。System.out.println("=...

2019-02-23 23:13:38 403

原创 Java Map中数据按照key进行排序

方法一: static String mapSortedByKey(Map&lt;String, String&gt; param) { StringBuilder stringBuilder = new StringBuilder(); ArrayList&lt;String&gt; keyList = new ArrayList&lt;&gt;(param...

2019-02-19 19:09:29 22586

原创 Java MD5加密

public class MD5Util { public static String getMD5(String str) { MessageDigest md = null; try { md = MessageDigest.getInstance("MD5"); } catch (NoSuchAlgorithm...

2019-02-19 18:35:19 102

原创 IDEA 单步调试多线程

不得不说,IDEA是真的强大。告别打日志的方法吧,直接使用IDEA进行多线程的调试。多线程单步调试步骤:1.首先在你需要单步调试的地方打上断点,然后鼠标右键已经打好的断点,可以跳出断点的设置。2.断点默认Suspend的选项是All,这里改成Thread模式,然后点击more更多设置 勾选上Log选项的两项,这样在跳到断点时IDEA在左下角会给我们一点小提示,提示swi...

2019-02-16 16:14:30 2290

原创 spring中的事务

出现问题的背景:γ项目中在风险部分会有系统消息和邮件通知用户,这里涉及到事务,具体的流程为update数据之后,又要利用多线程根据assetsId获取当前资产的风险等级,并将相应的消息和邮件发送给用户。产生原因:外层大方法使用事务,在方法中又新起多线程进行消息和邮件等操作,这里多线程不在包括在事务之中,所以读取到的数据是update操作之前的数据。事务中开启多线程,新的线程的事务不受外...

2019-01-29 23:09:07 151

原创 Linux之权限

在Linux中分为读权限,写权限,执行权限三种。读权限:对于文件夹来说,读权限影响用户是否能够列出目录结构。对于文件来说,读权限影响用户是否可以查看文件内容。写权限:对于文件夹来说,写权限影响到用户是否可以在文件夹下"创建/删除/复制到/移动到"文档。对于文件来说,写权限影响用户是否能够编辑文件。执行权限:一般对于文件来说,特别是脚本文件。 Linux中存在...

2018-11-27 15:34:10 149

原创 Linux基本指令

 基本指令#显示当前目录pwd#创建新目录 make directorymkdir#创建多层级目录,假如前两个xxxx目录不存在mkdir -p xxxx/xxxx/xxxx#创建新文件#touch test.texttouch xxx#也可以同时创建多个文件touch xxx xxx#复制文件#复制的过程可以重命名目的路径的文件cp xxxx...

2018-11-26 18:06:16 282

原创 利用intercepter+rabbitMQ实现记录访问者ip的实现方案

学习rabbitMQ使用的时候,想要构造一个简单的使用的场景,于是便想到了记录访问者的ip存入消息队列,然后异步保存在数据中。涉及到知识点并不是很多,简单的做个实现方案的记录。springboot2.x+mybaits+rabbitmq大概思路:使用intercepter拦截器拦截所有访问的请求,在preHandle方法中根据request获取访问者的ip,调用rabbitmq中生产者...

2018-11-18 15:09:33 1290

原创 windows环境创建redis多个实例,实现主从同步

redis单机环境下开启多个实例,并形成主从同步。redis默认端口是6379,这里我们创建了三个实例,分别使用了6380,6381,6382三个端口,6380端口实例作为主节点,6381和6382作为从节点。1.下载好windows版本的redis,进行解压。这里并没有安装为windows的服务,通过指令操作。//cmd进入到redis的目录,执行指令开启实例redis-server...

2018-11-15 15:53:58 936 1

原创 Java文件操作--inputStream转为file

在玩爬虫的过程中,其中有一部分是下载视频,利用原生的HttpURLConnection获得获得inputStream之后,将输入流写入到本地文件中,形成mp4格式的视频文件,发现最初使用的方法特别慢,想找寻更好的方法,提升效率。1.原始方法//pathName就是文件保存的路径BufferedInputStream bi = new BufferedInputStream(conn.g...

2018-11-13 15:21:46 34402 1

原创 阿里云ECS-centos7建站环境搭建

又快到一年的双十一了,阿里云也搞起了拼团活动,买了一台最低配的云服务器,自己玩。连接远程服务器直接使用了xshell,不详细描述。最基础的环境准备,安装jdk和tomcat。在usr目录下建立了文件夹java,又在java文件中创建了jdk和tomcat两个子目录    [root@izbp188p52tbilo2rsi9vnz ~]# vim /etc/profile在最末尾...

2018-11-06 20:05:37 304

原创 微信支付总结--小程序与H5页面微信支付

项目开发过程中,涉及到了微信支付功能,这里做一个详细的记录。小程序和H5的后端代码是通用的,前端调用不同的代码实现,这里不是重点,会简单的给出相关的代码。微信支付,官方给了开发文档,但是其中还是有一部分需要自己去摸索一下,刚开始接触走一点弯路踩一点坑也比较正常。当然微信支付这边涉及到商户平台,需要进行验证,使用的是公司的账号,个人小程序没有支付的权限。1.开发之前的认知先了解一...

2018-10-25 19:11:18 4149

原创 微信支付踩过的坑

在微信体系中,支付也算是比较重要的一环,这里记录一下工作中微信支付--公众号支付踩过的一些坑。问题:errorMsg : "chooseWXPay:fail, the permission value is offline verifying"安卓没有提示,ios会有具体的提示,首先一定要确保自己的参数值传递正确ios与安卓系统不一致的地方,安卓可以正常支付,ios出现下单...

2018-09-26 18:23:56 1326

原创 centos添加普通用户

centos添加普通用户流程添加普通用户[root@localhost ~]# adduser dadi密码[root@localhost ~]# passwd dadi密码设置过于简单的话会有提示先查看权限[root@localhost ~]# ls -l /etc/sudoers-r--r----- 1 root root 4002 Mar 1 20...

2018-09-26 15:01:28 4259

原创 spring整合redis

spring与redis整合的一个小demo准备工作:在本机安装好redis,并且能够成功使用demo地址:https://github.com/boailiu/springRedisDemo.git1.首先创建maven项目,pom.xml文件如下&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;project xmlns="ht...

2018-09-14 10:13:15 99

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除