<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Tssit的个人博客]]></title><description><![CDATA[自由在高处]]></description><link>https://blog.youkuaiyun.com/tss139</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; tss139]]></copyright><item><title><![CDATA[kafka自动提交位移全解析]]></title><link>https://blog.youkuaiyun.com/tss139/article/details/108600858</link><guid>https://blog.youkuaiyun.com/tss139/article/details/108600858</guid><author>tss139</author><pubDate>Tue, 15 Sep 2020 15:58:17 +0800</pubDate><description><![CDATA[kafka里面有两个参数

props.put("enable.auto.commit", "true");

props.put("auto.commit.interval.ms", "2000");

其中第二个参数是自动提交位移时间，很多文档讲的不清楚，把这个自动提交位移翻译成每隔 几秒自动提交一次，这个完全是错误的。

直接看pool的代码



里面看更新源信息的方法



看第一个方法







找到源码



把当前时间与上次提交的时间作比较，是否超过 设置的 提交间隔，如果超过的话，提.]]></description><category></category></item><item><title><![CDATA[sql where语句的执行顺序]]></title><link>https://blog.youkuaiyun.com/tss139/article/details/107464325</link><guid>https://blog.youkuaiyun.com/tss139/article/details/107464325</guid><author>tss139</author><pubDate>Mon, 20 Jul 2020 15:19:00 +0800</pubDate><description><![CDATA[1.MySql:其条件执行顺序是 从左往右，自上而下；
2.Oracle:其条件执行顺序是从右往左，自下而上。
]]></description><category></category></item><item><title><![CDATA[List为什么不能一边遍历 一边操作]]></title><link>https://blog.youkuaiyun.com/tss139/article/details/106273582</link><guid>https://blog.youkuaiyun.com/tss139/article/details/106273582</guid><author>tss139</author><pubDate>Fri, 22 May 2020 09:51:06 +0800</pubDate><description><![CDATA[1、对于ArrayList，在使用Iterator遍历时，不能使用list.add()、list.remove()等改变list的操作，只能用it.remove()
原因是ArrayList不是线程安全的，需在单线程环境下使用，如果在遍历时还有别的线程做增删操作，必然会有问题，如数组下标越界
ArrayList#Iterator设计的是不能在迭代时有别的线程对list修改，此种修改对当前迭代器是可能存在问题的，所以增加了对modCount的校验
但当前迭代器可以remove，因为它自己删除就不是并发修改了
]]></description><category></category></item><item><title><![CDATA[hashmap和ehcahe的区别]]></title><link>https://blog.youkuaiyun.com/tss139/article/details/105729845</link><guid>https://blog.youkuaiyun.com/tss139/article/details/105729845</guid><author>tss139</author><pubDate>Fri, 24 Apr 2020 14:09:03 +0800</pubDate><description><![CDATA[而一个标准Cache的主要特征有：


过期时间


容量规划(重要)


清除策略(重要)


命中率统计


从以上条件看hash并不是一个很好的缓存容器，更多的考虑ehcahe等

...]]></description><category></category></item><item><title><![CDATA[设计模式-总结]]></title><link>https://blog.youkuaiyun.com/tss139/article/details/100523095</link><guid>https://blog.youkuaiyun.com/tss139/article/details/100523095</guid><author>tss139</author><pubDate>Tue, 03 Sep 2019 18:37:37 +0800</pubDate><description><![CDATA[1.单例模式：懒汉，饿汉，加锁，双重判断（加voletal），静态内部类

2.工厂

3.静态工厂

4.代理

5.装饰器，区分代理和装饰器，代理模式的类是内部创建好，装饰器是外部传入

6.观察者模式

7.原型模式（实现clonable接口）

8.适配器模式:创建一个对象，调另一个对象的方法

9.组合模式：放一个list属性

10.策略模式：方法参数是接口，具体的策略要自己实现

1...]]></description><category></category></item><item><title><![CDATA[restemplate发送安全认证的http请求]]></title><link>https://blog.youkuaiyun.com/tss139/article/details/90437867</link><guid>https://blog.youkuaiyun.com/tss139/article/details/90437867</guid><author>tss139</author><pubDate>Wed, 22 May 2019 09:48:40 +0800</pubDate><description><![CDATA[业务中，会访问到需要安全认证的服务。如



