<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[刘志龙的专栏/技术博客]]></title><description><![CDATA[新浪微博：沙之cactus]]></description><link>https://blog.youkuaiyun.com/LZL102801</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; LZL102801]]></copyright><item><title><![CDATA[web安全总结]]></title><link>https://blog.youkuaiyun.com/LZL102801/article/details/80198401</link><guid>https://blog.youkuaiyun.com/LZL102801/article/details/80198401</guid><author>LZL102801</author><pubDate>Fri, 04 May 2018 17:44:49 +0800</pubDate><description><![CDATA[最近被公司强迫本鸟研究安全，没办法，看了一个月的资料，mark总结下。安全问题  解决方案  推荐工具 xss跨站脚本攻击  1.给关键cookie加上httponly属性，js将无法访问    2.对html标签、css标签、url地址等处用户输入定的关键字符 &amp;amp;，&amp;lt;,&amp;gt; ,&quot;,'等进行encode  1.httponly    2.owasp esapi csrf跨站请求伪...]]></description><category></category></item><item><title><![CDATA[ibatis批量插入对象list]]></title><link>https://blog.youkuaiyun.com/LZL102801/article/details/54376297</link><guid>https://blog.youkuaiyun.com/LZL102801/article/details/54376297</guid><author>LZL102801</author><pubDate>Thu, 12 Jan 2017 11:19:42 +0800</pubDate><description><![CDATA[INSERT INTO t_hotel_bedtype 

uid,bedtypeid,defaultoccupancy,bedtypename,bedtypenamecn,interfaceid, 
VALUES 


#{record.uid,javaType=java.lang.String},#{record.bedtypeid,javaType=java.lang.Strin]]></description><category></category></item><item><title><![CDATA[乐观锁和悲观锁 对多并发处理]]></title><link>https://blog.youkuaiyun.com/LZL102801/article/details/54232783</link><guid>https://blog.youkuaiyun.com/LZL102801/article/details/54232783</guid><author>LZL102801</author><pubDate>Sun, 08 Jan 2017 11:27:09 +0800</pubDate><description><![CDATA[乐观锁(Optimistic Lock), 顾名思义，就是很乐观，每次去拿数据的时候都认为别人不会修改，所以不会上锁，但是在更新的时候会判断一下在此期间别人有没有去更新这个数据，可以使用版本号等机制。乐观锁适用于多读的应用类型，这样可以提高吞吐量，像数据库如果提供类似于write_condition机制的其实都是提供的乐观锁。




悲观锁(Pessimistic Lock), 顾名思]]></description><category></category></item><item><title><![CDATA[分布式高并发系统如何保证对外接口的幂等性？]]></title><link>https://blog.youkuaiyun.com/LZL102801/article/details/54232656</link><guid>https://blog.youkuaiyun.com/LZL102801/article/details/54232656</guid><author>LZL102801</author><pubDate>Sun, 08 Jan 2017 11:08:48 +0800</pubDate><description><![CDATA[要做到幂等性，从接口设计上来说不设计任何非幂等的操作即可。
譬如说需求是：
当用户点击赞同时，将答案的赞同数量+1。
改为：
当用户点击赞同时，确保答案赞同表中存在一条记录，用户、答案。
赞同数量由答案赞同表统计出来。
zookeeper之类的分布式锁
重复消息是SOA服务实现中非常常见的问题，你永远不要指望调用方每次请求消息不一样，对于读操作，重复消息可能无害，可对于写操作很可能就]]></description><category></category></item><item><title><![CDATA[负载均衡 集群]]></title><link>https://blog.youkuaiyun.com/LZL102801/article/details/54232576</link><guid>https://blog.youkuaiyun.com/LZL102801/article/details/54232576</guid><author>LZL102801</author><pubDate>Sun, 08 Jan 2017 10:58:46 +0800</pubDate><description><![CDATA[负载均衡的源地址哈希（Hash）法：(各种具体实现参考：http://www.cnblogs.com/szlbm/p/5588555.html)
接受外来请求，怎么分配到集群中的某个服务器
负载均衡根据客户端ip的hashcode对服务器列表大小取余数


服务器权重：
权重是会根据负载大小变化的，如果负载一直增加，那么权重就会一直减少到不是最大，也就不会再分配任务给它了，反而分配给]]></description><category></category></item><item><title><![CDATA[多线程对各种变量共享]]></title><link>https://blog.youkuaiyun.com/LZL102801/article/details/54232380</link><guid>https://blog.youkuaiyun.com/LZL102801/article/details/54232380</guid><author>LZL102801</author><pubDate>Sun, 08 Jan 2017 10:30:35 +0800</pubDate><description><![CDATA[静态变量：线程非安全。

静态变量即类变量，位于方法区，为所有对象共享，共享一份内存，一旦静态变量被修改，其他对象均对修改可见，故线程非安全。



实例变量：单例模式（只有一个对象实例存在）线程非安全，非单例线程安全。

