<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Suiho的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Suiho</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Suiho]]></copyright><item><title><![CDATA[EmotiVoice的安装部署及在python中使用其接口]]></title><link>https://blog.youkuaiyun.com/Suiho/article/details/145846238</link><guid>https://blog.youkuaiyun.com/Suiho/article/details/145846238</guid><author>Suiho</author><pubDate>Tue, 25 Feb 2025 10:50:09 +0800</pubDate><description><![CDATA[本文介绍linux系统安装EmotiVoice服务的流程，及在python代码中调用其接口的使用我是在麒麟v10用docker部署的服务，由于硬盘容量限制第二种本地部署方式没有尝试，有兴趣的朋友可以自行尝试。]]></description><category></category></item><item><title><![CDATA[麒麟linux安装Ekho（余音）]]></title><link>https://blog.youkuaiyun.com/Suiho/article/details/145704362</link><guid>https://blog.youkuaiyun.com/Suiho/article/details/145704362</guid><author>Suiho</author><pubDate>Tue, 18 Feb 2025 14:11:17 +0800</pubDate><description><![CDATA[麒麟linux安装ekho具体教程提示：以下是本篇文章正文内容，下面案例可供参考这样就可以使用了，可以用在python代码中调用命令行执行命令使用ekho，具体的这里就不写了。]]></description><category></category></item><item><title><![CDATA[try...catch导致@Transactional事务无效]]></title><link>https://blog.youkuaiyun.com/Suiho/article/details/145341409</link><guid>https://blog.youkuaiyun.com/Suiho/article/details/145341409</guid><author>Suiho</author><pubDate>Fri, 24 Jan 2025 15:06:19 +0800</pubDate><description><![CDATA[建议把数据库操作都集中在一个方法中，需要的数据作为参数，在方法上加@Transactional注解，能保证事务的一致性，一旦该方法在执行中出现异常，就会立刻回滚事务，防止只修改其中一张表。在添加了@Transactional注解的方法中使用了try-catch代码块捕捉异常，方法内的异常捕捉会覆盖事务对异常的判断，从而异致事务失效而不回滚。第一个方法：给@Transactional注解增加:rollbackFor后并手动抛出指定的异常。第二个方法：在捕捉到异常后手动rollback。]]></description><category></category></item><item><title><![CDATA[subList()引发的ConcurrentModificationException异常]]></title><link>https://blog.youkuaiyun.com/Suiho/article/details/143480145</link><guid>https://blog.youkuaiyun.com/Suiho/article/details/143480145</guid><author>Suiho</author><pubDate>Fri, 24 Jan 2025 13:45:20 +0800</pubDate><description><![CDATA[调试发现在这个方法中偶尔会出现ConcurrentModificationException异常，子集合先引用原集合，引用之后再对原集合进行了操作（改变了原集合的结构），此时操作使用子集合就会出现该异常！将子集合拷贝到新集合中，然后直接操作使用该新集合，不要去引用原集合，除非能保证引用的原集合在引用之后不再操作（改变结构）]]></description><category></category></item></channel></rss>