<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ZHOU020710的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ZHOU020710</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ZHOU020710]]></copyright><item><title><![CDATA[单例模式——懒汉式/饿汉式]]></title><link>https://blog.youkuaiyun.com/ZHOU020710/article/details/119358302</link><guid>https://blog.youkuaiyun.com/ZHOU020710/article/details/119358302</guid><author>ZHOU020710</author><pubDate>Tue, 03 Aug 2021 20:29:15 +0800</pubDate><description><![CDATA[单例模式（Singleton Pattern）是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式，它提供了一种创建对象的最佳方式。
`
这种模式涉及到一个单一的类，该类负责创建自己的对象，同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式，可以直接访问，不需要实例化该类的对象。

1、单例类只能有一个实例。
2、单例类必须自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。

饿汉式


/**
 * 优点：没有加锁，执行效率会提高。
 * 缺点：类加载.]]></description><category></category></item><item><title><![CDATA[各种锁说明及代码使用]]></title><link>https://blog.youkuaiyun.com/ZHOU020710/article/details/119213700</link><guid>https://blog.youkuaiyun.com/ZHOU020710/article/details/119213700</guid><author>ZHOU020710</author><pubDate>Thu, 29 Jul 2021 16:15:03 +0800</pubDate><description><![CDATA[公平锁、非公平锁：


/**
 * 公平锁、非公平锁
 * 公平锁：非常公平，不能够插队，必须先来后到
 * 非公平锁：非常不公平，可以插队（默认都是非公平锁）
 */

ReentrantLock类源代码
ReentrantLock() 空参构造器自动创建非公平锁 new NonfairSync()
如果有参数则判断是否创建公平锁 sync = fair ? new FairSync() : new NonfairSync()

public ReentrantLock() {
    sync = .]]></description><category></category></item><item><title><![CDATA[安全锁实现生产者与消费者案例]]></title><link>https://blog.youkuaiyun.com/ZHOU020710/article/details/119212947</link><guid>https://blog.youkuaiyun.com/ZHOU020710/article/details/119212947</guid><author>ZHOU020710</author><pubDate>Thu, 29 Jul 2021 15:46:13 +0800</pubDate><description><![CDATA[public class SafetyLock {

    public static void main(String[] args) {

        Data data = new Data();

        new Thread(() -&gt; {

            for (int i = 0; i &lt; 10; i++) {
                try {
                    data.increment();
            .]]></description><category></category></item><item><title><![CDATA[队列之四组API简单使用]]></title><link>https://blog.youkuaiyun.com/ZHOU020710/article/details/119212583</link><guid>https://blog.youkuaiyun.com/ZHOU020710/article/details/119212583</guid><author>ZHOU020710</author><pubDate>Thu, 29 Jul 2021 15:35:59 +0800</pubDate><description><![CDATA[抛出异常：


/**
 * 抛出异常
 * 添加移除的操作 超出queue构造参数的数量 则会抛出异常
 * 如：
 * ArrayBlockingQueue&lt;&gt;(3) 数量为3
 * 1、queue.add("a") 添加超过数量     java.lang.IllegalStateException
 * 2、queue.remove() 移出超过数量     java.util.NoSuchElementException
 * 3、检测队首找不到                  j.]]></description><category></category></item><item><title><![CDATA[java.util.ConcurrentModificationException异常]]></title><link>https://blog.youkuaiyun.com/ZHOU020710/article/details/119151959</link><guid>https://blog.youkuaiyun.com/ZHOU020710/article/details/119151959</guid><author>ZHOU020710</author><pubDate>Tue, 27 Jul 2021 19:55:50 +0800</pubDate><description><![CDATA[java.util.ConcurrentModificationException 集合不安全导致
并发操作集合产生的异常，使用安全的集合即可解决，安全集合如下；


List：


List list = new Vector&lt;&gt;();
List list = new CopyOnWriteArrayList();
List list = Collections.synchronizedList(new ArrayList&lt;&gt;());


Set:


Set set = new.]]></description><category></category></item><item><title><![CDATA[Maven的POM文件变成灰色解决办法—BUG]]></title><link>https://blog.youkuaiyun.com/ZHOU020710/article/details/119151702</link><guid>https://blog.youkuaiyun.com/ZHOU020710/article/details/119151702</guid><author>ZHOU020710</author><pubDate>Tue, 27 Jul 2021 19:46:36 +0800</pubDate><description><![CDATA[如果在开发遇见Maven的POM文件变成了灰色而且还有一个删除线如下图；



直接上解决办法；





]]></description><category></category></item><item><title><![CDATA[JVM 双亲委派机制]]></title><link>https://blog.youkuaiyun.com/ZHOU020710/article/details/118397579</link><guid>https://blog.youkuaiyun.com/ZHOU020710/article/details/118397579</guid><author>ZHOU020710</author><pubDate>Fri, 02 Jul 2021 11:16:38 +0800</pubDate><description><![CDATA[简述

Java虚拟机对class文件采用的是按需加载的方式，也就是说当需要使用该类时才会将它的class文件加载到内存生成class对象。而且加载某个类的class文件时，Java虚拟机采用的是双亲委派模式，即把请求交由父类处理，它是一种任务委派模式。

工作原理



如果一个类加载器收到了类加载请求，它并不会自己先去加载，而是把这个请求委托给父类的加载器去执行；
如果父类加载器还存在其父类加载器，则进一步向上委托，依次递归，请求最终将到达顶层的启动类加载器；
如果父类加载器可以完成类加载任务，就成功.]]></description><category></category></item><item><title><![CDATA[Sentinel安装（Windows版本）]]></title><link>https://blog.youkuaiyun.com/ZHOU020710/article/details/118396756</link><guid>https://blog.youkuaiyun.com/ZHOU020710/article/details/118396756</guid><author>ZHOU020710</author><pubDate>Thu, 01 Jul 2021 20:25:11 +0800</pubDate><description><![CDATA[本篇文章以 1.7.0 为例

→ 点击此处前往下载地址 ←

下载到本地



运行 ( cmd )




运行sentinel ( java -jar sentinel-dashboard-1.7.0.jar )



测试





默认账号密码都是 sentinel


]]></description><category></category></item><item><title><![CDATA[今天从网上摘的Java学习路线（仅供参考）]]></title><link>https://blog.youkuaiyun.com/ZHOU020710/article/details/118378975</link><guid>https://blog.youkuaiyun.com/ZHOU020710/article/details/118378975</guid><author>ZHOU020710</author><pubDate>Thu, 01 Jul 2021 09:23:47 +0800</pubDate><description><![CDATA[本篇文章就是为了一些对Java保持热衷的人，并且没有目标学习的人，仅供参考


我自己画了个图可以参考一下



如果是在上大学或者正准备上大学的人，有喜欢Java语言的可以看一下


大学生：四年；
大一、大二，学习基础技能，学扎实；
大三了解公司、了解面试、勤刷题；大三暑假：找实习找工作；
大四毕业、交朋友、熟悉公司、经历社会；


在这里祝大家都能找个好工作；


...]]></description><category></category></item><item><title><![CDATA[Docker常用命令（详细版）]]></title><link>https://blog.youkuaiyun.com/ZHOU020710/article/details/118361659</link><guid>https://blog.youkuaiyun.com/ZHOU020710/article/details/118361659</guid><author>ZHOU020710</author><pubDate>Wed, 30 Jun 2021 17:10:51 +0800</pubDate><description><![CDATA[Docker常用命令

帮助命令


#查看 docker 版本信息
docker version

#查看 docker 系统信息
docker info

#查看 docker 所有命令
docker --help



镜像命令


docker images #查看所有本地的主机上的镜像
REPOSITORY			TAG		    	IMAGE ID			CREATED				SIZE
hello				latest			ba4inx3gs1			4 months			13.3kB
#解释
REPO]]></description><category></category></item><item><title><![CDATA[Docker安装]]></title><link>https://blog.youkuaiyun.com/ZHOU020710/article/details/118360216</link><guid>https://blog.youkuaiyun.com/ZHOU020710/article/details/118360216</guid><author>ZHOU020710</author><pubDate>Wed, 30 Jun 2021 14:40:39 +0800</pubDate><description><![CDATA[安装docker


卸载旧版本


yum remove docker \
					docker-client \
					docker-client-latest \
					docker-common \
					docker-latest \
					docker-latest-logrotate \
					docker-logrotate \
					dock-engine



需要的安装包


yum install -y yum-utils



设置镜像的仓库


默认国.]]></description><category></category></item><item><title><![CDATA[Springboot整合ElasticSearch，实现京东搜索功能]]></title><link>https://blog.youkuaiyun.com/ZHOU020710/article/details/118311536</link><guid>https://blog.youkuaiyun.com/ZHOU020710/article/details/118311536</guid><author>ZHOU020710</author><pubDate>Mon, 28 Jun 2021 20:53:40 +0800</pubDate><description><![CDATA[源码在我的资源里名称是（Springboot整合ElasticSearch，实现京东搜索功能）
目录结构



POM


&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://mave.]]></description><category></category></item><item><title><![CDATA[ElasticSearch：Rest风格增删改查，简单、复杂搜索]]></title><link>https://blog.youkuaiyun.com/ZHOU020710/article/details/118310111</link><guid>https://blog.youkuaiyun.com/ZHOU020710/article/details/118310111</guid><author>ZHOU020710</author><pubDate>Mon, 28 Jun 2021 20:13:44 +0800</pubDate><description><![CDATA[基本命令说明

方法               url地址						            描述
===================================================================================
PUT               /索引名称/类型名称/文档id			        创建文档（指定文档id）
----------------------------------------------------------------]]></description><category></category></item><item><title><![CDATA[java代码生成器，生成controller、service、mapper、entity 层，只需要六步]]></title><link>https://blog.youkuaiyun.com/ZHOU020710/article/details/117966295</link><guid>https://blog.youkuaiyun.com/ZHOU020710/article/details/117966295</guid><author>ZHOU020710</author><pubDate>Wed, 16 Jun 2021 20:41:13 +0800</pubDate><description><![CDATA[通过数据库表名创建  controller、service、mapper、entity 层。


package test;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus..]]></description><category></category></item><item><title><![CDATA[Java线程池的创建及其他知识]]></title><link>https://blog.youkuaiyun.com/ZHOU020710/article/details/117740625</link><guid>https://blog.youkuaiyun.com/ZHOU020710/article/details/117740625</guid><author>ZHOU020710</author><pubDate>Wed, 09 Jun 2021 14:29:36 +0800</pubDate><description><![CDATA[Java线程池的三大方法、七大参数、四种拒绝策略

三大方法：


//用于创建线程（不安全）
ExecutorService executor = Executors.newSingleThreadExecutor();   //单个线程
ExecutorService executor = Executors.newFixedThreadPool(5);       //固定数量
ExecutorService executor = Executors.newCachedThreadPool();   ]]></description><category></category></item><item><title><![CDATA[Redis基本操作数据命令]]></title><link>https://blog.youkuaiyun.com/ZHOU020710/article/details/117555577</link><guid>https://blog.youkuaiyun.com/ZHOU020710/article/details/117555577</guid><author>ZHOU020710</author><pubDate>Fri, 04 Jun 2021 12:03:06 +0800</pubDate><description><![CDATA[key


keys * 获取所有的key
select 0 选择第一个库
move myString 1 将当前的数据库key移动到某个数据库,目标库有，则不能移动
flush db      清除指定库
randomkey     随机key
type key      类型
set key1 value1 设置key
get key1    获取key
mset key1 value1 key2 value2 key3 value3 设置多个key
mget key1 key2 key3 获取多个k.]]></description><category></category></item><item><title><![CDATA[Linux下操作Nginx常用命令]]></title><link>https://blog.youkuaiyun.com/ZHOU020710/article/details/117450150</link><guid>https://blog.youkuaiyun.com/ZHOU020710/article/details/117450150</guid><author>ZHOU020710</author><pubDate>Tue, 01 Jun 2021 19:35:45 +0800</pubDate><description><![CDATA[Nginx常用命令

进入到nginx安装目录的 sbin 目录下
启动 Nginx

./nginx


停止 Nginx

./nginx -s stop


安全退出 Nginx

./nginx -s quit


重新加载 Nginx 配置文件

./nginx -s reload


查看 Nginx 进程

ps aux|grep nginx



]]></description><category></category></item><item><title><![CDATA[Linux下安装Redis]]></title><link>https://blog.youkuaiyun.com/ZHOU020710/article/details/117420158</link><guid>https://blog.youkuaiyun.com/ZHOU020710/article/details/117420158</guid><author>ZHOU020710</author><pubDate>Mon, 31 May 2021 17:03:46 +0800</pubDate><description><![CDATA[本篇文章基于linux下安装

下载地址：https://redis.io/download


下载安装包 redis-6.2.3.tar.gz


解压 Redis 的安装包

tar -zxvf redis-6.2.3.tar.gz




进入解压后的文件、可以看到我们redis的配置



基本的环境安装

yum install gcc-c++

make

make install




Redis默认不是后台运行的，修改配置文件（使用 vim 编辑的 所以不展示很详细了）
更改此处为 y.]]></description><category></category></item><item><title><![CDATA[Windows下安装 Redis]]></title><link>https://blog.youkuaiyun.com/ZHOU020710/article/details/117416938</link><guid>https://blog.youkuaiyun.com/ZHOU020710/article/details/117416938</guid><author>ZHOU020710</author><pubDate>Mon, 31 May 2021 15:27:49 +0800</pubDate><description><![CDATA[本文章是基于windows安装



下载地址：https://github.com/tporadowski/redis/releases


下载完成



解压到自己的环境目录下



开启Redis ，双击 redis-server.exe 即可



使用redis客户端来连接redis ， 运行 redis-cli.exe 即可




windows下安装小cass，但是推荐使用linux开发使用！！！



...]]></description><category></category></item><item><title><![CDATA[Nacos下载安装 （Windows版）]]></title><link>https://blog.youkuaiyun.com/ZHOU020710/article/details/117352182</link><guid>https://blog.youkuaiyun.com/ZHOU020710/article/details/117352182</guid><author>ZHOU020710</author><pubDate>Fri, 28 May 2021 09:47:38 +0800</pubDate><description><![CDATA[Nacos

学习文档 ：地址
下载 ：地址

下载好压缩包之后：

解压安装包，直接运行bin目录下的startup.cmd
命令运行成功后直接访问http://localhost:8848/nacos
默认账号密码都是nacos
成功页面


注意：

本篇只是操作简单的安装及运行
本人推荐官方文档的学习方式


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