<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cathar的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cathar</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cathar]]></copyright><item><title><![CDATA[图搜索-DFS-N皇后(N-Queens)]]></title><link>https://blog.youkuaiyun.com/cathar/article/details/70218858</link><guid>https://blog.youkuaiyun.com/cathar/article/details/70218858</guid><author>cathar</author><pubDate>Thu, 20 Apr 2017 13:46:30 +0800</pubDate><description><![CDATA[The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens attack each other.Given an integer n, return all distinct solutions to the n-queens puzzle.Each solut]]></description><category></category></item><item><title><![CDATA[JVM内存分布、垃圾回收机制和相关工具]]></title><link>https://blog.youkuaiyun.com/cathar/article/details/70040302</link><guid>https://blog.youkuaiyun.com/cathar/article/details/70040302</guid><author>cathar</author><pubDate>Sun, 16 Apr 2017 22:10:32 +0800</pubDate><description><![CDATA[1、JVM 内存分布总览 
一、Java Heap 内存它是JVM用来存储对象实例以及数组值的区域，可以认为Java中所有通过new创建的对象的内存都在此分配，Heap中的对象的内存需要等待GC进行回收。（1） 堆是JVM中所有线程共享的，因此在其上进行对象内存的分配均需要进行加锁，这也导致了new对象的开销是比较大的（2） Sun Hotspot JVM为了提升对象内存分配的效率，对于所创建的线程]]></description><category></category></item><item><title><![CDATA[SpringMVC 获取项目路径]]></title><link>https://blog.youkuaiyun.com/cathar/article/details/69668619</link><guid>https://blog.youkuaiyun.com/cathar/article/details/69668619</guid><author>cathar</author><pubDate>Wed, 12 Apr 2017 18:40:34 +0800</pubDate><description><![CDATA[有时候工程中放置配置文件/证书等需要在代码中读取。开发/生产往往不同的环境: Window/Linux，于是需要找到文件路径。如下介绍几个找到项目路径
 
在 web.xml 中 配置
    <context-param>
        <param-name>webAppRootKey</param-name>
        <param-value>webapp.xxxx</param-v]]></description><category></category></item><item><title><![CDATA[杨辉三角（Pascal's Triangle）- LeetCode118-119]]></title><link>https://blog.youkuaiyun.com/cathar/article/details/66529745</link><guid>https://blog.youkuaiyun.com/cathar/article/details/66529745</guid><author>cathar</author><pubDate>Sun, 26 Mar 2017 22:24:20 +0800</pubDate><description><![CDATA[记得之前用 python/JS 实现过，用 java 重写.一些结论：
ArrayList.add(index,value) 数组在特定位置添加元素后，之后元素整体后移；
每次都是先添加首位元素，之后计算 [1-tmp.size()-2]之间的元素；
求全量杨辉三角则 res.add(new ArrayList(tmp));
求某行的是直接 return tmp;
求全量杨辉三角 LeetCode]]></description><category></category></item><item><title><![CDATA[从HashMap 的 key 看 Java 中"=="与"equals"的区别]]></title><link>https://blog.youkuaiyun.com/cathar/article/details/63683350</link><guid>https://blog.youkuaiyun.com/cathar/article/details/63683350</guid><author>cathar</author><pubDate>Mon, 20 Mar 2017 13:57:39 +0800</pubDate><description><![CDATA[在Java中如何判断两个变量是否相等是很重要的。一般情况下，地址相等那么内容肯定相等，反之不是。因而，在判断相等与否时，我们需要分清需求，到底是地址相等还是内容相等。所以引申出两种判断方法（需重写equals为该逻辑后实现）：“==” 比较的是值：变量（栈内存）中存放的对象的堆内存地址“equals”比较两个对象的内容（栈内存中存放的内容，不是比地址）对基本/引用类型的区别：]]></description><category></category></item><item><title><![CDATA[jQuery 对象与 JavaScript DOM 对象]]></title><link>https://blog.youkuaiyun.com/cathar/article/details/56055058</link><guid>https://blog.youkuaiyun.com/cathar/article/details/56055058</guid><author>cathar</author><pubDate>Mon, 20 Feb 2017 23:14:30 +0800</pubDate><description><![CDATA[jQuery 对象与DOM对象的关系
jQuery对象类似数组，它的每个元素都是一个引用了DOM节点的对象。
jQuery 对象是通过 jQuery 包装DOM 对象后产生的对象。jQuery 对象是 jQuery 独有的，其可以使用 jQuery 里的方法，但是不能使用 DOM 的方法。
DOM对象就是Javascript 固有的一些对象操作。DOM 对象能使用Javascript 固有的方法，但]]></description><category></category></item><item><title><![CDATA[编写 jQuery 插件]]></title><link>https://blog.youkuaiyun.com/cathar/article/details/55815760</link><guid>https://blog.youkuaiyun.com/cathar/article/details/55815760</guid><author>cathar</author><pubDate>Sun, 19 Feb 2017 21:23:47 +0800</pubDate><description><![CDATA[jQuery.extend() 与 jQuery.fn.extend()扩展 jQuery 对象属性与方法。]]></description><category></category></item><item><title><![CDATA[jStorm 流分发-订阅机制测试]]></title><link>https://blog.youkuaiyun.com/cathar/article/details/55147054</link><guid>https://blog.youkuaiyun.com/cathar/article/details/55147054</guid><author>cathar</author><pubDate>Wed, 15 Feb 2017 00:44:41 +0800</pubDate><description><![CDATA[在 Storm 的拓扑中，存在若干种流分发策略；而在拓扑的创建中，也容许一个拓扑中接收消息的为不同类型的 bolt。那么在复杂拓扑结构中，流分发机制是否可靠？本文以实验的方式模拟稍微复杂的网络拓扑，并发送数据流进行了验证，得出 jStorm 可以很好地识别 bolt 类型，不同组 bolt 订阅相同流互相不影响的结论。随后将对 jStorm 如何做到这种类似消息队列的消费者 offset 维护将进行浅析。]]></description><category></category></item><item><title><![CDATA[Spring、SpringMVC及web容器的Context上下文]]></title><link>https://blog.youkuaiyun.com/cathar/article/details/54880875</link><guid>https://blog.youkuaiyun.com/cathar/article/details/54880875</guid><author>cathar</author><pubDate>Sun, 05 Feb 2017 14:06:26 +0800</pubDate><description><![CDATA[Spring 功能与结构

