<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[玻璃汽水的博客]]></title><description><![CDATA[始于Java，精于Java，又不止于Java]]></description><link>https://blog.youkuaiyun.com/QQB67G8COM</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; QQB67G8COM]]></copyright><item><title><![CDATA[IDEA编译Maven项目出错]]></title><link>https://blog.youkuaiyun.com/QQB67G8COM/article/details/105611325</link><guid>https://blog.youkuaiyun.com/QQB67G8COM/article/details/105611325</guid><author>QQB67G8COM</author><pubDate>Sun, 19 Apr 2020 10:47:14 +0800</pubDate><description><![CDATA[问题简单描述：IDEA 2020.1版本编译Maven项目错误


Information:java: Errors occurred while compiling module 'demo'

Information:javac 1.8.0_31 was used to compile java sources

Information:2020/4/19 10:20 - Build comp...]]></description><category></category></item><item><title><![CDATA[window10下使用tree工具生成目录结构图]]></title><link>https://blog.youkuaiyun.com/QQB67G8COM/article/details/97573720</link><guid>https://blog.youkuaiyun.com/QQB67G8COM/article/details/97573720</guid><author>QQB67G8COM</author><pubDate>Sat, 27 Jul 2019 23:56:32 +0800</pubDate><description><![CDATA[下载工具：tree-1.5.2.2-bin.zip，下载地址在本人博客的资源下载区，可自取或另谋途径！！
1.将压缩包解压到名为tree的文件夹中

2.将“F:\tree\bin”添加到环境变量中：

3.在当前需要被树化的目录下按住“Shift+鼠标右键”，打开powershell窗口
图一：

图二：


...]]></description><category></category></item><item><title><![CDATA[Window下将.proto文件便以为.Java文件]]></title><link>https://blog.youkuaiyun.com/QQB67G8COM/article/details/95535518</link><guid>https://blog.youkuaiyun.com/QQB67G8COM/article/details/95535518</guid><author>QQB67G8COM</author><pubDate>Thu, 11 Jul 2019 23:33:02 +0800</pubDate><description><![CDATA[源文件person.proto：
syntax = "proto3";
option java_package = "com.ljj";
option java_outer_classname = "PersonModel";

message Person {
    int32 id = 1;
    string name = 2;
    string email = 3;
}

