摘要:package formula;import java.util.HashMap;import java.util.List;import java.util.Map;import org.antlr.runti...
阅读全文
摘要:ANTLR语法层的选项ANTLR语法层的选项中可以设置一系列的键值从而影响ANTLR输出的代码。这些选项是全局的,除非在某条规 则中覆盖了这些选项,否则这些选项会影响到该语法中的所有元素。选项应该紧跟在语法头后面...
阅读全文
摘要:Are you confused by all the different sections of an Antlr grammar file, wondering what each one does ? We...
阅读全文
摘要:当我刚刚开始使用Git的版本控制时,我根本不确定我付出那么多时间是不是会得到回报。Branch、Stage、Stash,这些Git名词对我来说都非常陌生。而今天的我已不能想象生活没有Git会变成什么样。Git不仅...
阅读全文
摘要:A diagram is sometimes worth 1000 words. The following diagrams are from Java tutorials on Program Creek, ...
阅读全文
摘要:我是一名初级程序员,工作一年多。还记得刚毕业,踏入社会的时候,面临着很多工作上尴尬和困惑。首当其冲的便是在学校学的知识并不够用,甚至并不管用。于是学习新技术成了重点解决的问题。其实IT行业推陈出新的速度是很快的,...
阅读全文
摘要:http://bbs.csdn.net/topics/330115822 工作一年了,换过一次工作,最近面试的时候面试官说我只能算是一个junior,离senior还差一些,虽然 不服气,但是仔细想来,却也没什么...
阅读全文
摘要:zz http://java.chinaitlab.com/oop/716371.html在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及状态,程...
阅读全文
摘要:探索Antlr(Antlr 3.0更新版) 简介Antlr(ANother Tool for Language Recognition)是一个工具,它为我们构造自己的识别器(recognizers)、编译器(co...
阅读全文
摘要:What is ANTLR 3?ANTLR - ANother Tool for Language Recognition - is a tool that is used in the construction...
阅读全文
摘要:我从以下几个问题入手介绍ANTLR的相关知识。 1 ANTLR是什么? ANTLR, ANother Tool for Language Recognition, 是一个可以接受含有语法描述的语言描述符并且生成程...
阅读全文
摘要:ANTLR(pronounced Antler) 是一个语言识别工具,Another Tool forLanguage Recognition 的缩写。ANTLR由旧金山大学(University of San ...
阅读全文
摘要:参考《分布式java应用》一书,简单过一遍并发包(java.util.concurrent) ConcurrentHashMapConcurrentHashMap是线程安全的HashMap的实现。1)添加put...
阅读全文
摘要:1.集合包集合包是java中最常用的包,它主要包括Collection和Map两类接口的实现。对于Collection的实现类需要重点掌握以下几点:1)Collection用什么数据结构实现?2)Collecti...
阅读全文
摘要:package concurrency;//: concurrency/OrnamentalGarden.javaimport static net.mindview.util.Print.print;impor...
阅读全文
摘要:大型网站,比如门户网站。在面对大量用户访问、高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器。但是除了这几个方面,还没法根本解决大型网...
阅读全文
摘要:An expression evaluator Download source code (17 kb) Two weeks ago, I saw an article on codeproject that r...
阅读全文
摘要:释义前缀表达式就是前序表达式。前缀表达式就是不含括号的算术表达式,而且它是将运算符写在前面,操作数写在后面的表达式,为纪念其发明者波兰数学家Jan Lukasiewicz也称为“波兰式”。例如,- 1 + 2 3...
阅读全文
摘要:public class Evaluate { public static void main(String[] args) { Stack ops = new Stack(); ...
阅读全文
摘要:开发应用程序是一项压力很大的工作,人无完人,工作中遇到bug是很正常的事,有些程序员会生气,沮丧,郁闷,甚至泄气,也有一些程序员则会比较淡定。如何进行修复bug的过程,是值得我们好好推敲的。我想分享一些有关程序员...
阅读全文
摘要:如何面试一个从事编程工作的开发人员既困难又乏味,幸好还有很多值得参考的指南,比如:《Joel Guerilla Guide to interviewing》,但最后雇佣与否,还得由你自己决定。为了快速地了解他们的...
阅读全文
摘要:在开发和设计的时候,我们需要考虑编译时,运行时以及构建时这三个概念。理解这几个概念可以更好地帮助你去了解一些基本的原理。下面是初学者晋级中级水平需要知道的一些问题。Q.下面的代码片段中,行A和行B所标识的代码有什...
阅读全文
摘要:原文出处: oschina并发(名词):指竞争或对抗。– dictionary.com并行:指两条直线永不相交的状态。– Wikipedia在并行和并发的问题上,我与Joe Armstrong(译注:Erlang...
阅读全文
摘要:在本文中,我们演示了 IBM DB2 Universal Database Version 7.2 中新的加密函数如何提供简单方式来加密敏感数据。 评论:Bruce BenfieldIBMRichard Swag...
阅读全文
摘要:最近做program analysis,需要解析Java的源代码,于是就去看了看Abstract Syntax Tree(AST,中文为抽象语法树)。有点无奈的是,网上关于这方面的资料比我想象中的少,可能是涉及的...
阅读全文
摘要:创建具有商业品质且可插入 Eclipse 的专业 IDEPrashant Deva (pdeva@placidsystems.com), 创始人, Placid Systems简介: “创建一个具有商业品质的 ...
阅读全文
摘要:高 尚 (gaoshang1999@163.com), 软件工程师, 中国农业银行软件开发中心简介: Antlr 是一个基于 Java 开发的功能强大的语言识别工具,其主要功能原本是用于识别编程语言,但是当我们遇...
阅读全文
摘要:高 尚 (gaoshang1999@163.com), 软件工程师, 中国农业银行软件开发中心简介: Antlr 是一个基于 Java 开发的功能强大的语言识别工具,Antlr 以其简介的语法和高速的运行效率在这...
阅读全文
摘要:Scala 的 case 类和模式匹配Ted Neward, 主管, Neward & Associates简介: 特定于领域的语言已经成为一个热门话题;很多函数性语言之所以受欢迎,主要是因为它们可以用于构建特定...
阅读全文
摘要:编程为断言而不是指令Python 的面向对象和透明自省功能使您可以轻松地创建用于编程任务的声明性迷你语言。在本专栏文章中,David 并未仔细研究如何使用 Python 来解释或翻译其它的专门语言(尽管可以做得到...
阅读全文
摘要:刘源, 软件工程师, 上海复旦光华电信部简介: 发布日期: 2004 年 11 月 03 日 级别: 初级 访问情况 : 2925 次浏览 评论: (查看 | 添加评论 - 登录) 平均分 (1个评分)为本文...
阅读全文
摘要:王 建光, 软件工程师, IBM钱 韬, 软件工程师, IBM简介: 本文主要与您探讨了表达式的一般模型及相关概念,并以一种循序渐进的方式阐述了一种表达式解析与计算方法,并提供了一个支持可扩展的表达式解析与计算的...
阅读全文
摘要:Ward Cunningham 曾经说过,干净的代码清晰地表达了代码编写者所想要表达的东西,而优美的代码则更进一步,优美的代码看起来就像是专门为了要解决的问题而存在的。在本文中,我们将展示一个组合式解析器的设计、...
阅读全文
摘要:是用java 开发的解析器, 可以生成java类层次结构. 主页地址:http://jsqlparser.sourceforge.net 可以完美解析 表的 增删查改等操作. 展开它的源码你会发现.基本不用看ap...
阅读全文
摘要:在阎宏博士的《JAVA与模式》一书中开头是这样描述解释器(Interpreter)模式的: 解释器模式是类的行为模式。给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器。客户端可以使用...
阅读全文
摘要:上一篇文章LZ给出了作为一个程序猿必须掌握的知识之一,也就是我们常说的算法,后面还给出了有关算法学习的建议,希望这些内容能给猿友们一些帮助,同时也希望这一系列文章能够解答一部分猿友经常问LZ的问题。 ...
阅读全文
摘要:LZ在前面两篇文章写了一个小系列,就是程序猿应该掌握哪些知识,以及如何强迫自己学习。前面已经讨论了算法和面向对象的设计思想,其实这部分内容还没完,不过趁着国庆这个点,LZ想趁机讨论一下强迫这部分的内容,本次主要讨...
阅读全文
摘要:前言 前两天LZ写了一篇有关强迫自己学习的心态篇的文章强迫自己学习(心态篇),国庆,你准备去哪疯?,里面主要强调了两个内容,一个是要相信自己,一个是要压制自己浮躁的心理。这两点都是非常重要的,倘若做不到这两点...
阅读全文
摘要:在 很多人看来,java中内存的动态分配与内存回收已经不用用户担心了,因为它给我们提供了GC自动回收 ,感觉一切都进入了自动化了,但是对于各种内存溢出,内存泄漏问题的出现,我们还是很有必要学习GC的。地球人都知道...
阅读全文
摘要:一、JVM内存模型JVM主要管理两种类型内存:堆(Heap)和非堆(Permanent区域)。1、Heap是运行时数据区域,所有类实例和数组的内存均从此处分配。Heap区分两大块,一块是 Young Genera...
阅读全文
摘要:MotivationCollections are data types widely used in object oriented programming. Often collections contain...
阅读全文
摘要:原文出处: oschina并发本来就是个有意思的问题,尤其是现在又流行这么一句话:“高帅富加机器,穷矮搓搞优化”。从这句话可以看到,无论是高帅富还是穷矮搓都需要深入理解并发编程,高帅富加多了机器,需要协调多台机器...
阅读全文
摘要:作为面试官,在面试程序员时,都会关注哪些问题?而程序员应该从哪些方面做好面试的准备?本期话题相信对面试官和程序员都会有所启示。刘秋伟 深圳市万兴软件有限公司研发总监与其他岗位相比,程序员相对来说会内向一些,思维也...
阅读全文
摘要:Java集合框架是最常被问到的Java面试问题,要理解Java技术强大特性,就有必要掌握集合框架。这里有一些实用问题,常在Java面试中问到。1、 什么是Java集合APIJava集合框架API是用来表示和操作集...
阅读全文
摘要:介绍当分布式系统编程成为你生活中的一部分时,你需要经历一段学习曲线。这篇文章描述了一下我当前在这个领域大致属于哪个层次,并希望能为你指出足够多的错误,从别人的错误中学习,从而使你能以最优的路径通向成功。先声明一下...
阅读全文
摘要:感谢@李欲纯 的热心翻译。如果其他朋友也有不错的原创或译文,可以尝试推荐给伯乐在线。】Little Lisp是一个解释器,支持函数调用、lambda表达式、 变量绑定(let)、数字、字符串、几个库函数和列表(l...
阅读全文
摘要:原文出处: Peter Norvig 译文出处: jnjc(@jnjcc)本文有两个目的: 一是讲述实现计算机语言解释器的通用方法,另外一点,着重展示如何使用Python来实现Lisp方言Scheme的一个子...
阅读全文
摘要:来源:王垠卖了好久关子了,说要写一个程序语言理论的入门读物,可是一直没有下笔。终于狠下心来兑现一部分承诺。今天就从解释器讲起吧。解释器是比较深入的内容。虽然我试图从最基本的原理讲起,尽量让这篇文章不依赖于其它的知...
阅读全文
摘要:来源:阮一峰诞生50多年之后,函数式编程(functional programming)开始获得越来越多的关注。不仅最古老的函数式语言Lisp重获青春,而且新的函数式语言 层出不穷,比如Erlang、clojur...
阅读全文
摘要:ImportNew注:本文是JVM性能优化 系列-第4篇。前3篇文章请参考文章结尾处的JVM优化系列文章。作为Eva Andreasson的JVM性能优化系列的第4篇,本文将对C4垃圾回收器进行介绍。使用C4垃圾...
阅读全文
摘要:ImportNew注:本文是JVM性能优化 系列-第3篇-《JVM性能优化, Part 3 —— 垃圾回收》第一篇 《JVM性能优化, Part 1 ―― JVM简介 》第二篇《JVM性能优化, Part 2 ―...
阅读全文
摘要:ImportNew注:本文是JVM性能优化 – 第2篇 《JVM性能优化, Part 2 ―― 编译器》第一篇 《JVM性能优化, Part 1 ―― JVM简介 》作为JVM性能优化系列文章的第2篇,本文将着重...
阅读全文
摘要:众所周知,Java应用程序是运行在JVM上的,但是你对JVM有所了解么?作为这个系列文章的第一篇,本文将对经典Java虚拟机的运行机制做简单介绍,内容包括“一次编写,到处运行”的利弊、垃圾回收的基本原理、常用垃圾...
阅读全文
摘要:本文是成为Java GC专家系列文章的第三篇。在第一篇《成为JavaGC专家Part I — 深入浅出Java垃圾回收机制》中我们学习了不同GC算法的执行过程,GC是如何工作的,什么是新生代和老年代,你应该了解的...
阅读全文
摘要:本文是成为Java GC专家系列文章的第二篇。在第一篇《深入浅出Java垃圾回收机制》中我们学习了不同GC算法的执行过程,GC是如何工作的,什么是新生代和老年代,你应该了解的JDK7中的5种GC类型,以及这5种类...
阅读全文
摘要:缓存可分为二大类: 一、通过文件缓存,顾名思义文件缓存是指把数据存储在磁盘上,不管你是以XML格式,序列化文件DAT格式还是其它文件格式; 二、内存缓存,也就是实现一个类中静态Map,对这个Map进行常规的增删...
阅读全文
摘要:It has been a while since I wrote anything, I have been busy with my new job that involves doing some inte...
阅读全文
摘要:四、举例这里就以去餐馆吃饭为例详细的说明下享元模式的使用方式。去菜馆点菜吃饭的过程大家一定都是轻车熟路了,这里就不赘述。在例子中我使用了一个list来存放外蕴状态和内蕴状态的对应关系,而且提供了查询每个客人点菜情...
阅读全文
摘要:笔记摘要: 这里首先对数据库连接池的优化进行了说明,同时自己编写了一个数据库连接池,在实际开发中,为了获取标准的数据源,我们需要去实现javax.sal.DataSource接口, 在实现过程中对...
阅读全文
摘要:单例模式是限制了一个类只能有一个实例,对象池模式则是限制一个类实例的个数。对象池类就像是一个对象管理员,它以Static列表(也就是装对象的池子)的形式存存储某个实例数受限的类的实例,每一个实例还要加一个标记,标...
阅读全文
摘要:基本算法贪心算法:贪心算法 作者:独酌逸醉贪心算法:贪心算法精讲 作者:3522021224递归和分治:递归与分治策略 作者:zhoudaxia图论图的遍历(DFS和BFS):图的遍历 作者:jefferent最...
阅读全文
摘要:一 Two-Phase Termination Pattern Two-Phase Termination Pattern,指的就是当希望结束一个线程的时候,送出一个终止请求,但是不会马上停止,做一些刷新工作。...
阅读全文
摘要:public interface Future Future 表示异步计算的结果。Future有个get方法而获取结果只有在计算完成时获取,否则会一直阻塞直到任务转入完成状态,然后会返回结果或者抛出异常。 Fut...
阅读全文
摘要:1 Read-Write Lock PatternRead-Write Lock Pattern是一种将对于共享资源的访问与修改操作分离,称为读写分离。即访问是reader,修改是write,用单独的线程来处理。...
阅读全文
摘要:Java中的对象池模式Java对象的生命周期分析:Java对象的生命周期大致包括三个阶段:对象的创建,对象的使用, 对象的清除。 因此,对象的生命周期长度可用如下的表达式表示: T = T1 + T2 + T3....
阅读全文
摘要:程序中许多资源的使用是有限制的,比如数据库连接,线程等。如果要对这些资源的创建和分配进行有效管理,则需要建立资源池也即对象池。 资源池的功能是提供对象和回收对象。和普通对象工厂不同的是,它还有以下...
阅读全文
摘要:前序: Thread-Per-Message Pattern,是一种对于每个命令或请求,都分配一个线程,由这个线程执行工作。它将“委托消息的一端”和“执行消息的一端”用两个不同的线程来实现。该线程模式主要包括三...
阅读全文
摘要:这次写数据库连接池主要想解决的还是servlet访问数据库获取数据的稳定性问题,于是便研究了一下,下面来讲一讲如何用java来写一个适合自己用的数据库连接池。这个东西大家并不陌生,通过使用数据连接池我们能够更好地...
阅读全文
摘要:/** * 作者:ahuaxuan * 日期:2009-03-08 */ 看一粒沙中的世界, 一朵野花中的天堂。 把无限握于掌中, 把永恒握于瞬间。——威廉• 布莱克 开始讨论缓存之前,让我们先来讨论讨论另外一个...
阅读全文
摘要:在基于JDBC的数据库应用开发中,数据库连接的管理是一个难点,因为它是决定该应用性能的一个重要因素。本文在对数据库连接进行透彻分析的基础上,提出并实现了一个高效的连接管理策略,使得开发高性能的数据库应用变得相对容...
阅读全文
摘要:作者通过使用 JAVA 中的动态代理实现数据库连接池,使使用者可以以普通的 jdbc 连接的使用习惯来使用连接池。 评论:刘冬 (winter.lau@163.com), 珠海市创我科技发展有限公司软件工程师20...
阅读全文
摘要:最早接触ThreadLocal这个东东,还是在学Hibernate的时候,当时看ThreadLocal没明白是干什么的,后来在网上查才明白ThreadLocal的用途,ThreadLocal其实蛮有用的,总结一下...
阅读全文
摘要:看吧,没有锁定!Java™ 5.0 第一次让使用 Java 语言开发非阻塞算法成为可能,java.util.concurrent 包充分地利用了这个功能。非阻塞算法属于并发算法,它们可以安全地派生它们的线程,不通...
阅读全文
摘要:Java 提供了语言级别的线程支持,所以在 Java 中使用多线程相对于 C,C++ 来说更简单便捷,但本文并不是介绍如何在 Java 中使用多线程来来解决诸如 Web services, Number crun...
阅读全文
摘要:在本文中,作者向大家讲述了Single Call 模式的原理,同时也介绍了Single Call 模式的实现问题。 评论:邓明 (dengming@cn.ibm.com), 高级信息系统工程师, IBM中国有限公...
阅读全文
摘要:方浩波 (fanghb@eastcom.com)东方通信网络研究所简介: 在一系列关联的多任务的实时环境中,如果有一个任务发生失败,可能导致所有任务产生连锁反应,从而造成调度失控的局面。特别是对于核心控制设备尤其...
阅读全文
摘要:幸勇,简介: 服务器程序利用线程技术响应客户请求已经司空见惯,可能您认为这样做效率已经很高,但您有没有想过优化一下使用线程的方法。该文章将向您介绍服务器程序如何利用线程池来优化性能并提供一个简单的线程池实现。发布...
阅读全文
摘要:侯光敏 (wearebug@etang.com),简介: 本文详细的介绍了使用Java语言建立一套多线程服务器的过程,该服务器使用对象传递消息,在线程中使用队列机制,使服务器的性能大大提高了。这套服务器可以被用于...
阅读全文
摘要:郑 先全, 架构师, NEC Asia Pacific Pte Ltd简介: 如何基于业务需求驱动理念来开展我们的模式创新,成为了当今架构师、设计师的重要职责之一。本文通过具体的 Checking Table 设...
阅读全文
摘要:Brian Goetz (brian@quiotix.com), 软件顾问简介: 在本系列的 第 1 部分,我们讨论了无争用同步的性能开销。尽管常常听说同步方法调用的开销是非同步方法调用开销的 50 倍,这个数字...
阅读全文
摘要:ava的多线程特性为构建高性能的应用提供了极大的方便,但是也带来了不少的麻烦。线程间同步、数据一致性等烦琐的问题需要细心的考虑,一不小心就会出现一些微妙的,难以调试的错误。另外,应用逻辑和线程逻辑纠缠在一起,会导...
阅读全文
摘要:Java线程:线程的调度-守护线程 守护线程与普通线程写法上基本么啥区别,调用线程对象的方法setDaemon(true),则可以将其设置为守护线程。 守护线程使用的情况较少,但并非无用,举例来说,JVM的垃圾回...
阅读全文
摘要:条件变量是Java5线程中很重要的一个概念,顾名思义,条件变量就是表示条件的一种变量。但是必须说明,这里的条件是没有实际含义的,仅仅是个标记而已,并且条件的含义往往通过代码来赋予其含义。 这里的条件和普通意义上的...
阅读全文
摘要:Brian Goetz (brian@quiotix.com), 软件顾问简介: ThreadLocal 类是悄悄地出现在 Java 平台版本 1.2 中的。虽然支持线程局部变量早就是许多线程工具(例如 Posi...
阅读全文
摘要:package com.daicy.ProducerConsumer;import java.util.concurrent.LinkedBlockingQueue;public class DLinkedBlo...
阅读全文
摘要:package com.daicy.ProducerConsumer;import java.util.ArrayList;import java.util.List;import java.util.concu...
阅读全文