<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[福来哥的博客]]></title><description><![CDATA[亲们，能不能在我博客上留个言啊~！]]></description><link>https://blog.youkuaiyun.com/feg545</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; feg545]]></copyright><item><title><![CDATA[Java如何生成指定范围的随机整数？]]></title><link>https://blog.youkuaiyun.com/feg545/article/details/115012188</link><guid>https://blog.youkuaiyun.com/feg545/article/details/115012188</guid><author>feg545</author><pubDate>Fri, 19 Mar 2021 17:44:03 +0800</pubDate><description><![CDATA[Java如何生成指定范围的随机整数？
java1.7之前：
使用java.util.Random类中的nextInt(int bound)方法
返回的随机数范围是0（包含）~bound（不包含）
例如：要生成10(包含）~99（包含）的数字，代码如下：
Random rand = new Random();
int randomNum = rand.nextInt(99 - 10 + 1) + 10; //生成0~89再加10

java1.7及之后：
使用java.util.concurrent.Thre]]></description><category></category></item><item><title><![CDATA[老司机教你Java抽象类和接口的区别]]></title><link>https://blog.youkuaiyun.com/feg545/article/details/115011217</link><guid>https://blog.youkuaiyun.com/feg545/article/details/115011217</guid><author>feg545</author><pubDate>Fri, 19 Mar 2021 17:20:35 +0800</pubDate><description><![CDATA[Java也写了10年多了，先说说个人的感悟吧，想看面试答案直接翻到本文结尾。
个人感悟
​       Java语言本身有许多借鉴C++优点，同时克服C++复杂性的地方，例如接口的发明。C++里面是没有接口的，但是可以定义抽象类，然后支持多重继承。关于多重继承的弊端，可以自行搜索。Gosling为了克服多重继承的弊端，直接限制了Java只能是单根继承，即一个类只能继承一个父类。像这种只有方法没有属性的抽象类，一个类可以支持多个不会有影响，因此单独为它设计一个接口的语法。反观C++、Python这种具有多重继]]></description><category></category></item><item><title><![CDATA[如何区分Java中的基本类型primitive types和引用类型reference types？]]></title><link>https://blog.youkuaiyun.com/feg545/article/details/115004452</link><guid>https://blog.youkuaiyun.com/feg545/article/details/115004452</guid><author>feg545</author><pubDate>Fri, 19 Mar 2021 13:57:19 +0800</pubDate><description><![CDATA[如何区分Java中的基本类型primitive types和引用类型reference types？
在Java虚拟机规范(Java Virtual Machine Specification)中，数据类型分为

基本类型primitive types
引用类型reference types

引用类型又可以分为

class型
数组array型
接口interface型

方法1：区分基本类型和引用类型，有一个简单的规则，就看它能不能赋null值：能，就是引用类型；不能，就是基本类型。例如：

