<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[J.Jian博客]]></title><description><![CDATA[日积月累，终成大神！]]></description><link>https://blog.youkuaiyun.com/Mynewclass</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Mynewclass]]></copyright><item><title><![CDATA[Java三种工厂模式]]></title><link>https://blog.youkuaiyun.com/Mynewclass/article/details/81012617</link><guid>https://blog.youkuaiyun.com/Mynewclass/article/details/81012617</guid><author>Mynewclass</author><pubDate>Thu, 12 Jul 2018 14:42:42 +0800</pubDate><description><![CDATA[前言




  很多框架中都设计到设计模式，其中工厂模式最常用，为了日后能更好研究框架源码，或者对于小白的我来说至少能读懂框架源码。掌握基本的设计模式是必须的。所以在这里做一个粗浅的认识总结，其中可能会有很多的瑕疵，希望大家多多包涵，此外其中的UML都是自己画的，自我感觉不太很正规。




概念

以工厂方法模式（Factory Method Model）UML说明相关概念 
  
角色说明：...]]></description><category></category></item><item><title><![CDATA[Java策略模式]]></title><link>https://blog.youkuaiyun.com/Mynewclass/article/details/80859239</link><guid>https://blog.youkuaiyun.com/Mynewclass/article/details/80859239</guid><author>Mynewclass</author><pubDate>Fri, 29 Jun 2018 17:17:16 +0800</pubDate><description><![CDATA[策略模式


策略模式属于对象的行为模式，主要是是针对一组算法，将每一个算法封装到具有共同接口的抽象的类中，从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。
策略模式把一个系列的算法封装到一个系列的具体策略类里面，作为一个抽象策略类的子类或策略接口的实现类。
主要适用于完成同一个共同目标而需要提出不同具有动态性并且具有差异的方案，比如针对同一个商品不同时期不同人的打...]]></description><category></category></item><item><title><![CDATA[Java代理模式（3）一CGLib动态代理]]></title><link>https://blog.youkuaiyun.com/Mynewclass/article/details/80752955</link><guid>https://blog.youkuaiyun.com/Mynewclass/article/details/80752955</guid><author>Mynewclass</author><pubDate>Wed, 20 Jun 2018 23:54:36 +0800</pubDate><description><![CDATA[目录

Java代理模式（1）一静态代理 
Java代理模式（2）一动态代理



前言


  Java代理模式（2）一动态代理中提到Java的动态代理只局限于实现接口的实现类（RealSubject/RealSubject2都实现 ProblemInterface），尽管比起静态代理优点有很多，但是实际业务中不是所有的类都会实现一个接口，在Spring、Hibernate这些框架更是很明显，所...]]></description><category></category></item><item><title><![CDATA[Java代理模式（2）一动态代理]]></title><link>https://blog.youkuaiyun.com/Mynewclass/article/details/80739300</link><guid>https://blog.youkuaiyun.com/Mynewclass/article/details/80739300</guid><author>Mynewclass</author><pubDate>Tue, 19 Jun 2018 23:20:33 +0800</pubDate><description><![CDATA[前言


  之前Java代理模式（1）已经介绍了Java的静态模式，其缺点也已经说明。为此引出了Java的动态代理。






一、Java动态代理与静态代理的对比

静态代理：


是通过开发人员手动去实现接口并调用的；
只能一个代理类实现一个接口，如果接口中的还有未实现的方法时，代理类也要必须实现。同时会产生大量重复的代码。


动态代理：


