<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[li_csdn_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/li_csdn_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; li_csdn_]]></copyright><item><title><![CDATA[使用 Java mail进行邮件匿名发送]]></title><link>https://blog.youkuaiyun.com/li_csdn_/article/details/144351290</link><guid>https://blog.youkuaiyun.com/li_csdn_/article/details/144351290</guid><author>li_csdn_</author><pubDate>Mon, 09 Dec 2024 16:23:06 +0800</pubDate><description><![CDATA[之前都使用163、qq等邮箱，但是这些邮箱都会强制进行验证，而且还需要使用smtp的授权码，注意是授权码，而不是邮箱密码(关于授权码可自行百度，有很多)。需要使用 exchange自搭建的邮箱服务器，只能使用邮箱名称以及邮箱服务器ip 来发送邮件。]]></description><category></category></item><item><title><![CDATA[Top 查看服务 Res占用较高排查]]></title><link>https://blog.youkuaiyun.com/li_csdn_/article/details/136496929</link><guid>https://blog.youkuaiyun.com/li_csdn_/article/details/136496929</guid><author>li_csdn_</author><pubDate>Mon, 25 Mar 2024 15:34:12 +0800</pubDate><description><![CDATA[with incoming references：直接引用了当前对象的对象，每个对象的 incoming references 可能有 0 到多个。with outGoing references：对象引用的外部对象（注意不包含对象的基本类型属性。，是因为项目中有个定时巡检中存在大量的final修饰对象，一些变量也用了final修饰，导致对象一直创建未释放，从而内存会慢慢增高不释放。通过linux Top命令查看服务状态发现某个服务占用内存较高，因为服务器资源较少，所以导致服务器卡顿。]]></description><category></category></item><item><title><![CDATA[mariadb 错误日志中报错：Incorrect definition of table mysql.column_stats:]]></title><link>https://blog.youkuaiyun.com/li_csdn_/article/details/133673633</link><guid>https://blog.youkuaiyun.com/li_csdn_/article/details/133673633</guid><author>li_csdn_</author><pubDate>Sun, 08 Oct 2023 11:03:18 +0800</pubDate><description><![CDATA[mysql 报错 Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255)]]></description><category></category></item><item><title><![CDATA[git clone出现remote error: Repository not found错误]]></title><link>https://blog.youkuaiyun.com/li_csdn_/article/details/124489102</link><guid>https://blog.youkuaiyun.com/li_csdn_/article/details/124489102</guid><author>li_csdn_</author><pubDate>Fri, 29 Apr 2022 09:47:49 +0800</pubDate><description><![CDATA[出现这种错误的时候，需要确定几件事情

1.确定远端项目是否存在

2.自己是否有git clone权限

3.查看自己的凭据是否正确

主要说一下凭据查看



看一下自己的用户名和密码是否正确！！！
]]></description><category></category></item><item><title><![CDATA[MySql group by 及 clickhouse 聚合函数使用问题]]></title><link>https://blog.youkuaiyun.com/li_csdn_/article/details/121566484</link><guid>https://blog.youkuaiyun.com/li_csdn_/article/details/121566484</guid><author>li_csdn_</author><pubDate>Fri, 26 Nov 2021 19:24:40 +0800</pubDate><description><![CDATA[背景：项目需要使用clickhouse及mysql数据库，且两个库中的表需要关联查询。

一.MySQL中使用 group by

说明：理论上select 所查询的列 都需要加在group by 后面，或者使用sum()、min()等聚合函数

1.MySQL中使用group by 查询时 可以通过MySQL sql_model设置是否可以查询未使用聚合函数的列。

sql_model设置值ONLY_FULL_GROUP_BY的语义就是确定select target list中的所有列的值都是明确语义，.]]></description><category></category></item><item><title><![CDATA[Collection集合中unmodifiableList使用及问题]]></title><link>https://blog.youkuaiyun.com/li_csdn_/article/details/121041789</link><guid>https://blog.youkuaiyun.com/li_csdn_/article/details/121041789</guid><author>li_csdn_</author><pubDate>Fri, 29 Oct 2021 20:38:34 +0800</pubDate><description><![CDATA[项目运行过程中，发现异常抛出java.lang.UnsupportedOperationException。追踪源头之后发现是使用了集合类中 Collections.unmodifiableList 方法导致，下面就此问题对度娘发起了询问~

异常原因

1. 此集合方法返回的是一个只读集合，如果对此集合做其他操作就会抛出异常，查看源码后得知，此方法只实现了get方法，其他方法一律抛出异常，源码如下：



