<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[王鹏亮 的专栏]]></title><description><![CDATA[千里之行始于足下！]]></description><link>https://blog.youkuaiyun.com/conquer0715</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; conquer0715]]></copyright><item><title><![CDATA[Hashtable 的并发异常行为]]></title><link>https://blog.youkuaiyun.com/conquer0715/article/details/79140416</link><guid>https://blog.youkuaiyun.com/conquer0715/article/details/79140416</guid><author>conquer0715</author><pubDate>Tue, 23 Jan 2018 17:21:26 +0800</pubDate><description><![CDATA[问题
与 HashMap 相比，Hashtable 被描述为线程安全的 键-值 存储集合，似乎可以放心地应用于多线程的环境，阅读 JDK 中 Hashtable 的源码可以看到，它通过在操作方法上面添加 synchronized 关键字实现线程安全，但是，其仍然有可能发生并发异常（throw new ConcurrentModificationException()），错误发生的场景：使用了迭代]]></description><category></category></item><item><title><![CDATA[线程按次序执行队列任务]]></title><link>https://blog.youkuaiyun.com/conquer0715/article/details/79063821</link><guid>https://blog.youkuaiyun.com/conquer0715/article/details/79063821</guid><author>conquer0715</author><pubDate>Tue, 23 Jan 2018 17:00:29 +0800</pubDate><description><![CDATA[package demo;

import java.util.LinkedList;
import java.util.Queue;
import java.util.concurrent.CountDownLatch;

public class ThreadOrder {
    static class TaskProcess implements Runnable {
        p]]></description><category></category></item><item><title><![CDATA[基础排序算法 java 实现（冒泡、选择、插入、快排、归并、堆排）]]></title><link>https://blog.youkuaiyun.com/conquer0715/article/details/79063697</link><guid>https://blog.youkuaiyun.com/conquer0715/article/details/79063697</guid><author>conquer0715</author><pubDate>Tue, 23 Jan 2018 17:00:15 +0800</pubDate><description><![CDATA[package demo;

import java.util.Arrays;

public class SortUtil {
    private static void printArr(int[] arr) {
        System.out.println(Arrays.toString(arr));
    }

    private static void checkSor]]></description><category></category></item><item><title><![CDATA[统计英文文章中出现的单词数量(基于字节实现)]]></title><link>https://blog.youkuaiyun.com/conquer0715/article/details/78925119</link><guid>https://blog.youkuaiyun.com/conquer0715/article/details/78925119</guid><author>conquer0715</author><pubDate>Thu, 28 Dec 2017 18:28:37 +0800</pubDate><description><![CDATA[字数 统计 字节]]></description><category></category></item><item><title><![CDATA[Linux (Ubuntu) 设置静态 IP 和 DNS]]></title><link>https://blog.youkuaiyun.com/conquer0715/article/details/78910229</link><guid>https://blog.youkuaiyun.com/conquer0715/article/details/78910229</guid><author>conquer0715</author><pubDate>Wed, 27 Dec 2017 11:24:21 +0800</pubDate><description><![CDATA[静态IP设置
修改 /etc/network/interfaces 文件添加如下内容：
auto eth0#iface eth0 inet dhcp //dhcp 为自动的，static 是静态的，如果是自动的，下面的内容则不需要iface eth0 inet static
address 10.10.40.80
netmask 255.255.255.0
gateway 10.10.40.2]]></description><category></category></item><item><title><![CDATA[openldap 安装 配置 导入用户信息]]></title><link>https://blog.youkuaiyun.com/conquer0715/article/details/78455897</link><guid>https://blog.youkuaiyun.com/conquer0715/article/details/78455897</guid><author>conquer0715</author><pubDate>Mon, 06 Nov 2017 11:46:49 +0800</pubDate><description><![CDATA[安装
下载 openldap-2.2.19-db-4.3.21-openssl-0.9.7e-win32 安装程序，按照常规软件安装步骤安装完成即可。