一、下载...]]></description><category></category></item><item><title><![CDATA[ProtoBuf Style Guide(中文版)]]></title><link>https://blog.youkuaiyun.com/QQB67G8COM/article/details/95358214</link><guid>https://blog.youkuaiyun.com/QQB67G8COM/article/details/95358214</guid><author>QQB67G8COM</author><pubDate>Wed, 10 Jul 2019 17:44:11 +0800</pubDate><description><![CDATA[此文档为.proto文件提供了样式指南。通过遵循这些约定，您将使您的协议缓冲区消息定义及其相应的类一致且易于阅读。
请注意，协议缓冲区样式是随着时间的推移而发展的，因此您可能会看到用不同约定或样式编写的.proto文件。修改这些文件时，Please respect the existing style。Consistency is key.。但是，在创建新的.proto文件时，最好采用当前最好的样...]]></description><category></category></item><item><title><![CDATA[ProtoBuf使用指南Java基础篇-Proto3]]></title><link>https://blog.youkuaiyun.com/QQB67G8COM/article/details/95357597</link><guid>https://blog.youkuaiyun.com/QQB67G8COM/article/details/95357597</guid><author>QQB67G8COM</author><pubDate>Wed, 10 Jul 2019 17:40:10 +0800</pubDate><description><![CDATA[文章目录Protocol Buffer Basics: Java  |  Protocol Buffers  |  Google Developers为什么要使用协议缓冲区？示例代码下载定义协议格式编译协议缓冲区(Compiling Your Protocol Buffers)协议缓冲API(The Protocol Buffer API)枚举和嵌套类(Enums and Nested Class...]]></description><category></category></item><item><title><![CDATA[安装Nginx：从源头开始构建Nginx 中文版]]></title><link>https://blog.youkuaiyun.com/QQB67G8COM/article/details/95242956</link><guid>https://blog.youkuaiyun.com/QQB67G8COM/article/details/95242956</guid><author>QQB67G8COM</author><pubDate>Tue, 09 Jul 2019 22:00:30 +0800</pubDate><description><![CDATA[安装Nginx：从源头开始构建Nginx
文章目录安装Nginx：从源头开始构建Nginx@[TOC]```--help	``````--prefix=path``````--conf-path=path``````--error-log-path=path``````--pid-path=path``````--lock-path=path``````--user=name``````--gro...]]></description><category></category></item><item><title><![CDATA[ZooKeeper3.5.5  安装与使用 中文文档]]></title><link>https://blog.youkuaiyun.com/QQB67G8COM/article/details/95041621</link><guid>https://blog.youkuaiyun.com/QQB67G8COM/article/details/95041621</guid><author>QQB67G8COM</author><pubDate>Mon, 08 Jul 2019 00:36:57 +0800</pubDate><description><![CDATA[文章目录2.1.2 Getting Started：一个教程风格的指南，供开发人员安装、运行和编程到ZooKeeper。2.1.2.1 先决条件2.1.2.2 下载2.1.2.3 独立式操作2.1.2.4 Managing ZooKeeper Storage2.1.2.5 Connecting to ZooKeeper2.1.2.6 Programming to ZooKeeper2.1.2.7...]]></description><category></category></item><item><title><![CDATA[ZooKeeper 的设计理念和架构]]></title><link>https://blog.youkuaiyun.com/QQB67G8COM/article/details/95041543</link><guid>https://blog.youkuaiyun.com/QQB67G8COM/article/details/95041543</guid><author>QQB67G8COM</author><pubDate>Mon, 08 Jul 2019 00:31:14 +0800</pubDate><description><![CDATA[文章目录2 ZooKeeper:因为协调分布式系统是一个动物园2.1 ZooKeeper Overview:为客户端开发人员、管理员和贡献者提供的技术概述文档。2.1.1 Overview：ZooKeeper 的鸟瞰图，包括设计理念和建筑。2.1.1.1 设计目标(Design Goals)2.1.1.2 数据模型和层次命名空间(Data model and the hierarchical n...]]></description><category></category></item><item><title><![CDATA[Apache ZooKeeper 官方首页页介绍]]></title><link>https://blog.youkuaiyun.com/QQB67G8COM/article/details/95041484</link><guid>https://blog.youkuaiyun.com/QQB67G8COM/article/details/95041484</guid><author>QQB67G8COM</author><pubDate>Mon, 08 Jul 2019 00:21:49 +0800</pubDate><description><![CDATA[Apache ZooKeeper致力于开发和维护一个支持高度可靠分布式协调的开源服务器。

1.ZooKeeper 是什么？
2 ZooKeeper:因为协调分布式系统是一个动物园
2.1 ZooKeeper Overview:为客户端开发人员、管理员和贡献者提供的技术概述文档。
2.1.1 Overview：ZooKeeper 的鸟瞰图，包括设计理念和建筑。
2.1.2 Getting Sta...]]></description><category></category></item><item><title><![CDATA[Redis5.x 的 README 文档译文]]></title><link>https://blog.youkuaiyun.com/QQB67G8COM/article/details/95032275</link><guid>https://blog.youkuaiyun.com/QQB67G8COM/article/details/95032275</guid><author>QQB67G8COM</author><pubDate>Sun, 07 Jul 2019 21:42:52 +0800</pubDate><description><![CDATA[Redis5.X快速启动文档

注：readme文件中除了c语言的源码部分的文件解释，其他的部分已被本人通读并翻译，请放心食用。

文章目录Redis5.X快速启动文档一.Redis 是什么?二.构建 Redis三.修复依赖项或缓存的生成选项的生成问题四.修复构建32位二进制文件的问题五.Allocator六.详细的构建七.Running Redis八.Redis 的使用九.安装 Redis十.C...]]></description><category></category></item><item><title><![CDATA[Python 之pywifi实例应用]]></title><link>https://blog.youkuaiyun.com/QQB67G8COM/article/details/94363515</link><guid>https://blog.youkuaiyun.com/QQB67G8COM/article/details/94363515</guid><author>QQB67G8COM</author><pubDate>Sun, 30 Jun 2019 23:50:05 +0800</pubDate><description><![CDATA[# -*- coding: utf-8 -*-
import time
from pywifi import const, PyWiFi, Profile

class WiFi(object):
    # 创建对象自动初始化，类似Java的构造函数
    def __init__(self):
        wifi = PyWiFi()                     # 创建一...]]></description><category></category></item><item><title><![CDATA[Window10下Python37和django重量级框架的安装]]></title><link>https://blog.youkuaiyun.com/QQB67G8COM/article/details/94361474</link><guid>https://blog.youkuaiyun.com/QQB67G8COM/article/details/94361474</guid><author>QQB67G8COM</author><pubDate>Sun, 30 Jun 2019 22:50:48 +0800</pubDate><description><![CDATA[Window10下安装python37：
1. 直接双击 python-3.7.3-amd64-webinstall.exe 安装python37就可以了
2. 验证python是否安装成功

Window10下安装django2.1.9：
1. 下载 Django-2.1.9.tar.gz 随便解压到window下的任意目录
2. 进入解压后的django目录中执行命令”python setup...]]></description><category></category></item><item><title><![CDATA[Python 之 pywifi 使用文档]]></title><link>https://blog.youkuaiyun.com/QQB67G8COM/article/details/94360855</link><guid>https://blog.youkuaiyun.com/QQB67G8COM/article/details/94360855</guid><author>QQB67G8COM</author><pubDate>Sun, 30 Jun 2019 22:45:00 +0800</pubDate><description><![CDATA[Pywifi 提供了一个用于操作无线接口的跨平台Python模块。
优点：易于使用 ； 支持 Windows 和Linux
1.Installation：
cd pywifi/
pip install .

Example：
import time
import pywifi
from pywifi import const

wifi = pywifi.PyWiFi()
iface = wifi...]]></description><category></category></item><item><title><![CDATA[CentOS7下完全分布式Hadoop2.8.5极速搭建]]></title><link>https://blog.youkuaiyun.com/QQB67G8COM/article/details/90375949</link><guid>https://blog.youkuaiyun.com/QQB67G8COM/article/details/90375949</guid><author>QQB67G8COM</author><pubDate>Mon, 20 May 2019 15:32:53 +0800</pubDate><description><![CDATA[1. 安装最小化的系统，也就是什么多余的组件都没有，全部需要手动DIY，这样可以最大化保证系统的安全性，CentOS7中早就废弃了ifconfig这一命令来查询网络地址状态，我们可以通过ip addr命令来查询。
2. ip addr查询网络地址状态后发现有两个值，第一个明显是本机服务的inet，第二个并没有inet这个属性值。下一步就是配置网卡，我的为ens33

3. 将onboot的no值改...]]></description><category></category></item><item><title><![CDATA[Marshalling初体验]]></title><link>https://blog.youkuaiyun.com/QQB67G8COM/article/details/90291828</link><guid>https://blog.youkuaiyun.com/QQB67G8COM/article/details/90291828</guid><author>QQB67G8COM</author><pubDate>Fri, 17 May 2019 23:37:43 +0800</pubDate><description><![CDATA[Marshalling在国内现在用的人比较少了，1.3.0版本支持的是Netty5.0的版本，随着Netty5.0被废弃，1.3.0也就没人用了，也不兼容主流的Netty4.X，随后的Marshalling版本也不断的升级，目前为止2.X版本了，但是国内还是没啥人用了，我猜测的原因是现在的开发信息传输跨平台已经成为了刚需，Marshalling本身性能，1.3.0版本在Netty5.0上非常易用，...]]></description><category></category></item><item><title><![CDATA[Netty网络编程-通过POJO序列化进行网络传输]]></title><link>https://blog.youkuaiyun.com/QQB67G8COM/article/details/90291366</link><guid>https://blog.youkuaiyun.com/QQB67G8COM/article/details/90291366</guid><author>QQB67G8COM</author><pubDate>Fri, 17 May 2019 23:37:32 +0800</pubDate><description><![CDATA[通过对POJO进行序列化后通过Netty进行网络传输。
优点：简单，非常简单，Netty内置相关的Object的编码解码的类包，直接调用就完事了
缺点：Java 本身提供序列化的  性能低、占用空间打（数据流大）、没有跨平台
最简单的解决方案：传输JSON
Server：
import io.netty.bootstrap.ServerBootstrap;
import io.netty.chan...]]></description><category></category></item><item><title><![CDATA[Netty网络编程-入门篇（三）-TCP粘包拆包问题]]></title><link>https://blog.youkuaiyun.com/QQB67G8COM/article/details/90268849</link><guid>https://blog.youkuaiyun.com/QQB67G8COM/article/details/90268849</guid><author>QQB67G8COM</author><pubDate>Fri, 17 May 2019 23:37:19 +0800</pubDate><description><![CDATA[TCP粘包、拆包：
TCP是一个“流”协议，所谓流就是没有界限的一串数据。大家可以想象下如果河里的水就好比数据，他们是连成一片的，没有分界线，TCP底层并不了解上层业务数据具体的含义，它会根据TCP缓冲区的实际情况进行包的划分，在业务上，我们一个完整的包可能会被TCP分成多个包进行发送，也可能吧多个小包封装成一个大的数据包发送出去，这就是所谓的粘包、拆包问题。
TCP粘包、拆包发生的原因：
1、应...]]></description><category></category></item><item><title><![CDATA[Netty网络编程-入门篇（二）-TIME协议]]></title><link>https://blog.youkuaiyun.com/QQB67G8COM/article/details/90266509</link><guid>https://blog.youkuaiyun.com/QQB67G8COM/article/details/90266509</guid><author>QQB67G8COM</author><pubDate>Fri, 17 May 2019 23:37:06 +0800</pubDate><description><![CDATA[//代码还是源于官方文档
package netty;

import java.util.Date;

//定义一个数据模型
//2208988800为1900年1月1日00:00:00~1970年1月1日00:00:00的总秒数
public class UnixTime {
    private final long value;

    public UnixTime() {
    ...]]></description><category></category></item><item><title><![CDATA[Netty网络编程-入门篇（一）]]></title><link>https://blog.youkuaiyun.com/QQB67G8COM/article/details/90263730</link><guid>https://blog.youkuaiyun.com/QQB67G8COM/article/details/90263730</guid><author>QQB67G8COM</author><pubDate>Fri, 17 May 2019 23:36:45 +0800</pubDate><description><![CDATA[Netty是一个NIO客户端服务器框架，可以快速轻松地开发协议服务器和客户端等网络应用程序。它极大地简化并简化了TCP和UDP套接字服务器开发等网络编程。
目前版本：4.1.36
支持：
最低Oracle JDK 1.7
支持最新的Maven
JDK 9的用法：
Netty可以在模块化的JDK9应用程序中作为自动模块的集合使用。模块名称遵循反向dns样式，并且由于历史原因派生自子项目名称，而不是根...]]></description><category></category></item><item><title><![CDATA[Disruptor并发框架完全入门]]></title><link>https://blog.youkuaiyun.com/QQB67G8COM/article/details/90085386</link><guid>https://blog.youkuaiyun.com/QQB67G8COM/article/details/90085386</guid><author>QQB67G8COM</author><pubDate>Fri, 10 May 2019 23:06:37 +0800</pubDate><description><![CDATA[版本：3.4.2
前言：Disruptor拥有开飞机般的速度，单线程里每秒处理600w订单，业务逻辑处理器完全是运行在内存中的，是基于事件源驱动的。Disruptor作为一个高性能的异步处理框架，其为啥这么快？这也是我为啥尝试去学习它的原因。
Disruptor的使用
1. 建立一个Event类来承载数据，通过事件绑定数据的方式进行数据传递（在Disruptor中可以看作Event就是Data）
...]]></description><category></category></item></channel></rss>