2. 可以看到，除了get方法，set、add、remove方法在调用时全部抛出U...]]></description><category></category></item><item><title><![CDATA[使用sigar项目启动报错]]></title><link>https://blog.youkuaiyun.com/li_csdn_/article/details/115184223</link><guid>https://blog.youkuaiyun.com/li_csdn_/article/details/115184223</guid><author>li_csdn_</author><pubDate>Wed, 24 Mar 2021 18:47:26 +0800</pubDate><description><![CDATA[项目中使用了sigar来监测cpu的使用情况，在项目启动时，报错如下
PS C:\Users\sebin.vincent&gt; e:
PS E:\&gt; .\Softwares\ServerAgent-2.2.3\startAgent.bat
INFO    2019-12-30 12:17:45.122 [kg.apc.p] (): Binding UDP to 4444
INFO    2019-12-30 12:17:45.155 [kg.apc.p] (): Binding TCP to 444]]></description><category></category></item><item><title><![CDATA[记一次JVM内存泄漏问题排查、分析过程]]></title><link>https://blog.youkuaiyun.com/li_csdn_/article/details/110324540</link><guid>https://blog.youkuaiyun.com/li_csdn_/article/details/110324540</guid><author>li_csdn_</author><pubDate>Sun, 29 Nov 2020 18:19:54 +0800</pubDate><description><![CDATA[背景
项目使用框架为springboot + akka(想要了解akka框架的同学可自行查看)，JDK版本1.8 使用的垃圾回收器为1.8默认的UseParallelGC
工具说明

压测工具使用的是jmeter脚本
性能监测工具使用的是jdk自带工具，jconsole、jvisualvm，一般第一个基本可以满足监测需求

分析工具使用的是IBM的工具，ha450.jar(分析dump文件)、jca450.jar(分析线程信息)
分析dump文件也可以使用 JProfile和mat(两个都为可视化分析工具)]]></description><category></category></item><item><title><![CDATA[记一次 Springboot使用Mongo时报错Exception opening socket]]></title><link>https://blog.youkuaiyun.com/li_csdn_/article/details/108793138</link><guid>https://blog.youkuaiyun.com/li_csdn_/article/details/108793138</guid><author>li_csdn_</author><pubDate>Fri, 25 Sep 2020 11:47:58 +0800</pubDate><description><![CDATA[背景：接手别人项目在进行整理时，启动发现报错如下



当不清楚的时候首选百度~

1. 没事去淘宝，不对 去百度逛了一圈之后发现有很多这样的问题，并且大多都是说springboot自动配置了支持mongodb。在启动springboot时会自动实例化一个mongo实例，需要禁用自动配置 ，增加@SpringBootApplication(exclude = MongoAutoConfiguration.class)这个注解即可，但是(凡是就怕但是)加上注解之后还是报错，百思不得其解，然后继续百度。。。

]]></description><category></category></item><item><title><![CDATA[记一次Goland中go func协程使用问题]]></title><link>https://blog.youkuaiyun.com/li_csdn_/article/details/108220881</link><guid>https://blog.youkuaiyun.com/li_csdn_/article/details/108220881</guid><author>li_csdn_</author><pubDate>Tue, 25 Aug 2020 15:04:32 +0800</pubDate><description><![CDATA[背景：多地服务需要数据同步，服务内部起了一个协程去调用同步服务，测试妹子将多地服务场景变为一地服务，同步时相当于一个服务在自循环。

1.服务请求为http请求，用的库为fasthttp，错误示例代码



协程使用方式为go func() {} ()方式，请求过程中发现ctx.Request.Body()信息会丢失。

思考无果.......

2.go 中协程的使用有两种方式，一是 go + 方法，二是go func() {} ()，第二种方式有问题时换用了第一种发现结果正常，可以正常访问。



3.]]></description><category></category></item><item><title><![CDATA[mongo 出现key too large to index问题]]></title><link>https://blog.youkuaiyun.com/li_csdn_/article/details/106946438</link><guid>https://blog.youkuaiyun.com/li_csdn_/article/details/106946438</guid><author>li_csdn_</author><pubDate>Wed, 24 Jun 2020 16:22:31 +0800</pubDate><description><![CDATA[因为指定了mongo索引，且字段内容过长导致。

解决办法：

1.看代码中是否使用了@Indexed注解指定，如果有去掉该注解

2.去mongo表中将报错的索引删除，然后重启服务后就可以了
]]></description><category></category></item><item><title><![CDATA[关于String,StringBuffer与StringBuilder的区别]]></title><link>https://blog.youkuaiyun.com/li_csdn_/article/details/106945828</link><guid>https://blog.youkuaiyun.com/li_csdn_/article/details/106945828</guid><author>li_csdn_</author><pubDate>Wed, 24 Jun 2020 15:59:49 +0800</pubDate><description><![CDATA[String 字符串常量
StringBuffer 字符串变量（线程安全）
StringBuilder 字符串变量（非线程安全）
简要的说， String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象，然后将指针指向新的 String 对象，所以经常改变内容的字符串最好不要用 String ，因为每次生成对象都会对系统性能产生影响，特别当内存中无引用对象多了以后， .]]></description><category></category></item><item><title><![CDATA[浅谈equal和==的区别，及字符串常用比较方法]]></title><link>https://blog.youkuaiyun.com/li_csdn_/article/details/98444077</link><guid>https://blog.youkuaiyun.com/li_csdn_/article/details/98444077</guid><author>li_csdn_</author><pubDate>Sun, 04 Aug 2019 10:07:41 +0800</pubDate><description><![CDATA[1.equals通常用来比较两个对象值是否相等，而‘==’比较的是两个值的地址是否相等，一般基本类型用‘==’来进行比较，引用类型使用equals进行比较。

