<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jy7788的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/jy7788</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jy7788]]></copyright><item><title><![CDATA[leetcode单链表总结]]></title><link>https://blog.youkuaiyun.com/jy7788/article/details/46988025</link><guid>https://blog.youkuaiyun.com/jy7788/article/details/46988025</guid><author>jy7788</author><pubDate>Tue, 21 Jul 2015 16:25:29 +0800</pubDate><description><![CDATA[首先要链表的node类。
public class ListNode {
	     int val;
	     ListNode next;
	     ListNode(int x) { val = x; }
}
83：Remove Duplicates from Sorted List删除有序链表中重复元素
思路：由于链表是有序的，只需要定义一前一后两个对象q，p。如果两个对象所指向]]></description><category></category></item><item><title><![CDATA[232用两个栈实现队列]]></title><link>https://blog.youkuaiyun.com/jy7788/article/details/46987485</link><guid>https://blog.youkuaiyun.com/jy7788/article/details/46987485</guid><author>jy7788</author><pubDate>Tue, 21 Jul 2015 16:00:49 +0800</pubDate><description><![CDATA[leetcode中要求用栈实现队列的一下四个方法。


push(x) -- Push element x to the back of queue.pop() -- Removes the element from in front of queue.peek() -- Get the front element.empty() -- Return whether the queue is]]></description><category></category></item><item><title><![CDATA[KMP字符串匹配算法]]></title><link>https://blog.youkuaiyun.com/jy7788/article/details/46358553</link><guid>https://blog.youkuaiyun.com/jy7788/article/details/46358553</guid><author>jy7788</author><pubDate>Thu, 04 Jun 2015 11:41:47 +0800</pubDate><description><![CDATA[给定字符串A"abcaabcabb",模式串B"abcab"。求模式串第一次出现在给定字符串中的索引，如果没有则直接返回-1。
正常的解决方案是令i指向A中第一个元素，将A中元素一个一个和B中元素比较，如果不相等，则i++,重头再和B中元素比较。这一方案的时间复杂度为O(M*N)，效率是较低的。
KMP算法是解决字符串匹配问题的一个较优方案，算法思想如下。
首先将A中元素和B中元素比较
]]></description><category></category></item><item><title><![CDATA[java&最短路径算法]]></title><link>https://blog.youkuaiyun.com/jy7788/article/details/45867577</link><guid>https://blog.youkuaiyun.com/jy7788/article/details/45867577</guid><author>jy7788</author><pubDate>Wed, 20 May 2015 10:25:22 +0800</pubDate><description><![CDATA[这里通过Dijkstra算法实现求最短路径。
问题描述：一条环线地铁线路A-B-C-D-E-F以及一条直线地铁线路J-F-G-C-I。其中F和C是换乘车站，当我任意输入一个起始车站以及终点站，求出最短的乘车路线。
问题分析：其实就是在无向图中求两个节点间的最短路径。
思路：Dijkstra算法步骤如下
   1：遍历所有节点找到未访问过的节点中累积权值（其实就是从源节点到当前节点的路径值和]]></description><category></category></item><item><title><![CDATA[关于java中成员变量有默认初始化而局部变量没有]]></title><link>https://blog.youkuaiyun.com/jy7788/article/details/45692907</link><guid>https://blog.youkuaiyun.com/jy7788/article/details/45692907</guid><author>jy7788</author><pubDate>Wed, 13 May 2015 14:37:00 +0800</pubDate><description><![CDATA[在java中如果没有给成员变量赋值java会自动赋0，而对于局部变量却不会这是为什么呢？下面就讨论下java如何给成员变量赋值的。
1普通成员变量：对于普通成员变量而言，当你实例化的时候通过构造函数java会自动赋0。如下
public class test {

	int i;
	static int j;
	
	public static void main(String[] args) ]]></description><category></category></item><item><title><![CDATA[工厂模式]]></title><link>https://blog.youkuaiyun.com/jy7788/article/details/45336949</link><guid>https://blog.youkuaiyun.com/jy7788/article/details/45336949</guid><author>jy7788</author><pubDate>Tue, 28 Apr 2015 15:47:50 +0800</pubDate><description><![CDATA[工厂模式是创建类模式，主要是为了将类的实例化和使用相分离。正常来讲当我们要使用一个类的时候就直接new一下然后调用其方法就可以了，例子如下：