发送请求时，需要把resttemplate设置头信息，具体实现如下

    String url = "http://localhost:8080/testController";
  HttpHeaders header = new HttpHeaders();
  //输入自己的用户名和密码
  Str...]]></description><category></category></item><item><title><![CDATA[JoIntPoint常用方法]]></title><link>https://blog.youkuaiyun.com/tss139/article/details/89634321</link><guid>https://blog.youkuaiyun.com/tss139/article/details/89634321</guid><author>tss139</author><pubDate>Sun, 28 Apr 2019 11:56:06 +0800</pubDate><description><![CDATA[在常见的切面中，常用的参数有：JointPoint和ProceedingJoinPoint，其中ProceedingJoinPoint继承JointPoint，ProceedingJoinPoint用在@Arround注解的方法参数里，下面分开谈

1.JointPoint的常用方法



public void invoke(JoinPoint joinPoint) throws Throwab...]]></description><category></category></item><item><title><![CDATA[mysql timestamp更新问题]]></title><link>https://blog.youkuaiyun.com/tss139/article/details/89175965</link><guid>https://blog.youkuaiyun.com/tss139/article/details/89175965</guid><author>tss139</author><pubDate>Wed, 10 Apr 2019 10:30:58 +0800</pubDate><description><![CDATA[1.timestap会自动更新，解决自动更新问题，只需要去掉对勾



2.tiemstamp的一些解释


]]></description><category></category></item><item><title><![CDATA[java 集合list转数组的几种方式]]></title><link>https://blog.youkuaiyun.com/tss139/article/details/89011107</link><guid>https://blog.youkuaiyun.com/tss139/article/details/89011107</guid><author>tss139</author><pubDate>Thu, 04 Apr 2019 09:35:37 +0800</pubDate><description><![CDATA[1.toArray

eg: list.toArray(new String[list.size])

这里要注意list类型，和数组的类型是一致的，这里我默认list是string，假如list是Integer类型，那就是list.toArray(new Integer[list.size])



2.stream 流

list.toStream.toArray(String[]:new)...]]></description><category></category></item><item><title><![CDATA[Java zip解压工具类]]></title><link>https://blog.youkuaiyun.com/tss139/article/details/88537936</link><guid>https://blog.youkuaiyun.com/tss139/article/details/88537936</guid><author>tss139</author><pubDate>Wed, 13 Mar 2019 17:48:55 +0800</pubDate><description><![CDATA[分享一个自己用的zip工具类


public class ZipUtils {
	 public static void unZip(File srcFile, String destDirPath) throws RuntimeException {
		 
		         long start = System.currentTimeMillis();
		         // 判断...]]></description><category></category></item><item><title><![CDATA[shiro 源码加密方式]]></title><link>https://blog.youkuaiyun.com/tss139/article/details/87190360</link><guid>https://blog.youkuaiyun.com/tss139/article/details/87190360</guid><author>tss139</author><pubDate>Wed, 13 Feb 2019 16:51:40 +0800</pubDate><description><![CDATA[
/**
 * @description 源码的加密方式
 * @param args
 */
public static void main(String[] args) {
    // 加密的方式
    String hashAlgorithmName = &quot;MD5&quot;;
    // 明文的密码
    Object credentials = &quot;123456&quot;;
    // 盐值
  ...]]></description><category></category></item><item><title><![CDATA[eureka集群read timeout异常]]></title><link>https://blog.youkuaiyun.com/tss139/article/details/85277719</link><guid>https://blog.youkuaiyun.com/tss139/article/details/85277719</guid><author>tss139</author><pubDate>Thu, 27 Dec 2018 13:38:18 +0800</pubDate><description><![CDATA[eureka集群后，启动privder向eureka集群注册时，报错

 


com.sun.jersey.api.client.ClientHandlerException: java.net.SocketTimeoutException: Read timed out
    at com.sun.jersey.client.apache4.ApacheHttpClient4Handler....]]></description><category></category></item><item><title><![CDATA[扫码登录实现原理解析]]></title><link>https://blog.youkuaiyun.com/tss139/article/details/83476723</link><guid>https://blog.youkuaiyun.com/tss139/article/details/83476723</guid><author>tss139</author><pubDate>Sun, 28 Oct 2018 18:15:32 +0800</pubDate><description><![CDATA[1.浏览器生成一个二维码，二维码里面包含微信的URL和一个随机的UUID，并轮旬给服务器发消息

2.客户端扫描二维码，得到一个把用户的信息和UUID绑定，发送给服务器

3.服务器拿到这个用户的信息和UUID

4.浏览器请求消息，服务器拿到用户的信息，进行更新

