<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[好好学习]]></title><description><![CDATA[什么都有啊]]></description><link>https://blog.youkuaiyun.com/codexjli</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; codexjli]]></copyright><item><title><![CDATA[JDK动态代理的一个实验与分析]]></title><link>https://blog.youkuaiyun.com/codexjli/article/details/90139817</link><guid>https://blog.youkuaiyun.com/codexjli/article/details/90139817</guid><author>codexjli</author><pubDate>Sun, 12 May 2019 15:20:01 +0800</pubDate><description><![CDATA[package com.ssm.jdkproxy;

public interface Hello {
    public void sayHello();
    public String add(int a,int b);
}


package com.ssm.jdkproxy;

public class HelloImp1 implements Hello {


    publ...]]></description><category></category></item><item><title><![CDATA[HashMap源码解析(三) HashMap的put与get操作]]></title><link>https://blog.youkuaiyun.com/codexjli/article/details/90139799</link><guid>https://blog.youkuaiyun.com/codexjli/article/details/90139799</guid><author>codexjli</author><pubDate>Sun, 12 May 2019 13:44:20 +0800</pubDate><description><![CDATA[final V putVal(int hash, K key, V value, boolean onlyIfAbsent,
                   boolean evict) {
        Node&lt;K,V&gt;[] tab; Node&lt;K,V&gt; p; int n, i;
        if ((tab = table) == null || (n =...]]></description><category></category></item><item><title><![CDATA[HashMap里面的散列函数是什么]]></title><link>https://blog.youkuaiyun.com/codexjli/article/details/90083754</link><guid>https://blog.youkuaiyun.com/codexjli/article/details/90083754</guid><author>codexjli</author><pubDate>Fri, 10 May 2019 20:54:41 +0800</pubDate><description><![CDATA[HashMap里面的散列函数(求在数组中的下标)是什么
(length - 1) &amp; hash 首先要知道一点,HashMap的容量大小一定是2的幂次形式(1,2,4,8…). 原因的话可以看一下上一篇文章HashMap源码解析(一) 当执行new HashMap时都执行了什么?. 大致就是第一次初始化容量的时候hashmap会初始化为比传入容量大小大的最小的二的次幂,后面扩容的时候每次乘...]]></description><category></category></item><item><title><![CDATA[HashMap源码解析(二)  HashMap的rehash操作:resize()函数]]></title><link>https://blog.youkuaiyun.com/codexjli/article/details/90083519</link><guid>https://blog.youkuaiyun.com/codexjli/article/details/90083519</guid><author>codexjli</author><pubDate>Fri, 10 May 2019 20:36:31 +0800</pubDate><description><![CDATA[final Node&lt;K,V&gt;[] resize() {
        Node&lt;K,V&gt;[] oldTab = table;
        // 获得老的容量,还没分配表的话为0
        int oldCap = (oldTab == null) ? 0 : oldTab.length;
        //threshold是扩容的阈值
        in...]]></description><category></category></item><item><title><![CDATA[HashMap源码解析(零)  HashMap类的源码注释介绍]]></title><link>https://blog.youkuaiyun.com/codexjli/article/details/90082090</link><guid>https://blog.youkuaiyun.com/codexjli/article/details/90082090</guid><author>codexjli</author><pubDate>Fri, 10 May 2019 18:42:41 +0800</pubDate><description><![CDATA[先看一下整体的HashMap类的介绍:
* Hash table based implementation of the &lt;tt&gt;Map&lt;/tt&gt; interface.  This
 * implementation provides all of the optional map operations, and permits
 * &lt;tt&gt;null&lt;/...]]></description><category></category></item><item><title><![CDATA[HashMap源码解析(一) 当执行new HashMap时都执行了什么?]]></title><link>https://blog.youkuaiyun.com/codexjli/article/details/90057349</link><guid>https://blog.youkuaiyun.com/codexjli/article/details/90057349</guid><author>codexjli</author><pubDate>Fri, 10 May 2019 18:27:40 +0800</pubDate><description><![CDATA[先看一下整体的HashMap类的介绍:

Hash table based implementation of the Map interface.  This implementation provides all of the optional map operations, and permits null values and the null key.  (The HashMap cla...]]></description><category></category></item><item><title><![CDATA[关于TCP与Socket对端口使用的一些理解]]></title><link>https://blog.youkuaiyun.com/codexjli/article/details/89842688</link><guid>https://blog.youkuaiyun.com/codexjli/article/details/89842688</guid><author>codexjli</author><pubDate>Sun, 05 May 2019 12:15:35 +0800</pubDate><description><![CDATA[最近在复习计算机网络上的一些知识，产生了几点困惑。

