技术

Spring 配置头文件

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xm […]

Spring-in-action

Spring: Ioc(控制反转 Inversion of Control):依赖注入(DI)。 Aop(面向切面编程 Aspect Oriented Programming): 动态代理。 应用上下文: ClassPathXmlApplicationContext:从类路径下的xml配置文件中加载。 FileSystemXmlapplicationcont […]

Java 加密与解密的艺术

单向加密算法:MD5,SHA。用于数据完整性验证。 对称加密算法:DES。数据储存加密的常用算法。 非对称加密算法:RSA。数据传输加密的常用算法。 柯克霍夫原则:密码系统应该就算被所有人知道系统的运作步骤,仍然是安全的。 Java API支持: MessageDigest类构建MD5,SHA两种加密算法; Mac类可以构建HMAC加密算法; Cipher类 […]

【转】沉浸式状态栏解决方案

【转】伴随着 Android 5.0 发布的 Material Design,让 Android 应用告别了以前的工程师审美,迎来了全新的界面,灵动的交互,也让越来越多的 App 开始遵从 material design 设计原则,不再是以前拿着iOS设计稿,做着Android开发。本文就其中的沉浸式状态栏这一特性,描述其兼容到4.4的实现,以及一些使用中的 […]

【转】常用正则表达式

一、校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1-9][0-9]*)$ 6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ 7 带1-2位小数的正数或负数:^(-)? […]

【转】Markdown 语法说明

原文地址 概述 宗旨 Markdown 的目标是实现「易读易写」。 可读性,无论如何,都是最重要的。一份使用 Markdown 格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签或是格式指令所构成。Markdown 语法受到一些既有 text-to-HTML 格式的影响,包括Setext、atx、Textile、reStructuredTe […]

Java volatile 关键字

Java 内存模型: 线程安全: 原子性:由Java内存模型直接保证的原子性变量操作包括read,load,user,assign,stroe,write,大致可认为Java基础数据类型的读写是具备原子性的。Java内存模型还提供了lock和unlock,由高层字节码指令monitorenter和monitorexit隐匿地使用,反应到Java代码就是syn […]

【转】数字签名

原文地址 鲍勃有两把钥匙,一把是公钥,另一把是私钥。 鲍勃把公钥送给他的朋友们—-帕蒂、道格、苏珊—-每人一把。 苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。 鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。 鲍勃给苏珊回信 […]

关于 ThreadLocal 对象

ThreadLocal,线程本地变量,由于是线程内变量不存在并发问题,所以线程内可以安全的使用。 使用场景: 用来解决 数据库连接、Session管理等。 由于每次都是在方法内部创建的连接,那么线程之间自然不存在线程安全问题。但是这样会有一个致命的影响:导致服务器压力非常大,并且严重影响程序执行性能。由于在方法中需要频繁地开启和关闭数据库连接,这样不尽严重影 […]

基于 NIO 的 Socket

缓冲区及其操作是所有NIO的基础。 传统流IO是基于字节的,所有IO都被视为单个字节的移动;而NIO是基于块的,NIO的性能肯定优于流IO。其性能的提高主要要得益于其使用的结构更接近操作系统执行IO的方式:通道和缓冲器。我们可以把它想象成一个煤矿,通道是一个包含煤层(数据)的矿藏,而缓冲器则是派送到矿藏的卡车。卡车载满煤炭而归,我们再从卡车上获得煤炭。也就是 […]

Nginx 部署 SSL 证书

申请SSL证书 国外的startssl和国内的沃通可以申请免费的SSL证书,将申请好的证书下载并解压到本地。 部署SSL证书 将申请到的证书上传到服务器中。 修改Nginx配置文件,开启ssl服务,并将SSL证书的地址配置好。 server { listen 443 ssl; server_name qlm.pw; index index.html inde […]

【转】关键业务系统的 JVM 启动参数推荐

原文地址 在关键的业务系统里,除了继续追求技术人员最爱的高吞吐与低延时之外,系统的稳定性与出现问题时排查的便捷性也很重要。 这是本文的一个原则,后面也会一次又一次的强调,所以与网上其他的文章略有不同,请调优高手和运维老大们多指引。 前言1,资料 学习开源项目的启动脚本是个不错的主意,比如Cassandra家的, 附送一篇解释它的文章。 JVM调优的̶ […]