摘要:本文尝试一步步还原HTTPS的设计过程,以理解为什么HTTPS最终会是这副模样。但是这并不代表HTTPS的真实设计过程。在阅读本文时,你可以尝试放下已有的对HTTPS的理解,这样更利于“还原”过程
阅读全文
文章分类 - JAVA
摘要:一、链表的基本结构 链表有很多种,比如单链表,双链表等等,链表是最基本的数据结构,其存储的你原理图如下图所示上面展示的是一个单链表的存储原理图,简单易懂,head为头节点,他不存放任何的数据,只是充当一个指向链表中真正存放数据的第一个节点的作用,而每个节点中都有一个next引用,指向下一个节点,就这
阅读全文
摘要:并发(concurrency)一个并不陌生的词,简单来说,就是cpu在同一时刻执行多个任务。 而Java并发则由多线程实现的。 在jvm的世界里,线程就像不相干的平行空间,串行在虚拟机中。(当然这是比较笼统的说法,线程之间是可以交互的,他们也不一定是串行。) 多线程的存在就是压榨cpu,提高程序性能
阅读全文
摘要:一、前言 前面文章已经介绍Apache JMeter的基本概率和如果使用,但作为一个开发人员,自己写的代码都应该要好好的COD EREVIEW,好好的自测吧。但是有些场景比如高并发、负载和性能测试的时候,不借助工具是不好进行测试的。Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方
阅读全文
摘要:一、如何把.class文件生存jar包? 通常的做法是在Eclipse里面直接将项目导出为编译好后的jar包等,例如File→Export→JAR(Runable)即可。但是某些个场景,只修改了单个的class文件等需要放到另外的环境中去测试等,这里介绍另外一种方法是在windows里面的dos里面
阅读全文
摘要:异常的定义 在《java编程思想》中这样定义 异常:阻止当前方法或作用域继续执行的问题。虽然java中有异常处理机制,但是要明确一点,决不应该用"正常"的态度来看待异常。绝对一点说异常就是某种意义上的错误,就是问题,它可能会导致程序失败。之所以java要提出异常处理机制,就是要告诉开发人员,你的程序
阅读全文
摘要:1 lucene简介1.1 什么是luceneLucene是一个全文搜索框架,而不是应用产品。因此它并不像www.baidu.com 或者google Desktop那么拿来就能用,它只是提供了一种工具让你能实现这些产品。1.2 lucene能做什么要回答这个问题,先要了解lucene的本质。实际上
阅读全文
摘要:自从Java 1.5之后,在java.util.concurrent包下提供了若干个阻塞队列,主要有以下几个: ArrayBlockingQueue:基于数组实现的一个阻塞队列,在创建ArrayBlockingQueue对象时必须制定容量大小。并且可以指定公平性与非公平性,默认情况下为非公平的,即...
阅读全文
摘要:用kindeditor编辑器的时候,内容里面图片字符串文本里面保存的是HTML代码,图片的路径是相对路径,要改成绝对路径,String body = ""private final static Pattern ATTR_PATTERN = Pattern.compile("]*?\\ssrc=['...
阅读全文
摘要:1 public static void main(String[] args) { 2 3 4 Map map = new HashMap(); 5 map.put("1", "value1"); 6 map.put("2", "value2"); 7 map.put("3"...
阅读全文
摘要:在项目中,不同的两个服务器如果存在相互传输数据的时候,如果一般用HTTP-URL传输的话,要考虑很多问题,而且URL的get方法不能传输过多的数据。出于安全和业务方面的考虑,服务器之间、客户端和服务器之间使用IO流来传输数据不失为一种很好的解决方案。也不用过多考虑出现乱码的问题等。而在绝大多数时候,...
阅读全文
摘要:使用easyui的时候,夏季老师给了一个使用kindeditor的扩展JS插件,把代码贴上去之后就可以实现kindeditor的大部分功能了:链接地址 http://www.jeasyuicn.com/extended-easyui-based-on-kindeditor.html 但是,这里发现文件上传老是报错,经过分析,JS插件没有指定上传Action路径,于是呢:(function ($, K) { if (!K) throw "KindEditor未定义!"; function create(target) { var opts ...
阅读全文
摘要://js获取项目根路径,如: http://localhost:8083/uimcardprjfunction getRootPath(){ //获取当前网址,如: http://localhost:8083/uimcardprj/share/meun.jsp var curWwwPath=window.document.location.href; //获取主机地址之后的目录,如: uimcardprj/share/meun.jsp var pathName=window.document.location.pathname; var pos=c...
阅读全文
摘要:在使用struts2的项目中上传文件的时候出现了一个这样的错误:2011-7-30 20:29:02 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info信息: Unable to find 'struts.multipart.saveDir' property setting. Defaulting to javax.servlet.context.tempdir2011-7-30 20:29:02 com.opensymphony.xwork2.util.logging.commons.Commons
阅读全文
摘要:防SQL注入,最简单的办法是杜绝SQL拼接,SQL注入攻击能得逞是因为在原有SQL语句中加入了新的逻辑,如果使用PreparedStatement来代替Statement来执行SQL语句,其后只是输入参数,SQL注入攻击手段将无效,这是因为PreparedStatement不允许在不同的插入时间改变查询的逻辑结构,大部分的SQL注入已经挡住了,在WEB层我们可以过滤用户的输入来防止SQL注入比如用Filter来过滤全局的表单参数。转载http://www.iteye.com/topic/617072 /*** * @ 字符串过滤 * @ 防止sql注入 * ***/ public st...
阅读全文
摘要:1、禁掉提交按钮。表单提交后使用Javascript使提交按钮disable。这种方法防止心急的用户多次点击按钮。但有个问题,如果客户端把Javascript给禁止掉,这种方法就无效了。2、Post/Redirect/Get模式。在提交后执行页面重定向,这就是所谓的Post-Redirect-Get (PRG)模式。简言之,当用户提交了表单后,你去执行一个客户端的重定向,转到提交成功信息页面,这能避免用户按F5导致的重复提交,而其也不会出现浏览器表单重复提交的警告,也能消除按浏览器前进和后退按导致的同样问题。3、在session中存放一个特殊标志。当表单页面被请求时,生成一个特殊的字符标志串,
阅读全文
摘要:随着对称密码的发展,DES数据加密标准算法由于密钥长度较小(56位),已经不适应当今分布式开放网络对数据加密安全性的要求,因此1997年NIST公开征集新的数据加密标准,即AES[1]。经过三轮的筛选,比利时JoanDaeman和VincentRijmen提交的Rijndael算法被提议为AES的最终算法。此算法将成为美国新的数据加密标准而被广泛应用在各个领域中。尽管人们对AES还有不同的看法,但总体来说,AES作为新一代的数据加密标准汇聚了强安全性、高性能、高效率、易用和灵活等优点。AES设计有三个密钥长度:128,192,256位,相对而言,AES的128密钥比DES的56密钥强1021倍
阅读全文
摘要:使用免费的邮件服务器发送邮件时,需要对用户的身份做验证;而进行身份验证的过程又比较消耗时间,当用户需要发送多封邮件时如果每次都做身份验证的话时间的消耗是非常大的;邮件格式最好清晰,较为常见的收发邮件的服务器而且做得笔记好的就是163的smtp、pop3,当然了QQ腾讯的也不错。邮件开始发送的验证有点繁琐,格式不对或者带有特殊字符的都会被他们的服务器过滤掉,所以,为了避免他们把你的发件箱作为垃圾邮件屏蔽掉的话,最好避开这些 :一个账号发送大量邮件、相同IP短期发送大量邮件 、发送邮件速度太快、邮件导出链接数太多、软件设置过度、邮件标题过于敏感、邮件内容够多而且重复等等!下面列出一个用163的账号
阅读全文