首先是一道面试题，之前蚂蚁金服的面试官问到的：服务器突然崩溃了，然后重启服务器的时候80端口被占用了，什么原因，提示我与四次挥手有关。
之前看四次挥手的时候，有说到服务器上会有大量的time_wait浪费资源，就想到一个问题：服务器是上层是使用Http协议传输数据的。那么使用http协议传输数据的时候，谁先主动断开TCP连接呢？（只有主动断开的...]]></description><category></category></item><item><title><![CDATA[Spring in action @valid验证不生效问题解决]]></title><link>https://blog.youkuaiyun.com/codexjli/article/details/89639577</link><guid>https://blog.youkuaiyun.com/codexjli/article/details/89639577</guid><author>codexjli</author><pubDate>Sun, 28 Apr 2019 15:45:53 +0800</pubDate><description><![CDATA[按照书上的示例代码来实现但是，添加了验证但是没有生效。
Spring提供了校验Api是使用但是没有提供实现，所以需要自己导入实现包。
所以导入实现包：
&lt;dependency&gt;
            &lt;groupId&gt;org.hibernate&lt;/groupId&gt;
            &lt;artifactId&gt;hibernate-validato...]]></description><category></category></item><item><title><![CDATA[是个面试官都会问的问题--讲一讲java的GC]]></title><link>https://blog.youkuaiyun.com/codexjli/article/details/89528499</link><guid>https://blog.youkuaiyun.com/codexjli/article/details/89528499</guid><author>codexjli</author><pubDate>Thu, 25 Apr 2019 23:24:32 +0800</pubDate><description><![CDATA[Java的垃圾回收主要是考虑三件事情

那些内存需要回收
什么时候进行回收
如何回收

首先说一下哪些内存进行回收(回收谁)
判断哪些内存需要回收，主要是判断哪些对象还活着，那些对象已经死了。判断对象的死亡主要有两种方法，一种是引用计数法，一种是可达性分析。
引用计数法
引用计数法的判定非常的简单，在对象中添加一个引用计数器，每当有一个地方引用它时，计数器的值就增加1；当引用失效时，引用计数器的值...]]></description><category></category></item><item><title><![CDATA[ClassNotFoundException: com.mysql.jdbc.Driver]]></title><link>https://blog.youkuaiyun.com/codexjli/article/details/89462837</link><guid>https://blog.youkuaiyun.com/codexjli/article/details/89462837</guid><author>codexjli</author><pubDate>Mon, 22 Apr 2019 22:42:06 +0800</pubDate><description><![CDATA[Maven中已经添加了：
		&lt;dependency&gt;
            &lt;groupId&gt;mysql&lt;/groupId&gt;
            &lt;artifactId&gt;mysql-connector-java&lt;/artifactId&gt;
            &lt;version&gt;5.1.43&lt;/version&g...]]></description><category></category></item><item><title><![CDATA[leetcode-19:删除链表的倒数第N个节点]]></title><link>https://blog.youkuaiyun.com/codexjli/article/details/89459776</link><guid>https://blog.youkuaiyun.com/codexjli/article/details/89459776</guid><author>codexjli</author><pubDate>Mon, 22 Apr 2019 20:09:52 +0800</pubDate><description><![CDATA[给定一个链表，删除链表的倒数第 n 个节点，并且返回链表的头结点。
示例：

给定一个链表: 1-&gt;2-&gt;3-&gt;4-&gt;5, 和 n = 2.
当删除了倒数第二个节点后，链表变为 1-&gt;2-&gt;3-&gt;5.
说明：
给定的 n 保证是有效的。
进阶：
你能尝试使用一趟扫描实现吗？

两次遍历：
package Solution.ninteen;

import ...]]></description><category></category></item><item><title><![CDATA[leetcode-9 回文串]]></title><link>https://blog.youkuaiyun.com/codexjli/article/details/89458044</link><guid>https://blog.youkuaiyun.com/codexjli/article/details/89458044</guid><author>codexjli</author><pubDate>Mon, 22 Apr 2019 18:26:12 +0800</pubDate><description><![CDATA[不转为字符串
class Solution {
    public boolean isPalindrome(int x) {
        if(x&lt;0)
            return false;
        int y = x;
        int m = 0;
        while(y&gt;0){
            m = m*10 + y%10;
...]]></description><category></category></item><item><title><![CDATA[leetcode-17电话号码的组合]]></title><link>https://blog.youkuaiyun.com/codexjli/article/details/89457367</link><guid>https://blog.youkuaiyun.com/codexjli/article/details/89457367</guid><author>codexjli</author><pubDate>Mon, 22 Apr 2019 17:50:02 +0800</pubDate><description><![CDATA[给定一个仅包含数字 2-9 的字符串，返回所有它能表示的字母组合。
给出数字到字母的映射如下（与电话按键相同）。注意 1 不对应任何字母。

示例: 输入：“23”
输出：[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”]

思想：之前从来没有使用回溯法写过题，也没有学习过回溯法，但是写出来的算法好像是回溯法的样子。感觉还是非常棒的。
递归...]]></description><category></category></item><item><title><![CDATA[leetcode-16：最接近的三数之和]]></title><link>https://blog.youkuaiyun.com/codexjli/article/details/89449447</link><guid>https://blog.youkuaiyun.com/codexjli/article/details/89449447</guid><author>codexjli</author><pubDate>Mon, 22 Apr 2019 12:24:02 +0800</pubDate><description><![CDATA[给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数，使得它们的和与 target
最接近。返回这三个数的和。假定每组输入只存在唯一答案。 	 例如，给定数组 nums = [-1，2，1，-4], 和 target =1
与 target 最接近的三个数的和为 2.
(-1 + 2 + 1 = 2).


