<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[浪淘沙的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lts223</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lts223]]></copyright><item><title><![CDATA[ConcurrentHashMap 做过什么改进？HashMap 死锁]]></title><link>https://blog.youkuaiyun.com/lts223/article/details/125925428</link><guid>https://blog.youkuaiyun.com/lts223/article/details/125925428</guid><author>lts223</author><pubDate>Fri, 22 Jul 2022 09:19:37 +0800</pubDate><description><![CDATA[但实际情况并非总是如此理想，虽然ConcurrentHashMap类默认的加载因子为0.75，但是在数据量过大或者运气不佳的情况下，还是会存在一些队列长度过长的情况，如果还是采用单向列表方式，那么查询某个节点的时间复杂度为O(n)；）,当线程占用一个Segment时,其他线程可以访问其他段的数据.（每个segment都是一个锁）.与hashtable相比，这么设计的目的是对于put,remove等操作，可以减少并发冲突，对不属于同一个片段的节点可以并发操作，大大提高了性能；...]]></description><category></category></item><item><title><![CDATA[HashMap push方法的执行过程]]></title><link>https://blog.youkuaiyun.com/lts223/article/details/125925368</link><guid>https://blog.youkuaiyun.com/lts223/article/details/125925368</guid><author>lts223</author><pubDate>Fri, 22 Jul 2022 09:18:58 +0800</pubDate><description><![CDATA[hash冲突就是不同的key有相同的hash值，这时就会出现hash冲突，当发生冲突后，冲突的数据会存在这个Entry对应的链表上（即Hash冲突后，那么HashMap的单个bucket里存储的不是一个Entry，而是一个Entry链），冲突后会将元素插入在链表的开头。遍历过程中若发现key已经存在直接覆盖value即可；②.根据键值key计算hash值得到插入的数组索引i，如果table[i]==null，直接新建节点添加，转向⑥，如果table[i]不为空，转向③；...]]></description><category></category></item><item><title><![CDATA[mysql里主从同步时如果出现事务的乱序问题解决方案]]></title><link>https://blog.youkuaiyun.com/lts223/article/details/125925331</link><guid>https://blog.youkuaiyun.com/lts223/article/details/125925331</guid><author>lts223</author><pubDate>Fri, 22 Jul 2022 09:14:59 +0800</pubDate><description><![CDATA[是MySQL在5.7.17版本中推出的一种新的数据复制技术，这种复制技术是基于paxos协议的状态机复制，多个节点共同组成一个复制组，在执行读写（RW）事务的时候，需要通过一致性协议层（Consensus）的同意，也就是读写事务想要进行提交，必须要经过组里“大多数人”（对应Node节点）的同意，大多数指的是同意的节点数量要大于N/2+1，这样才可以进行提交，而不是一方说了算。如果将这个参数调大，可以提升数据一致性的强度，但也会增加主库等待从库响应的时间。所以，这种复制模式下的数据一致性是最弱的。...]]></description><category></category></item><item><title><![CDATA[MySQL锁机制]]></title><link>https://blog.youkuaiyun.com/lts223/article/details/125925293</link><guid>https://blog.youkuaiyun.com/lts223/article/details/125925293</guid><author>lts223</author><pubDate>Fri, 22 Jul 2022 09:13:12 +0800</pubDate><description><![CDATA[选型要根据实际实现的业务去选择，表级锁适合以查询为主的业务，只有少量按索引条件去更新数据的应用，行级锁适合有大量并发按索引去更新少量数据的操作。MylSAM引擎使用表锁，开销小，加锁快，无死锁，锁定力度大，发生锁冲突的概率最高，并发度最低，不支持事务。（2）行级锁开销大，加锁慢；会出现死锁，锁粒度最小，发生锁冲突的概率最小，并发度最高；行锁开销大，加锁慢，会出现死锁，锁定粒度最小，发生锁冲突概率最低，并发度最高。加表锁时读当前表，可以，改当前表，不可以，读其他表不可以。写锁写锁会阻塞读和写。...]]></description><category></category></item><item><title><![CDATA[Mysql中SQL语句不使用索引的情况]]></title><link>https://blog.youkuaiyun.com/lts223/article/details/125925263</link><guid>https://blog.youkuaiyun.com/lts223/article/details/125925263</guid><author>lts223</author><pubDate>Fri, 22 Jul 2022 09:12:26 +0800</pubDate><description><![CDATA[在MySQL中，有Handler_read_key和Handler_read_rnd_key两个变量，如果Handler_read_key值很高而Handler_read_rnd_key的值很低，则表明索引经常不被使用，应该重新考虑建立索引。（1）用or分隔开的条件，如果or前的条件中的列有索引，而后面的列没有索引，那么涉及到的索引都不会被用到，例如select*fromtable_namewherekey1='a'orkey2='b'；（3）like查询是以%开头时不会使用索引；...]]></description><category></category></item><item><title><![CDATA[spring里面的3层缓存解决Bean的相互引用]]></title><link>https://blog.youkuaiyun.com/lts223/article/details/125925248</link><guid>https://blog.youkuaiyun.com/lts223/article/details/125925248</guid><author>lts223</author><pubDate>Fri, 22 Jul 2022 09:11:17 +0800</pubDate><description><![CDATA[spring解决循环依赖也是如此，首先暴露一个未初始化的实例TestA放到缓存中，创建TestB的实例时，获取的是TestA的未初始化对象，TestB创建完成以后，将TestA进行初始化，由于TestB中TestA的引用和TestA是一样的，TestB中的属性也是完全的初始化的。有一个值得注意的地方时，在创建普通bean(没有代理)的时候，二三级缓存其实没区别，这个匿名内部类ObjectFactory就是三级缓存中的值，用于获取被代理后的bean，没有进行代理时，二级缓存与三级缓存就是一样的。...]]></description><category></category></item><item><title><![CDATA[finalize方法]]></title><link>https://blog.youkuaiyun.com/lts223/article/details/125925233</link><guid>https://blog.youkuaiyun.com/lts223/article/details/125925233</guid><author>lts223</author><pubDate>Fri, 22 Jul 2022 09:10:43 +0800</pubDate><description><![CDATA[finalize()是在java.lang.Object里定义的，也就是说每一个对象都有这么个方法。这个方法在gc启动该对象被回收的时候被调用。使用finalize还需要注意一个事，调用super.finalize()，一个对象的finalize()方法只会被调用一次，而且finalize()被调用不意味着gc会立即回收该对象，所以有可能调用finalize()后，该对象又不需要被回收了，然后到了真正要被回收的时候，因为前面调用过一次，所以不会调用finalize()，产生问题。...]]></description><category></category></item><item><title><![CDATA[jvm是如何回收堆内存里面对象之间的相互引用的]]></title><link>https://blog.youkuaiyun.com/lts223/article/details/125925210</link><guid>https://blog.youkuaiyun.com/lts223/article/details/125925210</guid><author>lts223</author><pubDate>Fri, 22 Jul 2022 09:09:57 +0800</pubDate><description><![CDATA[可达性分析法中不可达的对象，被真正回收之前，要进行2次标记的过程，可达性分析法中不可达的对象被第一次标记并且进行一次筛选，筛选的条件是此对象是否有必要执行finalize方法，或finalize方法已经被虚拟机调用过，虚拟机将这两种情况视为没有必要执行。（1）引用计数法，即给对象添加一个引用计数器，有地方引用，则计数器+1，当引用失效，则计数器减1，任何时候计数器为0的对象就不可能再被使用了，这个方法简单高效，但是无法解决对象之间相互循环引用的问题；只具有弱引用的对象拥有更短暂的生命周期。...]]></description><category></category></item><item><title><![CDATA[redis如何在springboot里，账号，密码等 进行实例化的]]></title><link>https://blog.youkuaiyun.com/lts223/article/details/125925164</link><guid>https://blog.youkuaiyun.com/lts223/article/details/125925164</guid><author>lts223</author><pubDate>Fri, 22 Jul 2022 09:09:12 +0800</pubDate><description><![CDATA[redis]]></description><category></category></item><item><title><![CDATA[Liferay5.2.3基于CAS实现单点登录]]></title><link>https://blog.youkuaiyun.com/lts223/article/details/5713875</link><guid>https://blog.youkuaiyun.com/lts223/article/details/5713875</guid><author>lts223</author><pubDate>Mon, 05 Jul 2010 16:01:00 +0800</pubDate><description><![CDATA[<br />一、开发环境：<br />JDK： Sun JDK 1.6<br />Tomcat： Apache Tomcat 6.0.18<br />CAS Server：cas-server-3.4.2<br />CAS Client：cas-client-3.1.3<br /> <br />二开发步骤：<br />1、创建Java数字证书<br />C:/>keytool -genkey -alias tomcat -keystore c:/mykeystore<br />输入keystore密码：co]]></description><category></category></item><item><title><![CDATA[Liferay Poral 5.2.3 调试环境开发]]></title><link>https://blog.youkuaiyun.com/lts223/article/details/5707052</link><guid>https://blog.youkuaiyun.com/lts223/article/details/5707052</guid><author>lts223</author><pubDate>Thu, 01 Jul 2010 15:00:00 +0800</pubDate><description><![CDATA[<br />Liferay Poral 5.2.3 调试环境开发<br /> <br />说明：本人在网上看到了很多关于Liferay的二次开发环境的配置，按照他们的步骤进行配置，有的配置不出来，有的配置出来了，但是却报了一些陌生的异常，很让人头痛，于是采用Tomcat的端口进行监听，但是Liferay不支持，或许是我配置的过程中出现了错误，我基于最基本的MyEclipse进行了一个调试环境的配置，可以进行单步跟踪，如果有好的方案请指教！<br /><br />一、软件环境要求：<br />Liferay：]]></description><category></category></item><item><title><![CDATA[Liferay4.2.2连接数据库方案]]></title><link>https://blog.youkuaiyun.com/lts223/article/details/5692063</link><guid>https://blog.youkuaiyun.com/lts223/article/details/5692063</guid><author>lts223</author><pubDate>Thu, 24 Jun 2010 17:05:00 +0800</pubDate><description><![CDATA[1、连接默认HSQLDB        name="jdbc/LiferayPool"        auth="Container"        type="javax.sql.DataSource"        driverClassName="org.hsqldb.jdbcDriver"        url="jdbc:hsqldb:lportal"        username="sa"        password=""        maxActive="20"    />说明：当解压]]></description><category></category></item><item><title><![CDATA[Java线程概述]]></title><link>https://blog.youkuaiyun.com/lts223/article/details/5672040</link><guid>https://blog.youkuaiyun.com/lts223/article/details/5672040</guid><author>lts223</author><pubDate>Tue, 15 Jun 2010 11:50:00 +0800</pubDate><description><![CDATA[<br />Java线程概述<br />线程的创建与启动<br />1、扩展自java.lang.Thread类<br />Thread类代表线程类，主要的两个方法：<br /> * run()包含线程运行时所执行的代码，该方法没有声明抛出任何异常，如果产生异常，需要在里面捕捉，或转换为运行时异常<br /> * start()用于启动线程<br />说明：<br />主线程与用户自定义的线程并发执行<br />多个线程共享同一个对象的实例变量<br />不要随便覆盖Thread类的start()方法，如果]]></description><category></category></item><item><title><![CDATA[Java基础与面向对象思想]]></title><link>https://blog.youkuaiyun.com/lts223/article/details/5672036</link><guid>https://blog.youkuaiyun.com/lts223/article/details/5672036</guid><author>lts223</author><pubDate>Tue, 15 Jun 2010 11:47:00 +0800</pubDate><description><![CDATA[<br />Java程序规范：<br />1、Java语言拼写上大小写敏感，Hello和hello是两个不同的类名。<br />2、一个源文件可以定义多个Java类，但最多只能有一个类定义成public类。<br />3、如果源文件中包含了public类，则源文件必须和该public类同名。<br />4、一个源文件包含多个Java类时，编译后会多成多个字节码文件，即每个类会生成一个单独“.class”文件，且其文件名与类名相同。<br />Java类的组成结构：<br />1、成员变量：描述事物的状态参数]]></description><category></category></item><item><title><![CDATA[Hibernate中的映射配置]]></title><link>https://blog.youkuaiyun.com/lts223/article/details/5672013</link><guid>https://blog.youkuaiyun.com/lts223/article/details/5672013</guid><author>lts223</author><pubDate>Tue, 15 Jun 2010 11:34:00 +0800</pubDate><description><![CDATA[<br />Hibernate中的映射分类：4类：<br />关系映射<br />1对1 （双向）<br />外键关联：<br /><!-- 一对一外键关联映射（持有外键一方） --><br /> <!-- <br /> <class name="hibernate.pojo.Computer" table="t_computer"><br />  <id name="id" column="id" type="integer"><br />   <generator class="identity" />]]></description><category></category></item><item><title><![CDATA[基于Struts 2.x + Spring 2.x + Hibernate 3.x整合开发]]></title><link>https://blog.youkuaiyun.com/lts223/article/details/5671987</link><guid>https://blog.youkuaiyun.com/lts223/article/details/5671987</guid><author>lts223</author><pubDate>Tue, 15 Jun 2010 11:20:00 +0800</pubDate><description><![CDATA[<br />基于Struts 2.x + Spring 2.x + Hibernate 3.x整合开发<br />添加Jar包：<br />1、添加Spring的Jar包<br />2、添加Hibernate的Jar包<br />3、添加Struts的jar包<br />需要添加一个基于Struts2.x整合Spring2.x的一个插件包：<br />struts2-spring-plugin-2.1.8.1.jar<br />一、基于Spring与Hibernate整合（Spring 2.x + Hibe]]></description><category></category></item><item><title><![CDATA[基于Struts 1.x + Hibernate 3.x + Spring 2.x 整合]]></title><link>https://blog.youkuaiyun.com/lts223/article/details/5671984</link><guid>https://blog.youkuaiyun.com/lts223/article/details/5671984</guid><author>lts223</author><pubDate>Tue, 15 Jun 2010 11:18:00 +0800</pubDate><description><![CDATA[<br />一、基于Spring与Hibernate整合（Spring 2.x + Hibernate 3.x）<br />1、配置数据源：<br /><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"><br /> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <br />  <prope]]></description><category></category></item><item><title><![CDATA[工厂模式及工厂方法模式详解]]></title><link>https://blog.youkuaiyun.com/lts223/article/details/5671976</link><guid>https://blog.youkuaiyun.com/lts223/article/details/5671976</guid><author>lts223</author><pubDate>Tue, 15 Jun 2010 11:12:00 +0800</pubDate><description><![CDATA[<br />一、工厂模式：<br />工厂模式：主要用来实例化有共同接口的类，工厂模式可以动态决定应该实例化那一个类。 <br />工厂模式的形态主要用一下几种形态： <br />1：简单工厂（Simple Factory）。 <br />2：工厂方法（Factory Method）。 <br />3：抽象工厂（Abstract Factory）。<br /> <br />    简单工厂（Simple Factory），又叫静态工厂，是工厂模式三中状态中结构最为简单的。主要有一个静态方法，用来接受参数，并]]></description><category></category></item><item><title><![CDATA[基于LiferayPortal4.2.2二次开发环境搭建]]></title><link>https://blog.youkuaiyun.com/lts223/article/details/5671953</link><guid>https://blog.youkuaiyun.com/lts223/article/details/5671953</guid><author>lts223</author><pubDate>Tue, 15 Jun 2010 11:01:00 +0800</pubDate><description><![CDATA[<br />Liferay Portal二次开发环境搭建<br />Liferay版本：4.2.2<br />一、软件平台需求：<br />1、jdk1.5.0_07-windows-i586-p.exe<br />2、apache-ant_1.7.1<br />3、jikes-1.22<br />4、Eclipse 3.2<br />5、MyEclipse 5.5<br />6、Tomcat 基于Eclipse插件 3.2.0<br />7、liferay-portal-src-4.2.2.zip<br ]]></description><category></category></item></channel></rss>