<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zqhao的博客]]></title><description><![CDATA[一切都靠积累]]></description><link>https://blog.youkuaiyun.com/hzygcs</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hzygcs]]></copyright><item><title><![CDATA[一文带你了解云原生]]></title><link>https://blog.youkuaiyun.com/hzygcs/article/details/108593612</link><guid>https://blog.youkuaiyun.com/hzygcs/article/details/108593612</guid><author>hzygcs</author><pubDate>Tue, 15 Sep 2020 10:04:13 +0800</pubDate><description><![CDATA[文章转载于百度百家号：AI课工场

自进入云计算时代后，大量的新概念、新技术如雨后春笋般的涌现出来，从早期的openstack、IAAS平台，到中期的容器技术、微服务架构，再到现在的servicemesh服务网格技术、serverless无服务器架构、云原生技术，可谓在云计算的时代，我们从未停下前进的步伐。而今天要给大家带来的便是云原生技术～
那么什么是云原生呢？我们将名词拆成两部分—云、原生，这些是相对于本地应用来的，云是相对于本地而言的，传统的应用都是运行在本地机房的服务器上，而云的应用则是运行在云端.]]></description><category></category></item><item><title><![CDATA[grpc-java入门实例]]></title><link>https://blog.youkuaiyun.com/hzygcs/article/details/104729274</link><guid>https://blog.youkuaiyun.com/hzygcs/article/details/104729274</guid><author>hzygcs</author><pubDate>Sun, 08 Mar 2020 13:21:07 +0800</pubDate><description><![CDATA[本文主要介绍如何在Intellij IDEA环境下，快速搭建出grpc-java的入门实例。这个入门实例是一个HelloWorld程序，客户端发送world到服务端，服务端接收到请求后，拼装成	Hello,world回。
环境配置
JDK1.8
Maven 3.6
Intellij IDEA
创建一个Project
使用Maven自带的maven-archetype-webapp原型创建一个web...]]></description><category></category></item><item><title><![CDATA[CGI介绍]]></title><link>https://blog.youkuaiyun.com/hzygcs/article/details/103778803</link><guid>https://blog.youkuaiyun.com/hzygcs/article/details/103778803</guid><author>hzygcs</author><pubDate>Tue, 31 Dec 2019 10:46:56 +0800</pubDate><description><![CDATA[本文主要介绍CGI的相关知识
概念、背景及架构
CGI（Common Gateway Interface），即通用网关接口，是WWW技术中最重要的技术之一，是外部应用程序（即CGI程序）与WEB服务器之间的接口标准，负责在CGI程序和Web服务器之间传递信息。CGI是Web服务器运行时，调用外部应用程序（即CGI程序）的规范，CGI规范允许Web服务器执行外部程序，并将它们的输出发送给Web浏览器...]]></description><category></category></item><item><title><![CDATA[The expression 'XXX' evaluated to a null value.]]></title><link>https://blog.youkuaiyun.com/hzygcs/article/details/103419788</link><guid>https://blog.youkuaiyun.com/hzygcs/article/details/103419788</guid><author>hzygcs</author><pubDate>Fri, 06 Dec 2019 14:49:39 +0800</pubDate><description><![CDATA[最近遇到了一个关于mybatis的问题，是使用foreach时导致的问题。报错提示：‘The expression ‘XXX’ evaluated to a null value…’。解决问题的同时也发现了对知识点的一知半解，平时只是用，并没有对知识点进行细究。

常见的foreach样式
&lt;foreach item="item" index="index" collection="list...]]></description><category></category></item><item><title><![CDATA[MySQLTransactionRollbackException: Deadlock found when trying to get lock]]></title><link>https://blog.youkuaiyun.com/hzygcs/article/details/103315706</link><guid>https://blog.youkuaiyun.com/hzygcs/article/details/103315706</guid><author>hzygcs</author><pubDate>Fri, 29 Nov 2019 18:31:26 +0800</pubDate><description><![CDATA[MySQL数据库下，在对同一个数据表进行大批量更新时遇到该异常：
### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction; SQL []; Deadlock foun...]]></description><category></category></item><item><title><![CDATA[java.lang.ClassCastException: com.sun.proxy.$Proxy32 cannot be cast to XX]]></title><link>https://blog.youkuaiyun.com/hzygcs/article/details/103315231</link><guid>https://blog.youkuaiyun.com/hzygcs/article/details/103315231</guid><author>hzygcs</author><pubDate>Fri, 29 Nov 2019 18:03:21 +0800</pubDate><description><![CDATA[最近在给业务代码写单元测试，因为事务生效的问题，使用到了ApplicationContextAware接口，通过applicationContext来获取Spring容器中的Bean，但是在运行单测的时候报出如下异常：
java.lang.ClassCastException: com.sun.proxy.$Proxy32 cannot be cast to XX