通过反射机制实现动态代理（利用java.la...]]></description><category></category></item><item><title><![CDATA[Java代理模式（1）一静态代理]]></title><link>https://blog.youkuaiyun.com/Mynewclass/article/details/80731327</link><guid>https://blog.youkuaiyun.com/Mynewclass/article/details/80731327</guid><author>Mynewclass</author><pubDate>Tue, 19 Jun 2018 13:52:05 +0800</pubDate><description><![CDATA[前言


  有一天，小李在项目中发现一个严重的问题，需要直接向其他部门的经理B沟通该问题。但是想来想去，出于职场经验小李决定不能直接去找那个经理，不能越过自己部门领导而直接去找。这样违反了职场规则。那么小李最后决定先找部门负责该项目的领导A，然后请求领导A向经理B反映沟通该问题。 
  这个例子中涉及到我们的代理模式，何为代理模式呢，从小李请求沟通这方面讲： 
  1、小李作为被领导A代理对象，...]]></description><category></category></item><item><title><![CDATA[Java并发学习（3）一5种同步辅助类]]></title><link>https://blog.youkuaiyun.com/Mynewclass/article/details/80418174</link><guid>https://blog.youkuaiyun.com/Mynewclass/article/details/80418174</guid><author>Mynewclass</author><pubDate>Mon, 28 May 2018 17:40:13 +0800</pubDate><description><![CDATA[前言




  线程之前通常需要进一步的协调工作，来完成相应比较复杂的并发任务，使用wait/notify等方法都是底层实现。现在我们需要的更为抽象满足具体实际业务的一些方法，这时候我们就会用到相应的5种同步辅助类。



CountDownLatch：它允许一个或多个线程一直等待，直到其他线程执行完后再执行。利用它可以实现类似于计数器的功能。
Semaphore：信号量，如果学过操作系统中PV...]]></description><category></category></item><item><title><![CDATA[Java 8一学习Stream API]]></title><link>https://blog.youkuaiyun.com/Mynewclass/article/details/80393308</link><guid>https://blog.youkuaiyun.com/Mynewclass/article/details/80393308</guid><author>Mynewclass</author><pubDate>Mon, 21 May 2018 18:05:55 +0800</pubDate><description><![CDATA[前言


  这里只简单记录Java 8 stream API的使用 
  不讨论过多的性能对比与底层原理。




一、什么是Stream

1、stream并不是某种数据结构，它只是数据源的一种视图。这里的数据源可以是一个数组，集合等。stream接口继承关系如下： 
 
其中IntStream LongStream DoubleStream对应数据基本类型int long double三种数...]]></description><category></category></item><item><title><![CDATA[jQuery对象与DOM对象]]></title><link>https://blog.youkuaiyun.com/Mynewclass/article/details/80292071</link><guid>https://blog.youkuaiyun.com/Mynewclass/article/details/80292071</guid><author>Mynewclass</author><pubDate>Sat, 12 May 2018 16:42:06 +0800</pubDate><description><![CDATA[jQuery也可以返回DOM对象，在这里做个记录加深记忆，主要做如下两个记录




  1.jQuery哪些方法返回DOM对象 
  2.jQuery对象与DOM对象相互转换


1、jQuery哪些方法可以返回DOM对象


由于jQuery对象本身是一个集合，所以我们使用[index]索引取出某一项时，取出的就为DOM对象 ,如$(&quot;#div&quot;)[0]，$(&quot;div&quot;).eq(1)[0]，$...]]></description><category></category></item><item><title><![CDATA[LeetCode一求素数算法优化的简单研究]]></title><link>https://blog.youkuaiyun.com/Mynewclass/article/details/80272303</link><guid>https://blog.youkuaiyun.com/Mynewclass/article/details/80272303</guid><author>Mynewclass</author><pubDate>Sat, 12 May 2018 15:36:30 +0800</pubDate><description><![CDATA[前言




  1.求素数对于大多数人都比较简单，谁不知道啊。一个数n只存在1与自身能整除的数就为素数，并且编写代码也相对容易，很快就能写出。 
   2.  但是如果我现在要求优化求素数的算法呢？你能做到几步优化？从时间上优化，从空间上优化都能实现吗？




1、常规的算法及实现

（1）简单算法描述：


  第（1）步：在2~n-1中取数循环除以n，如果能整除就返回false退出，否则继...]]></description><category></category></item><item><title><![CDATA[HTML5图片验证及上传实例：学习FileReader/Image]]></title><link>https://blog.youkuaiyun.com/Mynewclass/article/details/80254082</link><guid>https://blog.youkuaiyun.com/Mynewclass/article/details/80254082</guid><author>Mynewclass</author><pubDate>Wed, 09 May 2018 16:49:16 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[Java8一Lambda与函数式接口]]></title><link>https://blog.youkuaiyun.com/Mynewclass/article/details/80169476</link><guid>https://blog.youkuaiyun.com/Mynewclass/article/details/80169476</guid><author>Mynewclass</author><pubDate>Wed, 02 May 2018 19:01:54 +0800</pubDate><description><![CDATA[关于Lambda表示在工作学习中会经常用到，但并没有全面的去了解。在这里做一个较为详细的记录供以后学习查阅。主要参考Java 8 Lambda 表达式