思想：先进行排序Array.sort()...]]></description><category></category></item><item><title><![CDATA[算法--最大连续子数组]]></title><link>https://blog.youkuaiyun.com/codexjli/article/details/89449209</link><guid>https://blog.youkuaiyun.com/codexjli/article/details/89449209</guid><author>codexjli</author><pubDate>Mon, 22 Apr 2019 12:02:24 +0800</pubDate><description><![CDATA[一个整数数组中的元素有正有负，在该数组中找出一个连续子数组，要求该连续子数组中各元素的和最大，这个连续子数组便被称作最大连续子数组。
比如数组{2,4,-7,5,2,-1,2,-4,3}的最大连续子数组为{5,2,-1,2}，最大连续子数组的和为5+2-1+2=8。

...]]></description><category></category></item><item><title><![CDATA[蚂蚁金服（实习）凉经]]></title><link>https://blog.youkuaiyun.com/codexjli/article/details/89390761</link><guid>https://blog.youkuaiyun.com/codexjli/article/details/89390761</guid><author>codexjli</author><pubDate>Thu, 18 Apr 2019 23:36:03 +0800</pubDate><description><![CDATA[晚上十点开始的面试，还是支付宝总机打来的电话

先介绍项目
数据库事务，四要素
数据库操作，一张表，按照重复度从多到少的顺序选出重复的。
内存回收算法
进程通信方式
进程调度算法
甩了个链接三道编程题（逆置链表，二叉树，数字全排列）


...]]></description><category></category></item><item><title><![CDATA[Java虚拟机--垃圾收集器]]></title><link>https://blog.youkuaiyun.com/codexjli/article/details/89386778</link><guid>https://blog.youkuaiyun.com/codexjli/article/details/89386778</guid><author>codexjli</author><pubDate>Thu, 18 Apr 2019 20:12:27 +0800</pubDate><description><![CDATA[CMS垃圾收集器
CMS（Concurrent Mark Sweep）收集器是一种以获取最短回收停顿时间为目标的收集器。非常符合重视响应速度的应用。
CMS收集器基于“标记-清除”算法实现，运作原理相对复杂。整个过程分为四个步骤：

初始标记（CMS initial mark）
并发标记（CMS concurrent mark）
重新标记（CMS remark）
并发清除（CMS concurre...]]></description><category></category></item><item><title><![CDATA[Java单例模式]]></title><link>https://blog.youkuaiyun.com/codexjli/article/details/89300641</link><guid>https://blog.youkuaiyun.com/codexjli/article/details/89300641</guid><author>codexjli</author><pubDate>Sun, 14 Apr 2019 20:25:46 +0800</pubDate><description><![CDATA[单例模式的概念
单例模式，也叫单子模式，是一种常用的软件设计模式。在应用这个模式时，单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象，这样有利于我们协调系统整体的行为。比如在某个服务器程序中，该服务器的配置信息存放在一个文件中，这些配置数据由一个单例对象统一读取，然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。
实现单...]]></description><category></category></item><item><title><![CDATA[Windows安装TensorFlow]]></title><link>https://blog.youkuaiyun.com/codexjli/article/details/79936832</link><guid>https://blog.youkuaiyun.com/codexjli/article/details/79936832</guid><author>codexjli</author><pubDate>Sat, 14 Apr 2018 09:08:26 +0800</pubDate><description><![CDATA[最近想学习深度学习，打算从TensorFlow开始。就先把环境搭好吧。

我使用的是Anaconda来进行python管理。首先要下载安装Anaconda。这里使用的是Python3.6 Version，就是左边的那个。



配置Anaconda环境：

打开anaconda prompt，进入命令行界面，运行：

conda create --name TensorFlow python=3....]]></description><category></category></item><item><title><![CDATA[remove方法 python]]></title><link>https://blog.youkuaiyun.com/codexjli/article/details/51140198</link><guid>https://blog.youkuaiyun.com/codexjli/article/details/51140198</guid><author>codexjli</author><pubDate>Wed, 13 Apr 2016 09:16:09 +0800</pubDate><description><![CDATA[2333333]]></description><category></category></item></channel></rss>