搜书网 本次搜索耗时 0.009 秒,为您找到 220 个相关结果.
  • 9.5 小结

    9.5 小结 9.5 小结 好啦,本书的旅程到此结束。我们从所有的方面论证了DSL是一种更好的领域建模方式,又在这一章展望了基于DSL开发的未来趋势。DSL工作台以其涵盖语言完整生命期的工具集合,有望把DSL的演变之路安排得更井井有条。各种编程语言就在我们眼前一天天地提高着它们的表现力,越来越适合作为DSL的宿主语言。不管我们选择哪种语言来开发DSL...
  • 2.1 在Linux上安装与配置Hadoop

    2.1 在Linux上安装与配置Hadoop 2.1.1 安装JDK 1.6 set Java Environment 2.1 在Linux上安装与配置Hadoop 在Linux上安装Hadoop之前,需要先安装两个程序: 1)JDK 1. 6(或更高版本)。Hadoop是用Java编写的程序,Hadoop的编译及MapReduce的运行都需要...
  • G.1 对IDE的特性要求

    G.1 对IDE的特性要求 G.1 对IDE的特性要求 就JVM平台上的多语言项目来说,我们希望IDE具备以下特性。 支持Java与另一种JVM语言,如Scala、Groovy、Ruby或Clojure的混合项目,以及相应的项目依赖项。 IDE所含编辑器应该具备丰富的语法功能,可以为开发者提供一定程度的协助。所谓“丰富”,指的是编辑器具备语法高...
  • 2.3 JDK内置工具

    2.3 JDK内置工具 2.3.1 JDK常用工具 2.3 JDK内置工具 Java程序需要运行环境的支持,同时编译、解释Java程序、执行Java应用程序和Java小程序也需要必要的工具,本节重点讲解JDK中包含的5个常用工具,即Javac.exe、Java.exe、appletviewer.exe、Javadoc.exe和Javap.exe。在...
  • 5.6 小结

    5.6 小结 5.6 小结 祝贺你!用动态类型语言实现内部DSL的长篇讨论就要结束了。Ruby、Groovy和Clojure语言作为JVM平台语言多样性的代表,被我选为讲解用的实现语言。 JRuby是Ruby语言的Java实现,充当了Ruby语言与Java对象模型互操作的桥梁。它既有Ruby的强大元编程能力,又得益于Java的互操作性。Groovy...
  • 建议127:Lock与synchronized是不一样的

    建议127:Lock与synchronized是不一样的 建议127:Lock与synchronized是不一样的 很多编码者都会说,Lock类和synchronized关键字用在代码块的并发性和内存上时语义是一样的,都是保持代码块同时只有一个线程具有执行权。这样的说法只对了一半,我们以一个任务提交给多个线程运行为例,来看看使用显式锁(Lock类)和...
  • 建议118:不推荐覆写start方法

    建议118:不推荐覆写start方法 建议118:不推荐覆写start方法 多线程比较简单的实现方式是继承Thread类,然后覆写run方法,在客户端程序中通过调用对象的start方法即可启动一个线程,这是多线程程序的标准写法。不知道读者是否还能回想起自己的第一个多线程demo呢?估计一般是这样写的: class MultiThread exte...
  • 1.5.2 混合语言

    1.5.2 混合语言 1.5.2 混合语言 当单一的Java开发已经无法满足当前软件的复杂需求时,越来越多基于Java虚拟机的语言开发被应用到软件项目中,Java平台上的多语言混合编程正成为主流,每种语言都可以针对自己擅长的方面更好地解决问题。试想一下,在一个项目之中,并行处理用Clojure语言编写,展示层使用JRuby/Rails,中间层则是Ja...
  • 3.2.4 Initialization on demand holder

    3.2.4 Initialization on demand holder 要使用线程安全的延迟的单例初始化,我们还有一种方法,称为Initialization on demand holder模式,代码如下所示。 当JVM加载LazyLoadedSingleton类时,由于该类没有static属性,所以加载完成后便即可返回。只有第一次调用ge...
  • 建议16:易变业务使用脚本语言编写

    建议16:易变业务使用脚本语言编写 建议16:易变业务使用脚本语言编写 Java世界一直在遭受着异种语言的入侵,比如PHP、Ruby、Groovy、JavaScript等,这些“入侵者”都有一个共同特征:全是同一类语言—脚本语言,它们都是在运行期解释执行的。为什么Java这种强编译型语言会需要这些脚本语言呢?那是因为脚本语言的三大特征,如下所示: ...