引言



Java8之前，我们在使用Runnale创建线程的时候，经常需要将Runable实例传入new Thread中。一般采用匿名内部类将函数作为参数的形式传入



new Thread(new Runnable() {
    @O...]]></description><category></category></item><item><title><![CDATA[Spring定时任务基于注解的学习]]></title><link>https://blog.youkuaiyun.com/Mynewclass/article/details/80164058</link><guid>https://blog.youkuaiyun.com/Mynewclass/article/details/80164058</guid><author>Mynewclass</author><pubDate>Wed, 02 May 2018 13:49:53 +0800</pubDate><description><![CDATA[前言




  关于相关定时任务的开发工具一般用到quartz与Spring Task两种方式。 
  关于quartz的配置相对要复杂一些，具体请看我之前的认识quartz定时器。 
  而Spring Task更为广泛使用，非常轻量级配置简单，使用方便。




一、相关配置

在spring的配置文件applicationContext.xml中配置。

1、在xmlns中添加：

xml...]]></description><category></category></item><item><title><![CDATA[SSM框架下Log4j的配置（1）]]></title><link>https://blog.youkuaiyun.com/Mynewclass/article/details/80078645</link><guid>https://blog.youkuaiyun.com/Mynewclass/article/details/80078645</guid><author>Mynewclass</author><pubDate>Wed, 25 Apr 2018 15:33:22 +0800</pubDate><description><![CDATA[前言




  Log4j是用来做什么的？ 
  Log4j需要什么样的配置文件才能运行？ 
  Log4j结合SSM框架是如何在web.xml配置的？


什么是Log4j？

  Log4j是Apache的一个开源项目，通过使用Log4j，我们可以控制日志信息输送的目的地是控制台、文件、GUI组件，甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等；我们也可以控制每一条日...]]></description><category></category></item><item><title><![CDATA[SpringMVC 常用applicationContext.xml、web.xml、servlet-mvc.xml简单配置]]></title><link>https://blog.youkuaiyun.com/Mynewclass/article/details/80066447</link><guid>https://blog.youkuaiyun.com/Mynewclass/article/details/80066447</guid><author>Mynewclass</author><pubDate>Tue, 24 Apr 2018 18:07:50 +0800</pubDate><description><![CDATA[在进行学习配置文件之前，为了加深对框架的认识，简单的做了SSM框架的简单实验。然后画出listAll查询方法的整个过程的思维导图。 
 
整个过程中的web.xml、SpringMVC.xml、applicationContext.xml配置文件起到关键作用，同时也是为了加深理解，在此做下记录，请看下面！一、SpringMVC的web.xml配置关于SpringMVC 的web.xml详细介绍，我之]]></description><category></category></item><item><title><![CDATA[学习排序算法（1）]]></title><link>https://blog.youkuaiyun.com/Mynewclass/article/details/79959022</link><guid>https://blog.youkuaiyun.com/Mynewclass/article/details/79959022</guid><author>Mynewclass</author><pubDate>Fri, 20 Apr 2018 14:37:37 +0800</pubDate><description><![CDATA[一、排序算法的介绍首先，我们队排序算法进行分类，可以从两个不同的角度各分为两类。
从排序过程中用到的内外存储分为：内部排序与外部排序。
通过排序的手段（通过比较决定位置还是通过其他）来划分为：非线性与线性排序
其次，我们又可以细分为：冒泡排序、选择排序、堆排序、快速排序等，请看下图 
最后，我们对排序算法的时间复杂度、空间复杂度、稳定性等性能进行总结，请看下图二、具体算法描述与代码实现1、冒泡排序（]]></description><category></category></item><item><title><![CDATA[LeetCode一求数组第一个缺失正数问题]]></title><link>https://blog.youkuaiyun.com/Mynewclass/article/details/79820466</link><guid>https://blog.youkuaiyun.com/Mynewclass/article/details/79820466</guid><author>Mynewclass</author><pubDate>Wed, 04 Apr 2018 19:24:17 +0800</pubDate><description><![CDATA[1、题目要求及分析：

