<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[一树的花开]]></title><description><![CDATA[相信你所相信的,并为之而不懈努力.]]></description><link>https://blog.youkuaiyun.com/Cug_wangww</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Cug_wangww]]></copyright><item><title><![CDATA[SpringBoot项目集成SpringRetry进行接口重试]]></title><link>https://blog.youkuaiyun.com/Cug_wangww/article/details/109955043</link><guid>https://blog.youkuaiyun.com/Cug_wangww/article/details/109955043</guid><author>Cug_wangww</author><pubDate>Mon, 30 Nov 2020 16:49:13 +0800</pubDate><description><![CDATA[为什么要做接口重试?
业务系统服务调用第三方系统的接口，以及第三方系统调用业务系统的服务时,当出现网络异常或超时导致的失败，需要进行重试,确保接口的可靠性

重试机制：

不允许重试：只允许调用重试回调一次
不限次数重试：允许无限重试，直到成功，此方式逻辑不当会导致死循环
固定次数重试：默认重试最大次数为3次，默认使用的策略
超时时间重试策略：默认超时时间为1秒，在指定的超时时间内允许重试
异常重试：针对不同异常的设置不同的重试策略，类似组合重试策略

最佳实践–SpringRetry

添加依赖

		&]]></description><category></category></item><item><title><![CDATA[Java线程池的使用]]></title><link>https://blog.youkuaiyun.com/Cug_wangww/article/details/107139439</link><guid>https://blog.youkuaiyun.com/Cug_wangww/article/details/107139439</guid><author>Cug_wangww</author><pubDate>Sun, 05 Jul 2020 17:17:11 +0800</pubDate><description><![CDATA[为什么要使用线程池？
线程的创建需要开辟虚拟机栈，本地方法栈、程序计数器等线程私有的内存空间。在线程的销毁时需要回收这些系统资源，频繁的创建和销毁线程会浪费大量的系统资源。

如何创建线程池？
《阿里巴巴Java开发手册》中强制线程不允许使用Executors显示创建线程，而是使用TreadPoolExecutor的方式，这种创建方式会明确线程池的运行规则，避免资源耗尽的风险。


TreadPoolExecutor 一共有四个构造方法，参数最多的方法有7个参数。





    public Threa]]></description><category></category></item><item><title><![CDATA[上传本地项目至远程仓库]]></title><link>https://blog.youkuaiyun.com/Cug_wangww/article/details/106942937</link><guid>https://blog.youkuaiyun.com/Cug_wangww/article/details/106942937</guid><author>Cug_wangww</author><pubDate>Wed, 24 Jun 2020 14:13:33 +0800</pubDate><description><![CDATA[Command line instructions

Git global setup
git config --global user.name "aaa"
git config --global user.email "aaa7@iflytek.com"

Create a new repository
git clone git@git.xxx.com:XXX/xxx.git
cd znyj-server
touch README.md
git add README.md
git commit -m ]]></description><category></category></item><item><title><![CDATA[Redis学习笔记(一)]]></title><link>https://blog.youkuaiyun.com/Cug_wangww/article/details/104671778</link><guid>https://blog.youkuaiyun.com/Cug_wangww/article/details/104671778</guid><author>Cug_wangww</author><pubDate>Thu, 05 Mar 2020 17:13:34 +0800</pubDate><description><![CDATA[Redis官网：https://redis.io

Redis中文官网：http://www.redis.cn

下载源码
在服务器上直接使用wget命令安装，最新版下载地址：http://download.redis.io/releases/redis-5.0.7.tar.gz


[root@activemq redis-5.0.7]# wget http://download.redis.i...]]></description><category></category></item><item><title><![CDATA[ActiveMQ集群搭建提供高可用和负载均衡服务]]></title><link>https://blog.youkuaiyun.com/Cug_wangww/article/details/103093365</link><guid>https://blog.youkuaiyun.com/Cug_wangww/article/details/103093365</guid><author>Cug_wangww</author><pubDate>Fri, 15 Nov 2019 23:22:09 +0800</pubDate><description><![CDATA[ActiveMQ集群方式master和broker集群

			高可用
			负载均衡
		Master/Slave(主从)
			是
			否
		
			broker cluster
			
			否
			是
		结合上面的情况,如果说要搭建高可用和负载均衡服务,需要结合Master和Broker两种集群方式.



