如何迅速成为Java高手

最近一直状态不好,今天索性就睡了一天。没有什么可以说的,转载专业方面基础知识给以广大喜欢折腾的同学,但是请注意。经验文章看多了,你不实践,照样没法成为高手。大家切记啊!

转载文章开始:如何迅速成为Java高手

Quicl也接到过很多学弟的咨询,可是由于自己不是高手啊,所以大家看看下面高手的经验:很多网友问我学习Java有没有什么捷径,我说“无他,唯手熟尔”。但是我却很愿意将自己学习的一些经验写出来,以便后来者少走弯路,帮助别人是最大的快乐嘛!我编程我当然快乐,我是Quicl、伪Geeker。喜欢程序设计,ACM。

Continue reading

Java中有关剪切板的操作

Java提供两种类型的剪贴板:系统的和本地的.

本地剪贴板只在当前虚拟机中有效.Java允许多个本地剪贴板同时存在,可以方便地通过剪贴板的名称来进行存取访问.

系统剪贴板与同等操作系统直接关连,允许应用程序与运行在该操作系统下的其它程序之间进行信息交换.

在进一步深入之前,先看看与剪贴板相同的java类,这些类主要包含在java.awt.datatransfer包中,主要有以下几种:

Clipboard类: 此类实现一种使用剪切/复制/粘贴操作传输数据的机制.

ClipboardOwner接口: 任何处理剪贴板的类都必须实现该接口.该接口用于剪贴板中的原始数据被替换时发出通知.

Dataflavor类: 提供有关数据的元信息,通常用于访问剪切板上的数据。

Transferable接口: 为传输操作提供数据所使用的类的接口

StringSelection类: 实现传输String所需能力的Transferable

Continue reading

Scala的特征

Scala是一门现代的多范式编程语言,志在以简练、优雅及类型安全的方式来表达常用编程模式。它平滑地集成了面向对象和函数语言的特性。

  • Scala是面向对象的:Scala是一个纯面向对象语言,在某种意义上来讲所有数值都是对象。对象的类型和行为是由class和trait来描述的。Class的抽象可由子类化和一种灵活的基于mixin的组合机制(它可作为多重继承的简单替代方案)来扩展。
  • Scala是函数式的: Scala还是一个函数式语言,在某种意义上来讲所有函数都是数值。Scala为定义匿名函数提供了一种轻量级的语法,它支持高阶(higher- order)函数、允许函数嵌套、支持局部套用(currying)。Scala的case类及其内置支持的模式匹配模型代数类型在许多函数式编程语言中 都被使用。
  • Scala是静态类型的:Scala配备了一套富有表现力的类型系统,该抽象概念以一种安全的和一致的方式被使用。
  • Scala是可扩展的:Scala的设计承认了实践事实,领域特定应用开发通常需要领域特定语言扩展。Scala提供了一个独特的语言组合机制,这可以更加容易地以类库的形式增加新的语言结构:
    • 任何方式可以被用作中缀(infix)或后缀(postfix)操作符
    • 闭包按照所期望的类型(目标类型)自动地被构造

    两者结合使用可方便地定义新语句,无需扩展语法,也无需使用类似宏的元编程工具。

  • Scala可与Java和.NET进行互操作:Scala 设计时就考虑了与流行编程环境良好交互,如Java 2运行时环境(JRE)和 .NET框架(CLR)。特别是与主流面向对象语言,如Java和C#尽量无缝交互。Scala有像Java和C#一样的编译模型(独立编译,动态装载 类),允许访问成千上万的高质量类库。

向Java开战?别搞错了对象

 

最近,我发现一个有趣的趋势,那就是在我身边的博客、DZone和其他等等开发社区之中Java变得越来越不受欢迎。

在我看来,Java的广泛成功有着许多原因:

  1. 它被企业界所广泛接受
  2. 它是速度最快的语言之一
  3. 它是最安全的语言之一
  4. 内置在语言中的同步原语
  5. 它是平台独立的
  6. Hotspot是开源的
  7. 成千上万家供应商提供了无数Java产品
  8. 成千上万个开源Java代码库
  9. 来自JCP的良好的社区管理(在Oracle之前)

对于任何语言来说,这都是一个相当了不起的成绩,也展示了Java作为当下最流行的语言,在很长一段时间里无可匹敌的连胜纪录。

那么,为什么从2010年底到2011年,Java突然间就变成了招人讨厌的魔鬼?

Continue reading