<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[kaka0930的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/kaka0930</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; kaka0930]]></copyright><item><title><![CDATA[Spring Core文档]]></title><link>https://blog.youkuaiyun.com/kaka0930/article/details/84642649</link><guid>https://blog.youkuaiyun.com/kaka0930/article/details/84642649</guid><author>kaka0930</author><pubDate>Fri, 30 Nov 2018 07:57:03 +0800</pubDate><description><![CDATA[ 


	花了一个月看spring core的文档，最终算是翻了一遍，记录一下
	
	
	如果遇到前两个字母都是大写，那么spring容器里面bean的名字就保持不变。
	
	
	Spring容器在创建的时候会验证bean的配置，但是并不会设置它的属性；真正的属性的设置也就是这个bean的真正创建会等到使用的时候，那个时候创建的是一个bean的索引（a依赖b，b依赖c）
	
	
	构造函数注入会出...]]></description><category></category></item><item><title><![CDATA[Object的用法]]></title><link>https://blog.youkuaiyun.com/kaka0930/article/details/82813110</link><guid>https://blog.youkuaiyun.com/kaka0930/article/details/82813110</guid><author>kaka0930</author><pubDate>Sat, 22 Sep 2018 15:53:42 +0800</pubDate><description><![CDATA[

3点，

首先equals的四大特性， 自反性，就是自己一定要等于自己；对称性，x=y,那么y=x一定可以；传递性，x=y,y=z, 那么x=z; 持久性：x=y,那么一段时间内一直等于y.

 

第二，表明这个equals的意义，就是refer to the same object

第三，如果重新hashcode，要保证the equal objects mast have equal ...]]></description><category></category></item><item><title><![CDATA[HTTP(1)之计算机网络七层模型]]></title><link>https://blog.youkuaiyun.com/kaka0930/article/details/82812946</link><guid>https://blog.youkuaiyun.com/kaka0930/article/details/82812946</guid><author>kaka0930</author><pubDate>Sat, 22 Sep 2018 15:38:10 +0800</pubDate><description><![CDATA[ 下面是从网上整理的一些东西，作为笔记记一下。




	TCP/UDP协议
	
	
	TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输，它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复 用。通过面向连接、端到端和可靠的数据包发送。通俗说，它是事先...]]></description><category></category></item><item><title><![CDATA[java之HashMap]]></title><link>https://blog.youkuaiyun.com/kaka0930/article/details/82779950</link><guid>https://blog.youkuaiyun.com/kaka0930/article/details/82779950</guid><author>kaka0930</author><pubDate>Wed, 19 Sep 2018 23:20:34 +0800</pubDate><description><![CDATA[
	多线程成环
	

void transfer(Entry[] newTable)
{ Entry[] src = table; int newCapacity = newTable.length; //下面这段代码的意思是： // 从OldTable里摘一个元素出来，然后放到NewTable中 
for (int j = 0; j &amp;lt; src.length; j++)
{
Entry&amp;l...]]></description><category></category></item><item><title><![CDATA[java之Thread(3): 线程池]]></title><link>https://blog.youkuaiyun.com/kaka0930/article/details/82670602</link><guid>https://blog.youkuaiyun.com/kaka0930/article/details/82670602</guid><author>kaka0930</author><pubDate>Thu, 13 Sep 2018 00:00:58 +0800</pubDate><description><![CDATA[ 



上面是网上见到的一张图，借用一下，

Executor：是Java线程池的超级接口；提供一个execute(Runnable command)方法;我们一般用它的继承接口ExecutorService。

ExecutorService: 



ExecutorService也只是个继承接口，主要是三个submit函数，invokeAll是一次调用很多线程。

首先介绍一下submit...]]></description><category></category></item><item><title><![CDATA[java之Thread(2): start,run,stop,suspend,resume,stop,destroy]]></title><link>https://blog.youkuaiyun.com/kaka0930/article/details/82564118</link><guid>https://blog.youkuaiyun.com/kaka0930/article/details/82564118</guid><author>kaka0930</author><pubDate>Mon, 10 Sep 2018 00:00:55 +0800</pubDate><description><![CDATA[    

