`
yuancihang
  • 浏览: 145151 次
  • 性别: Icon_minigender_1
  • 来自: 洛阳
社区版块
存档分类
最新评论
文章列表
最近想找个二进制序列化框架把对象存起来或者放到缓存里,首先排除了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官网下载源码包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 ...

UDP 多播

    博客分类:
  • java
  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; ...
  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

本安装过程在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有注册端口和通信端口。   通过以下代码设置的是注册端口:   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 ...

生成随机密码

    博客分类:
  • java
分享一个生成随机密码的工具类, 可以控制生成的密码长度, 密码由数字和字母组成。   import java.util.Random; public class PasswordGenerator { private static final String text = "0123456789abcdefghijklmnopqrstuvwxyz"; public synchronized static String generate(int length){ StringBuffer sb = new String ...
Global site tag (gtag.js) - Google Analytics