<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cc4167的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cc4167</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cc4167]]></copyright><item><title><![CDATA[双向链表的实现]]></title><link>https://blog.youkuaiyun.com/cc4167/article/details/84910909</link><guid>https://blog.youkuaiyun.com/cc4167/article/details/84910909</guid><author>cc4167</author><pubDate>Sun, 22 Oct 2017 22:23:57 +0800</pubDate><description><![CDATA[
package com.test.tmp;

public interface IList&amp;lt;E&amp;gt; {

    boolean add(E e);
    
    int getSize();
    
    E get(int index);
    
    E getFirst();
    
    E getLast();
    
    ...]]></description><category></category></item><item><title><![CDATA[函数回调机制浅析以及Spring框架中对函数回调的经典应用]]></title><link>https://blog.youkuaiyun.com/cc4167/article/details/84910426</link><guid>https://blog.youkuaiyun.com/cc4167/article/details/84910426</guid><author>cc4167</author><pubDate>Sat, 14 Oct 2017 20:24:12 +0800</pubDate><description><![CDATA[

回调函数的概念

       回调函数顾名思义就是：A调用B,然后B又可以回调A中的方法。可以举如下例子：晚上下班回家开灯准备用电饭煲煮晚饭，发现家里由于欠费导致停电了，这个时候通过支付宝缴纳电费，电费缴纳成功之后呢支付宝需要通知电力公司，我家的电费缴纳成功了，然后我查看家里的电表，发现电费缴纳成功，可以继续做饭了（只是举例说明回调函数的含义，具体支付宝缴纳电费不一定是这么实现）。
 ...]]></description><category></category></item><item><title><![CDATA[Java线程池原理浅析]]></title><link>https://blog.youkuaiyun.com/cc4167/article/details/84910420</link><guid>https://blog.youkuaiyun.com/cc4167/article/details/84910420</guid><author>cc4167</author><pubDate>Sat, 14 Oct 2017 16:20:49 +0800</pubDate><description><![CDATA[
     线程池是Java开发中常用的功能，在日常开发经常用到，那对于其的实现原理是否了解？下面就线程池的原理做个简单的分析。就从最简单的使用开始来分析具体实现和领悟JDK 实现的基本思想。
  

最简单的线程池使用方式

             
  ExecutorService service = Executors.newFixedThreadPool(10);
  se...]]></description><category></category></item><item><title><![CDATA[关于DDOS、DOS、CC攻击那点事]]></title><link>https://blog.youkuaiyun.com/cc4167/article/details/84757442</link><guid>https://blog.youkuaiyun.com/cc4167/article/details/84757442</guid><author>cc4167</author><pubDate>Sun, 20 Dec 2015 21:54:43 +0800</pubDate><description><![CDATA[在现实生活中我们经常听到某某网站被黑客攻击导致网站不能正常提供服务或者是网站信息被篡改等等情况，那么下面我们来简单了解下黑客一般是通过什么手段使得网站瘫痪的呢？下面会提到常用的三种基于网络的三种攻击方式。

DDOS攻击，全称为DDoS:Distributed Denial of Service ，翻译中文为：分布式拒绝服务。主要是指基于客户/服务器技术，将网络上多个计算机联合起来作为攻击平台...]]></description><category></category></item><item><title><![CDATA[求最大连续乘积 ]]></title><link>https://blog.youkuaiyun.com/cc4167/article/details/84739761</link><guid>https://blog.youkuaiyun.com/cc4167/article/details/84739761</guid><author>cc4167</author><pubDate>Mon, 31 Aug 2015 22:27:43 +0800</pubDate><description><![CDATA[题目

给一个浮点数序列，取最大乘积连续子串的值，例如 -2.5，4，0，3，0.5，8，-1，则取出的最大乘积连续子串为3，0.5，8。也就是说，上述数组中，3 0.5 8这3个数的乘积3*0.5*8=12是最大的，而且是连续的。


