-
Java研发技术指南
收藏着重于JavaWeb研发技术,讲求实现,讨论优化与设计!一切从简单出发,始终向高端冲刺!
最近更新文章
Condition 条件变量,线程通信更高效的方式
条件(也称为条件队列 或条件变量)为线程提供了一个含义,以便在某个状态条件现在可能为 true 的另一个线程通知它之前,一直挂起该线程(即让其“等待”)。因为访问此共享状态信息发生在不同的线程中,所以它必须受保护,因此要将某种形式的锁与该条件相关联。等待提供一个条件的主要属性是:以原子方式 释放相关的锁,并挂起当前线程,就像 Object.wait 做的那样
在Condition中,用a ...
优先级队列:PriorityQueue
PriorityQueue是从JDK1.5开始提供的新的数据结构接口,它是一种基于优先级堆的极大优先级队列。优先级队列是不同于先进先出队列的另一种队列。每次从队列中取出的是具有最高优先权的元素。如果不提供Comparator的话,优先队列中元素默认按自然顺序排列,也就是数字默认是小的在队列头,字符串则按字典序排列(参阅 Comparable),也可以根据 Comparator 来指定,这取决于使 ...
XP下 使用脚本,自动切换IP
其实就是分享一个脚本,分别是更改为指定IP和更改为自动获取
有时候我们一台机器进行测试,往往要把IP切换来切换去,手动切换麻烦要死,而且还容易出错
直接使用该脚本可以带来很大的方便
更改为指定IP:
@echo off
echo 正在更换为您的IP为192.168.0.172,请稍侯......
netsh interface ip set address name="本 ...
XP下 延迟启动某程序
编写一个VBS脚本文件,这里命名为log.vbs,功能为系统启动后5秒后,打开本博客地址。至于是那个浏览器,那要看系统默认浏览器是那个。
然后再过5 ...
MySQL 使用java备份某张表的操作
核心是mysqldump和Runtime操作其实并不是很困难,创建一个进行备份操作的类,接收到备份调用后,标记该表正在备份,然后创建一个子线程进行备份操作。所需的配置信息是从配置文件读取的,也要注意在Windows和linux下路径问题。
配置文件如下:
# 数据库地址
dbAddress=localhost
# 要备份的数据库名称
databaseName=nms
# 数据库用户名 ...
Mina重连 千万别这么干
以前写了一篇介绍Mina简单示例的文章:Mina TCP服务端客户端 示例
在初始化客户端连接的时候,我是在构造方法里面写的:
public MinaTcpClient() {
connecto ...
UDP DUP超时UPD端口UDP到底有没有状态
我之前写过一个示例,一个简单的UDP服务端和客户端示例 http://cuisuqiang.iteye.com/blog/1543190,里面写过,如果你把自己当作客户端,那么客户端是可以指定自己的端口去发数的。另外,后面有评论询问关于请求超时的问题,是2012-10-18问的,然后一年后的今天,我回复他了。我回复的内容是ds.setSoTimeout(5000);即为收数超时时间,如果不设置, ...
pushlet 之 XMLAdapter 适配器
近日有人咨询Pushlet XMLAdapter 适配器的问题,我特留意了一下到官方看了一下http://www.pushlets.com/,Development Roadmap中最后面说到了这个问题,AJAX (XMLHttpRequest) Support使用AJAX (XMLHttpRequest)的好处就是:
cleaner and thinner client-side lib
...
Linux 下 Firefox 无法初始化应用程序安全组件
系统:CentOS-6.4-i386
浏览器:Firefox 火狐浏览器 24.0
下载后解压,放到usr下,运行提示错误:
无法初始化应用程序安全组件。很有可能您的程序个人目录中的文件出现问题。请检查并确认此目录没有读/写限制,而且您的硬盘没有写满或接近于写满。推荐您退出程序并修正问题。如果继续使用此会话,您在访问安全特性时将会看到程序运行发生错误
网上有人说是因为和系统 ...
Oracle VM VirtualBox 安装增强功能
大家都知道在VMware Workstation中有Vmware Tools插件,方便与虚拟机和实体机之间的切换,在Oracle VM VirtualBox中,也可以安装类似Vmware Tools的的插件
在虚拟机窗口-设备-安装增强功能
在虚拟机的虚拟光驱上就挂载了该插件的安装包VBOXADDITIONS,将该文件夹拷贝到tmp下,进入该目录,执行命令:./VBoxLinuxAdd ...
Oracle VM VirtualBox Host热键设置
很多人都在问,Oracle VM VirtualBox的Host键到底指的是那个,因为键盘上是没有这个键的
其实这个Host键,是热键的意思,而并不是指那个键,在启动虚拟机后窗口的右下角已经提示了默认热键是:Right Ctrl,也就是右边那个Ctrl键
相信更多的人已经习惯了VMware,在VMware中热键是Ctrl+Alt,这里我也设置了一下
主窗口-管理-全局设定-热键
鼠 ...
Linux 设置网卡默认启动
最近使用rhel-server-6.4-i386,发现系统启动后每次都要手动启动网卡,系统网卡默认是不启动的。为了使用方便,需要设置网卡默认启动,可以依据以下操作进行,首先说几个配置文件:
网卡配置文件/etc/sysconfig/network-script/ifcfg-eth0DNS配置文件/etc/resolv.conf主机名配置文件/etc/sysconfig/network静态主机名 ...
Microsoft Web Application Stress Tool 使用
为了测试数据的准备性,首先需要删除缓存和Cookies等临时文件。启动IE后打开“工具”菜单下的“Internet”选项命令,在打开的“Internet选项”窗口的“ ...
Apache AB 如何传递参数
AB使用时,网上通篇一律,在进行示例时使用的连接一般都是http://*.com,这种写法是没有带参数,如果你想测试一个写入的Case,那需要传递参数给后台,如何传递参数呢?
这里有一个登录的请求,需要登录名和密码,路径是这样的:
http://*/login.action?userName=admin&userPassWord=admin
使用该连接进行测试:ab -n 1 ht ...
使用JDOM生成和解析XML
到官方网站下载JDOM包http://www.jdom.org/
注意的是,版本1和版本2的类路径已经变更,如果你是更新使用版本2,则需要重新编译你的代码
package com.test;
import java.io.FileOutputStream;
import java.util.List;
import org.jdom2.Document;
import ...
使用DOM4J生成解析XML
到官方下载Dom4j包:http://www.dom4j.org/dom4j-1.6.1/,下载后的DOC内其实已经包含了使用方式
将dom4j-1.6.1.jar加到工程内
参考代码:
package com.test;
import java.io.File;
import java.io.PrintWriter;
import java.util.Iterator; ...
使用SAX解析XML
XML文件:
<?xml version="1.0" encoding="utf-8"?>
<persons>
<person>
<name>java小强</name>
<sex>man</sex>
<age>30</age> ...
使用DOM组装和解析XML
package com.test;
import java.io.PrintWriter;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.x ...
JDBC 查询 Map转对象
虽然项目中都夹杂了Hibernate的支持,但是团队开发中,很多人为了编写特殊查询的代码时都使用了JDBC进行查询。JDBC查询后返回的是一个List集合,List中组装的是Map,一个Map就是一个对应的对象。但是接口不能直接返回Map,都是返回的对象,以方便自己和其他人使用,为了转换这个Map,往往写这样的代码:
@SuppressWarnings("unchecked" ...
Byte和Bit之间的转换
// 返回无符号的2进制表示 1110011
String hex = Integer.toBinaryString(115);
System.out.println(hex);
// 返回2进制的字符串1110011对应的值 115
System.out.println(Integer.valueOf("1110011", 2));
// 16进制值转换成二进 ...