资讯月刊下载
[编程语言] 为什么JVM需要GC
社区内有人发起了一个讨论,关于JVM是否一定需要GC?他们认为应用程序的回收目标是构建一个仅用来处理内存分配,而不执行任何真正的内存回收操作的 GC。即仅当可用的 Java 堆耗尽的时候,才进行顺序的 JVM 停顿操作。 首先需要理解为什么需要GC。随着应用程序所应对的业务越来越庞大、复杂,用户越来越多,没有GC就不能保证应用程序正常进行。而经常造成STW的GC又跟不上实际的需求,所以才会不断地尝 ...
[编程语言] 三分钟带你遨游各种JVM语言
无论您最熟悉的Java、Scala还是其它JVM语言,总会有更多JVM语言不断出现并伴随着各种相关特性。最重要的是,总有一些来自某些语言的、优秀的“基本”元素在其它语言中难觅其踪。 正因为如此,我们整理出了这样一篇精简的囊括Groovy、Scala、Clojure、Kotlin以及Java的部分最佳特性的文章。阐述了它们的区别,以帮助你在项目研发里面合理的选择他们。 1.是否检查异常情况 Jav ...
[编程语言] JetBrains正式发布Kotlin 1.0:JVM和Android上更好 ...
原文:Kotlin 1.0 Released: Pragmatic Language for JVM and Android 作者:Andrey Breslav Kotlin是一门实用的编程语言,可用于JVM和Android程序开发。日前,Kotlin 1.0正式发布。以下为原文翻译: 我们欣然宣布:Kotlin 1.0 发布了! 这是条令人激动的漫长之路,如今我们总算达成首个大版本发布。为了庆 ...
[编程语言] IntelliJ IDEA 15发布 支持新的JVM语言Kotlin
流行的Java集成开发环境IntelliJ IDEA 15发布。该版本改进了许多功能,其中包括: 新版引入了新的功能; 更好用户界面; 更多的内置工具和整合; 改进编程辅助; 支持新的JVM语言Kotlin。 更多详情,大家可以访问发布说明:http://blog.jetbrains.com/idea/2015/11/intellij-idea-15-released-adds-kotli ...
[编程语言] 关于垃圾回收被误解的7件事
对Java垃圾回收最大的误解是什么?它实际又是什么样的呢? 当 我还是小孩的时候,父母常说如果你不好好学习,就只能去扫大街了。但他们不知道的是,清理垃圾实际上是很棒的一件事。可能这也是即使在Java的世界中, 同样有很多开发者对GC算法产生误解的原因——包括它们怎样工作、GC是如何影响程序运行和你能对它做些什么。因此我们找到了Java性能调优专家Haim Yadid,并把名为Java perfor ...
[编程语言] 浅析JVM内存结构和6大区域
其实对于我们一般理解的计算机内存,它算是CPU与计算机打交道最频繁的区域,所有数据都是先经过硬盘至内存,然后由CPU再从内存中获取数据进行处理,又将数据保存到内存,通过分页或分片技术将内存中的数据再flush至硬盘。那JVM的内存结构到底是如何呢?JVM做为一个运行在操作系统上,但又独立于os运行的平台,它的内存至少应该包括象寄存器、堆栈等区域。 JVM在运行时将数据划分为了6个区域来存储,而不仅 ...
[编程语言] Swift1.0GM发布啦!
在6月2日WWDC,Swift 正式发布。现在Swift1.0正式版本发布了。你可以提交你的 Swift 应用到 App Store。无论你的应用是 Swift 编写的一小部分功能或者完整的应用,都可以向世界分享! Swift for OS X 今天发布的是 iOS 的 Swift GM,不会再有 Mac OS X GM 。OS X 的 Swift 当前要求 OS X Yosemite 的 S ...
[编程语言] Spek:JetBrains出品的JVM语言规范框架
Spek是JetBrains(IntelliJ IDEA的开发商)开发的一个针对JVM语言的规范框架,作用是帮助开发者轻松地以一种清晰的、易理解的、可读的方式来定义规范。 为什么需要一个规范框架? 测试用例不仅要能够检查出开发者所编写的代码的执行和工作情况,也要能够检查开发者的实现是否与需求相匹配。 而传统的测试框架并不会告诉你代码是否按照规范来编写。不过,我们可以尝试通过对比代码和规范, ...
[编程语言] Ceylon 1.0发布:又一个“Java语言替代品”?
Ceylon是Gavin King(Hibernate和Seam创始人)的作品,这是一个可运行于Java和JavaScript虚拟机的、高可读的、模块化的、面向对象的静态类型编程语言,其融合了Java、C、Smalltalk以及函数式语言的特性,试图解决Java语言中的一些问题。 Gavin King近日发布了Ceylon 1.0正式版本,这意味着其语言规范、编译器和IDE都到达了生产标准。 ...
[开源软件] Reactor:构建JVM异步应用的基础框架
Spring社区今天推出了一个名为Reactor的基础框架,主要用于帮助开发者创建基于JVM的异步应用程序。该框架提供了Java、Groovy等JVM语言的抽象,使得开发者构建事件/数据驱动的应用程序更加容易。 Reactor开发人员称,在适度的硬件配置环境中,通过非阻塞的Dispatcher,该框架每秒可以处理超过1500万事件。此外,Reactor还提供了一系列其他的调度程序供开发者选择, ...