节点B、C和A之间搭建broker集群方式,B和C搭建主从集群.当节点B...]]></description><category></category></item><item><title><![CDATA[JDK8新特性之lambda表达式]]></title><link>https://blog.youkuaiyun.com/Cug_wangww/article/details/101534156</link><guid>https://blog.youkuaiyun.com/Cug_wangww/article/details/101534156</guid><author>Cug_wangww</author><pubDate>Fri, 27 Sep 2019 16:56:39 +0800</pubDate><description><![CDATA[Lambda 表达式，也可称为闭包，它是推动 Java 8 发布的最重要新特性。使用 Lambda 表达式可以使代码变的更加简洁紧凑。在实际工作中我一般会使用lambda表达式将集合根据某个条件过滤,分组,排序,转为map.

基础代码


        List&lt;Person&gt; list = new ArrayList&lt;&gt;();
        list...]]></description><category></category></item><item><title><![CDATA[JVM内存结构(二)]]></title><link>https://blog.youkuaiyun.com/Cug_wangww/article/details/98471734</link><guid>https://blog.youkuaiyun.com/Cug_wangww/article/details/98471734</guid><author>Cug_wangww</author><pubDate>Sun, 04 Aug 2019 22:55:24 +0800</pubDate><description><![CDATA[运行时数据区（规范规定）


程序计数器 :Java支持多线程同时执行，每个线程都有自己的PC Register，线程正在执行的方法叫做当前方法，如果是java代码，PC Register里面存放的就是当前正在执行的指令地址，如果是C代码，则为空。

虚拟机栈JVM Stacks:线程私有的，它的生命周期与线程相同。虚拟机栈是描述的Java方法执行的内存模型:每个方法在执行的同时会创建一个栈帧，用...]]></description><category></category></item><item><title><![CDATA[SpringBoot项目集成Redis]]></title><link>https://blog.youkuaiyun.com/Cug_wangww/article/details/97261715</link><guid>https://blog.youkuaiyun.com/Cug_wangww/article/details/97261715</guid><author>Cug_wangww</author><pubDate>Thu, 25 Jul 2019 15:44:05 +0800</pubDate><description><![CDATA[现在springboot项目集成组件都很方便，一般不外乎几个步骤，引入依赖，添加配置，就可以直接使用。

引入Maven依赖

&lt;dependency&gt;
    &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
    &lt;artifactId&gt;spring-boot-starter-data-r...]]></description><category></category></item><item><title><![CDATA[Redis命令学习]]></title><link>https://blog.youkuaiyun.com/Cug_wangww/article/details/97137076</link><guid>https://blog.youkuaiyun.com/Cug_wangww/article/details/97137076</guid><author>Cug_wangww</author><pubDate>Wed, 24 Jul 2019 17:59:49 +0800</pubDate><description><![CDATA[通用命令
 连接服务端的命令 redis-cli -h ip -p port -a password


redis-cli -h 127.0.0.1 -p 6379 -a 123456

GETSET 命令自动将key对应到value并且返回原来key对应的value。如果key存在但是对应的value不是字符串，就返回错误

此命令可以用于redis实现分布式锁。


127.0.0.1:...]]></description><category></category></item><item><title><![CDATA[JVM内存结构(一)]]></title><link>https://blog.youkuaiyun.com/Cug_wangww/article/details/96597698</link><guid>https://blog.youkuaiyun.com/Cug_wangww/article/details/96597698</guid><author>Cug_wangww</author><pubDate>Sat, 20 Jul 2019 16:46:30 +0800</pubDate><description><![CDATA[JVM架构


