使用sbt搭建Scala开发环境

  categories:资料  author:

Scala是一种运行于JVM之上的新型语言。JRuby, Jython, Groovy等也可以将其他语言的一些特点带进Java的生态圈。但就个人体会,Scala和这些编程语言相比,如同Symbian之于Android或 IOS。虽然大家都是一个圈子里面的,但完全不在同一个时代。加之Play Framework的助力,Scala的路会越走越宽。对于企业开发,Scala最大的障碍不在对之前Java产品的支持,而在程序员的数量上。 Scala的切入点很好,因为它是强类型的语言,在运行的性能上远超出JRuby, Jython, Groovy,执行效率与Native的Java程序几无差别。在对Java的互操作方面体现很好,这就保证了企业可在使用Scala的开发中保证了之前 Java软件产品的投资不会丢失。而它带入的函数式编程,对多线程编程的良好支持,为开发大量并发应用体现出优势。(这也是Play Framework的亮点)

相关信息参见: http://www.scala-sbt.org/release/tutorial/zh-cn/index.html  里面有详细的介绍, 本文是从网络搜集的一些介绍供参考。

http://www.scala-sbt.org/0.13/tutorial/zh-cn/Basic-Def.html  介绍sbt的使用方法等

回到现实,Scala短期内还无迹象被业界大规模采用。但如果打算将Scala带进企业开发,最好的出发点可能是自动化测试和支持软件开发的工 具。对于这两方面,大多数企业的态度是,知道长期来看它的好处,但不愿在眼下去投资。如果要想做些事情,程序员不得不牺牲自己的业余时间。而Scala用 于此再合适不过。所以下面我将Scala项目的开发搭建搭建做了一个总结。学语言,学以致用,用它去做一些正经的事情。

1. 安装、配置需要的软件

    Scala:      http://www.scala-lang.org/downloads
Scala IDE:  http://scala-ide.org/
Scala-sbt: http://www.scala-sbt.org/release/docs/Getting-Started/Setup.html因为sbt会使用ivy作为库管理工具。ivy默认把library repository建在user home下面。Unix/Linux/Mac OS都还好说,如果就一个分区(或一个逻辑分区),无所谓发在哪个位置啦。如果操作系统是Windows,有分了C: D: E: 等若干分区,还是不要放在默认的%USERPROFILE%下面,C盘会随着开发的项目越来越多,大量的空间被开发库所占用。定制library local repository的位置的方法是:编辑文件sbt启动脚本: [sbt安装目录]\sbt.bat,设置Java启动参数:-Dsbt.ivy.home=E:/dev/ivy/
@REM
阅读全文

Ehcache 整合Spring 使用页面、对象缓存

  categories:java资料  author:

Ehcache在很多项目中都出现过,用法也比较简单。一般的加些配置就可以了,而且Ehcache可以对页面、对象、数据进行缓存,同时支持集群 /分布式缓存。如果整合Spring、Hibernate也非常的简单,Spring对Ehcache的支持也非常好。EHCache支持内存和磁盘的缓 存,支持LRU、LFU和FIFO多种淘汰算法,支持分布式的Cache,可以作为Hibernate的缓存插件。同时它也能提供基于Filter的 Cache,该Filter可以缓存响应的内容并采用Gzip压缩提高响应速度。

一、准备工作

如果你的系统中已经成功加入Spring、Hibernate;那么你就可以进入下面Ehcache的准备工作。

1、 下载jar包

Ehcache 对象、数据缓存:http://ehcache.org/downloads/destination?name=ehcache-core-2.5.2-distribution.tar.gz&bucket=tcdistributions&file=ehcache-core-2.5.2-distribution.tar.gz

Web页面缓存:http://ehcache.org/downloads/destination?name=ehcache-web-2.0.4-distribution.tar.gz&bucket=tcdistributions&file=ehcache-web-2.0.4-distribution.tar.gz

2、 需要添加如下jar包到lib目录下

ehcache-core-2.5.2.jar

ehcache-web-2.0.4.jar 主要针对页面缓存

3、 当前工程的src目录中加入配置文件

ehcache.xml

ehcache.xsd

这些配置文件在ehcache-core这个jar包中可以找到

二、Ehcache基本用法

CacheManager cacheManager = CacheManager.create();

// 或者

cacheManager = CacheManager.getInstance();

// 或者

cacheManager = CacheManager.create(“/config/ehcache.xml”);

// 或者

cacheManager = … 阅读全文

CPU的工作过程

  categories:资料  author:

    接触计算机应该是在95年左右,那个时候最流行 的一个词语是多媒体。 依旧记得当时在同学家看同学输入几个DOS命令就成功的打开了一个游戏,当时实在是佩服的五体投地。因为对我来说,屏幕上的东西简直就是天书。有了计算机 我们生活发生了巨大的变化,打游戏,上网,购物, 看小说, 听音乐,听评书, 看电影, 看电视….. 聊天,甚至到现在以此为业。有时无不感叹计算机的强大。

人类总是聪明的而又懒惰的。即便是1+1这种简单的计算都不想自己 做,1623年Wilhelm Schickard 制作了一个能进行六位以内数加减法,并能通过铃声输出答案的”计算钟”。通过转动齿轮来进行操作。 这已经相当高端了,说起计算器,我们5000年文明古国在东汉末年就有记载了算盘。

计算机的发展也是随着科技的发展经历了机械计算机、电子计算机、晶体管计算机、小规模集成电路和超大规模集成电路计算机。我们无意讨论整个计算机的发展过程,主要还是介绍基于冯诺依曼体系结构的现代计算机。

 一. 计算机的发展

计算机的发展包括了硬件和软件的发展,硬件的发展为计算机提供了更快的处理速度,而软件的发展为用户提供了更好的体验。两者相辅相成,密不可分。

  • 第一阶段: 60年代中期以前,是计算机系统发展的早期时代。在这个时期通用硬件已经相当普遍,软件却是为每个具体应用而专门编写的,大多数人认为软件开发是无需预先计划的事情。这时的软件实际上就是规模较小的程序,程序的编写者和使用者往往是同一个(或同一组)人;
  • 第二阶段:从60年代中期到70年代中期,是计算机系统发展的第二代。在这10年中计算机技术有了很大进步。多道程序、多用户系统引入了人机交互的新概念,开创了计算机应用的新境界,使硬件和软件的配合上了一个新的层次;
  • 第三阶段:计算机系统发展的第三代从20世纪70年代中期开始,并且跨越了整整10年。在这10年中计算机技术又有了很大进步。分布式系统极大地增加亍计算机系统的复杂性,局域网、广域网、宽带数字通信以及对“即时”数据访问需求的增加,都对软件开发者提出了更高的要求;
  • 第四阶段:在计算机系统发展的第四代已经不再看重单台计算机和程序,人们感受到的是硬件和软件的综合效果。由复杂操作系统控制的强大的桌面机及局域网和广域网,与先进的应用软件相配合,已经成为当前的主流。计算机体系结构已迅速地从集中的主机环境转变成分布的客户机/服务器。

二. 冯诺依曼体系结构

现在计算机的结构主要是:冯诺依曼体系结构, 有以下特点:

  1. 计算机处理的数据和指令一律用二进制数表示;
  2. 指令和数据不加区别混合存储在同一个存储器中;
  3. 顺序执行程序的每一条指令;
  4. 计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成。

冯诺依曼体系结构的计算机必须具有如下功能:

  • 把需要的程序和数据送至计算机中;
  • 必须具有长期记忆程序、数据、中间结果及最终运算结果的能力;
阅读全文


快乐成长 每天进步一点点