[code=&quot;java&quot;]
	private static double getMaxProductNum(double[] array) {
		...]]></description><category></category></item><item><title><![CDATA[JAVA多线程常见问题。]]></title><link>https://blog.youkuaiyun.com/cc4167/article/details/84734792</link><guid>https://blog.youkuaiyun.com/cc4167/article/details/84734792</guid><author>cc4167</author><pubDate>Mon, 27 Jul 2015 22:37:48 +0800</pubDate><description><![CDATA[Java多线程面试题及回答

1)现在有T1、T2、T3三个线程，你怎样保证T2在T1执行完后执行，T3在T2执行完后执行？

这个线程问题通常会在第一轮或电话面试阶段被问到，目的是检测你对”join”方法是否熟悉。这个多线程问题比较简单，可以用join方法实现。

2)在Java中Lock接口比synchronized块的优势是什么？你需要实现一个高效的缓存，它允许多个用户读，但只允...]]></description><category></category></item><item><title><![CDATA[TCP 连接断连问题剖析]]></title><link>https://blog.youkuaiyun.com/cc4167/article/details/84734563</link><guid>https://blog.youkuaiyun.com/cc4167/article/details/84734563</guid><author>cc4167</author><pubDate>Sun, 26 Jul 2015 21:02:50 +0800</pubDate><description><![CDATA[来自：http://www.ibm.com/developerworks/cn/aix/library/0808_zhengyong_tcp/ 
 引言

在官方的正式文档中，TCP/IP 协议簇也称为国际互联网协议簇。TCP/IP 协议簇是目前使用最为广泛的全球互联网技术，其分层结构如图 1 所示：
图 1. TCP/IP 协议簇分层结构
figure1

如图 1 所示，数据链路...]]></description><category></category></item><item><title><![CDATA[数据结构几种排序算法整理]]></title><link>https://blog.youkuaiyun.com/cc4167/article/details/84730272</link><guid>https://blog.youkuaiyun.com/cc4167/article/details/84730272</guid><author>cc4167</author><pubDate>Sun, 28 Jun 2015 11:19:40 +0800</pubDate><description><![CDATA[最新整理书籍，无意间翻出大学时期数据结构课本，随便翻阅了其中关于排序这一章，粗略的看了下突然觉得比较陌生，作为计算机基础的东西，自己工作了反而用的比较少，平时自己也没有太关注，为了以后万一需要找工作方便复习这些东西，今写于此。

快速排序：快速排序是对冒泡排序的一种改进，冒泡排序是比较的相邻两个元素，故比较的次数以及元素移动的频率比较大。快速排序有效的改进了这一不足，比较的元素位置相隔比较远，...]]></description><category></category></item><item><title><![CDATA[Java类加载原理浅析]]></title><link>https://blog.youkuaiyun.com/cc4167/article/details/84684186</link><guid>https://blog.youkuaiyun.com/cc4167/article/details/84684186</guid><author>cc4167</author><pubDate>Thu, 06 Nov 2014 18:16:53 +0800</pubDate><description><![CDATA[
&amp;lt;div class=&quot;iteye-blog-content-contain&quot; style=&quot;font-size: 14px&quot;&amp;gt;&amp;lt;/div&amp;gt;我们都知道Java程序最终都是以class文件的表现形式，其中这些class文件都要被加载到JVM之后才能改被执行和使用。但是对于JVM是如何去加载这些Class文件？以及Class文件被加载到JVM中之后会发生什么变化？下面来做个...]]></description><category></category></item><item><title><![CDATA[JAVA采取递归构建并且遍历二叉树]]></title><link>https://blog.youkuaiyun.com/cc4167/article/details/84683243</link><guid>https://blog.youkuaiyun.com/cc4167/article/details/84683243</guid><author>cc4167</author><pubDate>Sat, 01 Nov 2014 21:35:01 +0800</pubDate><description><![CDATA[下面是一维数组存储结构示意图
 由上面来看这个一维数组存储结构很简单，这里是一颗完全二叉树所以在一维数组里面没有造成内存的浪费。但是如果不是一个完全或者满二叉树的话，并且仍然采取顺序存储结构的话就会造成大量的内存单元浪费，因为我们必须给二叉树添上一些虚构的不存在的结点，这是资源浪费一方面。另一方面是如果这棵二叉树存在大量的插入和删除等操作就会出现运算的不方便，因为我们插入或者删除一个结点就会造成...]]></description><category></category></item><item><title><![CDATA[JAVA异步任务执行之-FutureTask]]></title><link>https://blog.youkuaiyun.com/cc4167/article/details/84488429</link><guid>https://blog.youkuaiyun.com/cc4167/article/details/84488429</guid><author>cc4167</author><pubDate>Sun, 13 Oct 2013 22:15:17 +0800</pubDate><description><![CDATA[