Class Loader :依据特定格式加载class文件文件到内存。

Execution Engine:对命令进行解析

Native Interface:融合不同原生语言(C/C++)为JAVA调用,标记为native的方法。

Runtime Data Area:运行时数据区，JVM内存结构模型。

类从编译到执行的过程
编译器将Test.java文件编译为Test.cla...]]></description><category></category></item><item><title><![CDATA[Linux系统下基于JDK命令行工具的监控-jstat]]></title><link>https://blog.youkuaiyun.com/Cug_wangww/article/details/95742576</link><guid>https://blog.youkuaiyun.com/Cug_wangww/article/details/95742576</guid><author>Cug_wangww</author><pubDate>Sat, 13 Jul 2019 13:40:54 +0800</pubDate><description><![CDATA[命令显示Java HotSpot VM的性能统计信息。目标JVM由其虚拟机标识符或vmid选项标识。

可以显示的信息

-classoption 类加载信息 -compileroption 编译信息-gcoption 垃圾回收信息-gccapacityoption 堆内存信息

-gcnewoption 新生代回收信息-gcnewcapacityoption...]]></description><category></category></item><item><title><![CDATA[Linux系统下基于JDK命令行工具的监控-jinfo]]></title><link>https://blog.youkuaiyun.com/Cug_wangww/article/details/95726759</link><guid>https://blog.youkuaiyun.com/Cug_wangww/article/details/95726759</guid><author>Cug_wangww</author><pubDate>Sat, 13 Jul 2019 09:57:59 +0800</pubDate><description><![CDATA[查看JVM参数的工具 jinfo


[root@xtpt-cs-app ~]# jinfo -help
Usage:
    jinfo [option] &lt;pid&gt;
        (to connect to running process)
    jinfo [option] &lt;executable &lt;core&gt;
        (to connect ...]]></description><category></category></item><item><title><![CDATA[Synchronized 关键字学习笔记(二)]]></title><link>https://blog.youkuaiyun.com/Cug_wangww/article/details/91127996</link><guid>https://blog.youkuaiyun.com/Cug_wangww/article/details/91127996</guid><author>Cug_wangww</author><pubDate>Fri, 07 Jun 2019 15:32:57 +0800</pubDate><description><![CDATA[多线程访问同步方法的7种情况.

两个线程访问同一个对象的同步方法
  串行,同一个对象锁是同一把.即对象锁的方法锁.

两个线程访问两个对象的同步方法
  并行,两个对象,不同的实例,锁对象不一致.

两个线程访问Synchronized 修饰的静态方法
  串行,Synchronized 修饰的静态方法是类级别的,即便是多个对象也是同一把锁.

同时访问同步方法和非同步方法
 ...]]></description><category></category></item><item><title><![CDATA[Synchronized 关键字学习笔记(一)]]></title><link>https://blog.youkuaiyun.com/Cug_wangww/article/details/91127899</link><guid>https://blog.youkuaiyun.com/Cug_wangww/article/details/91127899</guid><author>Cug_wangww</author><pubDate>Fri, 07 Jun 2019 15:12:14 +0800</pubDate><description><![CDATA[作用:能够保证在同一时刻最多只有一个线程执行该代码,以保证并发效果的安全.


个人理解:Synchronized 修饰的代码就相当于加了一把锁,当多线程访问时,当前线程没有获取到锁对象,就不会执行那段代码.防止并发.

锁的方式有两种 对象锁 和 类锁 . 对象锁是对于实例出来的同一个对象来说.类锁是对于类来说的,实例出来多个对象,类锁一样有用.如果说实例出来两个对象,使用对象锁有可能还是会有...]]></description><category></category></item><item><title><![CDATA[根据图片绝对地址获取图片格式的Byte数组或者PDF的Byte数组]]></title><link>https://blog.youkuaiyun.com/Cug_wangww/article/details/89956565</link><guid>https://blog.youkuaiyun.com/Cug_wangww/article/details/89956565</guid><author>Cug_wangww</author><pubDate>Wed, 08 May 2019 15:43:40 +0800</pubDate><description><![CDATA[获取InputStream流对象方法


