<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chai_ge_ge的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chai_ge_ge</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chai_ge_ge]]></copyright><item><title><![CDATA[tomcat版本导致的乱码问题]]></title><link>https://blog.youkuaiyun.com/chai_ge_ge/article/details/97928297</link><guid>https://blog.youkuaiyun.com/chai_ge_ge/article/details/97928297</guid><author>chai_ge_ge</author><pubDate>Wed, 31 Jul 2019 16:25:07 +0800</pubDate><description><![CDATA[大多数的乱码文章主要就集中在两方面



tomcat要在server.xml connector设置URIENCODING=utf-8
	就是修改自己的代码先解码成什么ISO-8859-1在编码成UTF-8


但是却都没有注意到tomcat版本导致的乱码解决方式也是不一样的，我在项目中遇到的bug，写下来为了让自己以后不再走相同的坑

首先tomcat我是拉取的镜像，保证镜像的干净，我不会...]]></description><category></category></item><item><title><![CDATA[MySQL驱动和MySQL版本不一致导致的坑]]></title><link>https://blog.youkuaiyun.com/chai_ge_ge/article/details/97926339</link><guid>https://blog.youkuaiyun.com/chai_ge_ge/article/details/97926339</guid><author>chai_ge_ge</author><pubDate>Wed, 31 Jul 2019 16:07:11 +0800</pubDate><description><![CDATA[今天接手了一个很老的jsp + servlet的项目，在本地启动项目的时候，发现项目一直报连接不上数据库，当时特别郁闷，用Navicat可以连接上，当时恨不得追踪源码看看url,name,password到底初始化成功没有，到最后突然想起，我的mysql是用docker拉的最新镜像，也就是8版本的，但是驱动是老的驱动的，具体我也忘记是几版本的，当时换了一个5.5版本的mysql，数据...]]></description><category></category></item><item><title><![CDATA[无重复字符的最长字串]]></title><link>https://blog.youkuaiyun.com/chai_ge_ge/article/details/82754329</link><guid>https://blog.youkuaiyun.com/chai_ge_ge/article/details/82754329</guid><author>chai_ge_ge</author><pubDate>Tue, 18 Sep 2018 11:22:58 +0800</pubDate><description><![CDATA[给定一个字符串，找出不含有重复字符的最长字串的长度

示例1：


输入: &quot;abcabcbb&quot;
输出: 3 
解释: 无重复字符的最长子串是 &quot;abc&quot;，其长度为 3。

示例2：


输入: &quot;bbbbb&quot;
输出: 1
解释: 无重复字符的最长子串是 &quot;b&quot;，其长度为 1。

示例3：


输入: &quot;pwwkew&quot;
输出: 3
解释: 无重复字符的最长子串是 &quot;wke&quot;，其长度为 3。]]></description><category></category></item><item><title><![CDATA[反转整数]]></title><link>https://blog.youkuaiyun.com/chai_ge_ge/article/details/82753907</link><guid>https://blog.youkuaiyun.com/chai_ge_ge/article/details/82753907</guid><author>chai_ge_ge</author><pubDate>Tue, 18 Sep 2018 11:09:22 +0800</pubDate><description><![CDATA[给定一个 32 位有符号整数，将整数中的数字进行反转

示例1：


输入: 123
输出: 321

示例2：


输入: -123
输出: -321

示例3：


输入: 120
输出: 21

我在做这道题目的时候，自己写了一个，但是在位数太多的情况下，就会出现越界等一系列问题，

但是对于以上示例是没有问题的。还是自己考虑问题不全面。。。。。。唉唉唉，一些临界情况没有考虑全面。


pr...]]></description><category></category></item><item><title><![CDATA[两数相加]]></title><link>https://blog.youkuaiyun.com/chai_ge_ge/article/details/82684484</link><guid>https://blog.youkuaiyun.com/chai_ge_ge/article/details/82684484</guid><author>chai_ge_ge</author><pubDate>Thu, 13 Sep 2018 10:58:02 +0800</pubDate><description><![CDATA[ 

给定两个非空链表来表示两个非负整数。位数按照逆序方式存储，它们的每个节点只存储单个数字。将两数相加返回一个新的链表。