FutureTask为可取消的异步计算任务的程序处理。这个异步任务是可以取消的，。利用开始和取消计算的方法、查询计算是否完成的方法和获取计算结果的方法，此类提供了对 Future 的基本实现。仅在计算完成时才能获取结果；如果计算尚未完成，则阻塞 get 方法。一旦计算完成，就不能再重新开始或取消计算。可使用 FutureTask 包装 Callable 或 Runnable 对象。因为 Futu...]]></description><category></category></item><item><title><![CDATA[EJB原理简单还原呈现：Skeleton、Sub之间的关系]]></title><link>https://blog.youkuaiyun.com/cc4167/article/details/84418810</link><guid>https://blog.youkuaiyun.com/cc4167/article/details/84418810</guid><author>cc4167</author><pubDate>Sun, 14 Apr 2013 00:02:28 +0800</pubDate><description><![CDATA[在基于J2EE的规范各个J2EE APPLICATION SERVER中，对于EJB容器的实现原理都一样，在EJB容器提供的对服务端的EJB应用的访问提供几种不同的访问方式：可以通过WEB应用访问、胖客户端、APPCLIENT访问，下面以胖客户端访问方式来简单的说明在调用服务端的 EJB应用底层SOCKET大体实现原理：

1、构造一个简单的EJB应用，下面的简单EJB应用用EJB3.0规范实...]]></description><category></category></item><item><title><![CDATA[关于将序列化的JAVA类对象在Socket传输]]></title><link>https://blog.youkuaiyun.com/cc4167/article/details/84418797</link><guid>https://blog.youkuaiyun.com/cc4167/article/details/84418797</guid><author>cc4167</author><pubDate>Sat, 13 Apr 2013 23:11:24 +0800</pubDate><description><![CDATA[[quote]
[*][quote][code=&quot;java&quot;]JAVA中的对象序列化是用来讲java的类对象实例编码成字节流在传输层进行传输【这个过程可以被称作序列化】，并且在服务端接收到序列化之后的对象进行反序列化从字节流编码中重新构建对象【这个过程可以被称为反序列化】。可以这么说JAVA序列化技术为java远程通信提供了标准的线路级对象表示法，也为JAVABEANS组件结构提供了标准的持久化...]]></description><category></category></item><item><title><![CDATA[JAVA RMI与EJB远程调用模型]]></title><link>https://blog.youkuaiyun.com/cc4167/article/details/84384970</link><guid>https://blog.youkuaiyun.com/cc4167/article/details/84384970</guid><author>cc4167</author><pubDate>Thu, 24 Jan 2013 11:24:14 +0800</pubDate><description><![CDATA[本人刚刚毕业半年，第一次写技术方面的文章，主要目的就是记录自己在工作中以及平时学习过程中对一些知识点的理解，与大家一起分享，肯定有写的不好的地方和错误，希望给位批评指出，大家一起成长，谢谢~~。下面是关于ＥＪＢ调用与java  RMI方面的自己见解。
用过服务器的程序员应该都知道，在rich client 或者通过其他方式调用服务器端部署的EJB应用时一般都是在客户端调用lookup(“Jndi...]]></description><category></category></item></channel></rss>