int x]]></description><category></category></item><item><title><![CDATA[Java中的引用类型Reference究竟是什么？]]></title><link>https://blog.youkuaiyun.com/feg545/article/details/115004215</link><guid>https://blog.youkuaiyun.com/feg545/article/details/115004215</guid><author>feg545</author><pubDate>Fri, 19 Mar 2021 13:26:50 +0800</pubDate><description><![CDATA[Java中的引用类型Reference究竟是什么？
当我们在讨论Java中的引用reference ['refrəns]时，实际上包括三个不同的话题：

从数据类型的角度讨论什么是基本类型和引用类型，由此引发的常见问题：

如何区分基本类型primitive types和引用类型reference types？
Java中的基本类型primitive types有哪些？
为什么有空指针异常NullPointerException？如何修复NullPointerException？
什么是值传递pass-by]]></description><category></category></item><item><title><![CDATA[spring-kafka导致spring事务失效的解决办法]]></title><link>https://blog.youkuaiyun.com/feg545/article/details/113742434</link><guid>https://blog.youkuaiyun.com/feg545/article/details/113742434</guid><author>feg545</author><pubDate>Sun, 07 Feb 2021 15:55:04 +0800</pubDate><description><![CDATA[spring-kafka导致spring事务失效的解决办法
spring-boot版本：2.1.16.RELEASE
spring-kafka版本：2.2.14.RELEASE
数据库：mybatis-plus + oracle
发现问题
一个spring-boot工程，已经通过配置spring.kafka.producer.transactionIdPrefix开启KafkaTemplate的executeInTransaction事务功能。因为业务上需要发送kafka消息后同时更新数据库记录状态，结果发]]></description><category></category></item><item><title><![CDATA[使用阿里云和gcr.azk8s.cn镜像安装Kubernetes (K8s)]]></title><link>https://blog.youkuaiyun.com/feg545/article/details/107799983</link><guid>https://blog.youkuaiyun.com/feg545/article/details/107799983</guid><author>feg545</author><pubDate>Tue, 04 Aug 2020 21:21:27 +0800</pubDate><description><![CDATA[使用阿里云和gcr.azk8s.cn镜像安装Kubernetes (K8s)
由于墙的原因，k8s.gcr.io无法从国内访问，因此在安装Kubernetes时需要使用到国内的镜像。本文讲解使用kubeadm进行安装（官网推荐），以下为安装步骤，个人在Ubuntu 16(xenial)系统测试通过
1，安装Docker
参考：Ubuntu 16安装Docker ce版
CentOS 7.6 安装Docker ce版
2，安装kubeadm命令
请根据你的系统版本配置镜像
apt-get update &am]]></description><category></category></item><item><title><![CDATA[Nginx完美代理Portainer]]></title><link>https://blog.youkuaiyun.com/feg545/article/details/107798528</link><guid>https://blog.youkuaiyun.com/feg545/article/details/107798528</guid><author>feg545</author><pubDate>Tue, 04 Aug 2020 20:37:04 +0800</pubDate><description><![CDATA[Nginx完美代理Portainer
背景
微服务项目中用到了Portainer来作为Docker Swarm集群的管理工具。
由于生产环境IT管理员仅允许开放80端口，因此希望可以使用Nginx进行代理，与业务公用一个80端口号
配置
修改/etc/nginx/conf.d/default.conf
# WebSocket
map $http_upgrade $connection_upgrade {
    default upgrade;
    '' close;
}

# 限制客户端文件上传最大大]]></description><category></category></item><item><title><![CDATA[Nginx完美代理Alibaba Nacos]]></title><link>https://blog.youkuaiyun.com/feg545/article/details/107798193</link><guid>https://blog.youkuaiyun.com/feg545/article/details/107798193</guid><author>feg545</author><pubDate>Tue, 04 Aug 2020 20:27:44 +0800</pubDate><description><![CDATA[Nginx完美代理Alibaba Nacos
背景
微服务项目中用到了Alibaba Nacos来作为配置中心和服务注册中心。
在发布微服务应用的时候，需要提前在Nacos中进行配置。
但是生产环境仅开放了80端口，因此希望可以使用Nginx进行代理，与业务公用一个80端口号
配置
修改/etc/nginx/conf.d/default.conf
# WebSocket
map $http_upgrade $connection_upgrade {
    default upgrade;
    '' c]]></description><category></category></item><item><title><![CDATA[MySQL5.7连接数调优]]></title><link>https://blog.youkuaiyun.com/feg545/article/details/107730377</link><guid>https://blog.youkuaiyun.com/feg545/article/details/107730377</guid><author>feg545</author><pubDate>Sat, 01 Aug 2020 14:23:31 +0800</pubDate><description><![CDATA[MySQL5.7连接数调优
环境：
MySQL:5.7
问题描述
MySQL提示连接数太多
解决办法
查看最大连接数
SHOW VARIABLES LIKE "max_connections";

修改最大连接数
SET GLOBAL max_connections = 300;

或修改my.cnf，增加
[mysqld]
max_connections = 300