...]]></description><category></category></item><item><title><![CDATA[蓄水池算法]]></title><link>https://blog.youkuaiyun.com/tss139/article/details/83476012</link><guid>https://blog.youkuaiyun.com/tss139/article/details/83476012</guid><author>tss139</author><pubDate>Sun, 28 Oct 2018 16:53:44 +0800</pubDate><description><![CDATA[此算法经常用于不知道总体规模有多大的时候，进行数据的抽样，保证数据的公平性


public class ReservoirSamplingTest {

    private int[] pool; // 所有数据
    private final int N = 100000; // 数据规模
    private Random random = new Random();

    @...]]></description><category></category></item><item><title><![CDATA[桶排序]]></title><link>https://blog.youkuaiyun.com/tss139/article/details/83475886</link><guid>https://blog.youkuaiyun.com/tss139/article/details/83475886</guid><author>tss139</author><pubDate>Sun, 28 Oct 2018 16:42:33 +0800</pubDate><description><![CDATA[

    #include &amp;lt;stdio.h&amp;gt;
    int main()
    {
        int a[11],i,j,t;
        for(i=0;i&amp;lt;=10;i++)
            a[i]=0;  //初始化为0

        for(i=1;i&amp;lt;=5;i++)  //循环读入5个数
        {
            s...]]></description><category></category></item><item><title><![CDATA[冒泡排序]]></title><link>https://blog.youkuaiyun.com/tss139/article/details/83475827</link><guid>https://blog.youkuaiyun.com/tss139/article/details/83475827</guid><author>tss139</author><pubDate>Sun, 28 Oct 2018 16:38:25 +0800</pubDate><description><![CDATA[
class demo {
int temp;
int a[]={0,1,2,3,4,5,6,7,8,9}
    public void maopao{
        //n个数字只需要n-1次排序
        for(int i=0;i&amp;lt;a.length-1;i++){
        //已经排序好的数字不需要重复排序
            for(int j=0;j&amp;lt;a...]]></description><category></category></item><item><title><![CDATA[计算机网络总结]]></title><link>https://blog.youkuaiyun.com/tss139/article/details/82389708</link><guid>https://blog.youkuaiyun.com/tss139/article/details/82389708</guid><author>tss139</author><pubDate>Fri, 21 Sep 2018 10:50:50 +0800</pubDate><description><![CDATA[1.HTTP—Hyper Text Transfer Protocol，即超文本传输协议。是基于tcp协议，属于应用层协议

2.HTTP由请求报文和相应报文组成

请求报文：

1）请求行：请求方法，URL，协议版本。

2）请求头部

         Host：请求的主机名

         User-Agent：浏览器的具体类型  

         Accept：浏览器支持哪些数据类...]]></description><category></category></item><item><title><![CDATA[Redis知识点总结]]></title><link>https://blog.youkuaiyun.com/tss139/article/details/82632502</link><guid>https://blog.youkuaiyun.com/tss139/article/details/82632502</guid><author>tss139</author><pubDate>Thu, 13 Sep 2018 22:47:12 +0800</pubDate><description><![CDATA[1.Redis的五种基本数据类型

String，Hash，list，set，zset，对应的基本操作



2.缓存穿透

完全不存在的一个数据，在缓存中查询不到，就去数据库中去查，查找不到，无法再缓存中存。

解决方法：1）布隆过滤器

算法：
1. 首先需要k个hash函数，每个函数可以把key散列成为1个整数
2. 初始化时，需要一个长度为n比特的数组，每个比特位初始化为0
3. 某个ke...]]></description><category></category></item><item><title><![CDATA[ibatis的bind异常]]></title><link>https://blog.youkuaiyun.com/tss139/article/details/82563111</link><guid>https://blog.youkuaiyun.com/tss139/article/details/82563111</guid><author>tss139</author><pubDate>Sun, 09 Sep 2018 22:08:22 +0800</pubDate><description><![CDATA[遇到这种异常，先检查dao层的配置，在有可能是maven的资源拷贝插件配置错误]]></description><category></category></item><item><title><![CDATA[找不到类 pageInfo]]></title><link>https://blog.youkuaiyun.com/tss139/article/details/82497749</link><guid>https://blog.youkuaiyun.com/tss139/article/details/82497749</guid><author>tss139</author><pubDate>Fri, 07 Sep 2018 15:43:11 +0800</pubDate><description><![CDATA[最近在一个maven项目中，用的插件pagehlper，一直报错提示找不到类pageinfo，最后找到原因，是maven本地仓库里之前有同名的项目，解决办法：把maven 本地仓库的jar包全部清空，再试下就好了...]]></description><category></category></item></channel></rss>