配置 slapd.conf
打开 slapd.conf 文件，找到 ucdata-path，可以看到里面已经配置了一些 include **/*.schema，为了使用方便可以把其它自带的 etc/schema 文件夹下的其它文件也添]]></description><category></category></item><item><title><![CDATA[tomcat 单点登录 SSO 原理分析]]></title><link>https://blog.youkuaiyun.com/conquer0715/article/details/78357226</link><guid>https://blog.youkuaiyun.com/conquer0715/article/details/78357226</guid><author>conquer0715</author><pubDate>Thu, 26 Oct 2017 18:28:23 +0800</pubDate><description><![CDATA[tomcat的单点登录功能应用场景：在多个应用之间共享用户角色，只需要在一个应用上登录后就可以免去在其它应用上登录认证，
关于应用的安全配置和角色要求，请看：tomcat 安全认证 Realm 及 多种类型 Realm 配置
http://blog.youkuaiyun.com/conquer0715/article/details/78206874


tomcat的单点登录功能仅限在同一个虚拟主]]></description><category></category></item><item><title><![CDATA[摘要算法加密tomcat登录密码（加盐，随机盐值）]]></title><link>https://blog.youkuaiyun.com/conquer0715/article/details/78355581</link><guid>https://blog.youkuaiyun.com/conquer0715/article/details/78355581</guid><author>conquer0715</author><pubDate>Thu, 26 Oct 2017 16:36:31 +0800</pubDate><description><![CDATA[tomcat 默认使用的安全域是从 conf/tomcat-users.xml 文件中读取用户名、密码和角色信息的，在默认的情况下密码是明文显示的，安全性不够，tomcat支持使用 md5 sha 等算法对密码进行加密。
1.设置安全域加密算法
        在server.xml文件中，找到 Realm 的配置，在最里层的 Realm （一般默认是UserDatabaseRealm）添加标]]></description><category></category></item><item><title><![CDATA[Java 脚本 引擎 jsr223 与 javascript 文件交互]]></title><link>https://blog.youkuaiyun.com/conquer0715/article/details/78343222</link><guid>https://blog.youkuaiyun.com/conquer0715/article/details/78343222</guid><author>conquer0715</author><pubDate>Wed, 25 Oct 2017 16:39:58 +0800</pubDate><description><![CDATA[JDK1.6开始，Java引入了jsr223，就是可以用一致的形式在JVM上执行一些脚本语言，如js脚本，本文详细说明了java脚本引擎的使用方式，并贴出了大量的经过实际测试的java源代码，请各位参考：
Java 脚本引擎技术相关内容，都已经在Java代码中以注释的形式说明了，请测评：


package jaas;

import javax.naming.Context;
impor]]></description><category></category></item><item><title><![CDATA[ubuntu linux 更换 阿里云 软件源 安装 svn]]></title><link>https://blog.youkuaiyun.com/conquer0715/article/details/78224853</link><guid>https://blog.youkuaiyun.com/conquer0715/article/details/78224853</guid><author>conquer0715</author><pubDate>Fri, 13 Oct 2017 13:19:16 +0800</pubDate><description><![CDATA[ubuntu linux 更换 阿里云 软件源]]></description><category></category></item><item><title><![CDATA[tomcat 安全认证 Realm 及 多种类型 Realm 配置]]></title><link>https://blog.youkuaiyun.com/conquer0715/article/details/78206874</link><guid>https://blog.youkuaiyun.com/conquer0715/article/details/78206874</guid><author>conquer0715</author><pubDate>Wed, 11 Oct 2017 18:36:11 +0800</pubDate><description><![CDATA[tomcat servlet 安全认证 Realm 安全域 jdbc datasource jaas realm 配置]]></description><category></category></item><item><title><![CDATA[Java认证和授权服务 JAAS 之 授权]]></title><link>https://blog.youkuaiyun.com/conquer0715/article/details/78205755</link><guid>https://blog.youkuaiyun.com/conquer0715/article/details/78205755</guid><author>conquer0715</author><pubDate>Wed, 11 Oct 2017 17:00:18 +0800</pubDate><description><![CDATA[前提
请先看，JAAS 认证部分： http://blog.youkuaiyun.com/conquer0715/article/details/78204889


配置文件和源码
jaas.config

/** 登录配置 **/
Sample {
   jaas.MyLoginModule required debug=true;
};

jaas.policy

grant cod]]></description><category></category></item><item><title><![CDATA[Java认证和授权服务 JAAS 之 认证]]></title><link>https://blog.youkuaiyun.com/conquer0715/article/details/78204889</link><guid>https://blog.youkuaiyun.com/conquer0715/article/details/78204889</guid><author>conquer0715</author><pubDate>Wed, 11 Oct 2017 16:09:06 +0800</pubDate><description><![CDATA[LoginModule
    它是认证服务器端的实现，用于验证客户端的信息，实现者实现 javax.security.auth.spi.LoginModule 接口的 login、commit、abort、logout 方法来完成用户的登录和登出操作，示例代码：


