Java线程生命周期与线程状态 Java线程生命周期新建(new)当你创建一个新线程时,它就是新建状态。它会一直是新建状态,直程序调用了它的start()方法。从这个意义上讲,线程是不存的。它只是java编程中的一个内部状态。 运行(Runnable)当调用start()方法时,线程就进行了RRUNNABLE运行状态。此时,执行控制权交由线程调度器去完成执行。线程调度器决定该线程应该被执行,还是应该被保留给其它可运行线程的机会。 2017-08-12 #java #thread
网络跟踪命令 tracert 的使用 介绍 Tracert是路由跟踪程序,用于确定 IP 数据报访问目标所经过的路径 示例12345678910111213C:\>tracert www.baidu.com通过最多 30 个跃点跟踪到 www.a.shifen.com [14.215.177.37] 的路由: 1 1 ms 1 ms 1 ms 192.168.2.1 2 * * 2017-08-11 网络技术实践 #tracert
Maven Profiles 实现按条件编译 介绍Maven Profiles的配置设置或重写默认值,另一组。Maven配置文件允许自定义生成不同的环境。配置文件配置在pom.xml文件每个文件有一个标识符。 可以让配置文件构建不同的环境。比如: 生产和开发环境 不同的操作系统,如linxu和windows等 不同版本的jdk。 按不同的条件编译通一个例子来了解 Maven Profile。默认的,编译插件把 javac的debug标识设 2017-08-10 #maven #profile
Apache Commons CLI 的使用 Commons CLI 简介Apache Commons CLI 是 Apache 下面的一个解析命令行输入的工具包,该工具包还提供了自动生成输出帮助文档的功能。 Apache Commons CLI 支持多种输入参数格式,主要支持的格式有以下几种: POSIX(Portable Operating System Interface of Unix)中的参数形式,例如 tar -zxvf xx. 2017-08-09 #java
JavaSE概览 以一张图来看,图来自:http://www.oracle.com/technetwork/cn/java/javase/tech/index.html Tools & Tool APIs java javac javadoc jar javap: Java字节码文件反编译工具 jdeps: 依赖分析 scripting Security Monitoring JConsole : 提供 2017-08-06 #javase
SS原理解析 普通代理示意图 如上图所示:在内部受限网络中,受到防火墙的限制,无法直接访问远程目标服务器。于是可以过代理服务器,来访问。 但代理流量是明文的,在通过防火墙时,还是可以检测出来。 比如在socks5中,在客户端发送socks5请求时,中间设备也是可以解析到并进行阻断 于是关键点就是在通过中间设备时,不被解析出来。 增强版代理示意图为了不被中间设备干扰,于是发展成把代理分为前端和后端,在前端和后端之 2017-08-03 原理解析 #shadowsocks
netty的socksproxy例子源代码解析 在上篇简单的分析了socks协议。这篇中看下netty是如何实现socks的服务端的。 socks的实现主要实现在io.netty.handler.codec.socks包下。在example中给了一个示例。代码在这里 下面就对这个实现过程进行解析 主要目地: 结合实现了解socks细节 实现socks的过程,更进步了解netty的使用 入口入口在SocksServer的main方法中。创建S 2017-08-02 网络技术实践 #netty #socks
SOCKS的协议分析实践 SOCKS是一种网络传输协议,主要用于客户端与外网服务器之间通讯的中间传递。当防火墙后的客户端要访问外部的服务器时,就跟SOCKS代理服务器连接。这个代理服务器控制客户端访问外网的资格,允许的话,就将客户端的请求发往外部的服务器。 概要用netty的来创建socks代理的服务端用curl工具来当socks的客户端以抓包的方式来分析socks的协议流程 创建socks代理服务端搭建java工程, 2017-08-01 网络技术实践 #netty #socks
JavaScript模板引擎Swig的介绍 这里说的swig是JavaScript的一个优秀简洁的模板引擎。github地址 https://github.com/paularmstrong/swig 当然还有一个重名的组件也叫swig,它是一种将C和C ++编写的程序与各种高级编程语言相连接的软件开发工具,github地址https://github.com/swig/swig。 在搜索相关资料时,要区分。 起因blog用的hexo,但h 2017-07-31 #swig
原子变量与并发集合的示例 文章翻译于: http://winterbe.com/posts/2015/05/22/java8-concurrency-tutorial-atomic-concurrent-map-examples/ 欢迎阅读我的Java 8中多线程编程教程系列的第三部分。本教程介绍了并发API的两个重要部分:原子变量和并发集合。 在最新的Java 8版本中引入了lambda表达式和功能编程,两者都得到了很 2017-07-24 翻译 #AtomicInteger #ConcurrentMap