基于Java Beans的配置管理，采用IOC的原理，特别是对依赖注入技术的使用。这些都用来减少各组件间对实施细则的相互依赖性。
一个核心的，全局适用的Bean工厂。
一个一般抽象化的层面来管理数据库间的数据处理。
建立在框架内的，对Java数据处理API和单独的JDBC数据源的一般性策略。因此，在数据处理支持上对Java企业版本环境的依赖性得以消除。
和一些可持续性的]]></description><category></category></item><item><title><![CDATA[Servlet/ServletContextListener/ServletContextEvent 说明及使用]]></title><link>https://blog.youkuaiyun.com/cathar/article/details/54638716</link><guid>https://blog.youkuaiyun.com/cathar/article/details/54638716</guid><author>cathar</author><pubDate>Sat, 21 Jan 2017 00:56:27 +0800</pubDate><description><![CDATA[servlet接口说明及servletContextListener的使用举例]]></description><category></category></item><item><title><![CDATA[Tomcat 体系结构、关键组件及生命周期管理]]></title><link>https://blog.youkuaiyun.com/cathar/article/details/54623328</link><guid>https://blog.youkuaiyun.com/cathar/article/details/54623328</guid><author>cathar</author><pubDate>Fri, 20 Jan 2017 16:51:40 +0800</pubDate><description><![CDATA[介绍tomcat体系结构和关键组件及其之间的关系：server->service-> connector,container(engine->host->context->wrapper)。同时，尽可能描述各关键组件的主要功能和工作流程（生命周期管理）。作为了解tomcat构成及工作原理的基础背景知识。]]></description><category></category></item><item><title><![CDATA[storm 内部消息缓存传递]]></title><link>https://blog.youkuaiyun.com/cathar/article/details/54613503</link><guid>https://blog.youkuaiyun.com/cathar/article/details/54613503</guid><author>cathar</author><pubDate>Thu, 19 Jan 2017 10:49:05 +0800</pubDate><description><![CDATA[#### Storm worker/task/executor 之间消息传递]]></description><category></category></item><item><title><![CDATA[JavaScript与python的yield]]></title><link>https://blog.youkuaiyun.com/cathar/article/details/54233099</link><guid>https://blog.youkuaiyun.com/cathar/article/details/54233099</guid><author>cathar</author><pubDate>Sun, 08 Jan 2017 12:13:30 +0800</pubDate><description><![CDATA[JS generator
JS 生成器（generator）的语法
JS generator 使用
JS generator 的优点
python]]></description><category></category></item><item><title><![CDATA[JavaScript 闭包]]></title><link>https://blog.youkuaiyun.com/cathar/article/details/53980419</link><guid>https://blog.youkuaiyun.com/cathar/article/details/53980419</guid><author>cathar</author><pubDate>Mon, 02 Jan 2017 16:58:32 +0800</pubDate><description><![CDATA[什么是闭包？在一个函数里面嵌套另外一个函数。嵌套(nest)（内部, inner）函数是容器(containing)（外部, outer）函数的私有成员。它自身也形成了一个闭包(closure)。一个闭包是一个可以自己拥有独立的环境与变量的表达式（通常是函数）。闭包就是携带状态的函数，并且它的状态可以完全对外隐藏起来。
内部函数以某一种方式被任何一个外部函数作用域访问时，一个闭包就产生了；
在没有c]]></description><category></category></item><item><title><![CDATA[javaScript 高阶函数 map/reduce/filter]]></title><link>https://blog.youkuaiyun.com/cathar/article/details/53861217</link><guid>https://blog.youkuaiyun.com/cathar/article/details/53861217</guid><author>cathar</author><pubDate>Sat, 24 Dec 2016 17:35:08 +0800</pubDate><description><![CDATA[javaScript 高阶函数 — 一个函数接收另一个函数作为参数的函数。]]></description><category></category></item><item><title><![CDATA[使用conda安装python包]]></title><link>https://blog.youkuaiyun.com/cathar/article/details/53729007</link><guid>https://blog.youkuaiyun.com/cathar/article/details/53729007</guid><author>cathar</author><pubDate>Sun, 18 Dec 2016 18:43:40 +0800</pubDate><description><![CDATA[什么是conda？Python, R, Scala, Java, Javascript, C/ C++, FORTRAN 的包、依赖、环境管理应用。 
http://conda.pydata.org/docs/查看当前系统环境$ conda info -e
# conda environments:
2.7env                   /Users/cathar/anaconda/en]]></description><category></category></item><item><title><![CDATA[ipynb文件的打开和jupyter/conda的python环境切换]]></title><link>https://blog.youkuaiyun.com/cathar/article/details/53494778</link><guid>https://blog.youkuaiyun.com/cathar/article/details/53494778</guid><author>cathar</author><pubDate>Tue, 06 Dec 2016 22:34:12 +0800</pubDate><description><![CDATA[配置python + mac 开发环境：
安装anaconda以及pycharm（网上自行找注册码）
双击anaconda图标可以看到：jupyter，spyder等可以launch，点击过jupyter后，所有目录下的文件都会出现在网页中。
如何打开ipynb文件？
在mac环境中保证 jupyter-notebook可以运行：一般检查环境变量path的配置即可，例如：
vi ~/.bash_pr]]></description><category></category></item><item><title><![CDATA[JavaScript 函数参数、作用域及apply，this关键字]]></title><link>https://blog.youkuaiyun.com/cathar/article/details/53485776</link><guid>https://blog.youkuaiyun.com/cathar/article/details/53485776</guid><author>cathar</author><pubDate>Tue, 06 Dec 2016 13:05:50 +0800</pubDate><description><![CDATA[作用域