package jaas;

import javax.security.auth.Subject;
import jav]]></description><category></category></item><item><title><![CDATA[Tomcat 支持 shell 脚本运行（CGI）]]></title><link>https://blog.youkuaiyun.com/conquer0715/article/details/78101550</link><guid>https://blog.youkuaiyun.com/conquer0715/article/details/78101550</guid><author>conquer0715</author><pubDate>Tue, 26 Sep 2017 16:33:01 +0800</pubDate><description><![CDATA[tomcat cgi shell php perl etc.]]></description><category></category></item><item><title><![CDATA[领略架构之美：tomcat 连接池 tomee 数据源 jta 支持 详细架构剖析]]></title><link>https://blog.youkuaiyun.com/conquer0715/article/details/78050307</link><guid>https://blog.youkuaiyun.com/conquer0715/article/details/78050307</guid><author>conquer0715</author><pubDate>Thu, 21 Sep 2017 11:49:00 +0800</pubDate><description><![CDATA[连接池核心机制、对外数据源接口设计、Tomee数据源扩展、EJB 分布式事务支持。
分析源自源码，tomcat：8.5.6 版本 和 tomee：7.0.2 版本，其它版本的也没有太大变化。]]></description><category></category></item><item><title><![CDATA[tomee 创建 xa 数据源 并 支持 JTA 事务]]></title><link>https://blog.youkuaiyun.com/conquer0715/article/details/78022692</link><guid>https://blog.youkuaiyun.com/conquer0715/article/details/78022692</guid><author>conquer0715</author><pubDate>Mon, 18 Sep 2017 19:22:28 +0800</pubDate><description><![CDATA[如果要在 tomee 中使用 jta 事务，就不能用 tomcat 数据源配置（http://blog.youkuaiyun.com/conquer0715/article/details/77983379） 里面的配置方式，需要如下使用：
打开 conf/tomee.xml 文件，添加如下配置：


  <!--
    jdbcDriver = oracle.jdbc.driver.OracleDri]]></description><category></category></item><item><title><![CDATA[tomcat 支持 php 运行 （CGI）]]></title><link>https://blog.youkuaiyun.com/conquer0715/article/details/78022627</link><guid>https://blog.youkuaiyun.com/conquer0715/article/details/78022627</guid><author>conquer0715</author><pubDate>Mon, 18 Sep 2017 19:13:39 +0800</pubDate><description><![CDATA[1.打开web应用的的 web.xml，添加如下内容：

        cgi
        org.apache.catalina.servlets.CGIServlet
        
          debug
          0
        
        
          cgiPathPrefix
          WEB-INF/cgi
        
]]></description><category></category></item><item><title><![CDATA[tomcat tomee 配置 数据源 （含 XA 数据源）]]></title><link>https://blog.youkuaiyun.com/conquer0715/article/details/77983379</link><guid>https://blog.youkuaiyun.com/conquer0715/article/details/77983379</guid><author>conquer0715</author><pubDate>Thu, 14 Sep 2017 18:07:02 +0800</pubDate><description><![CDATA[1.普通数据源（javax.sql.DataSource）
在 context.xml 中，添加如下内容即可完成数据源创建：


<Resource
       name="ctx_not_xa"
	factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
       type="javax.sql.DataSource"
    ]]></description><category></category></item><item><title><![CDATA[log4j-2.x 高性能配置（支持jdk6）]]></title><link>https://blog.youkuaiyun.com/conquer0715/article/details/77411206</link><guid>https://blog.youkuaiyun.com/conquer0715/article/details/77411206</guid><author>conquer0715</author><pubDate>Sat, 19 Aug 2017 13:07:03 +0800</pubDate><description><![CDATA[log4j2.xml


    <!-- Don't forget to set system property
-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
     to make all loggers asynchronous. -->
    
       ]]></description><category></category></item><item><title><![CDATA[log4j-1.2.17 高性能配置]]></title><link>https://blog.youkuaiyun.com/conquer0715/article/details/77410995</link><guid>https://blog.youkuaiyun.com/conquer0715/article/details/77410995</guid><author>conquer0715</author><pubDate>Sat, 19 Aug 2017 12:28:41 +0800</pubDate><description><![CDATA[log4j.xml



    
        
        
        
        
        
        
        
        
        
            
        
    
    
        
        
    
    
    
        
        -->
        
    
]]></description><category></category></item></channel></rss>