docker版mysql，可以增加command --max-connections=300：
 mysql:
    image: "m]]></description><category></category></item><item><title><![CDATA[Docker持续集成服务器开启TLS监听]]></title><link>https://blog.youkuaiyun.com/feg545/article/details/107600958</link><guid>https://blog.youkuaiyun.com/feg545/article/details/107600958</guid><author>feg545</author><pubDate>Sun, 26 Jul 2020 22:38:11 +0800</pubDate><description><![CDATA[我们日常使用的docker命令实际上是个客户端，真正的服务端为dockerd守护进程，客户端和服务端之间可以通过http协议进行交互。为了跑持续集成，需要通过远程命令来发布docker镜像。
环境
docker: 19.03.x
系统：centos 7 / ubuntu 16
操作步骤
生成ssl证书过程略，请参考文末的官方文档
systemctl edit docker

按i键进入编辑模式，粘贴以下内容：
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -]]></description><category></category></item><item><title><![CDATA[docker在10.0.0.0/24网段无法开启ingress网络的解决办法]]></title><link>https://blog.youkuaiyun.com/feg545/article/details/107600635</link><guid>https://blog.youkuaiyun.com/feg545/article/details/107600635</guid><author>feg545</author><pubDate>Sun, 26 Jul 2020 22:06:39 +0800</pubDate><description><![CDATA[问题描述
Docker所在的服务器IP地址为10.0.0.2
使用docker swarm init后，发布应用外部访问不到，防火墙已经关闭了，
使用docker network ls 查看网络，发现驱动列为空
解决办法：
docker swarm leave --force
docker swarm init --default-addr-pool 10.10.0.0/16

注意必须是/16, 即后面是2个0, 测试办法：
docker network create -d overlay cloud

]]></description><category></category></item><item><title><![CDATA[Ubuntu 16安装Docker ce版]]></title><link>https://blog.youkuaiyun.com/feg545/article/details/107600478</link><guid>https://blog.youkuaiyun.com/feg545/article/details/107600478</guid><author>feg545</author><pubDate>Sun, 26 Jul 2020 21:58:57 +0800</pubDate><description><![CDATA[环境：ubuntu 16
看官方文档最靠谱
# 安装必要依赖
apt-get install apt-transport-https ca-certificates curl software-properties-common

# 配置阿里源加速
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

# 增加仓库
add-apt-repository "deb [arch=amd64] ]]></description><category></category></item><item><title><![CDATA[CentOS 7.6 安装Docker ce版]]></title><link>https://blog.youkuaiyun.com/feg545/article/details/107600253</link><guid>https://blog.youkuaiyun.com/feg545/article/details/107600253</guid><author>feg545</author><pubDate>Sun, 26 Jul 2020 21:45:44 +0800</pubDate><description><![CDATA[以下命令CentOS7.6测试通过
# 使用阿里源加速安装
curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新缓存
yum makecache
# 安装docker
yum install -y docker-ce
# 设置开机启动
systemctl enable docker
# 查看服务状态
systemctl status docker]]></description><category></category></item><item><title><![CDATA[非root用户执行docker命令]]></title><link>https://blog.youkuaiyun.com/feg545/article/details/107599968</link><guid>https://blog.youkuaiyun.com/feg545/article/details/107599968</guid><author>feg545</author><pubDate>Sun, 26 Jul 2020 21:28:22 +0800</pubDate><description><![CDATA[sudo groupadd docker
sudo usermod -aG docker $USER

$USER 表示当前用户
命令执行成功后需要登出ssh，再重新登入才能生效

]]></description><category></category></item><item><title><![CDATA[mysql客户端基本命令]]></title><link>https://blog.youkuaiyun.com/feg545/article/details/107599781</link><guid>https://blog.youkuaiyun.com/feg545/article/details/107599781</guid><author>feg545</author><pubDate>Sun, 26 Jul 2020 21:17:05 +0800</pubDate><description><![CDATA[登录到MySQL:
mysql -h 主机名 -u 用户名 -p
查看当前所有的数据库：
show databases；
选择（进入） 数据库：
use  数据库名；
查看当前数据库所有的表：
show tables；
查看 某个表的字段结构 ：
desc 表名；
查询表数据：
select * from 表名；
删除数据库：
drop database 数据库名；
删除数据表：
drop table 表名;
删除列：
alter table 表名 drop 列名称;
删除数据：
delete from 表]]></description><category></category></item><item><title><![CDATA[轮询算法（round-robin）]]></title><link>https://blog.youkuaiyun.com/feg545/article/details/107599635</link><guid>https://blog.youkuaiyun.com/feg545/article/details/107599635</guid><author>feg545</author><pubDate>Sun, 26 Jul 2020 21:09:17 +0800</pubDate><description><![CDATA[轮询算法（round-robin）
最简单的轮询算法，是使用一个递增的计数器对数组长度进行取余，例如：
private int index = 0;

