- 博客(154)
- 资源 (35)
- 收藏
- 关注
原创 Hashtable 的并发异常行为
问题与 HashMap 相比,Hashtable 被描述为线程安全的 键-值 存储集合,似乎可以放心地应用于多线程的环境,阅读 JDK 中 Hashtable 的源码可以看到,它通过在操作方法上面添加 synchronized 关键字实现线程安全,但是,其仍然有可能发生并发异常(throw new ConcurrentModificationException()),错误发生的场景:使用了迭代
2018-01-23 17:21:26
1228
原创 线程按次序执行队列任务
package demo;import java.util.LinkedList;import java.util.Queue;import java.util.concurrent.CountDownLatch;public class ThreadOrder { static class TaskProcess implements Runnable { p
2018-01-23 17:00:29
2450
原创 基础排序算法 java 实现(冒泡、选择、插入、快排、归并、堆排)
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
2018-01-23 17:00:15
546
原创 Linux (Ubuntu) 设置静态 IP 和 DNS
静态IP设置修改 /etc/network/interfaces 文件添加如下内容:auto eth0#iface eth0 inet dhcp //dhcp 为自动的,static 是静态的,如果是自动的,下面的内容则不需要iface eth0 inet staticaddress 10.10.40.80netmask 255.255.255.0gateway 10.10.40.2
2017-12-27 11:24:21
3385
原创 openldap 安装 配置 导入用户信息
安装下载 openldap-2.2.19-db-4.3.21-openssl-0.9.7e-win32 安装程序,按照常规软件安装步骤安装完成即可。配置 slapd.conf打开 slapd.conf 文件,找到 ucdata-path,可以看到里面已经配置了一些 include **/*.schema,为了使用方便可以把其它自带的 etc/schema 文件夹下的其它文件也添
2017-11-06 11:46:49
5013
原创 tomcat 单点登录 SSO 原理分析
tomcat的单点登录功能应用场景:在多个应用之间共享用户角色,只需要在一个应用上登录后就可以免去在其它应用上登录认证,关于应用的安全配置和角色要求,请看:tomcat 安全认证 Realm 及 多种类型 Realm 配置http://blog.youkuaiyun.com/conquer0715/article/details/78206874tomcat的单点登录功能仅限在同一个虚拟主
2017-10-26 18:28:23
3178
原创 摘要算法加密tomcat登录密码(加盐,随机盐值)
tomcat 默认使用的安全域是从 conf/tomcat-users.xml 文件中读取用户名、密码和角色信息的,在默认的情况下密码是明文显示的,安全性不够,tomcat支持使用 md5 sha 等算法对密码进行加密。1.设置安全域加密算法 在server.xml文件中,找到 Realm 的配置,在最里层的 Realm (一般默认是UserDatabaseRealm)添加标
2017-10-26 16:36:31
5105
原创 Java 脚本 引擎 jsr223 与 javascript 文件交互
JDK1.6开始,Java引入了jsr223,就是可以用一致的形式在JVM上执行一些脚本语言,如js脚本,本文详细说明了java脚本引擎的使用方式,并贴出了大量的经过实际测试的java源代码,请各位参考:Java 脚本引擎技术相关内容,都已经在Java代码中以注释的形式说明了,请测评:package jaas;import javax.naming.Context;impor
2017-10-25 16:39:58
4605
原创 tomcat 安全认证 Realm 及 多种类型 Realm 配置
tomcat servlet 安全认证 Realm 安全域 jdbc datasource jaas realm 配置
2017-10-11 18:36:11
6729
原创 Java认证和授权服务 JAAS 之 授权
前提请先看,JAAS 认证部分: http://blog.youkuaiyun.com/conquer0715/article/details/78204889配置文件和源码jaas.config/** 登录配置 **/Sample { jaas.MyLoginModule required debug=true;};jaas.policygrant cod
2017-10-11 17:00:18
7185
1
原创 Java认证和授权服务 JAAS 之 认证
LoginModule 它是认证服务器端的实现,用于验证客户端的信息,实现者实现 javax.security.auth.spi.LoginModule 接口的 login、commit、abort、logout 方法来完成用户的登录和登出操作,示例代码:package jaas;import javax.security.auth.Subject;import jav
2017-10-11 16:09:06
5322
原创 领略架构之美:tomcat 连接池 tomee 数据源 jta 支持 详细架构剖析
连接池核心机制、对外数据源接口设计、Tomee数据源扩展、EJB 分布式事务支持。分析源自源码,tomcat:8.5.6 版本 和 tomee:7.0.2 版本,其它版本的也没有太大变化。
2017-09-21 11:49:00
4022
原创 tomee 创建 xa 数据源 并 支持 JTA 事务
如果要在 tomee 中使用 jta 事务,就不能用 tomcat 数据源配置(http://blog.youkuaiyun.com/conquer0715/article/details/77983379) 里面的配置方式,需要如下使用:打开 conf/tomee.xml 文件,添加如下配置: <!-- jdbcDriver = oracle.jdbc.driver.OracleDri
2017-09-18 19:22:28
3597
原创 tomcat 支持 php 运行 (CGI)
1.打开web应用的的 web.xml,添加如下内容: cgi org.apache.catalina.servlets.CGIServlet debug 0 cgiPathPrefix WEB-INF/cgi
2017-09-18 19:13:39
4372
原创 tomcat tomee 配置 数据源 (含 XA 数据源)
1.普通数据源(javax.sql.DataSource)在 context.xml 中,添加如下内容即可完成数据源创建:<Resource name="ctx_not_xa" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" type="javax.sql.DataSource"
2017-09-14 18:07:02
4997
原创 log4j-2.x 高性能配置(支持jdk6)
log4j2.xml <!-- Don't forget to set system property-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector to make all loggers asynchronous. -->
2017-08-19 13:07:03
7444
1
原创 Maven 私服 自动上传部署(附快速镜像)
一、配置Maven的 settings.xml nexus私服是需要登陆的(可配置免登陆),在settings.xml的配置如下: nexus admin xxxxx central admin xxxx 二、 配置项目的 pom.xml添加如下:
2017-03-02 16:05:31
5297
原创 面向过程、面向对象 的模型和方法
“面向过程”(Procedure Oriented)是一种以“过程”为中心的编程思想,所谓“面向过程”的编程就是以“什么事情发生”或“什么流程进行”为目标或单元进行编程,而面向对象的则是以“谁在受影响”或“谁作出什么反映”为指导进行编程。面向对象中的“谁”就是某对象,对象作出的影响或反映会触动“一系列的过程“发生或“一系列的流程“进行,也就是说对象在物理层面表现为“过程”的集合。一个系
2017-02-14 12:04:33
10571
转载 网络代理:HTTP调试工具Charles Proxy用法详解
最近在学习浏览器代理和手机网络抓包,涉及到了fiddler和charles,发现这个好文章,特此记录:本文转载自:http://www.veryhuo.com/a/view/98081.htmlCharles Proxy 通常称为Charles,Charles是目前最强大的http调试工具,在界面和功能上远强于Fiddler,同时是全平台支持,堪称圣杯级工具,不过在这里为您提供了C
2017-02-09 15:35:53
14876
原创 MongoDB 试用
部分内容摘自 http://www.runoob.com/mongodb/mongodb-tutorial.html什么是MongoDB ?MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB
2016-12-06 11:25:22
3609
原创 nodejs 初探 api试用
简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
2016-12-05 16:36:03
3725
转载 软件架构风格 详述
1 软件架构风格概述软件体系结构设计的一个核心问题是能否使用重复的体系结构模式,即能否达到体系结构级的软件重用。也就是说,能否在不同的软件系统中,使用同一体系结构。基于这个目的,学者们开始研究和实践软件体系结构的风格和类型问题。软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。它反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织
2016-10-10 20:01:14
15620
原创 Map 排序 TreeMap 陷阱
HashMap的基于hash表的实现机制决定了他非常快的检索速度,但也定了“不能排序”的标牌,工作中如果需要排序就要使用TreeMapTreeMap是可排序map,可对ke进行排序,那么,是不是任何我们原来使用HashMap实现的业务都能使用TreeMap进行替换排序呢?答案是:“否”原因在于,它们判断重复元素机制不同:HashMap通过hashcode和equals方法来判断重复,以
2016-08-17 19:35:40
4587
原创 Java 字节码 工具 javassist
1、javassist是基于源码级别的API比基于字节码的ASM简单。2、基于javassist开发,不需要了解字节码的一些知识,而且其封装的一些工具类可以简单实现一些高级功能。比如HotSwaper。
2016-07-21 17:27:06
9327
原创 Btrace 原理分析
Btrace是由sundararajan在2009年6月开发的一个开源项目,是一种动态跟踪分析一个运行中的Java应用程序的工具。 BTrace是一个为Java平台开发的安全、动态的追踪工具。BTrace动态地向目标应用程序的字节码注入追踪代码(字节码追踪),这些追踪字节码追踪代码使用Java语言表达,也就是BTrace的脚本
2016-06-29 10:44:41
7453
原创 罕见类加载冲突问题:LinkageError
问题描述假设有C1类和C2类都依赖C0,C1和C2分别用不同的2个类加载器加载,而这两个类加载器都能在自己的类加载路径中加载到C0,这个时候如果在C1中调用C2的某个方法(注:这个方法的签名中依赖了C0)就会出现LinkageError错误。用例模拟及分析冲突的依赖类,模拟问题描述中的C0package loader;public class ConflictDependence {}发生错误的
2016-06-02 18:50:36
6754
原创 IoC and DI JSR-299 JSR-330
前言JSR 299: Contexts and Dependency Injection for the JavaTM EE platformJSR 330: Dependency Injection for Java从名称来看可知 JSR 299 主要作用于 JavaTM EE(在JavaSE环境下功能会打折扣),JSR 330 则作用于任何 Java 环境理解与认知
2016-05-24 15:47:57
3559
原创 压力 性能 测试 工具 ab (apache benchmark) jmeter
快速开始ab参数很多,一般我们用 -c 和 -n 参数就可以了. 例如: ./ab -c 100 -n 10000 http://127.0.0.1/index.php 介绍ab(apache benchmark) —— apache自带的一个测试工具,一般把apache压力测试称为AB测试. ab工具的位置在apache的bin目录里,参数说明:Usage: ./ab
2016-05-23 11:05:44
5116
原创 YAML 技术研究
YAML预研文档YAML概要YAML vs XMLYAML vs JSONYAML用途脚本语言序列化配置文件调试YAML缺陷与不足YAML语法与范例YAML的JAVA实现使用SnakeYAML实现使用JYaml实现YAML预研文档YAML概要YAML是”YAML Ain’t a Markup Language”(YAML不是一种置标语言)的递归缩写,早先YAML的意思其实
2016-04-29 18:32:01
5651
原创 Java ClassLoader 深入理解
ClassLoader问题剖析做为一个java开发人员,我们都曾经受这些异常的折磨:ClassNotFoundException、NoClassDefFoundError、ClassCastException、ClassCircularityError,究其根源,我们不可避免地要面对java的大人物: ClassLoader !ClassLoader基础java程序不是本地的可执行程序,它的执行依
2016-04-29 18:19:26
10332
3
原创 ASM技术研究
ASM技术研究ASM是什么ASM 是一个 Java 字节码操控框架。它能被用来动态生成类或者增强既有类的功能。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。ASM 提供类似于 BCEL 和 SERP 之类的工具包的功能,但是被设计得更小巧、更快速,这使它适用于实时代码插装。
2016-04-29 18:13:15
11568
原创 Apache Solr:全文搜索
Apache Solr 初探Solr简介Solr 是一个开源的全文搜索服务器,已经在众多大型的网站中使用,较为成熟和稳定。 Solr 使用 Java 语言开发,基于 Apache Lucene 实现,对Lucene进行了扩展,提供了比Lucene更为丰富的查询语言,同时提高了可配置、可扩展性,并对查询性能进行了优化,而且提供了一个完善的功能管理界面。
2016-04-29 17:40:52
4089
原创 Java7 Fork-Join 框架:任务切分,并行处理
概要现代的计算机已经向多CPU方向发展,即使是普通的PC,甚至现在的智能手机、多核处理器已被广泛应用。在未来,处理器的核心数将会发展的越来越多。虽然硬件上的多核CPU已经十分成熟,但是很多应用程序并未这种多核CPU做好准备,因此并不能很好地利用多核CPU的性能优势。为了充分利用多CPU、多核CPU的性能优势,级软基软件系统应该可以充分“挖掘”每个CPU的计算能力,决不能让某个CPU
2016-04-29 15:56:52
6321
Genymotion-ARM-Translation_v1.1.zip
2016-09-28
navicat 数据库 工具
2012-09-19
sqlyong 绿色 破解版 破解码
2012-05-05
PowerDesigner15注册补丁
2012-05-05
gxt blog 项目 ext gwt
2012-02-07
gxt 项目 demo
2012-02-07
java-js-混淆编译-反编译工具
2011-12-27
jocky_eclipse_plugin
2011-12-27
SVGDeveloper 1.05 破解 版本
2011-12-03
HTML标准教程
2011-11-15
jquery mobile 进阶
2011-11-15
jquery api 中 教程入门
2011-11-15
sqlserver 工具 客户端 连接 轻便
2011-11-07
jquery mobile 简明 教程 demo 移动 开发
2011-11-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人