public class Client {
	public static void main(String args[]) {  
        Logger logger;  
        logger = new FileLogger(); //]]></description><category></category></item><item><title><![CDATA[单例模式]]></title><link>https://blog.youkuaiyun.com/jy7788/article/details/45306425</link><guid>https://blog.youkuaiyun.com/jy7788/article/details/45306425</guid><author>jy7788</author><pubDate>Mon, 27 Apr 2015 09:52:44 +0800</pubDate><description><![CDATA[单例模式主要用于某个类在程序中只需要生成一个实例的情况。比如有一个实现服务器管理和请求分配的 负载均衡类，如果可以创建多个实例的话将造成服务器状态的不一致以及请求分配冲突。所以我们不应该让外面的程序随随便便就能new一个实例。此时我们就可以通过单例模式解决这一问题了。
以负载均衡类为例基本的单例模式编程方法如下：
import java.util.*;

//负载均衡器LoadBalancer]]></description><category></category></item><item><title><![CDATA[整数划分]]></title><link>https://blog.youkuaiyun.com/jy7788/article/details/45306087</link><guid>https://blog.youkuaiyun.com/jy7788/article/details/45306087</guid><author>jy7788</author><pubDate>Mon, 27 Apr 2015 09:25:49 +0800</pubDate><description><![CDATA[将正整数n表示成一系列正整数之和：n=n1+n2+…+nk， 
其中n1≥n2≥…≥nk≥1，k≥1。 
正整数n的这种表示称为正整数n的划分。求正整数n的不 
同划分个数。 
例如正整数6有如下11种不同的划分： 
6； 
5+1； 
4+2，4+1+1； 
3+3，3+2+1，3+1+1+1； 
2+2+2，2+2+1+1，2+1+1+1+1； 
1+1+1+1+1+1。]]></description><category></category></item><item><title><![CDATA[tomcat&生命周期&事件监听器]]></title><link>https://blog.youkuaiyun.com/jy7788/article/details/45243009</link><guid>https://blog.youkuaiyun.com/jy7788/article/details/45243009</guid><author>jy7788</author><pubDate>Fri, 24 Apr 2015 10:10:48 +0800</pubDate><description><![CDATA[一：java中的事件监听器
   要实现java的监听器需要实现以下三个对象：
   1事件对象：一般继承自java.util.EventObject，会作为参数用于监听处理方法中，要根据监听事件的需求自定义事件对象。类似mvc模式中的model实体类，主要用来存放事件处理需要的相关参数。
  2事件源：事件源用于触发监听器方法，同时也可维护监听事件队列（启动、增加和删除监听器）。
  3]]></description><category></category></item><item><title><![CDATA[tomcat利用外观模式保护数据]]></title><link>https://blog.youkuaiyun.com/jy7788/article/details/45190427</link><guid>https://blog.youkuaiyun.com/jy7788/article/details/45190427</guid><author>jy7788</author><pubDate>Wed, 22 Apr 2015 09:23:59 +0800</pubDate><description><![CDATA[外观模式其实就是将细粒度的对象包装成粗粒度的对象。举个现实的例子，有四台电脑可以随便访问，可能客户a要访问第一台和第二台，客户b要访问第二台和第三台....这种情况下互相间的调用关系是和复杂的。外观模式就好比我通过一台路由器连接了四台电脑，这样客户统一通过路由器去访问需要访问的电脑。这样就大大加强了系统的易用性和可维护性。
       外观模式还有一个作用就是可以保护底层对象的数据，tomca]]></description><category></category></item><item><title><![CDATA[erp项目中遇到的乱码问题]]></title><link>https://blog.youkuaiyun.com/jy7788/article/details/44514655</link><guid>https://blog.youkuaiyun.com/jy7788/article/details/44514655</guid><author>jy7788</author><pubDate>Sat, 21 Mar 2015 11:45:30 +0800</pubDate><description><![CDATA[本项目中是使用spring中的org.springframework.web.filter.CharacterEncodingFilter来进行编码过滤，在web.xml中的配置如下：

        encodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
          ]]></description><category></category></item><item><title><![CDATA[erp项目新建账套逻辑]]></title><link>https://blog.youkuaiyun.com/jy7788/article/details/44457155</link><guid>https://blog.youkuaiyun.com/jy7788/article/details/44457155</guid><author>jy7788</author><pubDate>Thu, 19 Mar 2015 14:30:35 +0800</pubDate><description><![CDATA[1：从百旺的网站点击易记账，会传一个uuid，在本通过项目的登录action中通过uuid查询出登录用户的相关信息并存放到session中的User对象中。
2：判断用户类型，根据用户类型取出对应的企业列表并显示到页面。
3：在页面中选择一个企业，在帐套表中查询是否有对应的帐套，有则将帐套信息存入session并转入凭证列表页面逻辑结束，无则转入新增帐套页面并将企业相关信息自动填入并进入下一步]]></description><category></category></item><item><title><![CDATA[C++面试题]]></title><link>https://blog.youkuaiyun.com/jy7788/article/details/42638119</link><guid>https://blog.youkuaiyun.com/jy7788/article/details/42638119</guid><author>jy7788</author><pubDate>Mon, 12 Jan 2015 09:05:26 +0800</pubDate><description><![CDATA[1、 什么是“引用”？申明和使用“引用”要注意哪些问题？
引用就是某个目标变量的别名，对引用的操作与对变量直接操作效果完全相同。声明引用的时候，要对其进行初始化。引用声明完毕后，相当于目标变量有两个名称，即该目标原名称和引用名，不能再把该引用名作为其他变量名的别名。声明一个引用，不是新定义了一个变量，它只表示该引用名是目标变量名的一个别名，它本身不是一种数据类型，因此引用本身不占存储单元，系统也]]></description><category></category></item><item><title><![CDATA[struct和class的区别]]></title><link>https://blog.youkuaiyun.com/jy7788/article/details/42638051</link><guid>https://blog.youkuaiyun.com/jy7788/article/details/42638051</guid><author>jy7788</author><pubDate>Mon, 12 Jan 2015 08:52:40 +0800</pubDate><description><![CDATA[C++中struct对C中的struct进行了扩展，基本可以实现class的功能。
（1）struct和class的主要区别在于struct的默认访问控制（包括访问和继承）是public、class的默认访问控制是private。]]></description><category></category></item><item><title><![CDATA[纯虚函数和虚函数]]></title><link>https://blog.youkuaiyun.com/jy7788/article/details/42556813</link><guid>https://blog.youkuaiyun.com/jy7788/article/details/42556813</guid><author>jy7788</author><pubDate>Fri, 09 Jan 2015 16:44:29 +0800</pubDate><description><![CDATA[首先：强调一个概念
定义一个函数为虚函数，不代表函数为不被实现的函数。
定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。
定义一个函数为纯虚函数，才代表函数没有被实现。
定义纯虚函数是为了实现一个接口，起到一个规范的作用，规范继承这个类的程序员必须实现这个函数。
1、简介
假设我们有下面的类层次：