你可以假设除了数字 0 之外，这两个数字都不会以零开头。


输入：(2 -&amp;gt; 4 -&amp;gt; 3) + (5 -&amp;gt; 6 -&amp;gt; 4)
输出：7 -&amp;gt; 0 -&amp;gt; 8
原因：342 + 465 = 807

Java代码实现：
 


packag...]]></description><category></category></item><item><title><![CDATA[RabbitMQ的基本概念]]></title><link>https://blog.youkuaiyun.com/chai_ge_ge/article/details/82665429</link><guid>https://blog.youkuaiyun.com/chai_ge_ge/article/details/82665429</guid><author>chai_ge_ge</author><pubDate>Wed, 12 Sep 2018 18:07:39 +0800</pubDate><description><![CDATA[RabbitMQ的基本概念

Broker：可以理解为消息队列服务器的实体，他是一个中间件的而应用，负责接收消息生产者的消息，然后将消息发送至消息接收者或者其他的Broker
	Exchange：交换机，是消息第一次到达的地方，消息通过它指定的路由规则，分发到不同的消息队列中去
	Queue：消息队列，消息通过发送和路由之后最终到达的地方，到达Queue的消息即进入逻辑上等待消费的状态。每个消息都...]]></description><category></category></item><item><title><![CDATA[RabbitMQ消息队列——VirtualHost]]></title><link>https://blog.youkuaiyun.com/chai_ge_ge/article/details/82665111</link><guid>https://blog.youkuaiyun.com/chai_ge_ge/article/details/82665111</guid><author>chai_ge_ge</author><pubDate>Wed, 12 Sep 2018 17:32:09 +0800</pubDate><description><![CDATA[VirtualHost

在RabbitMQ中叫做虚拟消息服务器VirtualHost，每个VirtualHost相当于一个相对独立的RabbitMQ服务器，每个VirtualHost之间是相互隔离的。exchange、queue、message不能互通

在RabbitMQ中无法通过AMQP创建VirtualHost，可以通过以下命令来创建


rabbitmqctl add_vhost [vh...]]></description><category></category></item><item><title><![CDATA[Spring Boot整合RabbitMQ，监听队列获取消息]]></title><link>https://blog.youkuaiyun.com/chai_ge_ge/article/details/82664940</link><guid>https://blog.youkuaiyun.com/chai_ge_ge/article/details/82664940</guid><author>chai_ge_ge</author><pubDate>Wed, 12 Sep 2018 17:21:45 +0800</pubDate><description><![CDATA[Spring Boot整合RabbitMQ，监听队列获取消息

1、pom.xml添加如下依赖


&amp;lt;dependency&amp;gt;
    &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt;
    &amp;lt;artifactId&amp;gt;spring-boot-starter-amqp&amp;lt;/artifactId&amp;gt;
&amp;lt;/...]]></description><category></category></item><item><title><![CDATA[CentOS安装RabbitMQ]]></title><link>https://blog.youkuaiyun.com/chai_ge_ge/article/details/82664544</link><guid>https://blog.youkuaiyun.com/chai_ge_ge/article/details/82664544</guid><author>chai_ge_ge</author><pubDate>Wed, 12 Sep 2018 17:16:47 +0800</pubDate><description><![CDATA[RabbitMQ编译安装

RabbitMQ是使用Erlang开发，所以安装RabbitMQ前需要先安装Erlang，获取Erlang和RabbitMQ的源文件

官网http://erlang.org下载最新的源文件


wget  http://erlang.org/download/otp_src_17.0.tar.gz

编译安装Erlang


1、解压otp_src_17.0.tar....]]></description><category></category></item><item><title><![CDATA[1、两数之和]]></title><link>https://blog.youkuaiyun.com/chai_ge_ge/article/details/82661711</link><guid>https://blog.youkuaiyun.com/chai_ge_ge/article/details/82661711</guid><author>chai_ge_ge</author><pubDate>Wed, 12 Sep 2018 15:01:49 +0800</pubDate><description><![CDATA[
	给定一个整数数组和一个目标值，找出数组中和为目标值的两个数。
	
	
	你可以假设每个输入只对应一种答案，且同样的元素不能被重复利用。
	

示例：

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]


