<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ght521的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ght521</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ght521]]></copyright><item><title><![CDATA[base64字符串String.getByte导致OOM Requested array size exceeds VM limit]]></title><link>https://blog.youkuaiyun.com/ght521/article/details/156276397</link><guid>https://blog.youkuaiyun.com/ght521/article/details/156276397</guid><author>ght521</author><pubDate>Thu, 25 Dec 2025 18:48:02 +0800</pubDate><description><![CDATA[图片base64字符串发送HTTP接口引发的OutOfMemoryError OOM Requested array size exceeds VM limit]]></description><category></category></item><item><title><![CDATA[PyQt5 + pyexiv2 打包 EXE 闪退问题解决方案]]></title><link>https://blog.youkuaiyun.com/ght521/article/details/155603267</link><guid>https://blog.youkuaiyun.com/ght521/article/details/155603267</guid><author>ght521</author><pubDate>Fri, 05 Dec 2025 11:57:39 +0800</pubDate><description><![CDATA[PyQt5打包EXE闪退解决方案 问题：使用PyQt5开发的图片元数据工具打包EXE后，写入XMP元数据时闪退。 原因：PyQt5自带的msvcp140.dll等5个DLL文件版本与conda环境不一致，导致冲突。 解决方法： 定位PyQt5安装目录下的DLL文件 删除${环境名}\Lib\site-packages\PyQt5\Qt5\bin路径中的5个低版本DLL 让程序使用系统环境中的高版本DLL 适用范围：所有PyQt5打包EXE后GUI闪退问题，建议操作前备份原文件。]]></description><category></category></item><item><title><![CDATA[致非技术从业者：关于软件项目管理的七个真相]]></title><link>https://blog.youkuaiyun.com/ght521/article/details/148309837</link><guid>https://blog.youkuaiyun.com/ght521/article/details/148309837</guid><author>ght521</author><pubDate>Thu, 29 May 2025 14:32:24 +0800</pubDate><description><![CDATA[《创业技术生存指南》摘要：软件开发的本质是需求精确传递而非商品交易。本文揭示三大误区：1）人月神话陷阱，盲目增员反降效；2）技术债务利滚利；3）需求蠕变致复杂度激增。为初创公司提供四大法则：原型验证先行、技术选型避尖端、进度可视化监控、预算预留2.3倍。特别警示非技术管理者：须监控代码提交、强制压力测试、量化技术债务、建立CTO离职预案。软件开发实质是复杂的人机博弈过程，表面停滞可能蕴含深度问题求解。
]]></description><category></category></item><item><title><![CDATA[有关用easyExcel批量导入excel入库慢的调优记录]]></title><link>https://blog.youkuaiyun.com/ght521/article/details/148309037</link><guid>https://blog.youkuaiyun.com/ght521/article/details/148309037</guid><author>ght521</author><pubDate>Thu, 29 May 2025 14:10:52 +0800</pubDate><description><![CDATA[摘要：在SpringBoot+MyBatis-Plus框架中处理批量数据导入时，发现未开启事务会导致插入速度随数据量增大而明显下降。作者处理Excel导入千条数据时采用分批次（每次100条）和saveOrUpdate方法确保档号唯一性。测试1500条数据需50秒，排查发现非数据库性能问题，而是缺少事务导致。通过在每批100条数据操作上添加事务注解，导入速度显著提升。该案例说明了事务管理对批量操作性能的重要性。]]></description><category></category></item><item><title><![CDATA[有关采用parallelStream并行流处理List并使用自定义线程池和lettuce redis客户端一起使用的问题]]></title><link>https://blog.youkuaiyun.com/ght521/article/details/141998153</link><guid>https://blog.youkuaiyun.com/ght521/article/details/141998153</guid><author>ght521</author><pubDate>Sat, 07 Sep 2024 16:44:05 +0800</pubDate><description><![CDATA[来指定了parallelStream的线程数，但是这里并没有控制住，于是找原因定位到了redis获取key这行代码，将该代码注释后，就可控制parallelStream的并行度。在使用parallelStream进行处理list时，如不指定线程池，默认的并行度采用cpu核数进行并行，这里采用ForJoinPool来指定线程池，但循环中使用了luttuce 来获取redis的key时，出现没有控制住线程池的线程数问题。]]></description><category></category></item><item><title><![CDATA[shiro 采用redis共享session，出现反序列化错误的排查过程]]></title><link>https://blog.youkuaiyun.com/ght521/article/details/129858660</link><guid>https://blog.youkuaiyun.com/ght521/article/details/129858660</guid><author>ght521</author><pubDate>Thu, 30 Mar 2023 15:25:57 +0800</pubDate><description><![CDATA[有关jfinal shiro 共享session反序列化]]></description><category></category></item><item><title><![CDATA[java html转pdf生成带目录可跳转的pdf]]></title><link>https://blog.youkuaiyun.com/ght521/article/details/129119931</link><guid>https://blog.youkuaiyun.com/ght521/article/details/129119931</guid><author>ght521</author><pubDate>Mon, 20 Feb 2023 11:32:00 +0800</pubDate><description><![CDATA[解决java生成pdf时，将html转为pdf没有目录，并生成可跳转目录问题。]]></description><category></category></item><item><title><![CDATA[jfinal集成knife4j-swagger经过的各种坑，到最后的成功。]]></title><link>https://blog.youkuaiyun.com/ght521/article/details/122425059</link><guid>https://blog.youkuaiyun.com/ght521/article/details/122425059</guid><author>ght521</author><pubDate>Tue, 11 Jan 2022 10:29:36 +0800</pubDate><description><![CDATA[jfinal集成knife4j-swagger经过的各种坑]]></description><category></category></item><item><title><![CDATA[有关javaweb项目中集成druid时有时会出现SQL注入的问题]]></title><link>https://blog.youkuaiyun.com/ght521/article/details/109802715</link><guid>https://blog.youkuaiyun.com/ght521/article/details/109802715</guid><author>ght521</author><pubDate>Thu, 19 Nov 2020 10:14:02 +0800</pubDate><description><![CDATA[有关durid 出现sql injection exception的问题，说明是该有的值意外空了，导致和原有的SQL所表达的意思相悖，现象如下：

