摘要: ConcurrentHashMap和Hashtable主要区别就是围绕着锁的粒度以及如何锁。如图左边便是Hashtable的实现方式---锁整个hash表;而右边则是ConcurrentHashMap的实现方式---锁桶(或段)。ConcurrentHashMap将hash表分为16个桶(默认值),... 阅读全文
posted @ 2014-04-21 14:36 公孙 轩辕 阅读(422) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2014-03-04 13:20 公孙 轩辕 阅读(4) 评论(0) 推荐(0) 编辑
摘要: ssl vpn 技术点详解 SSL VPN是专栏VPN系列技术原理的最后一篇,SSL VPN作为远程接入型的VPN,已经具备非常广阔的前景,它的主要适应场景是取代L2TP Over IPSec,但功能要比L2TP Over IPSec更丰富,方案也更加灵活。一、 SSL VPN简介何谓SSL VPN,首先要从SSL谈起,使用网络不能不提的是各个网站,浏览网站使用浏览器,网络上传送网页的协议叫HTTP,它是明文传播的,传播内容可以被黑客读取。而SSL全名叫Secure Session Layer(安全会话层),其最初目的是给HTTP加密使用的安全套件,使用SSL的H... 阅读全文
posted @ 2014-02-25 18:28 公孙 轩辕 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 一、关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试)二、AndroidManifest.xml结构1 2 3 4 5 6 7 8 910111213141 阅读全文
posted @ 2014-02-24 11:25 公孙 轩辕 阅读(604) 评论(0) 推荐(0) 编辑
摘要: 本文介绍对象的强、软、弱和虚引用的概念、应用及其在UML中的表示。1.对象的强、软、弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用。图1为对象应用类层次。图1⑴强引用(StrongReference) 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛... 阅读全文
posted @ 2014-01-07 15:42 公孙 轩辕 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 在开发中遇到N回 adb server is out of date. killing... 这个问题,前几次都是在任务管理中找到adb.exe关掉后,再restart eclipse就可以,实在不行就重新电脑,后来自己想想这终究不是解决问题的办法,今天决定彻底的了解下根由。C:\Users\xxxx>adb start-server adb server is out of date. killing... ADB server didn't ACK * failed to start daemon * adb 不管执行 shell devices 还是logcat 都会报.. 阅读全文
posted @ 2013-12-18 11:25 公孙 轩辕 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 注意:ndk 、cygwin 安装路径尽量要和sdk放到一个磁盘里,设置环境变量。 例如D: 根目录 变量名:ndk 值:/cygdrive/d/android-ndk-r8e打开cygwin工具进入 你要编辑的工程文件目录下 例如:D:\JNSec\android客户端\S_FbunerClient 这是window下的路径表示方式,需要把“\” 改为“/”1) cd D:/JNSec/android客户端/JNSecVPNClient;2) $ndk/ndk-build clean 这里 "$" 必须写;3)$ndk/ndk-build 开始编译。 阅读全文
posted @ 2013-12-12 10:32 公孙 轩辕 阅读(697) 评论(0) 推荐(0) 编辑
摘要: 这里重点介绍一下服务端的验证和密钥交换。这个阶段的前面的(a)证书 和(b)服务器密钥交换是基于密钥交换方法的。而在SSL中密钥交换算法有6种:无效(没有密钥交换)、RSA、匿名Diffie-Hellman、暂时Diffie-Hellman、固定Diffie-Hellman、Fortezza。 在... 阅读全文
posted @ 2013-11-26 14:08 公孙 轩辕 阅读(16184) 评论(1) 推荐(2) 编辑
摘要: Java正则表达式学习: 因为正则表达式是一个很庞杂的体系,此例仅举些入门的概念,更多的请参阅相关书籍及自行摸索。 \\ 反斜杠 \t 间隔 ('\u0009') \n 换行 ('\u000A') \r 回车 ('\u000D') \d 数字 等价于[0-9] \D 非数字 等价于[^0-9] \s 空白符号 [\t\n\x0B\f\r] \S 非空白符号 [^\t\n\x0B\f\r] \w 单独字符 [a-zA-Z_0-9] \W 非单独字符 [^a-zA-Z_0-9] \f 换页符 \e Escape \b 一个单词的边界 \B 一个非单词 阅读全文
posted @ 2013-11-25 11:20 公孙 轩辕 阅读(519) 评论(0) 推荐(0) 编辑
摘要: 要让Android应用获得Root权限,首先Android设备必须已经获得Root权限。应用获取Root权限的原理:让应用的代码执行目录获取最高权限。在Linux中通过chmod 777 [代码执行目录]代码如下:/** * 应用程序运行命令获取 Root权限,设备必须已破解(获得ROOT权限) * * @return 应用程序是/否获取Root权限 */public static boolean upgradeRootPermission(String pkgCodePath) { Process process = null; DataOutputStream os = nu... 阅读全文
posted @ 2013-11-21 20:28 公孙 轩辕 阅读(354) 评论(0) 推荐(0) 编辑