实例变量为对象实例私有，在虚拟机的堆中分配，若在系统中只存在一个此对象的实例，在多线程环境下，“犹如”静态变量那样，被某个线程修改后，其他线程对修改均可见，故线]]></description><category></category></item><item><title><![CDATA[spring aop 原理]]></title><link>https://blog.youkuaiyun.com/LZL102801/article/details/54021481</link><guid>https://blog.youkuaiyun.com/LZL102801/article/details/54021481</guid><author>LZL102801</author><pubDate>Wed, 04 Jan 2017 17:09:13 +0800</pubDate><description><![CDATA[spring AOP两种实现机制是什么？动态代理技术

1.如果是有接口声明的类进行AOP 时，spring调用的是Java.lang.reflection.Proxy
 类来做处理

2.如果是没有接口声明的类时， spring通过cglib包和内部类来实现


在AOP，权限控制，事务管理等方面都有动态代理的实现。JDK本身有实现动态代理技术，但是略有限制，即被代理的类必须实现]]></description><category></category></item><item><title><![CDATA[hibernate]]></title><link>https://blog.youkuaiyun.com/LZL102801/article/details/54020281</link><guid>https://blog.youkuaiyun.com/LZL102801/article/details/54020281</guid><author>LZL102801</author><pubDate>Wed, 04 Jan 2017 16:05:27 +0800</pubDate><description><![CDATA[Hibernate 的延迟加载lazy：  true false proxy  
这种延迟加载保证了应用只有在需要时才去数据库中抓取相应的记录。通过延迟加载技术可以避免过多、过早地加载数据表里的数据，从而降低应用的内存开销。

Hibernate 的延迟加载本质上就是代理模式的应用，当程序通过
 Hibernate 装载一个实体时，默认情况下，Hibernate 并不会立即抓取它的集合属性]]></description><category></category></item><item><title><![CDATA[hashmap原理]]></title><link>https://blog.youkuaiyun.com/LZL102801/article/details/54016319</link><guid>https://blog.youkuaiyun.com/LZL102801/article/details/54016319</guid><author>LZL102801</author><pubDate>Wed, 04 Jan 2017 10:14:34 +0800</pubDate><description><![CDATA[数组是栈，占用内存大，链表是堆，数组读取快，链表增删快


HashMap底层就是一个数组结构，数组中的每一项又是一个链表。当新建一个HashMap的时候，就会初始化一个数组。


当我们往HashMap中put元素的时候，先根据key的hashCode重新计算hash值，根据hash值得到这个元素在数组中的位置（即下标），如果数组该位置上已经存放有其他元素了，那么在这个位置上的元素将]]></description><category></category></item><item><title><![CDATA[activeMQ  的2种消息机制]]></title><link>https://blog.youkuaiyun.com/LZL102801/article/details/54016076</link><guid>https://blog.youkuaiyun.com/LZL102801/article/details/54016076</guid><author>LZL102801</author><pubDate>Wed, 04 Jan 2017 09:55:12 +0800</pubDate><description><![CDATA[mq:点对点， 发布/订阅


JMS规范目前支持两种消息模型：点对点（point to point， queue）和发布/订阅（publish/subscribe，topic）。 
点对点： 
消息生产者生产消息发送到queue中，然后消息消费者从queue中取出并且消费消息。这里要注意： 
消息被消费以后，queue中不再有存储，所以消息消费者不可能消费到已经被消费的消息。 
Q]]></description><category></category></item><item><title><![CDATA[svn compare git]]></title><link>https://blog.youkuaiyun.com/LZL102801/article/details/53995899</link><guid>https://blog.youkuaiyun.com/LZL102801/article/details/53995899</guid><author>LZL102801</author><pubDate>Tue, 03 Jan 2017 16:53:46 +0800</pubDate><description><![CDATA[管理项目用svn，管理代码用git(分布式版本控制系统)。
GIT跟SVN一样有自己的集中式版本库或服务器。但，GIT更倾向于被使用于分布式模式，也就是每个开发人员从中心版本库/服务器上chect out代码后会在自己的机器上克隆一个自己的版本库。可以这样说，如果你被困在一个不能连接网络的地方时，就像在飞机上，地下室，电梯里等，你仍然能够提交文件，查看历史版本记录，创建项目分支，等。对一些人来说]]></description><category></category></item><item><title><![CDATA[@Transactional]]></title><link>https://blog.youkuaiyun.com/LZL102801/article/details/53780427</link><guid>https://blog.youkuaiyun.com/LZL102801/article/details/53780427</guid><author>LZL102801</author><pubDate>Wed, 21 Dec 2016 09:30:03 +0800</pubDate><description><![CDATA[事务（Transaction）是并发控制的单位，是用户定义的一个操作序列。这些操作要么都做，要么都不做，是一个不可分割的工作单位。


SpringMVC中的事务注解@ Transaction就是为了方法执行中的对数据库操作事务的完整性做的，要么方法全部执行成功，所有sql语句全部正确执行，要么全部不做，就是这样。