（1）题目要求：

给一个未排序的数组，找出第一个缺失的正整数。

例如， 
[1,2,0] 返回 3， 
[3,4,-1,1] 返回 2。

你的算法应该在 O(n) 的时间复杂度内完成并且使用常数量的空间。 
（2）题目分析：

此题是对数组的灵活运用，跟很多数组的题一样，都是循环-&amp;gt;比较-&amp;gt;输出问题，但是这里注意时间复杂度为O(n)与常数量的空间（也就是另...]]></description><category></category></item><item><title><![CDATA[LeetCode——解决删除数组中重复元素问题三种方式]]></title><link>https://blog.youkuaiyun.com/Mynewclass/article/details/79805367</link><guid>https://blog.youkuaiyun.com/Mynewclass/article/details/79805367</guid><author>Mynewclass</author><pubDate>Tue, 03 Apr 2018 18:03:35 +0800</pubDate><description><![CDATA[情景要求： 
（1）输入的数组元素为基本类型int。 
（2）返回不含重复元素的数组，其类型为基本类型int。 
（3）对最后的结果数组元素顺序没有要求，可乱序也可排序。 
经过一系列的思考与实践，总结出了以下三种不同情形“删除数组重复元素”的解决办法。

1、通过原始数组删除重复元素

方法一：不重新开辟内存（不创建list、set等），可以在原始数组中原地删除重复元素。 
    由于数组的长...]]></description><category></category></item><item><title><![CDATA[学习jquery validate插件方法remote]]></title><link>https://blog.youkuaiyun.com/Mynewclass/article/details/79770758</link><guid>https://blog.youkuaiyun.com/Mynewclass/article/details/79770758</guid><author>Mynewclass</author><pubDate>Sat, 31 Mar 2018 16:41:34 +0800</pubDate><description><![CDATA[最近接触到remote方法，有些细节没有掌握好，经过一番的查资料与思考。现在终于知道了这个remote方法的巧妙之处以及细节用法，接下来加以记录。



1、remote方法的接受数据Data

remote的本质是异步ajax，自然接受的数据类型可以跟ajax的类型相同，但是这里remote的源码要求我们当我们默认只需要验证当前元素的值的时候，即可以直接用以下方式



//验证身份证号唯一性
...]]></description><category></category></item><item><title><![CDATA[基础算法一一股神问题]]></title><link>https://blog.youkuaiyun.com/Mynewclass/article/details/79650920</link><guid>https://blog.youkuaiyun.com/Mynewclass/article/details/79650920</guid><author>Mynewclass</author><pubDate>Thu, 22 Mar 2018 11:20:07 +0800</pubDate><description><![CDATA[一、题目描述股神问题： 
 买了一支股票，他知道从他买股票的那天开始，股票会有以下变化：第一天不变，以后涨一天，跌一天，涨两天，跌一天，涨三天，跌一天…依此类推。 
 为方便计算，假设每次涨和跌皆为1，股票初始单价也为1，请计算买股票的第n天每股股票值多少钱？二、问题分析将问题具体化： 
 
通过将问题化解为子类问题后得知：每次的变化其实就是增加1、2、3、4、5、n次之后减1，首先我想到的是利用递]]></description><category></category></item><item><title><![CDATA[学习二叉树（1）]]></title><link>https://blog.youkuaiyun.com/Mynewclass/article/details/79570945</link><guid>https://blog.youkuaiyun.com/Mynewclass/article/details/79570945</guid><author>Mynewclass</author><pubDate>Thu, 15 Mar 2018 23:42:25 +0800</pubDate><description><![CDATA[1、二叉树介绍

二叉树是指每个节点最多有两个子树的的树形结构（通俗来说就是一个父节点顶多有两个字节点），它可以有以下几种形状。 


2、二叉树的特性介绍及简单证明

（1）  二叉树第i层上的结点数目最多为2i−1(i≥0)2i−1(i≥0) 2^{i-1}(i≥0)   
 （2） 深度为k的二叉树最多的结点数为有2k−1(k≥0)2k−1(k≥0) 2^{k}-1(k≥0)   
一个满二...]]></description><category></category></item></channel></rss>