很是奇怪，之前从没遇到过，而且...]]></description><category></category></item><item><title><![CDATA[javax.validation.UnexpectedTypeException: No validator could be found for type: java.lang.Double]]></title><link>https://blog.youkuaiyun.com/hzygcs/article/details/103315052</link><guid>https://blog.youkuaiyun.com/hzygcs/article/details/103315052</guid><author>hzygcs</author><pubDate>Fri, 29 Nov 2019 17:36:54 +0800</pubDate><description><![CDATA[在使用Hibernate-Validation做数据验证时，碰到了该异常:
Exception in thread "main" javax.validation.UnexpectedTypeException: No validator could be found for type: java.lang.Double
	at org.hibernate.validator.engine.Con...]]></description><category></category></item><item><title><![CDATA[Mapped Statements collection does not contain value for XXX]]></title><link>https://blog.youkuaiyun.com/hzygcs/article/details/103272070</link><guid>https://blog.youkuaiyun.com/hzygcs/article/details/103272070</guid><author>hzygcs</author><pubDate>Wed, 27 Nov 2019 11:30:20 +0800</pubDate><description><![CDATA[这个错误是因为Mybatis中*mapper.xml文件映射问题导致的，可以从以下几个方面进行排查：

1、配置中是否正确引入了对应的mapper文件
2、mapper文件是否被编译到正确的路径下
3、映射文件名称与接口的类名称是否一致（根据配置来定，不是必须）
4、mapper文件里的命名空间配置是否正确
5、接口里声明的方法在mapper中是否有对应的id值与其对应
6、mapper文件方法的...]]></description><category></category></item><item><title><![CDATA[please execute the cleanup command]]></title><link>https://blog.youkuaiyun.com/hzygcs/article/details/96014601</link><guid>https://blog.youkuaiyun.com/hzygcs/article/details/96014601</guid><author>hzygcs</author><pubDate>Mon, 15 Jul 2019 20:43:34 +0800</pubDate><description><![CDATA[原因：
SVN操作冲突，因之前某个操作未释放，导致后续的操作无法执行。
解决方案：
方案一：
使用命令行在进入项目根目录下，执行svn cleanup命令。如果控制台中报异常信息，我这里是另一个程序正在使用此文件，进程无法访问，则说明之前的某个操作未释放，请查看方案二。
方案二：
一、下载sqlite3工具
二、将sqlite3.exe文件解压缩到.svn目录的同级目录
三、打开命令行工具，切换到...]]></description><category></category></item><item><title><![CDATA[BigDecimal.ROUND_的各种用法]]></title><link>https://blog.youkuaiyun.com/hzygcs/article/details/94553348</link><guid>https://blog.youkuaiyun.com/hzygcs/article/details/94553348</guid><author>hzygcs</author><pubDate>Wed, 03 Jul 2019 10:46:39 +0800</pubDate><description><![CDATA[在银行、帐户、计费等领域，BigDecimal提供了精确的数值计算。其中8种舍入方式值得掌握。
1、ROUND_UP
舍入远离零的舍入模式。
在丢弃非零部分之前始终增加数字(始终对非零舍弃部分前面的数字加1)。
注意，此舍入模式始终不会减少计算值的大小。
2、ROUND_DOWN
接近零的舍入模式。
在丢弃某部分之前始终不增加数字(从不对舍弃部分前面的数字加1，即截短)。
注意，此舍入模式始终不会...]]></description><category></category></item><item><title><![CDATA[Redis Cluster集群伸缩]]></title><link>https://blog.youkuaiyun.com/hzygcs/article/details/90768317</link><guid>https://blog.youkuaiyun.com/hzygcs/article/details/90768317</guid><author>hzygcs</author><pubDate>Thu, 06 Jun 2019 16:29:26 +0800</pubDate><description><![CDATA[本文基于redis-5.0.3版本，环境为Mac OS，单机器上部署。
在Redis高可用集群之rediscluster文章中介绍了Redis Cluster集群的两种搭建方式，本篇文章来讲述下集群的伸缩问题。
集群扩容
第一步：准备新节点
第二步：加入集群
第三步：迁移槽和数据
集群缩容
第一步：迁移槽和数据
第二步：下线节点
故障转移

