- 浏览: 145151 次
- 性别:
- 来自: 洛阳
最新评论
-
widiots:
遇上你这种代码,StringBuilder 比窦娥还冤。你这测 ...
java 字符串拼接方法性能大比拼 -
Velly_zheng:
大神,666 !请问有没有上百万数据往指定模板中写数据的代 ...
使用POI读取100万行excel -
xiongshunli:
大神,请问下如何从table中取这些数据呢,这只是存起来,不去 ...
使用POI读取100万行excel -
g_man1990:
1和2应该是差不多的,还有append("[&quo ...
java 字符串拼接方法性能大比拼 -
sp42:
应该用java7自动关闭资源啦
我的新的开源项目happyhttp上线了
文章列表
msgpack序列化与反序列化
- 博客分类:
- java
最近想找个二进制序列化框架把对象存起来或者放到缓存里,首先排除了protobuf和thrift, 因为这两个都要写数据定义文件太烦,后来发现msgpack好像很不错的样子,决定试试
1.材料
msgpack-0.6.12.jar
2.先定义两个对象
package test.magpack;
import org.msgpack.annotation.Message;
@Message
public class Message2 {
public Message2(){
}
public Message2(String name){
...
要执行包含管道重定向与大文件合并的外部命令,需要注意以下两点:
1. 需要使用Runtime.exec的以下重载方法:
public Process exec(String[] cmdarray) throws IOException
2.需要使用
/bin/sh -c
例子:
使用管道:
String[] cmd = {"/bin/sh", "-c", "netstat -anltp|grep 80|grep ESTA"};
Process process = Runtime.get ...
在Java中单纯依靠正则表达式是无法匹配无限嵌套的括号的,还好有antlr这个大杀器可以轻松解决这个问题,开源就是好啊。
1. 材料
antlr-4.4-complete.jar
2. 文法文件Json.g4
grammar Json;
@header{
package a3;
}
LEFT_BRACKET : '{';
RIGHT_BRACKET : '}';
ANY_CHAR : (~('{' | '}'))+;
bracket_body : LEFT_BRACKET (ANY_CHAR | bracket_body)* RIGHT_B ...
一、安装中的坑
从mono官网下载源码包mono-3.4.0.tar.bz2直接编译安装后,报错:
/usr/bin/install: cannot stat `targets/Microsoft.Portable.Common.targets': No such file or directory
进行以下操作,解决之:
#> cd ${MONO_SOURCE}/mcs/tools/xbuild/targets
#> cp Microsoft.Portable.CSharp_4.0.targets Microsoft.Portable.Common.targets ...
package tmp.net.socket.udp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;
import java.util.concurrent.atomic.AtomicBoolean;
public class Multicast {
private MulticastSocket socket;
private InetAddress grou ...
netty udp编程
- 博客分类:
- java
package tmp.net.netty.udp;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.util.concurrent.Executors;
import org.jboss.netty.bootstrap.ConnectionlessBootstrap;
import org.jboss.netty.channel.ChannelHandlerContext;
import org.jboss.netty.channel.ChannelPipeline;
...
linux下安装tomcat为系统服务
- 博客分类:
- linux
1. 环境准备
gcc autoconf jdk
2. 配置环境变量
cd /opt
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.42/bin/apache-tomcat-7.0.42.tar.gz
tar zxvf apache-tomcat-7.0.42.tar.gz
vi /etc/profile
. /etc/profile
3. 编译jsvc
cd $CATALINA_HOME/bintar xvfz commons-daemon-native.tar.g ...
linux下安装apache2.4
- 博客分类:
- linux
本安装过程在centos6.3下测试通过.
1. 环境准备 yum install -y cmake autoconf libtool gcc gcc-c++ 2.安装pcre# 查看pcre是否安装: pcre-config -vcd /optwget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.33/pcre-8.33.zipunzip pcre-8.33.zipcd pcre-8.33./configuremakemake i ...
swing版按键控制台
- 博客分类:
- java
最近找到一个unity3d游戏《地铁跑酷pc版》非常好玩,但是在PC上用鼠标上下左右的拖动操作很不方便,于是网上找到一个按键控制台的小工具可以用键盘的操作模拟鼠标的操作非常好用,可惜试用版只能使用1分钟,正式版要花银子滴。还好功能看起来比较简单,于是自己动手写了一个Java版的按键控制台。
按键控制台的核心功能就是接收键盘事件然后模拟出鼠标动作。Java的
Toolkit.addAWTEventListener
可以注册全局事件,但是Java程序失去焦点后就失效了,看来得使用JNI了,还好找到开源项目jintellitype可以注册全局的键盘事件即使程序失去焦点也能响应键盘事 ...
在Java RMI中Registry对象表示远程对象注册表。
创建远程对象注册表使用以下代码:
LocateRegistry.createRegistry(8888);
获取远程对象注册表的引用使用以下代码:
Registry registry = LocateRegistry.getRegistry(host, port);
可以使用Registry对象的list方法列出远程对象注册表中的所有远程对象:
public static void findRmiService(String host, int port){
try {
...
一个基于RMI的小巧好用的框架(二)
- 博客分类:
- java
RMI有注册端口和通信端口。
通过以下代码设置的是注册端口:
LocateRegistry.createRegistry(port); //注册端口
注册端口默认是1099
通过以下代码设置的是通信端口:
UnicastRemoteObject.exportObject(rmiService, 0); //随机通信端口
其中第二个参数是通信端口,0表示随机生成通信端口!
还可以通过以下代码来设置通信端口:
RMISocketFactory.setSocketFactory(new MyRMISocket(1000));
其中MyRMI ...
最近有用到rmi技术,需要实现Remote接口,需要抛出RemoteException异常,极其不爽,遂封装之,封装之后只需普通
POJO对象即可!
该框架核心有三个类,一个服务端类RMIEndpoint,一个客户端类RMIProxyFactory,一个通用接口GenericRmiService
先看一下用法:
服务端用法:
RMIEndpoint.addService(User.class, new UserImpl());
try {
RMIEndpoint.publish(8888);
} catch (Exception e) {
e.p ...
JDBC访问Access2007关键就一句:
"jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb, *.accdb)};DBQ="+accessFile
一定要注意这个字符串多个空格或者少个空格都不行!还他妈的区分大小写, 俺都郁闷过
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
public class A ...
1. 环境
JDK1.6
2.代码
package tmp.j2d;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Shape;
import java.awt.geom.Area;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Rectangle2D;
import javax.swing.JPane ...
分享一个生成随机密码的工具类, 可以控制生成的密码长度, 密码由数字和字母组成。
import java.util.Random;
public class PasswordGenerator {
private static final String text = "0123456789abcdefghijklmnopqrstuvwxyz";
public synchronized static String generate(int length){
StringBuffer sb = new String ...