public static byte[] getImgByte(String url){
        byte[] obj = null;
        CloseableHttpClient httpclient = HttpClients.createDefault();
        HttpGet httpGet = new HttpGe...]]></description><category></category></item><item><title><![CDATA[使用Maven的deploy命令上传第三方jar到本地私服]]></title><link>https://blog.youkuaiyun.com/Cug_wangww/article/details/89013699</link><guid>https://blog.youkuaiyun.com/Cug_wangww/article/details/89013699</guid><author>Cug_wangww</author><pubDate>Thu, 04 Apr 2019 10:25:16 +0800</pubDate><description><![CDATA[在maven的settings.xml里面配置


    &lt;mirror&gt;     
       &lt;id&gt;nexus-releases&lt;/id&gt;     
       &lt;mirrorOf&gt;*&lt;/mirrorOf&gt;     
      &lt;url&gt;http://IP:8081/repository/maven-public...]]></description><category></category></item><item><title><![CDATA[Oracle导入导出dmp文件]]></title><link>https://blog.youkuaiyun.com/Cug_wangww/article/details/87933479</link><guid>https://blog.youkuaiyun.com/Cug_wangww/article/details/87933479</guid><author>Cug_wangww</author><pubDate>Tue, 26 Feb 2019 13:54:39 +0800</pubDate><description><![CDATA[方式一:命令行

导出命令


exp STANDARD_TEST/password@IP:1521/orcl file=/home/oracle/test.dmp INDEXES=n STATISTICS=none



 

导入命令


imp STANDARD_TEST_IN/password@IP:1521/orcl file=/root/db_bak/TEST.dmp fromuser...]]></description><category></category></item><item><title><![CDATA[Windows10系统更新Idea里面的git用户名和密码]]></title><link>https://blog.youkuaiyun.com/Cug_wangww/article/details/87163498</link><guid>https://blog.youkuaiyun.com/Cug_wangww/article/details/87163498</guid><author>Cug_wangww</author><pubDate>Wed, 13 Feb 2019 10:16:10 +0800</pubDate><description><![CDATA[  公司git账号绑定域名,修改密码后,git认证失败.

 Authentication failed for 'http://pl.git.sss.com/Group/api.git/'



控制面板-&amp;gt;用户帐户-&amp;gt;凭据管理器-&amp;gt;Windows凭据



 ...]]></description><category></category></item><item><title><![CDATA[Docker使用手册]]></title><link>https://blog.youkuaiyun.com/Cug_wangww/article/details/86482835</link><guid>https://blog.youkuaiyun.com/Cug_wangww/article/details/86482835</guid><author>Cug_wangww</author><pubDate>Mon, 14 Jan 2019 19:45:08 +0800</pubDate><description><![CDATA[Docker概述
Docker 是一个开源的应用容器引擎，让开发者可以打包他们的应用以及依赖包到一个可移植的容器中，然后发布到任何流行的 Linux 机器上，也可以实现虚拟化。容器是完全使用沙箱机制，相互之间不会有任何接口（类似 iPhone 的 app）。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。
Docker原理图

Docker E...]]></description><category></category></item><item><title><![CDATA[Oracle学习笔记]]></title><link>https://blog.youkuaiyun.com/Cug_wangww/article/details/86173580</link><guid>https://blog.youkuaiyun.com/Cug_wangww/article/details/86173580</guid><author>Cug_wangww</author><pubDate>Wed, 09 Jan 2019 19:39:13 +0800</pubDate><description><![CDATA[/*查询所有用户*/

select * from dba_users;


/*查询所有表空间*/

select * from user_tablespaces;


/*创建表空间*/

create tablespace tps_adcourt logging datafile 'tps_adcourt.dbf' size 100M autoextend on next 10M m...]]></description><category></category></item></channel></rss>