------------本文结束感谢您的阅读------...]]></description><category></category></item><item><title><![CDATA[Redis高可用集群之rediscluster]]></title><link>https://blog.youkuaiyun.com/hzygcs/article/details/90371244</link><guid>https://blog.youkuaiyun.com/hzygcs/article/details/90371244</guid><author>hzygcs</author><pubDate>Fri, 31 May 2019 16:58:08 +0800</pubDate><description><![CDATA[------------本文结束感谢您的阅读------------

]]></description><category></category></item><item><title><![CDATA[Mac下使用终端查看用户进程]]></title><link>https://blog.youkuaiyun.com/hzygcs/article/details/90713003</link><guid>https://blog.youkuaiyun.com/hzygcs/article/details/90713003</guid><author>hzygcs</author><pubDate>Fri, 31 May 2019 11:49:09 +0800</pubDate><description><![CDATA[最近在研究Redis集群，需要使用终端查看进程情况。当使用ps -ef|grep redis命令时，发现无进程显示，然而redis确实已经启动起来了,在活动监视器里也能看到进程。在网上搜索无果后，于是尝试着分析下吧！
使用ps -ef命令查出所有线程，仔细排查过后发现基本都是/System/Library/开头的系统进程，当前用户启动的线程竟然没有。

然后又使用lsof -i tcp:port命...]]></description><category></category></item><item><title><![CDATA[Redis主从复制与哨兵模式]]></title><link>https://blog.youkuaiyun.com/hzygcs/article/details/89914041</link><guid>https://blog.youkuaiyun.com/hzygcs/article/details/89914041</guid><author>hzygcs</author><pubDate>Tue, 07 May 2019 17:30:20 +0800</pubDate><description><![CDATA[本文基于redis-5.0.3版本，环境为Mac OS，单机器上部署。
Redis单机存在的问题

单机故障
容量瓶颈
QPS瓶颈

Redis主从复制
主机数据更新后根据配置和策略，自动同步到备机的master/slaver机制，mester以写为主，slaver以读为主。
配置原则

1.配从不配主。
2.使用命令SLAVEOF动态指定主从关系，如果设置了密码，关联后使用 config set...]]></description><category></category></item><item><title><![CDATA[Executor框架]]></title><link>https://blog.youkuaiyun.com/hzygcs/article/details/88863309</link><guid>https://blog.youkuaiyun.com/hzygcs/article/details/88863309</guid><author>hzygcs</author><pubDate>Mon, 06 May 2019 15:32:07 +0800</pubDate><description><![CDATA[------------本文结束感谢您的阅读------------

]]></description><category></category></item><item><title><![CDATA[Java中的线程池]]></title><link>https://blog.youkuaiyun.com/hzygcs/article/details/89491228</link><guid>https://blog.youkuaiyun.com/hzygcs/article/details/89491228</guid><author>hzygcs</author><pubDate>Thu, 25 Apr 2019 09:15:29 +0800</pubDate><description><![CDATA[Java中的线程池是运用场景最多的并发框架，几乎所有需要异步或并发执行任务的程序都可以使用线程池。合理使用线程池的好处：

降低资源消耗： 通过重复利用已创建的线程降低线程创建和销毁所处造成的消耗。
提高响应速度： 当任务到达时，任务可以不需要等待线程的创建就能立即执行。
提高线程的可管理性： 使用线程池可以进行统一分配、调优和监控。

线程池的处理流程

线程池判断核心线程池里的线程是否都在执行...]]></description><category></category></item><item><title><![CDATA[Java中的Lock与AQS]]></title><link>https://blog.youkuaiyun.com/hzygcs/article/details/88863447</link><guid>https://blog.youkuaiyun.com/hzygcs/article/details/88863447</guid><author>hzygcs</author><pubDate>Mon, 01 Apr 2019 12:37:24 +0800</pubDate><description><![CDATA[------------本文结束感谢您的阅读------------

]]></description><category></category></item><item><title><![CDATA[CAS的实现原理]]></title><link>https://blog.youkuaiyun.com/hzygcs/article/details/88863279</link><guid>https://blog.youkuaiyun.com/hzygcs/article/details/88863279</guid><author>hzygcs</author><pubDate>Fri, 29 Mar 2019 16:52:26 +0800</pubDate><description><![CDATA[------------本文结束感谢您的阅读------------

]]></description><category></category></item><item><title><![CDATA[volatile的实现原理与应用]]></title><link>https://blog.youkuaiyun.com/hzygcs/article/details/88752922</link><guid>https://blog.youkuaiyun.com/hzygcs/article/details/88752922</guid><author>hzygcs</author><pubDate>Fri, 29 Mar 2019 14:54:04 +0800</pubDate><description><![CDATA[------------本文结束感谢您的阅读------------

]]></description><category></category></item><item><title><![CDATA[synchronized实现原理与应用]]></title><link>https://blog.youkuaiyun.com/hzygcs/article/details/88863173</link><guid>https://blog.youkuaiyun.com/hzygcs/article/details/88863173</guid><author>hzygcs</author><pubDate>Thu, 28 Mar 2019 17:35:46 +0800</pubDate><description><![CDATA[------------本文结束感谢您的阅读------------

]]></description><category></category></item></channel></rss>