这里用的是Mybatis框架

sql语句：


update user
&lt;set&gt;
    &lt;if test="status!=null and status!=''"&gt;
         status=#{status}
    &lt;/if&gt;
&lt;/set&gt;
where useruuid=#{useruuid}
.]]></description><category></category></item><item><title><![CDATA[将宿主机的目录挂载到正在运行的docker容器中，并实现同步]]></title><link>https://blog.youkuaiyun.com/ght521/article/details/109802649</link><guid>https://blog.youkuaiyun.com/ght521/article/details/109802649</guid><author>ght521</author><pubDate>Thu, 19 Nov 2020 10:10:57 +0800</pubDate><description><![CDATA[修改配置文件（需停止docker服务）

1、停止docker服务
systemctl stop docker.service（关键，修改之前必须停止docker服务）
2、vim /var/lib/docker/containers/container-ID/config.v2.json
修改配置文件中的目录位置，然后保存退出


"MountPoints":{"/home":{"Source":"/docker","Destination":"/home","RW":true,"Name":"","D.]]></description><category></category></item><item><title><![CDATA[如何修改正在运行的docker容器映射端口]]></title><link>https://blog.youkuaiyun.com/ght521/article/details/109802517</link><guid>https://blog.youkuaiyun.com/ght521/article/details/109802517</guid><author>ght521</author><pubDate>Thu, 19 Nov 2020 10:08:51 +0800</pubDate><description><![CDATA[修改容器配置文件，重启docker服务

需要注意：该方法需要重启整个docker服务，如果在同一个宿主机上运行着多个容器服务的话，就会影响其他容器服务。

systemctl stop docker

先停止docker服务，此步骤较重要，如果是restart 则修改hostconfig.json配置文件之后，不起作用。

容器的配置文件路径

/var/lib/docker/containers/[hash_of_the_container]/hostconfig.json

其中的hashofthec]]></description><category></category></item><item><title><![CDATA[如何在不重新启动Nginx的情况下使修改生效？或nginx -s reload 不起作用的办法]]></title><link>https://blog.youkuaiyun.com/ght521/article/details/109802315</link><guid>https://blog.youkuaiyun.com/ght521/article/details/109802315</guid><author>ght521</author><pubDate>Thu, 19 Nov 2020 10:03:42 +0800</pubDate><description><![CDATA[nginx支持以下信号


TERM, INT - Quick shutdown

QUIT - Graceful shutdown

HUP - Configuration reload: Start the new worker processes with a new configuration, Gracefully shutdown the old worker processes

USR1 - Reopen the log files

USR2 - Upgrade Executable on]]></description><category></category></item><item><title><![CDATA[base64 字符串转文件流问题]]></title><link>https://blog.youkuaiyun.com/ght521/article/details/109800299</link><guid>https://blog.youkuaiyun.com/ght521/article/details/109800299</guid><author>ght521</author><pubDate>Thu, 19 Nov 2020 09:53:54 +0800</pubDate><description><![CDATA[项目场景：
Oracle clob字段存储base64位图，转为文件流

