<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[痴情王子的博客]]></title><description><![CDATA[问世间情为何物。]]></description><link>https://blog.youkuaiyun.com/sun_jin_lin</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sun_jin_lin]]></copyright><item><title><![CDATA[十大Intellij IDEA快捷键]]></title><link>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77947804</link><guid>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77947804</guid><author>sun_jin_lin</author><pubDate>Tue, 12 Sep 2017 17:36:41 +0800</pubDate><description><![CDATA[ntellij IDEA中有很多快捷键让人爱不释手，stackoverflow上也有一些有趣的讨论。每个人都有自己的最爱，想排出个理想的榜单还真是困难。以前也整理过Intellij的快捷键，这次就按照我日常开发时的使用频率，简单分类列一下我最喜欢的十大快捷-神-键吧。

1 智能提示

Intellij首当其冲的当然就是Intelligence智能！基本的代码提示用Ctrl+Space，还]]></description><category></category></item><item><title><![CDATA[日志级别及方法说明]]></title><link>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77735561</link><guid>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77735561</guid><author>sun_jin_lin</author><pubDate>Thu, 31 Aug 2017 09:40:22 +0800</pubDate><description><![CDATA[日志记录器(Logger)是日志处理的核心组件。log4j具有5种正常级别(Level)。日志记录器(Logger)的可用级别Level (不包括自定义级别 Level)， 以下内容就是摘自log4j API (http://jakarta.apache.org/log4j/docs/api/index.html):

static Level WARN

WARN level表明会出现潜]]></description><category></category></item><item><title><![CDATA[spring事物管理]]></title><link>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77714194</link><guid>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77714194</guid><author>sun_jin_lin</author><pubDate>Wed, 30 Aug 2017 13:07:14 +0800</pubDate><description><![CDATA[写这篇博客之前我首先读了《Spring in action》，之后在网上看了一些关于Spring事务管理的文章，感觉都没有讲全，这里就将书上的和网上关于事务的知识总结一下，参考的文章如下：



Spring事务机制详解
Spring事务配置的五种方式
Spring中的事务管理实例详解


1 初步理解

理解事务之前，先讲一个你日常生活中最常干的事：取钱。 
比如你去AT]]></description><category></category></item><item><title><![CDATA[java集合详解]]></title><link>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77713998</link><guid>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77713998</guid><author>sun_jin_lin</author><pubDate>Wed, 30 Aug 2017 12:52:44 +0800</pubDate><description><![CDATA[集合类说明及区别
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│　└Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap

Collection接口
　　Collection是最基本的集合接口，一个Collection代表一组Object，即Collection的元素（E]]></description><category></category></item><item><title><![CDATA[java多线程]]></title><link>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77702303</link><guid>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77702303</guid><author>sun_jin_lin</author><pubDate>Wed, 30 Aug 2017 09:59:48 +0800</pubDate><description><![CDATA[一. 理解多线程：

 

     （1）多线程是这样一种机制，它允许在程序中并发执行多个指令流，每个指令流都称为一个线程，彼此间互相独立。

 

     （2）线程又称为轻量级进程，它和进程一样拥有独立的执行控制权，由操作系统负责调度，区别在于线程没有独立的存储空间，而是和所属进程

             中的其它线程共享一个存储空间，这使得线程间的通信较进程简单。]]></description><category></category></item><item><title><![CDATA[二叉树（java）]]></title><link>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77489867</link><guid>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77489867</guid><author>sun_jin_lin</author><pubDate>Wed, 23 Aug 2017 00:27:14 +0800</pubDate><description><![CDATA[构造树如下:


其中二叉树节点类


/** 二叉树节点 */
public class BTNode {
    private char key;
    private BTNode left, right;

    public BTNode(char key) {
        this(key, null, null);
    }

    pub]]></description><category></category></item><item><title><![CDATA[排序算法]]></title><link>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77489142</link><guid>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77489142</guid><author>sun_jin_lin</author><pubDate>Tue, 22 Aug 2017 23:15:22 +0800</pubDate><description><![CDATA[排序有内部排序和外部排序，内部排序是数据记录在内存中进行排序，而外部排序是因排序的数据很大，一次不能容纳全部的排序记录，在排序过程中需要访问外存。
我们这里说说八大排序就是内部排序。



    
    当n较大，则应采用时间复杂度为O(nlog2n)的排序方法：快速排序、堆排序或归并排序序。
   快速排序：是目前基于比较的内部排序中被认为是最好的方法，当待排序的关键字是随机分]]></description><category></category></item><item><title><![CDATA[JVM原理讲解和调优]]></title><link>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77449843</link><guid>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77449843</guid><author>sun_jin_lin</author><pubDate>Mon, 21 Aug 2017 14:57:13 +0800</pubDate><description><![CDATA[一、什么是JVM

    JVM是Java Virtual Machine（Java虚拟机）的缩写，JVM是一种用于计算设备的规范，它是一个虚构出来的计算机，是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

    Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行，至少需要编译成不同的目标代码。而]]></description><category></category></item><item><title><![CDATA[birt基础使用]]></title><link>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77448522</link><guid>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77448522</guid><author>sun_jin_lin</author><pubDate>Mon, 21 Aug 2017 13:07:01 +0800</pubDate><description><![CDATA[在开发中，报表或多或少会涉及到，有些报表可能比较简单，而有些报表可能很复杂。无论如何，这些报表功能的开发都是可以通过一些公共的组件来实现的，比如我现在所在的这家公司，如果想要制作报表，只需要配置下报表配置下就可以了（这个报表是通过特定实现的报表语言实现了，支持内部自定义的语言，最终将这些相应的数据保存到数据库中，对报表中的一些事物进行了抽象，比如：报表模型， 查询参数。）。如果要自己手动的一步一步]]></description><category></category></item><item><title><![CDATA[全文检索引擎Solr系列—–全文检索基本原理]]></title><link>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77448451</link><guid>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77448451</guid><author>sun_jin_lin</author><pubDate>Mon, 21 Aug 2017 12:53:26 +0800</pubDate><description><![CDATA[场景：小时候我们都使用过新华字典，妈妈叫你翻开第38页，找到“坑爹”所在的位置，此时你会怎么查呢？毫无疑问，你的眼睛会从38页的第一个字开始从头至尾地扫描，直到找到“坑爹”二字为止。这种搜索方法叫做顺序扫描法。对于少量的数据，使用顺序扫描是够用的。但是妈妈叫你查出坑爹的“坑”字在哪一页时，你要是从第一页的第一个字逐个的扫描下去，那你真的是被坑了。此时你就需要用到索引。索引记录了“坑”字在哪一页，你]]></description><category></category></item><item><title><![CDATA[实现单点登录]]></title><link>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77448372</link><guid>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77448372</guid><author>sun_jin_lin</author><pubDate>Mon, 21 Aug 2017 12:35:27 +0800</pubDate><description><![CDATA[一、单系统登录机制

1、http无状态协议
　　web应用采用browser/server架构，http作为通信协议。http是无状态协议，浏览器的每一次请求，服务器会独立处理，不与之前或之后的请求产生关联，这个过程用下图说明，三次请求/响应对之间没有任何联系

　　但这也同时意味着，任何用户都能通过浏览器访问服务器资源，如果想保护服务器的某些资源，必须限制浏览器请求；要限制浏览器请求]]></description><category></category></item><item><title><![CDATA[单点登录]]></title><link>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77448294</link><guid>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77448294</guid><author>sun_jin_lin</author><pubDate>Mon, 21 Aug 2017 12:16:40 +0800</pubDate><description><![CDATA[摘要：单点登录（SSO）的技术被越来越广泛地运用到各个领域的软件系统当中。本文从业务的角度分析了单点登录的需求和应用领域；从技术本身的角度分析了单点登录技术的内部机制和实现手段，并且给出Web-SSO和桌面SSO的实现、源代码和详细讲解；还从安全和性能的角度对现有的实现技术进行进一步分析，指出相应的风险和需要改进的方面。本文除了从多个方面和角度给出了对单点登录（SSO）的全面分析，还并且讨论了如何]]></description><category></category></item><item><title><![CDATA[jvm 调优之垃圾回收]]></title><link>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77447811</link><guid>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77447811</guid><author>sun_jin_lin</author><pubDate>Mon, 21 Aug 2017 11:31:03 +0800</pubDate><description><![CDATA[1.数据类型
    java虚拟机中，数据类型可以分为两类：基本类型和引用类型。基本类型的变量保存原始值，即：它代表的值就是数值本身，而引用类型的变量保存引用值。“引用值”代表了某个对象的引用，而不是对象本身，对象本身存放在这个引用值所表示的地址的位置。
    基本类型包括：byte、short、int、long、char、float、double、boolean、returnAddres]]></description><category></category></item><item><title><![CDATA[SQL性能优化十条经验]]></title><link>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77427744</link><guid>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77427744</guid><author>sun_jin_lin</author><pubDate>Sun, 20 Aug 2017 12:06:56 +0800</pubDate><description><![CDATA[1.查询的模糊匹配

尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用，最好不要用.

解决办法:

其实只需要对该脚本略做改进，查询速度便会提高近百倍。改进方法如下：

a、修改前台程序——把查询条件的供应商名称一栏由原来的文本输入改为下拉列表，用户模糊输入供应商名称时，直接在前台就帮忙定位到具体的供应商，这样在调用]]></description><category></category></item><item><title><![CDATA[深入理解Redis主键失效原理及实现机制]]></title><link>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77371637</link><guid>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77371637</guid><author>sun_jin_lin</author><pubDate>Fri, 18 Aug 2017 16:22:23 +0800</pubDate><description><![CDATA[作为一种定期清理无效数据的重要机制，主键失效存在于大多数缓存系统中，Redis 也不例外。在 Redis 提供的诸多命令中，EXPIRE、EXPIREAT、PEXPIRE、PEXPIREAT 以及 SETEX 和 PSETEX 均可以用来设置一条 Key-Value 对的失效时间，而一条
 Key-Value 对一旦被关联了失效时间就会在到期后自动删除（或者说变得无法访问更为准确）。可以说，主键]]></description><category></category></item><item><title><![CDATA[构建高性能数据库缓存之redis主从复制]]></title><link>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77334932</link><guid>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77334932</guid><author>sun_jin_lin</author><pubDate>Thu, 17 Aug 2017 16:35:49 +0800</pubDate><description><![CDATA[一、什么是redis主从复制？

主从复制，当用户往Master端写入数据时，通过Redis Sync机制将数据文件发送至Slave，Slave也会执行相同的操作确保数据一致；且实现Redis的主从复制非常简单。


二、redis主从复制特点

1、同一个Master可以拥有多个Slaves。

2、Master下的Slave还可以接受同一架构中其它slave的链接与同步请求，]]></description><category></category></item><item><title><![CDATA[SQL优化大总结之 百万级数据库优化方案]]></title><link>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77334347</link><guid>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77334347</guid><author>sun_jin_lin</author><pubDate>Thu, 17 Aug 2017 16:03:52 +0800</pubDate><description><![CDATA[网上关于SQL优化的教程很多，但是比较杂乱。近日有空整理了一下，写出来跟大家分享一下，其中有错误和不足的地方，还请大家纠正补充。

这篇文章我花费了大量的时间查找资料、修改、排版，希望大家阅读之后，感觉好的话推荐给更多的人，让更多的人看到、纠正以及补充。

1.对查询进行优化，要尽量避免全表扫描，首先应考虑在 where 及 order by 涉及的列上建立索引。



2.应尽量]]></description><category></category></item><item><title><![CDATA[SQL Server游标的使用]]></title><link>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77332225</link><guid>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77332225</guid><author>sun_jin_lin</author><pubDate>Thu, 17 Aug 2017 15:13:46 +0800</pubDate><description><![CDATA[游标是邪恶的！

       在关系数据库中，我们对于查询的思考是面向集合的。而游标打破了这一规则，游标使得我们思考方式变为逐行进行.对于类C的开发人员来着，这样的思考方式会更加舒服。

       正常面向集合的思维方式是:

       

       而对于游标来说:

       

      这也是为什么游标是邪恶的，它会使开发人员变懒，懒得去想用面向]]></description><category></category></item><item><title><![CDATA[ActiveMQ实现负载均衡+高可用部署方案]]></title><link>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77193788</link><guid>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77193788</guid><author>sun_jin_lin</author><pubDate>Tue, 15 Aug 2017 15:41:02 +0800</pubDate><description><![CDATA[一、架构和技术介绍

1、简介

ActiveMQ 是Apache出品，最流行的，能力强劲的开源消息总线。完全支持JMS1.1和J2EE
 1.4规范的 JMS Provider实现

2、activemq的特性

1. 多种语言和协议编写客户端。语言: Java, C, C++, C#, Ruby, Perl, Python, PHP。应用协议:
 OpenWire,Stom]]></description><category></category></item><item><title><![CDATA[active MQ 的接收与发送实例]]></title><link>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77193666</link><guid>https://blog.youkuaiyun.com/sun_jin_lin/article/details/77193666</guid><author>sun_jin_lin</author><pubDate>Tue, 15 Aug 2017 15:34:27 +0800</pubDate><description><![CDATA[1.下载ActiveMQ

去官方网站下载：http://activemq.apache.org/

2.运行ActiveMQ

解压缩apache-activemq-5.5.1-bin.zip，然后双击apache-activemq-5.5.1\bin\activemq.bat运行ActiveMQ程序。

启动ActiveMQ以后，登陆：http://localhost:8161]]></description><category></category></item></channel></rss>