- 浏览: 450756 次
- 性别:
- 来自: 北京
博客专栏
-
Java函数式编程
浏览量:41549
最新评论
-
niqingyang:
看到lambda表达式后,感觉Java不再优雅了,还是喜欢面向 ...
Java函数式编程(一) -
tomqyp:
太过危言耸听了,抛开那少比较底层的语言,高级语言中反到是不少都 ...
动态语言已死? -
windshome:
设计这样JVM的人和在真正产品实现里写这样代码的人都是疯子。前 ...
JVM的自愈能力 -
yixiandave:
有多少人把JAVA8用在生产环境了?
JVM的自愈能力 -
ljbupc:
这个好像是1.8版jvm的新特性;1.7以下的不行(JVM-H ...
JVM的自愈能力
文章列表
本系列文章译自Venkat Subramaniam的Functional Programming in Java
列表的转化
将集合转化成一个新的集合就和遍历它一样简单。假设我们要将列表中的名字转化成全大写的。我们看下都有哪些实现方式。
Java中的字符串是不可变的,所以 ...
听到ThreadSafe这个东西我的第一反应就是, ”天啊,又出了一个静态代码分析工具”。在内部开发中引入了像PMD或者FindBugs这类的工具,又花了不少时间优化成零警告后,我感觉已经不再需要其它的工具了。不过我真的错了。
ThreadSafe这个工具跟别的代码分析工具一样,但有一点不同,它更专注于Java开发中一个非常重要的领域——并发。Contemplate的小伙伴们太给力了,他们注意到了需要有这么个工具,能快速定位到代码中可能存在的并发,多线程相关的问题。
这个工具有两种使用方法——Eclipse插件或者Sonar插件。我用了下它的Eclipse插件去分析了inspectIT的源码 ...
本系列文章译自Venkat Subramaniam的Functional Programming in Java
第四节:进化而非革命
我们用不着转向别的语言,就能享受函数式编程带来的好处;需要改变的只是使用Java的一些方式。C++,Java,C#这些语言都支持命令式和面向对象的 ...
我读到一篇相当相当有趣的关于Erlang VM内存管理策略的文章。它是Jesper Wilhelmsson写的一篇论文,我觉得有必要讨论一下Erlang和Oracle的Java虚拟机在内存管理方面的不同之处。
对于从没听说过Erlang的人来说,有必要简单的介绍一下,它是一门函数式语言,并且使用异步消息传递作为它并发的基石。消息传递使用的是拷贝的机制,并且在不同的Erlang虚拟机中传播,甚至是在不同的机器上(不过这个对程序员来说是透明的)。
Erlang和Java都通过虚拟机将底层硬件抽象成了一个可移植的平台。两门语言都采用了独立于机器的字节码。两者的运行时系统都通过垃圾回收来将程序员从内 ...
本系列文章译自Venkat Subramaniam的Functional Programming in Java
未完待续,后续文章请继续关注deepinmind。
译者注:本篇会有点无聊,希望你不要睡着了。
第一章 你好,lambda表达式!
第二节:函数式编程的最大收获
函数式风格的代 ...
Java函数式编程(一)
- 博客分类:
- Java函数式编程
本系列文章译自Venkat Subramaniam的<a href="http://pragprog.com/book/vsjava8/functional-programming-in-java" target="_blank"><em>Functional Programming in Java</em></a>
第一章 你好,lambda表达式!
第一节
Java的编码风格正面临着翻天覆地的变化。
我们每天的工作将会变成更简单方便,更富表现力。Java这种新的编程方式早在数十年前就已经出现在别 ...
在Java 8里面,java.util.Random经过改进后增加了一个实用的功能,可以返回一个随机数的流。
比如,如果要生成[0, 1)之间的随机浮点数的无限流:
Random random = new Random();
DoubleStream doubleStream = random.doubles();
或者要生成[0, 100)间的整数的无限流:
Random random = new Random();
IntStream intStream = random.ints(0, 100);
那么一个无限的随机流有什么用呢?下面我会列举出几个场景。不过需要注意的是这是个 ...
每当你打开的Linux虚拟主机的时候,通常是为了完成工作。但是,一台普通的Linux主机上,有成千上万的开发者开发的软件,你能保证他们都是这么正经的?
Linux的软件有加一些有趣的彩蛋的传统。本文主要是介绍一些有趣的命令和选项,让你的生活更多彩一些。这些并非全是彩蛋,不过我相信你多少会喜欢它们的。
文本编辑器
vim和Douglas Adams
熟悉Douglas Adams(也就是The Hitchhiker's Guide to the Galaxy一书的作者)的人,vim编辑器有个帮忙选项会让你赞不绝口。
如果你还没装vim。在Ubuntu/Debian,你可以这样:
sudo ...
前面有些废话就不翻译了,直接切入正题吧~
结构型模式:
适配器模式:
用来把一个接口转化成另一个接口。
java.util.Arrays#asList()
javax.swing.JTable(TableModel)
java.io.InputStreamReader(InputStream)
java.io.OutputStreamWriter(OutputStream)
javax.xml.bind.annotation.adapters.XmlAdapter#marshal()
javax.xml.bind.annotation.adapters.XmlAdapter#unmars ...
sun.misc.Unsafe为你大开Java的方便之门,你可以用它做很多Java不允许的事情,在一些非常特殊的场景下它还是非常有用的。99%的时候,你都应该避免使用它,然而在有些非常罕见的情况下,只有它能解决问题。
本文讲述了它在 ...
更多文章请移步:Java译站
我们经常会在工作中用到反射,要么直接使用,要么通过一些框架。在Java和Scala编程里,如果想要和我们的代码进行跟踪交互,却又希望对代码透明,最主流的一个方式就是反射。不过我们用到的反射 ...
更多文章请移步:Java译站
当堆栈跟踪信息里面出现OutOfMemoryError的时候,你应该很清楚发生了什么。应用程序由于没有足够的内存空间所以挂了。一般知道这个就也够了,但是对于构建和维护应用程序的人来说,要想弄清楚具 ...