全局作用域：

不在任何函数内定义的变量就具有全局作用域。实际上，JavaScript默认有一个全局对象window，全局作用域的变量实际上被绑定到window的一个属性。

任何变量（函数也视为变量），如果没有在当前函数作用域中找到，就会继续往上查找，最后如果在全局作用域中也没有找到，则报ReferenceError错误。


'use strict';
var course = ']]></description><category></category></item><item><title><![CDATA[JavaScript集合类：Array、Map、Set]]></title><link>https://blog.youkuaiyun.com/cathar/article/details/53363845</link><guid>https://blog.youkuaiyun.com/cathar/article/details/53363845</guid><author>cathar</author><pubDate>Sun, 27 Nov 2016 12:27:31 +0800</pubDate><description><![CDATA[在JavaScript中不像java有那么多的数据结构。在实际工作中，使用对象还是数组需要仔细考虑下。例如：如果实现 Map的功能，既可以使用关联数组，也可以使用对象，那么区别是什么呢？ 
需要注意的是，在JavaScript中，所有变量实际上都是某种类型的对象。记住这点，就不难理解一个数组其实就是一个Array() 类型的对象，那么就可以给它添加各种属性。而所谓的关联数组，其实就是给该数组对象增加]]></description><category></category></item><item><title><![CDATA[JavaScript打开link平稳退化]]></title><link>https://blog.youkuaiyun.com/cathar/article/details/53354061</link><guid>https://blog.youkuaiyun.com/cathar/article/details/53354061</guid><author>cathar</author><pubDate>Sat, 26 Nov 2016 19:37:50 +0800</pubDate><description><![CDATA[打开新窗口调用函数的不好的两种方式function popUp(winURL){
    window.open(winURL,"popup","width=300,height=400");
}
伪协议：javascript 伪协议让我们通过链接来调用JavaScript函数. 这种方式在禁用了JS的浏览器什么都不做，是不好的写法。
<a href= "javascript: popUp('htt]]></description><category></category></item></channel></rss>