<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[肖俊宁的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/f9db33t79p</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; f9db33t79p]]></copyright><item><title><![CDATA[spring + redis 实现数据的缓存]]></title><link>https://blog.youkuaiyun.com/f9db33t79p/article/details/72667444</link><guid>https://blog.youkuaiyun.com/f9db33t79p/article/details/72667444</guid><author>f9db33t79p</author><pubDate>Tue, 23 May 2017 21:25:49 +0800</pubDate><description><![CDATA[1)、配置的文件（properties）

　　将那些经常要变化的参数配置成独立的propertis，方便以后的修改

　　redis.properties


1 redis.hostName=127.0.0.1
2 redis.port=6379
3 redis.timeout=15000
4 redis.usePool=true
5 
6 redis.maxIdle=6
7 r]]></description><category></category></item><item><title><![CDATA[秒杀系统架构分析与实战]]></title><link>https://blog.youkuaiyun.com/f9db33t79p/article/details/72667431</link><guid>https://blog.youkuaiyun.com/f9db33t79p/article/details/72667431</guid><author>f9db33t79p</author><pubDate>Tue, 23 May 2017 21:25:14 +0800</pubDate><description><![CDATA[目录
1 秒杀业务分析
2 秒杀技术挑战
3 秒杀架构原则
4 秒杀架构设计
5 大并发带来的挑战
6 作弊的手段：进攻与防守
7 高并发下的数据安全
8 总结



 
1 秒杀业务分析


正常电子商务流程（1）查询商品；（2）创建订单；（3）扣减库存；（4）更新订单；（5）付款；（6）卖家发货

