`
jackyhongvip
  • 浏览: 159646 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
安装配置需要JRE或者JDK下载ANTLRWorks: http://www.antlr.org/works/index.html查看DFA需要使用Graphviz,下载安装: http://www.graphviz.org/运行antlrworks-1.1.7.jar,在菜单File -> Preferences中设置DOT path为Graphviz安装路径"bin"dot.exe。这里还可以设 ...
安装配置:1. JDK环境 http://java.sun.com/   JDK bin路径设置。如果只是生成C#程序,装JRE就可以,生成Java程序,编译测试才需要JDK。网上Java的示例多一些,所以不妨装个Eclipse。2. 安装ANTLR v3 http://www.antlr.org/download.html   我没有用ANTLRWorks,下载的ANTLR 3.0.1 source distribution,用命令行生成。解压后antlr-3.0.1\lib目录下的所有jar都需要包括到CLASSPATH中。Getting started:按照http://www.antl ...
ANTLR的语法文件使用扩展巴科斯范式EBNF描述,记得编译原理的用起来非常简单,需要进一步了解的是怎么构造自己的recognizer和translator。很多的语法不需要从头写,一方面很多语言标准中基本都使用EBNF描述,另一方面ANTLR网站http://www.antlr.org/grammar/list上有大量写好的语法文件,可以参考使用。我已经忘得一干二净,从头大致了解一下。巴科斯范式扩展符号 EBNF() : 产生式组合?  : 产生式出现0或1次*  : 0或多次+  : 1或多次.   : 任意一个字符~  : 不出现后面的字符..  : 字符范围可以参考http://www ...

jvm参数配置

  /usr/local/jdk/bin/java -Dresin.home=/usr/local/resin -server -Xms1800M -Xmx1800M -Xmn300M -Xss512K -XX:PermSize=300M -XX:MaxPermSize=300M -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=5 -XX:GCTimeRatio=19 -Xnoclassgc -XX:+DisableExplicitGC -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseCMSComp ...

jvm参数

作者:Ken Wu Email: ken.wug@gmail.com 转载本文档请注明原文链接 http://kenwublog.com/docs/java6-jvm-options-chinese-edition.htm!   本文是基于最新的SUN官方文档Java SE 6 Hotspot VM Options编写的译文。主要介绍JVM中的非稳态选项及其使用说明。 为 ...

流io 读

    博客分类:
  • j2se
  1. 关于InputStream.read()     在从数据流里读取数据时,为图简单,经常用InputStream.read()方法。这个方法是从流里每次只读取读取一个字节,效率会非常低。     更好的方法是用InputStream.read(byte[] b)或者InputStream.read(byte[] b,int off,int len)方法,一次读取多个字节。 2. 关于InputStream类的available()方法    要一次读取多个字节时,经常用到InputStream.available()方法,这个方法可以在读写操作前先得知数据流里有多少个字节可以读取 ...

lock和lockInterruptibly

    博客分类:
  • j2se
lockInterruptibly()允许在等待时由其他线程的Thread.interrupt()方法来中断等待线程而直接返回,这时是不用获取锁的,而会抛出一个InterruptException。而ReentrantLock.lock()方法则不允许Thread.interrupt()中断,即使检测到了Thread.interruptted一样会继续尝试获取锁,失败则继续休眠。只是在最后获取锁成功之后在把当前线程置为interrupted状态。   public class TestLock { public static void main(String[] args) { ...

wait和notify机制

    博客分类:
  • j2se
Wait-Notify机制可以说是实现阻塞操作较为高效的一种方式。 典型的Wait-Notify场景一般与以下内容相关 1.状态变量(State Variable) 当线程需要wait的时候,总是因为一些状态不满足导致的。如往BlockQueue里面加入元素已满的时候。 2.条件断言(Condition Predicate) 当线程确定是否进入wait或者从notify中醒来的时候是否往下执行,大都要测试状态是否满足,如往BlockQueue里面加入元素已满,于是阻塞,后续其他线程从队列里取走了元素,于是在等待的线程“队列不是满的了,可以往里面加东西了”,这时候在等待的线程会醒来, ...

调优线程

1.top查找出哪个进程消耗的cpu高 21125 co_ad2    18   0 1817m 776m 9712 S  3.3  4.9  12:03.24 java                                                                                           52 ...
关于TCPIP网络数据时怎么传输的,TCP协议时如果保证数据顺序、可靠地被传输到对端,对于大量数据的传输传输层和网络层都做了些什么?   首先澄清几个概念: 1.MTU   最大传输单元(Maximum Transmission Unit,MTU)是指一种通 ...
简介: 本文解释了如何通过一种称为零拷贝 的方法来提高运行于 Linux® 和 UNIX® 平台上的 I/O 密集型 Java™ 应用程序的性能。零拷贝不仅消除了中间缓冲区之间的冗余数据拷贝,还减少了用户空间和内核空间之间的上下文切换 ...
关于tomcat和classloader的文章,网上多如牛毛,且互相转载,所以大多数搜到的基本上是讲到了tomcat中classloader的几个层次,对于初接触classloader,看了之后还是只知其然不知其所以然。     我以为,学习tomcat classloader,先得追溯 ...

Hessian 简介

    博客分类:
  • RPC
关于hession的文章摘自:http://hi.baidu.com/li_zhongnan/blog/item/a8161fcc0014481800e928c6.html   说到 web service,首先想到的便是SOAP,对于很多人来说,SOAP基本上就等同于 Web service了。其实,Web service 是一种概念,SOAP 则是这种概念的一种实现而已,除此之外,还有其他针对 Web service 的实现,Hessian 就是其中的一个。Hessian 与 web service 常用的 SOAP 协议类似,将协议报文封装在HTTP封包中,通过HTTP信道进行传输的 ...
      对于大型网站的架构特别是网站在从小变大不断成长过程中遇到的各种问题,尤其是对于高并发访问、海量数据的处理(存储、读、写)、高可靠等问题是每一个程序员所关心的话题。对于这些问题,每一个大型的互联网 ...

Heartheat 2.x学习

Heartbeat软件是为了让服务实现高可用,为防止资源的错乱,heartbeat启动的时候会自动的启动相应的服务,停止的时候也会把相应的服务停止掉。如果heartheat发现主服务器不可用或者网络有问题,就会将vip切换到从上,同时停止掉主上的对应服务。从目前我使用的情况来看,发现heartbeat 2.x版本有一个不足的地方,heartbeat只能检测到网络有问题、master服务器挂掉或者master的heartbeat进程挂掉等情况,当对应的服务出现问题或者进程挂掉以后不会进行切换,需要而外的写脚本来监测主和从上的heartbeat上的对应服务的可用情况,然后判断是否进行主从切换! ...
Global site tag (gtag.js) - Google Analytics