实现思路：遍历两边数组，第二次遍历下标加1开始，找出两个数和为目标值的

...]]></description><category></category></item><item><title><![CDATA[Java并行程序基础总结]]></title><link>https://blog.youkuaiyun.com/chai_ge_ge/article/details/78024555</link><guid>https://blog.youkuaiyun.com/chai_ge_ge/article/details/78024555</guid><author>chai_ge_ge</author><pubDate>Mon, 18 Sep 2017 22:22:14 +0800</pubDate><description><![CDATA[进程是计算机中的程序关于某数据集合上的一次运行活动，是系统进行资源分配和调度的基本单位，是操作系统结构的基础。线程的所有状态都在Thread中的State枚举中定义public enum State{
    NEW,
    RUNNABLE,
    BLOCKED,
    WALTING,
    TIMED_WAITING,
    RERMINATED;
}NEW状态表示刚刚创建的线程，]]></description><category></category></item><item><title><![CDATA[Tomcat的总结]]></title><link>https://blog.youkuaiyun.com/chai_ge_ge/article/details/78022691</link><guid>https://blog.youkuaiyun.com/chai_ge_ge/article/details/78022691</guid><author>chai_ge_ge</author><pubDate>Mon, 18 Sep 2017 19:22:23 +0800</pubDate><description><![CDATA[什么是web服务器web服务器可以解析HTTP协议。当web服务器接收到一个HTTP请求，会返回一个HTTP响应web服务器根据对javaEE支持能力分为两大类1）javaEE服务器（应用服务器） 
IBM公司 WebSphere 
BEA公司 WebLogic 
JBoss 公司 JBoss 
Apache组织 Geronimo(免费WebSphere社区版) 
2）web容器（servlet/j]]></description><category></category></item><item><title><![CDATA[进程和线程的区别]]></title><link>https://blog.youkuaiyun.com/chai_ge_ge/article/details/77861961</link><guid>https://blog.youkuaiyun.com/chai_ge_ge/article/details/77861961</guid><author>chai_ge_ge</author><pubDate>Wed, 06 Sep 2017 09:02:44 +0800</pubDate><description><![CDATA[进程的官方解释： 
进程是计算机中的程序关于某数据集合上的一次运行活动，是系统进行资源分配和调度的基本单位，是操作系统结构的基础。进程有三个特征： 
1、独立性：进程是系统中独立存在的实体，他可以拥有自己独立的资源，每个进程都拥有自己私有的地址空间。 
2、动态性：进程与程序的区别在于，程序只是一个静态的集合，而进程是一个正在系统中活动的指令集合。 
3、并发性：多个进程可以在单个处理器上并发执行，]]></description><category></category></item><item><title><![CDATA[effective java executor和task优先于线程]]></title><link>https://blog.youkuaiyun.com/chai_ge_ge/article/details/77430787</link><guid>https://blog.youkuaiyun.com/chai_ge_ge/article/details/77430787</guid><author>chai_ge_ge</author><pubDate>Sun, 20 Aug 2017 17:49:39 +0800</pubDate><description><![CDATA[如果编写的是小程序，或者轻载的服务器，使用Executor.newCachedThreadPool通常是个不错的选择。 
在大负载的服务器中，最好使用Executor.newFixedThreadPool,他为你提供了一个包含固定线程数目的线程池，活着为了最大限度的控制他，就直接使用ThreadPoolExecutor类你不仅应该尽量不要编写自己的工作队列，而且还应该尽量不直接使用线程。现在关键抽象]]></description><category></category></item><item><title><![CDATA[effective java避免过度同步]]></title><link>https://blog.youkuaiyun.com/chai_ge_ge/article/details/77430253</link><guid>https://blog.youkuaiyun.com/chai_ge_ge/article/details/77430253</guid><author>chai_ge_ge</author><pubDate>Sun, 20 Aug 2017 16:54:54 +0800</pubDate><description><![CDATA[过度同步可能会导致性能降低，死锁，甚至不确定的行为。为了避免火星失败和安全性失败，在一个被同步的方法或者代码快中，永远不要放弃对客户端的控制。将外来方法调用一处同步的代码块 
建立快照 
使用并发集合，CopyOnWriteArrayList,属于ArrayList的辩题，通过拷贝整个底层数组，在这里实现所有的写作，由于内部数据用于不改动，因此迭代不需要锁定，速度也非常快。在同步区域之外被调用的外来]]></description><category></category></item><item><title><![CDATA[effective java同步访问共享的可变数据]]></title><link>https://blog.youkuaiyun.com/chai_ge_ge/article/details/77429945</link><guid>https://blog.youkuaiyun.com/chai_ge_ge/article/details/77429945</guid><author>chai_ge_ge</author><pubDate>Sun, 20 Aug 2017 16:21:39 +0800</pubDate><description><![CDATA[关键字synchronized可以保证同一时刻，只有一个线程可以执行某一个方法，或者某一个代码块。 
同步的意思： 
1、当一个对象被一个线程修改的时候，可以阻止另一个线程观察到对象内部不一致的状态； 
2、同步不仅可以组织一个线程看到对象处于不一致的状态，还可以保证进入同步方法或者同步代码块的每个线程，都看到由同一个锁保护的之前所有的修改效果。 
考虑下面这个阻止一个线程妨碍另一个线程的任务。ja]]></description><category></category></item><item><title><![CDATA[Swing实现简单的简历样式]]></title><link>https://blog.youkuaiyun.com/chai_ge_ge/article/details/77278340</link><guid>https://blog.youkuaiyun.com/chai_ge_ge/article/details/77278340</guid><author>chai_ge_ge</author><pubDate>Wed, 16 Aug 2017 21:10:48 +0800</pubDate><description><![CDATA[简单的界面效果package com.bjsxt.swing;import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.Bu]]></description><category></category></item><item><title><![CDATA[Effective Java慎用可变参数]]></title><link>https://blog.youkuaiyun.com/chai_ge_ge/article/details/77278306</link><guid>https://blog.youkuaiyun.com/chai_ge_ge/article/details/77278306</guid><author>chai_ge_ge</author><pubDate>Wed, 16 Aug 2017 21:07:53 +0800</pubDate><description><![CDATA[从java1.5后增加了可变参数的方法，可变参数可以接受0个或者多个指定类型的参数，可变参数机制通过先创建一个数组，数组的大小为在调用位置所传递的参数数量，然后将参数值传到数组中，最后将数组传递给方法。
举个可变参数的例子
 