秒杀业务的特性（1）低廉价格；（2）大幅推广；（3）瞬时售空]]></description><category></category></item><item><title><![CDATA[ConcurrentHashMap原理分析]]></title><link>https://blog.youkuaiyun.com/f9db33t79p/article/details/72667422</link><guid>https://blog.youkuaiyun.com/f9db33t79p/article/details/72667422</guid><author>f9db33t79p</author><pubDate>Tue, 23 May 2017 21:23:41 +0800</pubDate><description><![CDATA[HashTable是一个线程安全的类，它使用synchronized来锁住整张Hash表来实现线程安全，即每次锁住整张表让线程独占。ConcurrentHashMap允许多个修改操作并发进行，其关键在于使用了锁分离技术。它使用了多个锁来控制对hash表的不同部分进行的修改。ConcurrentHashMap内部使用段(Segment)来表示这些不同的部分，每个段其实就是一个小的Hashtable，]]></description><category></category></item><item><title><![CDATA[数据库面试知识]]></title><link>https://blog.youkuaiyun.com/f9db33t79p/article/details/72667339</link><guid>https://blog.youkuaiyun.com/f9db33t79p/article/details/72667339</guid><author>f9db33t79p</author><pubDate>Tue, 23 May 2017 21:14:21 +0800</pubDate><description><![CDATA[这段时间跳槽的人特别多, 程序员们又纷纷加入了年后面试寻求涨工资, 新机会的大军, 求职就意味着面试. 而对于java程序员来说, 数据库是面试必问的, 再次总结下数据库的面试常见问题:

 
1. 数据库的范式

    范式：英文名称是 Normal Form，它是英国人 E.F.Codd（关系数据库的老祖宗）在上个世纪70年代提出关系数据库模型后总结出来的，范式是关系数据库理论的基]]></description><category></category></item><item><title><![CDATA[SQL优化总结]]></title><link>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654723</link><guid>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654723</guid><author>f9db33t79p</author><pubDate>Tue, 23 May 2017 18:37:03 +0800</pubDate><description><![CDATA[SQL是每个Java程序员必回的一项技能,  对于项目中的各种复杂业务, 你是否能写出高效率, 简洁的SQL对于项目的运行效率和稳定性是有非常大的作用的. 通过个人的理解和网上的资料总结了一下常见的SQL优化知识:

 

（1） 选择最有效率的表名顺序(只在基于规则的优化器中有效)：

ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名，FROM子句中写在最后的表(基础]]></description><category></category></item><item><title><![CDATA[java中动态代理的实现]]></title><link>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654719</link><guid>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654719</guid><author>f9db33t79p</author><pubDate>Tue, 23 May 2017 18:36:35 +0800</pubDate><description><![CDATA[动态代理的实现

使用的模式：代理模式。
代理模式的作用是：为其他对象提供一种代理以控制对这个对象的访问。类似租房的中介。

两种动态代理：
（1）jdk动态代理，jdk动态代理是由Java内部的反射机制来实现的，目标类基于统一的接口（InvocationHandler）
（2）cglib动态代理，cglib动态代理底层则是借助asm来实现的，cglib这种第三方类库实现的动态代理应]]></description><category></category></item><item><title><![CDATA[Java中的24种设计模式与7大原则]]></title><link>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654712</link><guid>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654712</guid><author>f9db33t79p</author><pubDate>Tue, 23 May 2017 18:36:01 +0800</pubDate><description><![CDATA[一、创建型模式

1、抽象工厂模式(Abstract factory pattern): 提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类.
2、生成器模式(Builder pattern): 使用生成器模式封装一个产品的构造过程, 并允许按步骤构造. 将一个复杂对象的构建与它的表示分离, 使得同样的构建过程可以创建不同的表示.
3、工厂模式(factory method]]></description><category></category></item><item><title><![CDATA[spring中InitializingBean接口使用理解]]></title><link>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654709</link><guid>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654709</guid><author>f9db33t79p</author><pubDate>Tue, 23 May 2017 18:35:35 +0800</pubDate><description><![CDATA[InitializingBean接口为bean提供了初始化方法的方式，它只包括afterPropertiesSet方法，凡是继承该接口的类，在初始化bean的时候会执行该方法。

测试程序如下：


import org.springframework.beans.factory.InitializingBean;
public class TestInitializingBean im]]></description><category></category></item><item><title><![CDATA[多线程技术: 两个线程交替打印奇数和偶数]]></title><link>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654705</link><guid>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654705</guid><author>f9db33t79p</author><pubDate>Tue, 23 May 2017 18:34:44 +0800</pubDate><description><![CDATA[1. 要打印的资源


 1 package com.mytest.thread;
 2 
 3 /**
 4  * 要打印的资源
 5  * 
 6  */
 7 public class Num {
 8     int i = 1;
 9     // 两个线程看， 交替执行的一个标志
10     boolean flag = false;
11 }


 
2. 打印奇数的]]></description><category></category></item><item><title><![CDATA[eclipse maven 导出项目依赖的jar包]]></title><link>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654697</link><guid>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654697</guid><author>f9db33t79p</author><pubDate>Tue, 23 May 2017 18:34:19 +0800</pubDate><description><![CDATA[一、导出到默认目录 targed/dependency

从Maven项目中导出项目依赖的jar包：进入工程pom.xml 所在的目录下，执行如下命令：

1.  mvn dependency:copy-dependencies

或在eclipse中，选择项目的pom.xml文件，点击右键菜单中的Run As,见下图红框中，在弹出的Configuration窗口中，输入depende]]></description><category></category></item><item><title><![CDATA[AJAX工作原理及其优缺点]]></title><link>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654692</link><guid>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654692</guid><author>f9db33t79p</author><pubDate>Tue, 23 May 2017 18:33:41 +0800</pubDate><description><![CDATA[1.什么是AJAX?
AJAX全称为“Asynchronous JavaScript and XML”（异步JavaScript和XML），是一种创建交互式网页应用的网页开发技术。它使用：
使用XHTML+CSS来标准化呈现；
使用XML和XSLT进行数据交换及相关操作；
使用XMLHttpRequest对象与Web服务器进行异步数据通信； 
使用Javascript操作Document]]></description><category></category></item><item><title><![CDATA[weblogic虚拟路径的配置和使用]]></title><link>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654682</link><guid>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654682</guid><author>f9db33t79p</author><pubDate>Tue, 23 May 2017 18:32:58 +0800</pubDate><description><![CDATA[项目场景:

公司中医疗项目需要展示药品说明书的其他版本(图片或者PDF),由于其他版本文件存在Linux服务器上，服务器用的是weblogic, 无法直接访问文件,因此可以用weblogic的虚拟路径解决

 

解决的方法为：在weblogic.xml文件中配置要映射的路径为虚拟路径。

 

   
          D:/PRfcas   
          /]]></description><category></category></item><item><title><![CDATA[服务器有新消息主动推送给客户端浏览器]]></title><link>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654678</link><guid>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654678</guid><author>f9db33t79p</author><pubDate>Tue, 23 May 2017 18:32:35 +0800</pubDate><description><![CDATA[前言

通常情况下，无论是web浏览器还是移动app，我们与服务器之间的交互都是主动的，客户端向服务器端发出请求，然后服务器端返回数据给客户端，客户端浏览器再将信息呈现，客户端与服务端对应的模式是: 客户端请求--服务端响应，这种机制对于信息变化不是特别频繁的应用尚可，但对于实时要求高、海量并发的应用来说显得捉襟见肘，尤其在当前业界移动互联网蓬勃发展的趋势下，高并发与用户实时响应是 Web 应]]></description><category></category></item><item><title><![CDATA[TCP/IP三次握手和HTTP过程]]></title><link>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654667</link><guid>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654667</guid><author>f9db33t79p</author><pubDate>Tue, 23 May 2017 18:31:04 +0800</pubDate><description><![CDATA[1、TCP连接
手机能够使用联网功能是因为手机底层实现了TCP/IP协议，可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口，使上层网络数据的传输建立在“无差别”的网络之上。
建立起一个TCP连接需要经过“三次握手”：
第一次握手：客户端发送syn包(syn=j)到服务器，并进入SYN_SEND状态，等待服务器确认；
第二次握手：服务器收到syn包，必须确认客户的S]]></description><category></category></item><item><title><![CDATA[Zookeeper异常ConnectionLossException解决]]></title><link>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654660</link><guid>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654660</guid><author>f9db33t79p</author><pubDate>Tue, 23 May 2017 18:30:33 +0800</pubDate><description><![CDATA[项目中要求做一个将配置文件读取到zookeeper节点上的工具:

开发代码如下:





 



但是当连接到远端的Zookeeper服务之后，出现了下面异常：

Exception in thread "main" org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorC]]></description><category></category></item><item><title><![CDATA[maven项目打包成可执行的jar]]></title><link>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654652</link><guid>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654652</guid><author>f9db33t79p</author><pubDate>Tue, 23 May 2017 18:30:01 +0800</pubDate><description><![CDATA[编写功能类:
 View Code

编写main方法类:
 View Code

在pom文件中配置:
 View Code

打包方式：

1.进入到项目所在目录,例如:

cd D:\workspace\riskCompensate\FileToZkUtil

2.运行命令

mvn assembly:assembly

3.在项目的target目录中可]]></description><category></category></item><item><title><![CDATA[如何查看某个端口被谁占用]]></title><link>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654641</link><guid>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654641</guid><author>f9db33t79p</author><pubDate>Tue, 23 May 2017 18:29:12 +0800</pubDate><description><![CDATA[1.开始---->运行---->cmd，或者是window+R组合键，调出命令窗口



 

2.输入命令：netstat -ano，列出所有端口的情况。在列表中我们观察被占用的端口，比如是49157，首先找到它。



 

3.查看被占用端口对应的PID，输入命令：netstat -aon|findstr "49157"，回车，记下最后一位数字，即PID,这里是272]]></description><category></category></item><item><title><![CDATA[计算机相关名词解释]]></title><link>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654634</link><guid>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654634</guid><author>f9db33t79p</author><pubDate>Tue, 23 May 2017 18:28:45 +0800</pubDate><description><![CDATA[计算机网络:

1.DNS

      DNS（Domain Name System，域名系统），因特网上作为域名和IP地址相互映射的一个分布式数据库，能够使用户更方便的访问互联网，而不用去记住能够被机器直接读取的IP数串。通过主机名，最终得到该主机名对应的IP地址的过程叫做域名解析（或主机名解析）。DNS协议运行在UDP协议之上，使用端口号53。在RFC文档中RFC
 2181对DN]]></description><category></category></item><item><title><![CDATA[HashMap和 Hashtable的比较]]></title><link>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654627</link><guid>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654627</guid><author>f9db33t79p</author><pubDate>Tue, 23 May 2017 18:28:14 +0800</pubDate><description><![CDATA[Hashtable 和 HashMap的比较

1.  HashMap可以接受null(HashMap可以接受为null的键值(key)和值(value), HashTable不可以接受为null的键(key)和值(value)

2.  HashMap是非synchronized的, Hashtable是synchronized，这意味着Hashtable是线程安全的，多个线程可以共享一]]></description><category></category></item><item><title><![CDATA[服务端调用dubbo的方式]]></title><link>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654623</link><guid>https://blog.youkuaiyun.com/f9db33t79p/article/details/72654623</guid><author>f9db33t79p</author><pubDate>Tue, 23 May 2017 18:27:52 +0800</pubDate><description><![CDATA[方式1.通过API

 
方式2.通过spring

applicationContext-dubbo.xml
 
 
 
 注意引入提供方的接口jar包
 




♥作者：明志健致远 
♠出处：http://www.cnblogs.com/study-everyday/ 
♦本文版权归作者和博客园共有，欢迎转载，但未经作者同意必须保留此段声明，且在文章页面明显]]></description><category></category></item></channel></rss>