<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[新入坑的嵌入式的小白]]></title><description><![CDATA[不爱写文档的程序员不是好程序员]]></description><link>https://blog.csdn.net/ohwang</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; ohwang]]></copyright><item><title><![CDATA[Netty性能测试]]></title><link>https://blog.csdn.net/ohwang/article/details/129162696</link><guid>https://blog.csdn.net/ohwang/article/details/129162696</guid><author>ohwang</author><pubDate>Wed, 22 Feb 2023 15:05:11 +0800</pubDate><description><![CDATA[Netty测试]]></description><category></category></item><item><title><![CDATA[并发编程——线程池]]></title><link>https://blog.csdn.net/ohwang/article/details/125347357</link><guid>https://blog.csdn.net/ohwang/article/details/125347357</guid><author>ohwang</author><pubDate>Sat, 18 Jun 2022 15:45:37 +0800</pubDate><description><![CDATA[线程池]]></description><category></category></item><item><title><![CDATA[专题五 Redis高并发场景]]></title><link>https://blog.csdn.net/ohwang/article/details/125261749</link><guid>https://blog.csdn.net/ohwang/article/details/125261749</guid><author>ohwang</author><pubDate>Mon, 13 Jun 2022 16:00:39 +0800</pubDate><description><![CDATA[Redis高并发场景]]></description><category></category></item><item><title><![CDATA[Redis专题4——Redis数据结构对应的底层实现]]></title><link>https://blog.csdn.net/ohwang/article/details/125055734</link><guid>https://blog.csdn.net/ohwang/article/details/125055734</guid><author>ohwang</author><pubDate>Mon, 30 May 2022 22:54:54 +0800</pubDate><description><![CDATA[Redis基础数据结构]]></description><category></category></item><item><title><![CDATA[专题四 Redis分布式锁中——Redission]]></title><link>https://blog.csdn.net/ohwang/article/details/125038268</link><guid>https://blog.csdn.net/ohwang/article/details/125038268</guid><author>ohwang</author><pubDate>Sun, 29 May 2022 23:29:18 +0800</pubDate><description><![CDATA[Redis分布式锁]]></description><category></category></item><item><title><![CDATA[专题三 Redis哨兵高可用架构]]></title><link>https://blog.csdn.net/ohwang/article/details/124944178</link><guid>https://blog.csdn.net/ohwang/article/details/124944178</guid><author>ohwang</author><pubDate>Tue, 24 May 2022 17:24:36 +0800</pubDate><description><![CDATA[专题三、Redis哨兵高可用架构
3.1 哨兵集群
sentinel哨兵是特殊的redis服务，不提供读写服务，主要用来监控redis实例节点。
在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态]]></description><category></category></item><item><title><![CDATA[QT的常用的数据类型]]></title><link>https://blog.csdn.net/ohwang/article/details/124408735</link><guid>https://blog.csdn.net/ohwang/article/details/124408735</guid><author>ohwang</author><pubDate>Mon, 25 Apr 2022 16:47:54 +0800</pubDate><description><![CDATA[QT的基本数据类型]]></description><category></category></item><item><title><![CDATA[Netty中的handler类，通过@Autowired注入的类显示为Null]]></title><link>https://blog.csdn.net/ohwang/article/details/124145678</link><guid>https://blog.csdn.net/ohwang/article/details/124145678</guid><author>ohwang</author><pubDate>Wed, 13 Apr 2022 13:22:55 +0800</pubDate><description><![CDATA[Netty中的handler类，通过@Autowired注入的类显示为Null]]></description><category></category></item><item><title><![CDATA[注解学习与实战（一）]]></title><link>https://blog.csdn.net/ohwang/article/details/123897747</link><guid>https://blog.csdn.net/ohwang/article/details/123897747</guid><author>ohwang</author><pubDate>Fri, 01 Apr 2022 15:10:57 +0800</pubDate><description><![CDATA[注解使用]]></description><category></category></item><item><title><![CDATA[HElib搭建问题]]></title><link>https://blog.csdn.net/ohwang/article/details/123806147</link><guid>https://blog.csdn.net/ohwang/article/details/123806147</guid><author>ohwang</author><pubDate>Mon, 28 Mar 2022 21:07:24 +0800</pubDate><description><![CDATA[HElib搭建问题]]></description><category></category></item><item><title><![CDATA[Explain工具介绍]]></title><link>https://blog.csdn.net/ohwang/article/details/123668304</link><guid>https://blog.csdn.net/ohwang/article/details/123668304</guid><author>ohwang</author><pubDate>Tue, 22 Mar 2022 19:37:46 +0800</pubDate><description><![CDATA[Explain工具介绍
使用EXPLAIN关键字可以模拟优化器执行SQL语句，分析你的查询语句或是结构的性能瓶颈
在 select 语句之前增加 explain 关键字，MySQL 会在查询上设置一个标记，执行查询会返回执行计划的信息，而不是执行这条SQL
注意：如果 from 中包含子查询，仍会执行该子查询，将结果放入临时表中
Explain分析示例
参考官方文档：https://dev.mysql.com/doc/refman/5.7/en/explain-output.html
1 示例表：
DROP]]></description><category></category></item><item><title><![CDATA[mysql专题(二) MySQL主从架构及读写分离实战]]></title><link>https://blog.csdn.net/ohwang/article/details/123623517</link><guid>https://blog.csdn.net/ohwang/article/details/123623517</guid><author>ohwang</author><pubDate>Sun, 20 Mar 2022 22:39:33 +0800</pubDate><description><![CDATA[MySQL主从架构及读写分离实战]]></description><category></category></item><item><title><![CDATA[线程池概念和实例]]></title><link>https://blog.csdn.net/ohwang/article/details/123490865</link><guid>https://blog.csdn.net/ohwang/article/details/123490865</guid><author>ohwang</author><pubDate>Mon, 14 Mar 2022 22:49:57 +0800</pubDate><description><![CDATA[线程池]]></description><category></category></item><item><title><![CDATA[动态代理和静态代理]]></title><link>https://blog.csdn.net/ohwang/article/details/123312449</link><guid>https://blog.csdn.net/ohwang/article/details/123312449</guid><author>ohwang</author><pubDate>Sun, 06 Mar 2022 16:32:18 +0800</pubDate><description><![CDATA[代理模式]]></description><category></category></item><item><title><![CDATA[HTTP/HTTPS高频面试题]]></title><link>https://blog.csdn.net/ohwang/article/details/123122354</link><guid>https://blog.csdn.net/ohwang/article/details/123122354</guid><author>ohwang</author><pubDate>Thu, 24 Feb 2022 22:15:14 +0800</pubDate><description><![CDATA[高频题目：HTTP/HTTPS
1.HTTP协议的缓存策略有哪些？
re: 强制缓存、协商缓存
HTTP协议的缓存策略有两种，分别是强制缓存和协商缓存，强制缓存的优先级大于协商缓存。
强制缓存：强制缓存是服务器告诉浏览器一个缓存时间，在缓存时间内，下次请求，直接用缓存，不在时间内，执行协商缓存策略
协商缓存：协商缓存是让客户端与服务器之间能实现缓存文件是否更新的验证、提升缓存的复用率，将缓存信息中的Etag和Last-Modified字段通过请求发送给服务器，由服务器校验。如果文件没有改变，那么直接返回30]]></description><category></category></item><item><title><![CDATA[QT入门笔记(二)qml设计和引入js]]></title><link>https://blog.csdn.net/ohwang/article/details/123117093</link><guid>https://blog.csdn.net/ohwang/article/details/123117093</guid><author>ohwang</author><pubDate>Thu, 24 Feb 2022 17:39:42 +0800</pubDate><description><![CDATA[qml学习]]></description><category></category></item><item><title><![CDATA[QT入门笔记(一）QT信号和槽]]></title><link>https://blog.csdn.net/ohwang/article/details/123100715</link><guid>https://blog.csdn.net/ohwang/article/details/123100715</guid><author>ohwang</author><pubDate>Wed, 23 Feb 2022 22:16:16 +0800</pubDate><description><![CDATA[QT入门笔记
Qt事件
Qt 事件指的是应用程序和用户之间的交互过程，例如用户按下某个按钮，点击某个输入框等等。实际上除了用户会与应用程序进行交互外，操作系统也会与应用程序进行交互，例如当某个定时任务触发时，操作系统会关闭应用程序，这也是一个事件。
Qt 界面程序的 main() 主函数中首先要创建一个 QApplication 类的对象，函数执行结束前还要调用 QApplication 对象的 exec() 函数。一个 Qt 界面程序要想接收事件，main() 函数中就必须调用 exec() 函数，它的功]]></description><category></category></item><item><title><![CDATA[mysql专题(一)：一条SQL在MySQL中是如何执行的]]></title><link>https://blog.csdn.net/ohwang/article/details/123022735</link><guid>https://blog.csdn.net/ohwang/article/details/123022735</guid><author>ohwang</author><pubDate>Sat, 19 Feb 2022 19:45:41 +0800</pubDate><description><![CDATA[mysql的一条命令执行流程]]></description><category></category></item><item><title><![CDATA[秒杀系统（三）Redis缓存和分布式锁]]></title><link>https://blog.csdn.net/ohwang/article/details/122953122</link><guid>https://blog.csdn.net/ohwang/article/details/122953122</guid><author>ohwang</author><pubDate>Tue, 15 Feb 2022 22:09:20 +0800</pubDate><description><![CDATA[秒杀系统03——多级缓存
缓存：
后台问题描述
访问数据库查询商品信息：
读多写少
前端静态化页面：
上篇通过我们对数据进行静态化，也是有很多问题的，比如我们商品如果过多，freemark模板一定修改之后，我们所有的商品都需要重新再次生产静态化，这个工作量实在是太大了。
引入缓存:
缓存作用:

Redis缓存实战：
加入Redis
/**
     * 获取商品详情信息  加入redis
     *
     * @param id 产品ID
     */
    public PmsProductP]]></description><category></category></item><item><title><![CDATA[深入理解IO模型]]></title><link>https://blog.csdn.net/ohwang/article/details/122937874</link><guid>https://blog.csdn.net/ohwang/article/details/122937874</guid><author>ohwang</author><pubDate>Tue, 15 Feb 2022 10:28:50 +0800</pubDate><description><![CDATA[Netty01——深入理解IO模型与Epoll
IO模型
IO模型就是说用什么样的通道进行数据的发送和接收，Java共支持3种网络编程IO模式：BIO，NIO，AIO
BIO(Blocking IO)
同步阻塞模型，一个客户端连接对应一个处理线程

BIO代码示例：
package com.tuling.bio;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class S]]></description><category></category></item></channel></rss>