4.png (19.4 KB, 下载次数: 0)

下载附件  保存到相册

13 分钟前 上传







计算Int类型参数]]></description><category></category></item><item><title><![CDATA[Effective Java慎用重载]]></title><link>https://blog.youkuaiyun.com/chai_ge_ge/article/details/77278290</link><guid>https://blog.youkuaiyun.com/chai_ge_ge/article/details/77278290</guid><author>chai_ge_ge</author><pubDate>Wed, 16 Aug 2017 21:05:54 +0800</pubDate><description><![CDATA[先看一下下面的这个重载方法


 
你所期望到的应该是输出Set ,List,Unknown Collection但是结果却是输出了三遍UnknownCollection，主要原因是，classify这个方法被重载了，调用重载方法是在编译时就做出决定的，对于for循环的这三次他的类型是Collection,每次迭代的类型都是不同的，但是这并不影响对重载方法的选择，三次编译的类型都是Coll]]></description><category></category></item><item><title><![CDATA[List接口下Vector的API全部方法的用法（上）]]></title><link>https://blog.youkuaiyun.com/chai_ge_ge/article/details/77150640</link><guid>https://blog.youkuaiyun.com/chai_ge_ge/article/details/77150640</guid><author>chai_ge_ge</author><pubDate>Sun, 13 Aug 2017 21:57:19 +0800</pubDate><description><![CDATA[今天闲得无聊，想认真了解一下集合的API，就看了一下Vector的所有方法，我就简单给大家介绍一下这些方法的基本用法，希望对大家有帮助。 
Vector：动态数组 
特点： 
1、允许含有重复元素 
2、允许含有空 
3、由于Vector底层是使用数组来实现的，所以查询效率极高，但是添加删除效率低（因为他需要折腾其他元素） 
4、Vector在多线程下是线程安全的。但是性能是低下的。方法摘要： 
1]]></description><category></category></item></channel></rss>