[cpp] view
 plaincopy




]]></description><category></category></item><item><title><![CDATA[指针和引用]]></title><link>https://blog.youkuaiyun.com/jy7788/article/details/42555679</link><guid>https://blog.youkuaiyun.com/jy7788/article/details/42555679</guid><author>jy7788</author><pubDate>Fri, 09 Jan 2015 15:37:51 +0800</pubDate><description><![CDATA[1、指针和引用：指针存放变量的地址，引用只是一个别名。
（1）指针可以指向别的变量，引用一旦被定义后无法改为引用别的变量。
（2）指针可以为空，引用不能为空。
2、常量指针和指针常量：按照从左往右常量出现的顺序念。指针常量中const用来修饰变量可以通过指针修改常量值。常量指针中const用来修饰指针，所以无法修改值。]]></description><category></category></item><item><title><![CDATA[C++中堆、栈中的数据]]></title><link>https://blog.youkuaiyun.com/jy7788/article/details/42555511</link><guid>https://blog.youkuaiyun.com/jy7788/article/details/42555511</guid><author>jy7788</author><pubDate>Fri, 09 Jan 2015 15:36:02 +0800</pubDate><description><![CDATA[1栈：由编译器分配和清除的存储区，存放局部变量和参数。
2堆：通过new分配的内存块，需要程序通过delete去清除，程序运行结束后会由操作系统自动回收。
3全局变量和静态变量存储区：静态变量存储在内存中不需要实例化产生，非静态变量生命周期和该类一致。
4常量存储区：]]></description><category></category></item><item><title><![CDATA[public、private以及protected]]></title><link>https://blog.youkuaiyun.com/jy7788/article/details/42555043</link><guid>https://blog.youkuaiyun.com/jy7788/article/details/42555043</guid><author>jy7788</author><pubDate>Fri, 09 Jan 2015 14:54:38 +0800</pubDate><description><![CDATA[C++中当着三个修饰符用来描述类中的成员时：
1、private只能由类中的函数以及友元函数访问。
2、protected可以由类中的函数、友元函数以及子类函数访问。但是不能被该类的对象访问。
3、public可以由类中的函数、友元函数、子类函数以及该类的对象访问。
private和public的目的是为了实现类的封装，而protected的目的是保护类的继承。
类中的构造函数会由系统调]]></description><category></category></item><item><title><![CDATA[web请求过程总结]]></title><link>https://blog.youkuaiyun.com/jy7788/article/details/41946875</link><guid>https://blog.youkuaiyun.com/jy7788/article/details/41946875</guid><author>jy7788</author><pubDate>Mon, 15 Dec 2014 18:59:07 +0800</pubDate><description><![CDATA[浏览器统一通过应用层协议HTTP来交互数据，所谓HTTP请求和建立socket连接基本上是一个概念。浏览器上网其实就是通过给定的ip地址和默认的80端口和远程服务器建立远程连接。当你在浏览器输入www.baidu.com按下回车的时候，主机首先去找DNS服务器将域名转化为ip地址，得到地址后再向目标地址发送get请求。服务器收到请求后返回请求的相关数据。这个过程看似三言两语就描述完了，其实其中有各]]></description><category></category></item><item><title><![CDATA[struts2学习]]></title><link>https://blog.youkuaiyun.com/jy7788/article/details/41941527</link><guid>https://blog.youkuaiyun.com/jy7788/article/details/41941527</guid><author>jy7788</author><pubDate>Mon, 15 Dec 2014 11:18:39 +0800</pubDate><description><![CDATA[在传统的jsp+servlet+jdbc的java web开发模式中，往往将所有的逻辑控制代码放到servlet中实现。这就导致了servlet中的代码十分复杂，且在实际项目开发中会存在很多问题。struts2就是针对其中的一些问题而出现的。这些问题可以分为三类，称为硬代码、机械代码以及测试问题。下面将针对给出的代码进行分析。
import java.io.IOException;
import]]></description><category></category></item></channel></rss>