`
wangwengcn
  • 浏览: 172961 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
https://blog.csdn.net/u012410733/article/details/72773095
做项目被log4j的输出格式化参数搞烦了,索性把API的相关部分大致翻译一下,原文参见http://logging.apache.org/log4j/docs/api/org/apache/log4j/PatternLayout.html   摘自:http://blog.csdn.net/guoquanyou/article/details/5689652 参数 说明 例子 %c 列出logger名字空间的全称,如果加上{<层数>}表示列出从最内层算起的指定层数的名字空间 log4j配置文件参数举例 输出显示媒介 假设当前logge ...
除了yield,其他方法都有阻塞效果,所以必须处理InterruptedException,因此在多线程任务中最好实现中断策略。 1.sleep()     使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是如果有Synchronized同步块,其他线程仍然不同访问共享数据。注意该方法要捕获异常     比如有两个线程同时执行(没有Synchronized),一个线程优先级为MAX_PRIORITY
还是使用上一篇文章中生成的四个证书文件,以Tomcat 为运行环境来部署支持SSL的CXF应用。 首先在Tomcat的conf目录中找到server.xml文件,需要在该文件中加上SSL配置,如下   <Connector SSLEnabled="true" acceptCount="100" algorithm="SunX509" disableUploadTimeout="true" enableLookups="false" ...
上一篇讲了如何使用UsernameToken的方式来安全访问CXF,这篇将讲解使用证书的签名和加密技术来达到安全访问的目的。   1.证书的签名和加密的原理 在CXF官网关于WS-SECURITY的章节中首先介绍了,签名和加密的原理,图和文字很形象,就不再多说了。 下面附上本文中使用的生成证书的代码:   1. 生成别名和密码为 "serverkey"/"myPassword"的服务端证书,别名都使用小写(在keystore中存储的别名都是小写字符), 并保存在server-keystore.jks中(改证书用来服务端解密) keytoo ...
CXF涉及安全方面主要有三个途径: 最简单的方式是使用Http Basic Auth,就是WSS4J的UsernameToken实现方式,优点是简单易用,缺点是每次都会在MESSAGE里面传密码,安全性低。 Transport level(传输层内)的实现Https。CXF samples里面有一个例子wsdl_first_https, 很详细的讲了怎么使用。 对MESSAGE进行加密和签名(encryption and signing),请参考官方教程。 先来看第一种实现方式,按照上一篇教程中的内容先配置好,然后根据下面顺序进行修改 1.  修改服务端spring配置文件 ...
1.定义SEI package com.demo.cxf.helloword; import java.util.List; import javax.jws.Oneway; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; @WebService(targetNamespace="com.demo.cxf.helloword") public interface HelloWord { String sayHello( ...
虽然Thread.stop和suspend等方法提供了线程终止的机制,但由于存在一些严重的缺陷,因此应该避免使用。可以说Java并没有提供任何机制来安全地终止线程。但它提供了中断(Interrupt),这时一种协作机制,能够使一个线程终止另 ...
Executor基于生产者-消费者模式,提交任务(Runnable)的操作相当于生产者(生成待完成的工作单元),执行任务的线程相当于消费者(执行完这些工作单元)。每当看到下面这种形式的代码时: new Thread(runnable).start() 并且你 ...
http的本质还是socket,所以底层传输的还是字节流(不要深究到二进制层面),既然是字节流,那么肯定会涉及到编码和解码. 乱码的原因大家肯定都知道,也很简单,那就是编码和解码的格式不一致 。 既然知道了根源,那么 ...
学完设计模式,示例代码保存着,以后看看。
1.定义 将抽象和实现解耦,使得两者可以独立地变化   2.例子 定义看不明白?没关系,我将通过下面这个例子来阐述桥梁的概念。   小时候我们都用蜡笔画画,一盒蜡笔12种颜色。一开始我都是用最小号的蜡笔画个太阳公公、月亮婆婆足够了。后来开始画一些抽象派的作品,就得换中号的了,要不然画个背景都要描半天,好一盒中号的也是12种颜色。再后来我开始转向豪放派,中号就有些捉襟见肘了,只好换大号的了,好一盒大号的也只有12种颜色。你看,像我这样不太出名的画家就需要36种画笔,哇,太麻烦了。但是据我观察,另一些比我出名的画家倒是没有这么多笔,他们只有几把刷子和一些颜料,这样就解决了蜡笔的“种类爆炸 ...
1.定义 使用共享对象可有效地支持大量的细粒度的对象。 是对象池技术的重要实现方式。   2.享元模式的使用场景 系统中存在大量的相似对象。 细粒度的对象都具备较接近的外部状态,而且内部状态与环境无关,也就是说对象没有特定身份。 需要缓冲池的场景。 请看例子程序,学生和学校的关系:   package _22FlyweightPattern; /** * 班级类 */ public class School { // 学校id private int id; // 学校名称 private String schoolName; // ...
1.定义 给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中句子。 属于行为类模式。   2.解释器模式的使用场景 重复发生的问题可以使用解释器模式:比如根据用户输入的公式进行加减乘除四则运算,但是他们输入的公式每次都不同,有时是a+b-c*d,有时是a*b+c-d,等等等等个,公式千变万化,但是都是由加减乘除四个非终结符来连接的,这时我们就可以使用解释器模式。 一个简单语法需要解释的场景:你看看下面给出的例子,非终结表达式,文法规则越多,复杂度越高,而且类间还要进行递归调用。因此解释器模式一般用来解析比较标准的字符集,例如sql语法分析,不过该 ...
1.定义 当一个对象内在状态改变时,允许其改变行为,这个对象看起来像改变了其类。 状态模式的核心是封装。   2.要解决的问题-过多的if-else状态判断 对象如何在每一种状态下表现出不同的行为?在软件开发过程中,应用程序可能会根据不同的情况作出不同的处理。最直接解决方案是将这些所有可能发生的情况全都考虑到。然后使用if... ellse语句来做状态判断来进行不同情况的处理。但是对复杂状态的判断就显得“力不从心了”。随着增加新的状态或者修改一个状体(if else(或switch case)语句的增多或者修改)可能会引起很大的修改,而程序的可读性,扩展性也会变得很弱。维护也会很麻烦。 ...
Global site tag (gtag.js) - Google Analytics