问题描述：
base64字符串转为输入流时，但是InputStream不是空的，用javax.imageio.ImageIO.read(InputStream)读取输入流时返回了null，也就是下面BufferedImage为空的问题。
String baseStr = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
s]]></description><category></category></item><item><title><![CDATA[iframe click点击事件，此方法已经过验证]]></title><link>https://blog.youkuaiyun.com/ght521/article/details/103344849</link><guid>https://blog.youkuaiyun.com/ght521/article/details/103344849</guid><author>ght521</author><pubDate>Mon, 02 Dec 2019 10:54:54 +0800</pubDate><description><![CDATA[iframe click点击事件
在网上搜索了很多iframe click的事件，发现都不太好使，为了您少走弯路，直接上干货，并记录一下走过的那些坑吧。
给iframe绑定click事件需要等待若干秒后再执行绑定事件才会生效，这里为等待5秒后给iframe绑定单击事件，如果在初始化方法中没有延迟就绑定的话，是绑定不上的，这里没有深究原因，知道的可以留言，废话不多说，上代码：
$(function(...]]></description><category></category></item><item><title><![CDATA[my97 datepicker 自定义事件]]></title><link>https://blog.youkuaiyun.com/ght521/article/details/79031995</link><guid>https://blog.youkuaiyun.com/ght521/article/details/79031995</guid><author>ght521</author><pubDate>Thu, 11 Jan 2018 11:33:26 +0800</pubDate><description><![CDATA[自从My97 DatePicker(WdatePicker)官网不能访问后，有关他的资料个别的少，本资料从伟大的互联网图书馆中找出分享给大家
1.自定义事件
如果你需要做一些附加的操作,你也不必担心,日期控件自带的自定义事件可以满足你的需求.此外,你还可以在自定义事件中调用提供的API库来做更多的运算和扩展,绝对可以通过很少的代码满足你及其个性化的需求.


注意下面几个重要的指针,将对]]></description><category></category></item><item><title><![CDATA[有关javascript图片上传预览有两种方式]]></title><link>https://blog.youkuaiyun.com/ght521/article/details/55506459</link><guid>https://blog.youkuaiyun.com/ght521/article/details/55506459</guid><author>ght521</author><pubDate>Fri, 17 Feb 2017 11:53:07 +0800</pubDate><description><![CDATA[JavaScript图片上传预览的两种方式base64位图，和blob二进制位图。]]></description><category></category></item><item><title><![CDATA[spring MVC多视图配置]]></title><link>https://blog.youkuaiyun.com/ght521/article/details/53215363</link><guid>https://blog.youkuaiyun.com/ght521/article/details/53215363</guid><author>ght521</author><pubDate>Fri, 18 Nov 2016 13:57:29 +0800</pubDate><description><![CDATA[spring MVC多视图配置]]></description><category></category></item><item><title><![CDATA[有关用AJAX发送json数据到后台的问题总结]]></title><link>https://blog.youkuaiyun.com/ght521/article/details/52587687</link><guid>https://blog.youkuaiyun.com/ght521/article/details/52587687</guid><author>ght521</author><pubDate>Mon, 19 Sep 2016 18:18:22 +0800</pubDate><description><![CDATA[有关@RequestBoby报HttpMessageNotReadableException的问题解决办法，有关fastjson解析json时报错的问题，问题描述：com.alibaba.fastjson.JSONException: syntax error, expect {, actual error, pos 0。以及各种解析json时报错的问题。]]></description><category></category></item><item><title><![CDATA[在Windows下配置svn服务端钩子程序(部分)]]></title><link>https://blog.youkuaiyun.com/ght521/article/details/52355778</link><guid>https://blog.youkuaiyun.com/ght521/article/details/52355778</guid><author>ght521</author><pubDate>Mon, 29 Aug 2016 19:40:59 +0800</pubDate><description><![CDATA[windows下svn服务端hooks钩子程序的配置]]></description><category></category></item><item><title><![CDATA[spring中 shiro logout 配置方式]]></title><link>https://blog.youkuaiyun.com/ght521/article/details/52355663</link><guid>https://blog.youkuaiyun.com/ght521/article/details/52355663</guid><author>ght521</author><pubDate>Mon, 29 Aug 2016 19:03:49 +0800</pubDate><description><![CDATA[shiro logout的两种配置方式]]></description><category></category></item></channel></rss>