`
xiemingmei
  • 浏览: 207664 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
SVG矢量图指可伸缩矢量图形 (Scalable Vector Graphics),.svg也是该类文件的后缀名。 源码是xml格式的,可以直接编辑。 如下图: 该图的XML代码: <svg xmlns="http://www.w3.org/2000/svg" width="500" height="150"> <defs> <pattern id="pattern1" patternUnits="userSpaceOnUse" ...
输入的参数,必须经过转码才能输出到页面上,如果不经转换而原样直接输出到页面上,则会产生XSS漏洞。 比如:在输入框,输入姓名“张三confirm(123)” 如果直接在页面上输出的话,就会弹窗显示123,其实就是执行了用户设定的js操作了,这就产生了xss漏洞。 xss漏洞很好预防,只要在参数输出时转码就行了。 预防方式,只要输出时做处理: (1)jstl:<c:out value="${name}" escapeXml="true"/> (2)EL: ${fn:escapeXml(param)} (3)工具类:org.apache. ...
TEA(Tiny Encryption Algorithm)是一种分组加密算法,它的实现非常简单,通常只需要很精短的几行代码。 应用领域 (1)客户端桌面程序或手机程序与服务端接口交互,可以使用TEA来进行加密,保证传输信息的私密性。 如:OICQ的数据安全采用了TEA算法,QQ通讯也大量使用了TEA算法。 (2)存储在本地的用户私密信息,可以采用TEA加密算法。 如:QQ存储在本地的msg信息等。 附QQ使用TEA的情况,从网上转载的: QQ是如何利用TEA进行加密的? TEA算法被广泛应用于QQ的数据加密中,QQ采用16轮的TEA算法加密,在这时采取16轮加密时而不采取标准的32 ...
(1) URLEncoder.encode()输入什么字符集? @Deprecated public static String encode(String s) 调用这行代码:encode(s, dfltEncName); dfltEncName = AccessController.doPrivileged(             new GetPropertyAction("file.encoding")         ); 输出来以后得到utf-8 (2)String.getBytes()使用的什么字符集? public byte[] getBytes() ...
本地文件数据库sqlite, 特性: 1. ACID事务 2. 零配置 – 无需安装和管理配置 3.储存在单一磁盘文件中的一个完整的数据库 4.数据库文件可以在不同字节顺序的机器间自由的共享 5.支持数据库大小至2TB 6. 足够小, 大致13万行C代码, 4.43M 7. 比一些流行的数据库在大部分普通数据库操作要快 8. 简单, 轻松的API 9. 包含TCL绑定, 同时通过Wrapper支持其他语言的绑定 10. 良好注释的源代码, 并且有着90%以上的测试覆盖率 11. 独立: 没有额外依赖 12. 源码完全的开源, 你可以用于任何用途, 包括出售它 13. 支持多种开发语言,C, P ...
双缓存防止缓存雪崩,原理不难。 并发量非常大的WEB应用可以用上。 http://www.oschina.net/question/12_26514 存在:key1: time,key2: time+n分 原理:get时,如果key1失效,则取key2返回,同时启动线程去刷新key1、key2。 有多个线程来刷新,则需要并发控制,只让一个线程访问数据库。 分布式系统怎么来并发控制? 可用memcached的add方法,如下: /**防同ID重复提交*/ String preventKey = "unique_id_" + id; boolean i ...
安全随机数生成方法 方法1: SecureRandom random = SecureRandom.getInstance("SHA1PRNG"); System.out.println(random.nextLong()); 方法2: SecureRandom random = SecureRandom.getInstance("SHA1PRNG"); byte[] seed= random.generateSeed(10); random.setSeed(seed); System.out.println(ran ...
XMemcached客户端序列化方式 默认为SerializingTranscoder 见XMemcachedClientBuilder的代码: Transcoder transcoder = new SerializingTranscoder(); 也可使用Kryo序列化, 但有bug, 数据类新老版本不兼容。 最优选Hessian序列化, 数据类新老版本兼容。
Kryo序列化: (1)Java 数据类中必须拥有无参构造函数; (2)Java 数据类的字段增、减,无法兼容; (3)Java 数据类无需实现Serializable接口。 Hession序列化: (1)Java 数据类中必须拥有无参构造函数; (2)Java 数据类的字段增、减,可以兼容; (3)Java 数据类需实现Serializable接口。 选择建议: (1)Kryo bug比较多,Java数据类无法兼容老版本,在系统快速迭代的互联网企业中,是无法忍受的; (2)Hessian 序列化的字节量和耗时稍高一点,但尚能接受。
public class Test { private static DelayQueue<DelayedTask> dq = new DelayQueue<DelayedTask>(); public static void main(String[] arg) throws Exception { testDelayQueue(); } static class DelayedTask implements Delayed { private String title; private long delayedInSec ...
直接用Get,如下效果: MemcachedClient xClient = (MemcachedClient) ac.getBean("memcachedClient"); String key ="test_xiemingmei"; xClient.add(key, 60, "Y"); TimeUnit.SECONDS.sleep(60); System.out.println("60秒后:" + xClient.get(key)); 输出: 60秒后:null 使用GetAndTo ...
logback 引用的包介绍 slf4j-api.jar: 日志接口包 jcl-over-slf4.jar: 用来覆盖commons-logging包; log4j-over-slf4j.jar: 用来覆盖log4j包; logback-core.jar: 日志实现core包,ConsoleAppender、FileAppender属于core包。 logback-classic.jar: 日志实现classic包,其他appender属于classic包。 登记日志机制,有同步,有异步,一般是同步登记的。 常用的两种都是OutputStreamAppender的子类: (1)Consol ...
网页的Http请求Referer 场景: (1)百度搜索结果中有链接,点击链到 http://caipiao.weibo.com/; (2)http://caipiao.weibo.com/ 中iframe包含了 http://w.aicai.com/; (3)http://w.aicai.com页面中访问了/getGdIssue.do?lotteryType=sd11x5&time=1386927411500; (4)cnzz 是按什么来统计PV的,是referer吗 ? 结果: (1) 按这种方式访问http://caipiao.weibo.com,请求referer是: ...
JS中的变量或对象在做比较时,会先转型,然后再进行比较值或类型。 双等号只会判断两边的变量或对象的值是否相等,先会转化值,只要值相等,则会返回真。 三等号会判断类型和值,如果两边的变量或对象的类型和值都相等,则会返回真。 例子如下: var check123 = function(){ var t1 = "1"; var t2 = 1; alert(t1==t2); alert(t1===t2); }; check123(); 显示: true--值相等, 先把"1"转换成1, 比较1 ==1, 相等。 fals ...
log4j与logback有什么区别呢? log4j与logback是同一个作者Ceki开发的,logback性能却比log4j好得多; 所以,正常情况下,请选用logback,同时考虑用logback来替换原来的log4j。 一般情况下,logback不打印出类的方法名,配置如下: <pattern>%-16(%d{MM-dd HH:mm:ss.SSS}) %-5thread %-5level %logger{1} - %msg%n</pattern> 如果不考虑性能的话,你可以打印出方法名,这样配置: <pattern>%-16(%d{MM-dd ...
Global site tag (gtag.js) - Google Analytics