2.equals方法和Objects.equals方法比较：

这两个方法都可以比较值内容是否相等，但是后者可以避免值为null时引发空指针异常的情况出现，例

(1).用equals 和空字符串进行比较 ，"".equals(name)，...]]></description><category></category></item><item><title><![CDATA[关于MyBatis中使用resultMap，后台使用List进行接收]]></title><link>https://blog.youkuaiyun.com/li_csdn_/article/details/95058374</link><guid>https://blog.youkuaiyun.com/li_csdn_/article/details/95058374</guid><author>li_csdn_</author><pubDate>Mon, 08 Jul 2019 14:19:53 +0800</pubDate><description><![CDATA[mybatis返回list很智能很简答的，只需要配置resultmap进行类型转换，dao方法直接写返回值list&lt;对应的object&gt;就行了

下面是具体操作及返回结果

1.mapper xml中具体做法



2.mapper接口中接收类型



3.返回结果展示



结果表明，mybatis的xml中的resultMap，只是对从数据库中获取的数据结构进行定义，而不是后台获取...]]></description><category></category></item><item><title><![CDATA[springboot 使用maven 打jar包发现没有resources下的所有配置文件]]></title><link>https://blog.youkuaiyun.com/li_csdn_/article/details/85064465</link><guid>https://blog.youkuaiyun.com/li_csdn_/article/details/85064465</guid><author>li_csdn_</author><pubDate>Tue, 18 Dec 2018 14:26:02 +0800</pubDate><description><![CDATA[原因：下图两者的resource（resources）单词要一致，很多人都是少个s或多个s 的

 



]]></description><category></category></item><item><title><![CDATA[js 搜索框按回车进行搜索]]></title><link>https://blog.youkuaiyun.com/li_csdn_/article/details/81076639</link><guid>https://blog.youkuaiyun.com/li_csdn_/article/details/81076639</guid><author>li_csdn_</author><pubDate>Tue, 17 Jul 2018 10:20:52 +0800</pubDate><description><![CDATA[1.不能使用form表单



2.监控键盘响应并使用trigger触发响应事件即可

]]></description><category></category></item><item><title><![CDATA[js使用正则表达式获取字符串中的地址并转换为超链接]]></title><link>https://blog.youkuaiyun.com/li_csdn_/article/details/81062721</link><guid>https://blog.youkuaiyun.com/li_csdn_/article/details/81062721</guid><author>li_csdn_</author><pubDate>Mon, 16 Jul 2018 11:51:50 +0800</pubDate><description><![CDATA[1.首先获取到文内内容2.//转换urlfunction ReplaceUrl(text){	var re = /(http[s]?:\/\/([\w-]+.)+([:\d+])?(\/[\w-\.\/\?%&amp;amp;=]*)?)/gi;	var s = text.replace(re,function(a){		return '&amp;lt;a href=&quot;'+a+'&quot; target=_blank&amp;g...]]></description><category></category></item><item><title><![CDATA[git clone 指定历史版本]]></title><link>https://blog.youkuaiyun.com/li_csdn_/article/details/80818877</link><guid>https://blog.youkuaiyun.com/li_csdn_/article/details/80818877</guid><author>li_csdn_</author><pubDate>Tue, 26 Jun 2018 19:42:16 +0800</pubDate><description><![CDATA[1.首先git clone 项目至文件夹2.cd 进入clone下来的项目文件夹内3.在git 仓库查看SHA4.git checkout 对应历史版本的SHA]]></description><category></category></item><item><title><![CDATA[前端接收后端url直接下载]]></title><link>https://blog.youkuaiyun.com/li_csdn_/article/details/80818802</link><guid>https://blog.youkuaiyun.com/li_csdn_/article/details/80818802</guid><author>li_csdn_</author><pubDate>Tue, 26 Jun 2018 17:56:56 +0800</pubDate><description><![CDATA[下载地址从后端用json传到前端，前端js直接进行下载。其实就是js创建一个iframejs代码如下：/*************接收后台返回的url直接下载****************/        function downloadFile(url) {            try{                var elemIF = document.createElement(...]]></description><category></category></item><item><title><![CDATA[org.thymeleaf.exceptions.TemplateInputException ，thymeleaf解析错误]]></title><link>https://blog.youkuaiyun.com/li_csdn_/article/details/80096262</link><guid>https://blog.youkuaiyun.com/li_csdn_/article/details/80096262</guid><author>li_csdn_</author><pubDate>Thu, 26 Apr 2018 17:00:28 +0800</pubDate><description><![CDATA[出现这个错误的时候是前端页面通过url跳转的时候，上网查了一些没有发现解释很详细的，所以在解决之后自己就想来发布一下。解决错误：首先看到最后面的第41行，然后找到对应页面的41行，那里应该会有一些错误导致解析失败，我的就是因为一个标签里有两个class所以报错。菜鸟解释，希望能够给大家一些帮助。...]]></description><category></category></item></channel></rss>