run方法：


	不是Runnable里面的，不一样。thread的run方法，是用来调用runnable里面的target，如果不是使用Runnable， 那么就返回空。
	
	
	
public synchronized void start() {
        /**
         * This method is not invoked for the main me...]]></description><category></category></item><item><title><![CDATA[java之Thread(1): join,wait,notify,sleep]]></title><link>https://blog.youkuaiyun.com/kaka0930/article/details/82564108</link><guid>https://blog.youkuaiyun.com/kaka0930/article/details/82564108</guid><author>kaka0930</author><pubDate>Sun, 09 Sep 2018 23:54:20 +0800</pubDate><description><![CDATA[



上面是在网上看到的，忘记是哪个博客了，借用一下。

下面详细结束一下几个函数：

 

等待阻塞里面的wait和notify


	wait和notify字面意思就是等待和通知。首先要明确等待和通知相对的对象是什么？是对象锁。wait是Object的方法，也就是每个Object其实都可以做一个对象锁，对应一个监视器（monitor).wait的时候，就是等待对象锁，notify的时候，也是...]]></description><category></category></item><item><title><![CDATA[Integer源码分析]]></title><link>https://blog.youkuaiyun.com/kaka0930/article/details/81734924</link><guid>https://blog.youkuaiyun.com/kaka0930/article/details/81734924</guid><author>kaka0930</author><pubDate>Thu, 16 Aug 2018 08:29:29 +0800</pubDate><description><![CDATA[
	之所以10进制还需要getChars，是因为计算机不是十进制，所以无法直接输出。
	
	
	源码里面debug无法看到
	
	
	根据测试，toUnsigned就是补码情况下，去掉符号位的值。但是因为integer可能超出int的范围，所以会用到long
	
	
	整型的幂运算可以使用Math.pow,只是需要来回转换数据类型。但是如果使用移位运算也是可以的。每移动一位，就是乘以2或者除以2
...]]></description><category></category></item><item><title><![CDATA[POM(1):基本信息总结]]></title><link>https://blog.youkuaiyun.com/kaka0930/article/details/80823289</link><guid>https://blog.youkuaiyun.com/kaka0930/article/details/80823289</guid><author>kaka0930</author><pubDate>Wed, 27 Jun 2018 07:54:31 +0800</pubDate><description><![CDATA[因为最近的微服务项目需要统一构造pom，所以就学习了一下。虽然之前也学过，但都是解决问题了也就过去了。首先，项目想要达到的目标是：将所有的版本管理集中到一起，进行统一管理。使用通过子module的概念，实现提升版本后使用命令自动更新相关引用此包的版本。构造项目starter，实现项目引入以来的简单化。参考：pom各个组件详解： https://blog.youkuaiyun.com/u012152619/ar...]]></description><category></category></item><item><title><![CDATA[java使用phantomJs抓取动态页面]]></title><link>https://blog.youkuaiyun.com/kaka0930/article/details/68941932</link><guid>https://blog.youkuaiyun.com/kaka0930/article/details/68941932</guid><author>kaka0930</author><pubDate>Sat, 01 Apr 2017 10:45:54 +0800</pubDate><description><![CDATA[1. phantomjs的镜像网站：http://npm.taobao.org/dist/phantomjs/

2. phantomjs内置webkit内核，也就是chrome的内核。可以无界面加载页面，指的是和浏览器上面的页面一致，也就是解析完js的页面。所以需要爬取或者获得动态页面的，这算是利器。




3.之前自己也试了HttpUnit，不行的。网上找到的例子自己运行不了。]]></description><category></category></item><item><title><![CDATA[git入门]]></title><link>https://blog.youkuaiyun.com/kaka0930/article/details/63686470</link><guid>https://blog.youkuaiyun.com/kaka0930/article/details/63686470</guid><author>kaka0930</author><pubDate>Sun, 19 Mar 2017 17:46:04 +0800</pubDate><description><![CDATA[git和github算是必备技能了。可惜我还不会。所以就花了一天时间好好看了看，把网上的资料整理了一下，算是一个入门。
1. 首先你需要知道git里面的文件的状态。关于git里面的文件的状态，http://www.makaidong.com/%E5%8D%9A%E5%AE%A2%E5%9B%AD/20151013/306433.html
笔记链接：Git 中文件的状态和流转区_博客园
2. ]]></description><category></category></item><item><title><![CDATA[maven入门（3）]]></title><link>https://blog.youkuaiyun.com/kaka0930/article/details/54286791</link><guid>https://blog.youkuaiyun.com/kaka0930/article/details/54286791</guid><author>kaka0930</author><pubDate>Mon, 09 Jan 2017 10:42:21 +0800</pubDate><description><![CDATA[1. maven入门（1）里面提到过，我这里用的是eclipse-neon,maven3.9.这个版本的eclipse是自带maven的插件和maven的。所以，不要像网上说的再去下载什么插件了。
2. 也就是说在这个版本eclipse里面直接可以创建maven的项目。file->new->other->maven->maven project即可。然后就是想命令行一样输入包名之类。其他默认。还]]></description><category></category></item><item><title><![CDATA[maven入门（2）]]></title><link>https://blog.youkuaiyun.com/kaka0930/article/details/54286769</link><guid>https://blog.youkuaiyun.com/kaka0930/article/details/54286769</guid><author>kaka0930</author><pubDate>Mon, 09 Jan 2017 10:41:17 +0800</pubDate><description><![CDATA[下面是mvn的几项基本知识的补充
1. 首先是创建项目是输入的参数的意义：此处参考：http://blog.youkuaiyun.com/maple980326/article/details/52104338



其实自己创建的项目名就是在pom里面引入其他包是输入的参数。
2. 此处参考官网





 



3. maven的命令：






Mave]]></description><category></category></item><item><title><![CDATA[maven入门（1）]]></title><link>https://blog.youkuaiyun.com/kaka0930/article/details/54286648</link><guid>https://blog.youkuaiyun.com/kaka0930/article/details/54286648</guid><author>kaka0930</author><pubDate>Mon, 09 Jan 2017 10:38:50 +0800</pubDate><description><![CDATA[1.因为做到一个项目需要使用在eclipse里面使用maven，所以就去看了一下。根据网上资料和自己的理解，整理如下。虽然网上很多讲的，但是发现都有点旧了。所以就贡献自己的一点力量，给出最新的。自己用的maven3.9,eclipse-neon2
2. maven的意义。其实这一点就像框架的意义一样，很多时候如果你自己单独为了学习框架而学框架，会很乏味，而且不知道用来干嘛。其实当你达到一定水平，]]></description><category></category></item><item><title><![CDATA[python进阶（1）基础]]></title><link>https://blog.youkuaiyun.com/kaka0930/article/details/53873591</link><guid>https://blog.youkuaiyun.com/kaka0930/article/details/53873591</guid><author>kaka0930</author><pubDate>Sun, 25 Dec 2016 23:14:08 +0800</pubDate><description><![CDATA[自己想在ubuntu上写点脚本。就学了一些python.接下来将会把自己的学习经验记录一些。自己学的时候ubuntu16，自带的是2.7.12。所以是可以直接用的。当然，也可以安装更新的。不过需要把ubuntu默认的python指向改掉。这里就不说了。
首先是基础的学习：
我用的是菜鸟的课程，大致看一下，写一下例子。至于高级编程里面的，则是用到的时候再说吧。然后就是应用了。因为如果不用的话，是]]></description><category></category></item><item><title><![CDATA[maven]]></title><link>https://blog.youkuaiyun.com/kaka0930/article/details/53873167</link><guid>https://blog.youkuaiyun.com/kaka0930/article/details/53873167</guid><author>kaka0930</author><pubDate>Sun, 25 Dec 2016 21:42:46 +0800</pubDate><description><![CDATA[1. 关于maven安装：
  1.1. 到官网上下载bin.zip文件。解压。
  1.2. 配置环境变量：
    M2_HOME = D:/tool/maven
   然后在path里面加入 ： %M2_HOME%\bin;
2. cmd里面，mvn -v
3. 把config下面的setting.xml复制到C:\Users\kinth\.m2下面。然后更改E:\kaikai\]]></description><category></category></item><item><title><![CDATA[编码（2）：unicode和utf-8]]></title><link>https://blog.youkuaiyun.com/kaka0930/article/details/53491783</link><guid>https://blog.youkuaiyun.com/kaka0930/article/details/53491783</guid><author>kaka0930</author><pubDate>Tue, 06 Dec 2016 19:34:13 +0800</pubDate><description><![CDATA[下面是补充两篇文章：
第一篇：https://www.zhihu.com/question/23374078


上面是参考网址。只不过我提取了其中感觉有用的放到了下面。

Unicode 和 UTF-8 有何区别？


面试时被问到了，网上看了一下，实在是看不懂。
最好几句话概括一下，简介就好









很久很久以前，有一群人，他们决定用8个可以开]]></description><category></category></item><item><title><![CDATA[编码（1）：unicode,utf-8和其他编码]]></title><link>https://blog.youkuaiyun.com/kaka0930/article/details/53491696</link><guid>https://blog.youkuaiyun.com/kaka0930/article/details/53491696</guid><author>kaka0930</author><pubDate>Tue, 06 Dec 2016 19:28:14 +0800</pubDate><description><![CDATA[1. 字符集：

ASCII字符集，最初的字符集，对应了ANSI文件编码，一个字符用一个字节表示，严格来说这个时候字符集和文本文件的编码并没有必要作为单独的概念加以区分；从此也可以看出，原来是没有中间的字符集的抽象的。字符集就是编码方式，编码解码直接对着字符集的映射表即可。二者是一个概念。西欧字符集、日韩、港澳台、国标字符集等，仍然使用了ANSI文件编码，其中部分字符集一个字符要用两个字节；U]]></description><category></category></item><item><title><![CDATA[win10按照双系统，ubuntu16相关事项]]></title><link>https://blog.youkuaiyun.com/kaka0930/article/details/53465624</link><guid>https://blog.youkuaiyun.com/kaka0930/article/details/53465624</guid><author>kaka0930</author><pubDate>Mon, 05 Dec 2016 15:26:01 +0800</pubDate><description><![CDATA[15. 关于安装ubuntu，首先，制作启动盘用ultraso，添加启动项用easybcd。


15.1. 关于磁盘的划分：首先是primary和Extended partition的区别。其实每台电脑只能有四个primary。这和分区引导有关。目前比较先进的引导已经没有这个限制了。但是因为大多数之前的电脑没有这么先进 。因为primary是不能再细分的。所以为了满足需要，就把其中的pri]]></description><category></category></item><item><title><![CDATA[每日一题（18）： poj1159]]></title><link>https://blog.youkuaiyun.com/kaka0930/article/details/53431778</link><guid>https://blog.youkuaiyun.com/kaka0930/article/details/53431778</guid><author>kaka0930</author><pubDate>Fri, 02 Dec 2016 10:02:02 +0800</pubDate><description><![CDATA[1. 自己思考思路的时候开始觉得用动态规划，但是想不出公式。后来觉得如果把输入的字符串反过来，然后和原来的字符串相比求最大序列，然后答案就是原来的序列减去最大序列了。因为无法匹配的肯定需要添加。可以匹配的话就一定会出现在最大序列里面。这可以用反证法证明。解决了方法的问题。下面就是代码。其实就是一个最大序列匹配的问题。也是动态规划，公式：dp[i][j] = max{dp[i][j-1],dp[i-]]></description><category></category></item></channel></rss>