Spring的事物管理，一般加在service类上。也可以加在se]]></description><category></category></item><item><title><![CDATA[jaxb classes 生成]]></title><link>https://blog.youkuaiyun.com/LZL102801/article/details/25380975</link><guid>https://blog.youkuaiyun.com/LZL102801/article/details/25380975</guid><author>LZL102801</author><pubDate>Fri, 09 May 2014 11:50:27 +0800</pubDate><description><![CDATA[jaxb classes   -> elispe xsd generate jaxb classes]]></description><category></category></item><item><title><![CDATA[HibernateSynchronizer的安装与使用]]></title><link>https://blog.youkuaiyun.com/LZL102801/article/details/25380897</link><guid>https://blog.youkuaiyun.com/LZL102801/article/details/25380897</guid><author>LZL102801</author><pubDate>Fri, 09 May 2014 11:49:15 +0800</pubDate><description><![CDATA[HibernateSynchronizer的作用是自动生成hibernate配置文件，即hibernate.cfg.xml文件，映射文件，Plain Object类文件和一些基础数据库操作文件。
安装HibernateSynchronize
从http://www.binamics.com/hibernatesynch/plugins/com.hudson.hibernatesynchroni]]></description><category></category></item><item><title><![CDATA[memcached的安装及使用]]></title><link>https://blog.youkuaiyun.com/LZL102801/article/details/25379123</link><guid>https://blog.youkuaiyun.com/LZL102801/article/details/25379123</guid><author>LZL102801</author><pubDate>Fri, 09 May 2014 11:40:01 +0800</pubDate><description><![CDATA[Cmd 到memcached根目录 
1、安装 
memcached.exe –d install  

2、启动 
memcached.exe -d start 

此时memcached已经注册为开机启动服务 

完成安装。]]></description><category></category></item><item><title><![CDATA[activeMQ win7 下启动不了]]></title><link>https://blog.youkuaiyun.com/LZL102801/article/details/25376445</link><guid>https://blog.youkuaiyun.com/LZL102801/article/details/25376445</guid><author>LZL102801</author><pubDate>Fri, 09 May 2014 11:13:40 +0800</pubDate><description><![CDATA[activeMQ启动不起来
解决方法:
        如果你是windons 7系统,停止Internet Connection 


Sharing (ICS)服务
        开始菜单-->运行-->services.msc找到Internet 


Connection Sharing (ICS)服务,改成手动启动或禁用]]></description><category></category></item><item><title><![CDATA[并发异步处理]]></title><link>https://blog.youkuaiyun.com/LZL102801/article/details/25376139</link><guid>https://blog.youkuaiyun.com/LZL102801/article/details/25376139</guid><author>LZL102801</author><pubDate>Fri, 09 May 2014 11:11:30 +0800</pubDate><description><![CDATA[异步：
@async]]></description><category></category></item><item><title><![CDATA[memcache特殊字符处理]]></title><link>https://blog.youkuaiyun.com/LZL102801/article/details/25375717</link><guid>https://blog.youkuaiyun.com/LZL102801/article/details/25375717</guid><author>LZL102801</author><pubDate>Fri, 09 May 2014 11:08:25 +0800</pubDate><description><![CDATA[互联网项目开发目前比较流行的缓存服务分别是memcache和redis
两种都是非关系型缓存，即按照方式存取
Java缓存框架 EhCache EhCache 是一个纯Java的进程内缓存框架


，具有快速、精干等特点，是Hibernate中默认的CacheProvider
memcached服务默认占用的端口是11211，占用的最大内存默认是


64M。
set valu]]></description><category></category></item><item><title><![CDATA[servlert中处理spring Bean]]></title><link>https://blog.youkuaiyun.com/LZL102801/article/details/25375337</link><guid>https://blog.youkuaiyun.com/LZL102801/article/details/25375337</guid><author>LZL102801</author><pubDate>Fri, 09 May 2014 11:04:57 +0800</pubDate><description><![CDATA[public class InitServlet extends HttpServlet {

	private static final long serialVersionUID = -

5826096764263027718L;

	public void destroy() {
		super.destroy();
	}

	public void init() throws Servl]]></description><category></category></item><item><title><![CDATA[对眼睛最舒适的颜色]]></title><link>https://blog.youkuaiyun.com/LZL102801/article/details/25375103</link><guid>https://blog.youkuaiyun.com/LZL102801/article/details/25375103</guid><author>LZL102801</author><pubDate>Fri, 09 May 2014 11:02:51 +0800</pubDate><description><![CDATA[elipse 背景色
1、打开window->Preference,弹出Preference面板 


2、展开General标签，选中Editors选项，展开。 


3、选中 Test Editors，右边出现Test Editors面板。 
    面板中有这样一个选项：Appearance color options； 其中是各种板块颜色的设置，其中有一项是backgrou]]></description><category></category></item></channel></rss>