- 博客(39)
- 资源 (11)
- 问答 (5)
- 收藏
- 关注
转载 高可用脑裂问题
在“双机热备”高可用(HA)系统中,当联系2个节点的“心跳线”断开时,本来为一整体、动作协调的HA系统,就分裂成为2个独立的个体。由于相互失去了联系,都以为是对方出了故障,2个节点上的HA软件像“裂脑人”一样,“本能”地争抢“共享资源”、争起“应用服务”,就会发生严重后果:或者共享资源被瓜分、2边“服务”都起不来了;或者2边“服务”都起来了,但同时读写“共享存储”,导致数据损坏(常见如数据库轮询着
2017-12-22 15:20:48 521
转载 spring aop实现
AOP面向切面编程的四种实现 一.AOP(面向切面编程)的四种实现分别为最原始的经典AOP、代理工厂bean(ProxyFacteryBean)和默认自动代理DefaultAdvisorAutoProxyCreator以及BeanNameAutoProxyCreator代理、Aspectj的注解和xml配置文件。 1.代理工厂bean(ProxyF
2017-12-22 14:29:09 288
转载 Oracle执行计划详解
简介:本文源自TTT BLOG,原文地址:http://blog.chinaunix.net/u3/107265/showart_2192657.html 本文全面详细介绍oracle执行计划的相关的概念,访问数据的存取方法,表之间的连接等内容。 并有总结和概述,便于理解与记忆!+++目录--- 一.相关的概念 Rowid的概念
2017-12-21 11:35:21 300
转载 oracle的一些基本语法
一、ORACLE的启动和关闭1、在单机环境下要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下su - oraclea、启动ORACLE系统oracle>svrmgrlSVRMGR>connect internalSVRMGR>startupSVRMGR>quitb、关闭ORACLE系统oracle>svrmgrlSVRMGR>conne
2017-12-21 11:32:05 532
原创 oracle日期类型
查询慢的问题,经过验证和查询,已经初步得出结论,发现我们查询所用的时间字段传输的java.util.Date,在ibatis里通过jdbcType方式赋值#endTime:TIMESTAMP#,而数据内字段的类型是DATE,在数据库内做类型转换会很耗时,Oracle支持Date和TIMESTAMP两种时间类型,而我们数据库设计都是Date类型但是itabits里使用的都是TIMESTAMP.
2017-12-21 10:39:43 679
转载 oracle索引失效的情况已经oracle的一些隐式转换
容易引起oracle索引失效的原因很多: 1、在索引列上使用函数。如SUBSTR,DECODE,INSTR等,对索引列进行运算.需要建立函数索引就可以解决了。 2、新建的表还没来得及生成统计信息,分析一下就好了 3、基于cost的成本分析,访问的表过小,使用全表扫描的消耗小于使用索引。 4、使用 5、单独的>、 6、like "%
2017-12-21 10:10:04 1167
原创 cfx webservice
cxf webservice调用示例远程调用processRefund方法,使用 org.apache.cxf.jaxws.JaxWsProxyFactoryBean public RefundResponse doRefund(RefundRe
2017-02-14 10:34:42 397
转载 java https的一些概念
java客户端代码实现 在Java中要访问Https链接时,会用到一个关键类HttpsURLConnection;参见如下实现代码: // 创建URL对象 URL myURL = new URL("https://www.sun.com"); // 创建HttpsURLConnection对象,并设置其SSLSocketFac
2017-01-10 14:31:58 456
转载 AES DES RSA SHA MD5优缺点
DES 美国数据加密标准(DES)是对称密码算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立。密钥较短,加密处理简单,加解密速度快,适用于加密大量数据的场合。DES现在已经不是一种安全的加密方法,主要因为它使用的56位密钥过短。1999年1月,distributed.net与电子前哨基金会合作,在22小时15分钟内即公开破解了一个DES密钥。也有一些分析报告提出了该算法的理论
2017-01-10 09:59:49 2350
转载 一段Java程序的生命史
作为一名程序猿 ,我们每天都在写Code,但你真的了解它的生命周期么?今天就来简单聊下它的生命历程,说起一段Java Code,从出生到game over大体分这么几步:编译、类加载、运行、GC。编译Java语言的编译期其实是一段“不确定 ”的过程,因为可能是一个前端编译器把.java文件转变为.class文件的过程;也可能是指JVM的后端运行期编译器(JIT编译器)把字节码转变为
2016-12-07 15:30:16 328
原创 linux上运行java类文件
javac -classpath 包路径 xx.javajava -classpath 包路径; xx (路径后的分号不能少)Linux 下将分号换成冒号 多个jar包用:分离
2016-11-22 15:01:51 851
原创 HttpClient https上传文件与form表单
//上传文件public String send(String urlStr, File file, String downFilePwd){ InputStream responseStream = null; String responseBody = ""; try{ HttpClient client = new HttpClient(); client.getPa
2016-10-19 09:51:51 2434
原创 CloseableHttpClient https上传文件与form表单
//上传文件 public String send(String urlStr, File file, String downFilePwd) { String responseBody = ""; try { MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create(); m
2016-10-19 09:45:22 3312
原创 CloseableHttpClient https上传文件与form
//上传form表单public String download(String urlStr, String filePath, String uploadTime,String batchFileName, String downloadPassword) {try {List params = new ArrayList();params.add(new BasicNameValuePair(
2016-10-19 09:42:01 1009 1
转载 使用sun.net.ftp.FtpClient进行上传功能开发,在jdk1.7上不适用问题的解决
之前项目上开发了一个上传文件的功能,使用的是sun.net.ftp.FtpClient这个类连接服务器的代码大概如下:public static FtpClient ftpClient = null; ftpClient = new FtpClient(); ftpClient.openServer(server); ftpClient.login(user, p
2016-10-13 10:50:55 1044
转载 计算与存储的关系 GemFire工作原理
按照计算与存储的关系,我们可以将计算架构分为四代:第一代,基于磁盘的单一系统:计算过程中需要从磁盘读取数据。小型机、大型机是其中的佼佼者,将单一系统的性能做到极致。第二代,基于磁盘的分布式集群系统:计算过程中需要从磁盘读取数据,但通过分布系统将数据分散到不同的服务器磁盘上,提高整个系统的处理能力。目前很多大型互联网和电子商务公司采用基于X86服务器的分布式集群系统,依靠海量的X86
2016-10-12 14:12:02 965
原创 java https信任所有证书
首先感谢http://www.infoq.com/cn/articles/keeping-your-secrets这篇文章解决了我的问题(即不能使用System.setProperty("https.protocols","TLSv1"); )以下是两个https信任所有证书的实例:package com.colotnet.util;import java.io.InputStre
2016-07-14 11:36:54 12135 1
原创 私钥签名解密公钥加密验签代码
/** * 数字签名函数入口 * * @param plainBytes * 待签名明文字节数组 * @param privateKey * 签名使用私钥 * @param signAlgorithm * 签名算法 * @return 签名后的字节数组 * @throws Exception
2016-02-23 14:37:56 1631
原创 pem证书导出公私钥
/** * 获取RSA私钥对象 * * @param filePath * RSA私钥路径 * @param keyAlgorithm * 密钥算法 * @return RSA私钥对象 * @throws Exception */ public static PrivateKey getRSAPrivateKeyB
2016-02-23 14:34:44 2869
原创 证书的一些命令
生成证书keytool -genkey -alias s1as -keyalg RSA -keysize 512 -keypass changeit -keystore C:/mykeystore/keystore.jks -storepass changeit -validity 365keytool -genkey -alias s1as -keyalg RSA -keysto
2016-02-23 14:30:30 612
原创 plsql的一些配置
安装完plsql后须找到oci.dll文件所在的目录,并将oci.dll的全路径配置到PLSQL软件的设置中:如果出现中文乱码(中文显示为???)则要配置环境变量 NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK如果查出来的数据显示格式为科学计数法,则在Tools - Prefrence - SQL Window - 选择:"Nu
2016-02-18 16:27:26 289
原创 关于socket的一些问题
socket的read方法是阻塞的,在单独的线程里while()循环read的话,通过thread.sleep()方法并不能中断线程,可以通过socket.close()来中断线程。客户端socket关闭的话,服务端是感应不到的,但是byte[] buf1 = new byte[6]; socketIn.read(buf1)本来应该阻塞,如果客户端关闭的话,socketIn.read(buf1)会
2016-02-02 14:07:06 334
转载 junit开启多线程
写过Junit单元测试的同学应该会有感觉,Junit本身是不支持普通的多线程测试的,这是因为Junit的底层实现上,是用System.exit退出用例执行的。JVM都终止了,在测试线程启动的其他线程自然也无法执行。所以要想编写多线程Junit测试用例,就必须让主线程等待所有子线程执行完成后再退出。想到的办法自然是Thread中的join方法。话又说回来,这样一个简单而又典型的需求,难道会没有第
2016-01-14 10:54:29 971
原创 LinkedBlockingQueue的用法
在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列(先进先出)。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。由于LinkedBlockingQueue实现是线程安全的
2016-01-13 13:48:14 355
转载 常见证书格式及相互转换
常见证书格式及相互转换PKCS 全称是 Public-Key Cryptography Standards ,是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准,PKCS 目前共发布过 15 个标准。 常用的有:PKCS#7 Cryptographic Message Syntax StandardPKCS#10 Certification Re
2016-01-06 10:28:22 381
原创 xstream生成xml格式控制
当系统间传输xstream生成的xml格式的报文时,如果对报文进行签名认证,很可能认证失败,原因就是xstream生成的xml报文各个元素之间有空格和换行符,而接收端如果用BUfferedReader接收报文,则会自动忽略换行符,导致签名的报文和认证的报文不一致。为解决这个问题,需要改变xstream生成xml的格式,即去掉换行符和空格。去掉换行符可使用 replaceAll("\r","")
2016-01-06 10:00:17 4846
原创 https访问glassfish替换glassfish证书
使用https访问glassfish需在domain.xml文件中配置: 以上配置并没有指定证书路径,只指明了证书的别名s1as,这是因为glassfish会默认使用config目录下的cacerts.jks作为证书,因此替换证书就是要将自定义的证书导入到cacerts.jks。做法分为如下几步(在glassfish的config目录下输入如
2016-01-06 09:08:18 1860
原创 cer和pfx区别
cer是用于存储公钥证书的文件格式。数字证书是由证书认证机构(CA)对证书申请者真实身份验证通过以后,用CA的根证书对申请人的一些基本信息以及申请人的公钥进行签名后形成一个数字文件,CA完成签发证书后,会将证书发布到CA的证书库中(目录服务器),任何人都可以查询和下载,因此数字证书和公钥一样是公开的,实际上,数字证书就是经过CA认证过的公钥。由Public Key Cr
2015-12-29 10:35:41 4344
原创 远程接口技术选型
1、如果接口要作为一种公开接口,建议使用soap(标准协议),前提是对性能要求不高 2、如果接口要作为一种公开接口,对性能有要求,建议使用http(当前流行rest风格) 3、如果接口传输数据量大,对性能有要求,建议使用直接使用socket,前提此接口不是一个公开的接口(接口是公司内部系统之间调用接口) 4、如果接口传输数据量大,对性能有要求,对于公开接口,建议使用http
2015-12-24 11:31:52 521
转载 web service的几种实现方式
web service概念:根据w3c地定义,web服务(web service)应当是一个软件系统,用以支持网络间不同机器地互动操作.网络服务通常是许多应用程序接口(api)所组成地,它们通过网络地远程服务器端,执行客户所提交服务地请求.简单地来说就是服务器端向客户端提供服务.web service实现方式:(1)远程过程调用(rpc)rpc协议就是为了解决不同地
2015-12-24 11:22:03 1359
转载 HTTP POST GET SOAP本质区别详解
一 原理区别 一般在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETEURL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST
2015-12-24 10:51:16 445
转载 webservice规范及webservice框架
Webservice三种规范•1、JAX-WSJAX-WS 是JAX-RPC 的演进版本,但JAX-WS 并不完全向后兼容JAX-RPC,二者最大的区别就是RPC/encoded 样式的WSDL,JAX-WS 已经不提供这种支持。•2、JAXM&SAAJJAXM(JAVA API For XML Message)主
2015-12-24 10:21:45 725
原创 HttpClient 中文编码问题
使用http通讯模式会碰到中文编码问题 解决的方式如下:postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");
2015-11-30 11:23:11 567
原创 编译时赋初值和分配内存?
所谓编译期间分配内存指的是静态分配空间(相对于new动态申请空间),包括全局变量和静态变量(包括一些特别复杂的常量),他们所以需要的空间大小可以明确的计算出来,并且不会再改变,因此他们可以直接存放在特定的节里(并且包含初始化的值),程序运行时也是直接将这个节添加到特定的段中,不必在程序运行期间使用额外的代码来产生这些变量。其实在运行期间再看“变量”这个概念就不再具备编译期间那么多属性了(诸如名称、
2015-11-27 09:51:57 1811
转载 Restful架构
REST即“Representational State Transfer”的缩写,“表现层状态转化”,如果一个架构符合REST原则,那他就是RESTFull架构。要理解RESTFull架构,最好的方法就是理解“Representational State Transfer”,它每个词代表什么含义。如果把这个名称搞懂了,也就不难理解REST的含义了。 (一)资源 REST的“表现层状态转
2015-11-26 11:33:47 399
原创 socket setSoTimeOut
设置SocketServer中的setSoTimeOut(10000)表示服务端启动后,如果10秒内没有请求这个服务端的话,抛异常Socket设置setSoTimeOut(10000)表示10秒内没有接收到数据化客户端强行断开连接。
2015-11-24 17:53:29 949
原创 AES加密代码
public class EncryptUtil { // --------------------部分代码----------- /** * AES加密 * * @param key * 密钥信息 * @param content * 待加密信息 */ public static byte[
2015-11-24 13:28:57 558
原创 MD5加解密代码
public final class MD5 { private MD5() { } /** * Used building output as Hex */ private static final char[] DIGITS = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b',
2015-11-24 13:27:10 1047
转载 加密和解密
公钥和私钥的区别 公钥密码体制的核心思想是:加密和解密采用不同的密钥。这是公钥密码体制和传统对称密码体制的最大区别。对于传统对称密码而言,密文的安全性完全依赖于密钥的保密性,一旦密钥泄露,将毫无保密性可言。但是公钥密码体制彻底改变了这样状况,在公钥密码体制中,公钥是公开的,只有私钥是保密的,知道公钥和密码算法要推测出私钥是不可行的,因此,只要私钥是安全的,那么加密
2015-11-24 11:30:19 465
win7原版主题三个dll文件 themeservice uxtheme themeui
2016-01-24
多线程的线程关闭问题
2016-01-19
Apache重定向https到http
2015-12-31
glassfish https访问证书问题
2015-12-31
关于axis发布webservice
2015-12-23
关于webservice的问题
2015-12-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人