String next(String[] array){
    return array[Math.abs(index++ % array.length)];
}

最近在阅读netty源码DefaultEventExecutorChooserFactory类时发现一个有趣的轮询算法，该算法先判定数组长度是否是2的幂，然后使用与(&amp;)操作进行优化。]]></description><category></category></item><item><title><![CDATA[Linux允许Root密码登陆]]></title><link>https://blog.youkuaiyun.com/feg545/article/details/107598966</link><guid>https://blog.youkuaiyun.com/feg545/article/details/107598966</guid><author>feg545</author><pubDate>Sun, 26 Jul 2020 20:27:13 +0800</pubDate><description><![CDATA[直接开启root远程登陆不太安全，所以ssh默认不允许root远程登陆，不过可以进行以下修改：
vi /etc/ssh/sshd_config
# 修改以下内容
PermitRootLogin  yes
PasswordAuthentication yes

适用于centos/ubunt系统

]]></description><category></category></item><item><title><![CDATA[nginx代理nexus实现docker和maven公用端口]]></title><link>https://blog.youkuaiyun.com/feg545/article/details/107595838</link><guid>https://blog.youkuaiyun.com/feg545/article/details/107595838</guid><author>feg545</author><pubDate>Sun, 26 Jul 2020 16:49:07 +0800</pubDate><description><![CDATA[nginx代理nexus实现docker和maven仓库公用端口背景需求原理代码：内网http版代码：内网https版本代码：公网https版本
背景
nginx版本：1.18.0
nexus OSS版本： 3.25.0-03
nexus web 端口：8081
nexus docker-public组http端口：8443
需求
公司使用Nexus作为maven,npm和docker镜像加速服务器；不过Nexus支持docker镜像服务时，需要单独开端口，个人不喜欢这个模式，因此使用Nginx做一层代理，]]></description><category></category></item><item><title><![CDATA[maven pom.xml设置换行符line.separator]]></title><link>https://blog.youkuaiyun.com/feg545/article/details/89493371</link><guid>https://blog.youkuaiyun.com/feg545/article/details/89493371</guid><author>feg545</author><pubDate>Wed, 24 Apr 2019 15:05:33 +0800</pubDate><description><![CDATA[有时在Windows系统上使用某些MavenPlugin时，需要设置换行符风格。

下面的配置可以用于修改java system properties中的line separator


&lt;build&gt;
                &lt;plugins&gt;
                    &lt;!-- for windows, set line.separator ...]]></description><category></category></item><item><title><![CDATA[长安汽车2015款悦翔V7好用的凯立德主程序]]></title><link>https://blog.youkuaiyun.com/feg545/article/details/78950760</link><guid>https://blog.youkuaiyun.com/feg545/article/details/78950760</guid><author>feg545</author><pubDate>Tue, 02 Jan 2018 12:42:15 +0800</pubDate><description><![CDATA[2015款悦翔V7硬件配置：

CPU:ARM11  TCC89X/91X/92X
内存：192MB
系统：WINCE 6.00.3122
分辨率：800*480
GPS端口：  COM1   
速率：4800
SDMMC内置存储：7.3G


博主试用了很多版本的凯立德主程序，包括C1204  C1535  C2939等，GPS定位均有不同程度的延迟。经常在路口应当要转弯了]]></description><category></category></item></channel></rss>