归档之于 ‘ 2015 年9 月

Java8简明指南

Java8简明指南

欢迎来到Java8简明指南。本教程将一步一步指导你通过所有新语言特性。由短而简单的代码示例,带你了解如何使用默认接口方法,lambda表达式,方法引用和可重复注解。本文的最后你会熟悉最新的API的变化如Stream,Fcuntional,Map API扩展和新的日期API。

 

阅读全文

Adopt Open JDK官方文档(十)

编译过程性能优化的命令行参数

AdoptOpenJDK wiki的一个链接,提供了几个怎么提高编译过程性能的例子。

编译 jcov

项目首页(项目信息, 编译指南, 其他…)

https://wiki.openjdk.java.net/display/CodeTools/jcov

源代码:

http://hg.openjdk.java.net/code-tools/jcov

Adopt OpenJDK持续集成网站下载。

 

阅读全文

《Java并发编程从入门到精通》显示锁Lock和ReentrantLock

javaC作者:张振华    购买链接:天猫商城  JD商城  当当书店

 

显示锁Lock和ReentrantLock

Lock是一个接口提供了无条件的、可轮询的、定时的、可中断的锁获取操作,所有加锁和解锁的方法都是显式的。包路径是:java.util.concurrent.locks.Lock。核心方法是lock(),unlock(),tryLock(),实现类有ReentrantLock, ReentrantReadWriteLock.ReadLock, ReentrantReadWriteLock.WriteLock。

阅读全文

Apache Storm 官方文档中文版

原文链接    译者:魏勇

About

本项目是 Apache Storm 官方文档的中文翻译版,致力于为有实时流计算项目需求和对 Apache Storm 感兴趣的同学提供有价值的中文资料,希望能够对大家的工作和学习有所帮助。

虽然 Storm 的正式推出已经有好几个年头了,发行版也已经到了 1.0.x,但是目前网络上靠谱的学习资料仍然不多,很多比较有价值的资料都过时了(甚至官方网站自己的资料都没有及时更新,这大概也是发展太快的社区的通病),而较新的资料大多比较零碎,在关键内容的描述上也有些模棱两可,给初学者带来了很大的困扰。本人自己在初学 Storm 的阶段就非常痛苦,一直想有一份较系统、实用的资源来方便学习。最近借着整理工作的机会,就下定决心通过官方文档的翻译梳理出 Storm 的技术路线,于是就有了这个翻译项目。非常感谢并发编程网对本项目的支持,由于本人水平有限,翻译中仍然存在不少问题,还请大家不吝斧正。如果对本项目有任何问题,欢迎在评论中或者本项目的 Github 页面中(https://github.com/weyo/Storm-Documents)提出,另外也可以直接给本人发邮件(ivicoco at gmail.com),谢谢。

阅读全文

Apache Storm 官方文档 —— 内部技术实现

原文链接    译者:魏勇

这部分的 wiki 是为了说明 Storm 是怎样实现的。在阅读本章之前你需要先了解怎样使用 Storm。

阅读全文

《 Java并发编程从入门到精通》Thread安全与不安全

javaC作者:张振华    购买链接:天猫商城  JD商城  当当书店

鸟欲高飞先振翅,人求上进先读书。本文是原书的第3章  Thread安全3.2 什么是不线程安全。3.3什么是线程不安全。

3.2 什么是不安全?

当多个线程同时操作一个数据结构的时候产生了相互修改和串行的情况,没有保证数据的一致性,我们通常称之这种设计的代码为”线程不安全的“。

阅读全文

Apache Storm 官方文档 —— Ack 框架的实现

原文链接    译者:魏勇

Storm 的 acker 使用哈希校验和来跟踪每个 tuple 树的完成情况:每个 tuple 在被发送出的时候,它的值会与校验和进行异或运算,然后在 tuple 被 ack 的时候这个值又会再次与校验和进行异或运算。这样,一旦所有的 tuple 都被成功 ack,校验和就会变为 0(随机生成的校验和为 0 的概率极小,可以忽略不计)。

阅读全文

Apache Storm 官方文档 —— 源码组织结构

原文链接    译者:魏勇

Strom 的代码有三个层次:

第一,Storm 在一开始就是按照兼容多语言的目的来设计的。Nimbus 是一个 Thrift 服务,拓扑也被定义为 Thrift 架构。Thrift 的使用使得 Storm 可以用于任何一种语言。

第二,所有的 Storm 接口都设计为 Java 接口。所以,尽管 Storm 核心代码中有大量的 Clojure 实现,所有的访问都必须经过 Java API。这就意味着 Storm 的每个特性都可以通过 Java 来实现。

第三,Storm 的实现中大量使用了 Clojure。可以说,Storm 的代码结构大概是一半的 Java 代码加上一半的 Clojure 代码。但是由于 Clojure 更具有表现力,所以实际上 Storm 的核心逻辑大多是采用 Clojure 来实现的。

阅读全文

Java构造器必知必会

Writer      :李强强(泥沙砖瓦浆木匠)原文链接 传送门

 

面向对象编程中,编程人员应该在意“资源”。比如

String hello = "hello"; 

在代码中,我们很在意在内存String类型hello,它是有一个生命周期的。在它生命周期中,初始化(initialization)清理(cleanup)是两个重要的环节。尤其是C程序中,很多bug会出现在对象初始化清理的环节。这样会造成一些程序安全问题。

《Think in Java》中说道:

随着计算机革命的发展,”不安全“的编程方式已逐渐成为编程代价高昂的主因之一。

阅读全文

ThreadLocal使用

引言

ThreadLocal的官方API解释为:

“该类提供了线程局部 (thread-local) 变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set 方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本。ThreadLocal 实例通常是类中的 private static 字段,它们希望将状态与某一个线程(例如,用户 ID 或事务 ID)相关联。”

大概的意思有两点:

  1. ThreadLocal提供了一种访问某个变量的特殊方式:访问到的变量属于当前线程,即保证每个线程的变量不一样,而同一个线程在任何地方拿到的变量都是一致的,这就是所谓的线程隔离。
  2. 如果要使用ThreadLocal,通常定义为private static类型,在我看来最好是定义为private static final类型。

阅读全文

《 Java并发编程从入门到精通》 常见的内存溢出的三种情况

javaC
作者:张振华    购买链接:天猫商城  JD商城  当当书店

鸟欲高飞先振翅,人求上进先读书。本文是原书的第9章 线程的监控及其日常工作中如何分析里的9.3.3节常见的内存溢出的三种情况。
阅读全文

《 Java并发编程从入门到精通》 Java线程池的监控

javaC作者:张振华    购买链接:天猫商城  JD商城  当当书店

本文是《 Java并发编程从入门到精通》第9章 线程的监控及其日常工作中如何分析的9.1节 Java线程池的监控。

 

阅读全文

Java Date Time 教程-java.util.Calendar和GregorianCalendar

原文链接 作者:Jakob Jenkov  译者:魏嘉鹏

目录

  • 实例化GregorianCalendar
  • 获取年、月、日等
  • 增加和减少年、月、日等
  • 陷阱和误区
  • 月份的陷阱
  • 星期几的误区
  • JavaDoc中的更多细节

阅读全文

图解 & 深入浅出 JavaWeb:Servlet 再说几句

Writer      :李强强(泥沙砖瓦浆木匠)原文链接 传送门

上一篇的《 Servlet必会必知 》受到大家一致好评 — (感谢 读者 及 OSC 推荐 每日一’搏’),后来觉得还有些东西没点到,这边补充补充。 阅读全文

return top