共有 6 人关注 标签:Java,共有 69 篇文章

...
在 Java 中调用 Kotlin 语言的方法 【已翻译】

Java 可以轻松调用 Kotlin 代码。 属性 Kotlin 属性会编译成以下 Java 元素: 一个 getter 方法,名称通过加前缀  算出; 一个 setter 方法,名称通过加前缀  算出(只适用于  属性); 一个私有字段,与属性名称相同(仅适用于具有幕后字段的属性)。 例如, 编译成以下 Java 声明: 如果属性的名称以  开头,则使用不同的名称映射规则:getter 的...

计算机/ @CY2
...
在 Kotlin 中调用 Java 方法 【已翻译】

Kotlin 在设计时就考虑了 Java 互操作性。可以从 Kotlin 中自然地调用现存的 Java 代码,并且在 Java 代码中也可以很顺利地调用 Kotlin 代码。在本节中我们会介绍从 Kotlin 中调用 Java 代码的一些细节。 几乎所有 Java 代码都可以使用而没有任何问题 Getter 和 Setter 遵循 Java 约定的 getter 和 setter 的方法(名...

计算机/ @CY2
...
使用 Java Bean 验证方法参数和返回值 【17%】

Java’s static type system is a robust mechanism that lets you specify a method’s preconditions and postconditions (from the caller’s perspective: what to supply and what to expect) with the compile...

计算机/ @toypipi
...
Java 的未来 【已翻译】

为了收集关于 Java 生态系统发展现状的见解,我们采访了 9 名对该生态系统非常熟悉的高管。 我们向这些有经验的 Java 专家问了这么一个问题: "从你的观点来看,Java 的未来发展为怎样?" 下面是他们的回答: 我之前已经不再用 Java 了,但是 Java 8 发布后我又回来了。Java 8 有很多创新,这些创新是我从 Java 2 到 Java 7 都没看到过的。Lambda 就...

计算机/ @CY2
...
适合 Java 开发者学习的 Python 入门教程 【已翻译】

编者按:在Java文章频道里,我们大部分人应该对该语言都非常的了解,而且在该生态圈内至少已经呆了好几年了。这让我们有常规和专业的知识,但是也同时也让我们一些井蛙之见。 在Outside-In Java系列文章中,一些非Java开发人员会给我们讲讲他们对于我们这个生态圈的看法。 从哲学的角度来讲,Python几乎是与Java截然相反。它抛弃了静态类型和刚性结构,而是使用了一个松散的沙盒,在这里...

计算机/ @班纳睿, @toypipi, @宇德高辉, @CY2, @goon_, @呼保义, @边城
...
Java 中单元级别的性能测试 【未翻译】

When it comes to performance testing, I hear a lot about having a dedicated environment, funky tools like JMeter or Apica, and complicated scenarios. These take a lot of effort to set up and mainta...

计算机/ @CY2
...
关于 Java 9 中模块系统特性被委员会拒绝的详细信息 【未翻译】

In a 13-10 vote that concluded on May 8, the Public Review Ballot for JSR #376 (formally known as the Java Platform Module System) failed to pass the JCP executive committee's muster. Perhaps the c...

计算机/ @CY2
...
除了模块,Java 9 还有什么新特性? 【21%】

Java9最重要的特征就是Java平台模块化系统(JPMS)。这里还有其它有趣的新特性,例如改进了应用程序编程接口(API)并且增添了新工具,比如JSshell。在过去几年的时间里,我对一些小的改变没有给予太多的关注,直到我参加了在法国Devoxx举办的这场有趣的演讲。由于今年早些时候JDK9已经宣布完成所有功能,因此这篇文章收集了让广大程序员感兴趣的那些新特性,并且详细地讲解了它们。当然,...

计算机/ @忘忧禅师, @一叶障目, @CY2, @班纳睿
...
使用 Jenv 让所有 Java 开发工具同时运行多个版本 【已翻译】

如果你需要一个平台无关的工具可以让你管理多个版本的 Java 开发工具,如 Maven、Gradle 或者是 Tomcat 之类,那么 jenv 是你最佳的选择。使用 jenv 你可以轻松安装多个版本的 Java 应用,这些版本可以是整个系统使用或者是单独某个 Shell 使用。例如可以让你用 Maven 3.1 来构建一个项目,而使用 Maven 3.5 去构建另外的项目。 jenv 介绍...

计算机/ @CY2
...
使用 IoC 反转控制的三种设计模式 【已翻译】

对于许多开发人员来说,控制反演(IoC)都是一个模糊的概念,因为他们在现实世界中很少或没有被应用过。在最好的情况下,控制反演(IoC)可以加单的认为是等效于依赖注入(DI)。实际上,只有在翻转控制与依赖注入双方都只是反映翻转依赖管理控制的时候,才认为两者是等效的。虽然,依赖注入实际上是IoC的一种众所周知的形式。但是,事实上IoC却是一个相对更为广泛的软件设计范例,可以通过多种模式来进行实现...

计算机/ @scilence, @班纳睿, @边城
...
在 Java 9 里对 IntegerCache 进行修改? 【已翻译】

5 年前,我在 Hungarian 上发表了一篇关于 JDK 中如何改变 IntegerCache 的文章。这种做法其实是深入进 Java 运行时,在实际并没有使用的场景。当你开发这些研究代码时,你才能更好的理解反射是如何工作的,以及 Integer 类是如何实现的。 Integer 类有一个私有的嵌套内,名为 IntegerCache ,包含了值从 -127 到 128 的 Integer...

计算机/ @CY2
...
使用 Flyway 和 Java 实现数据库的版本控制 【4%】

Source code versioning is a subject that has been widely discussed and which has many solutions created to address it, like Git, Subversion, and Mercurial. But what about our data and the schema th...

计算机/ @苏州小浮云
...
哪个 Java 日志框架性能最佳? 【已翻译】

Java有三个主要的日志框架: Java Util Logging, Log4j 2, and Logback。当为你的项目挑选日志框架的时候,你考虑过他们的性能吗?毕竟,如果仅仅是因为你选择了一个缓慢的框架或者是配置了次优的配置,就让你的应用变慢,那也太蠢了。 当你登陆Twitter,查看Java主题的时候,你一定会发现大量的争论,这也许是最好的总结了,来自Dan Allen: @conn...

计算机/ @GreyWord
...
Java 和 Python:哪一个最适合你? 【已翻译】

软件开发总有不少关于编程语言选择的问题是非常纠结的,而且很容易引起争吵。 软件开发者一般都会强烈的认同他们所选择的工具,这其中混杂了主观偏好和一些客观事实。 然而,在近十年里,开发人员可使用的语言数量增长不少。这意味着语言的关联在不同的代码库、框架和平台上越来越分散。现代项目和现在的开发者也就变得越来越多元化,必须通晓多门语言,熟悉越来越多的语言和开发库。但仍需要一些关于语言的明智选择方法来指引。

计算机/ @coyee, @GreyWord
...
开始使用Async / Await 【14%】

Async programming is all the rage in mobile app development for good reasons. Using async methods for long running tasks, like downloading data, helps keep your user interface responsive, while not...

计算机/ @夏帆
...
五分钟理解Java的反射API 【已翻译】

目录 反射API 基本类型和方法 注解 概要 注释 像java一样,一种具有反射功能的语言。允许开发人员在运行时检查类型、方法、字段、注解等,并在程序运行时决定是否使用。 为此,Java的反射API提供类,类,字段,构造函数,方法,注释和其他。 使用它们可以与编译时未知的类型进行交互,例如创建未知类的实例并对它们调用方法。

计算机/ @中国码农, @班纳睿, @/(?:.*)?/g, @toypipi
...
三分钟学会Java的Synchronized关键字 【已翻译】

内容目录 同步的基本知识 使用synchronized关键字 synchronized是如何工作的 多重锁 在实际的java应用中计数 结论 评论 synchronized关键字可以用来确保一次只有一个线程执行一个特定部分的代码. 这是种可以避免竞争危害的简单方法,这通常发生在多个线程在同一时间改变共享的数据所导致的错误. 使用synchronized关键字的整个方法或代码块可以是单线程的....

计算机/ @Orange, @GreyWord, @中国码农
...
深入研究Java 9的栈遍历(Stack-Walking)API 【5%】

The stack-walking API, released as part of Java 9, offers an efficient way to access the execution stack. (The execution stack represents the chain of method calls – it starts with the method or th...

计算机/ @班纳睿
...
2017年你不能错过的Java类库 【已翻译】

各位读者好, 这篇文章是在我看过 Andres Almiray 的一篇介绍文后,整理出来的。 因为内容非常好,我便将它整理成参考列表分享给大家, 同时附上各个库的特性简介和示例。 请欣赏! Guice Guice (发音同 ‘juice’) ,是一个 Google 开发的轻量级依赖性注入框架,适合 Java 6 以上的版本。  GitHub, JavaDoc, 使用指南, FactoryMo...

计算机/ @一叶障目, @班纳睿, @Hornsey
...
Java模块系统上手指南 【未翻译】

Table of Contents The Application Before Jigsaw Entering Jigsaw Land Modules Name Dependencies Exports Implementation Splitting Into Modules Made-up Rationale Implementation Services Made-up Ration...

计算机/ @班纳睿
...
C++ 、 Java 和 C# 中关于数组使用的异同 【已翻译】

介绍 如果想在三种 OO 语言之间进行切换,另一篇短文会有所帮助。本文只是讲述了数组及其创建和初始化。注意,我不准备讲像 vector 这样的容器,我写的另一篇文章已经讲过了。本文讲的是内置的数组类型,不包含任何扩展代码或者附加库。 背景 什么是数组?唔,从本质上讲,它是一个列表。数组是一个受到某些限制的列表(也可以说是好处,这得看你怎么理解)。数组是一片连续的内存空间,用于存放大量相同类型...

计算机/ @边城, @CY2, @coyee
...
Java 10 可能会对 Lambda 表达式进行升级 【已翻译】

新的 JEP 对增强 Lambda 提出了修改建议,包括消除歧意、用下划线表示未使用的参数、影子外部变量 等。虽然这些改变会让 Java 的 Lambda 更接近于其它语言的 Lambda,不过最初的讨论只是想支持混合水平。这个 JEP 补充了一系列的提议来改善 Java 语言,包括局部变量的类型推断和增强的枚举,这些内容都有可能包含在 Java 10 中。 尽管与 Lambda 相关的改变...

计算机/ @边城, @班纳睿
...
你应该知道的五个开源的Java性能监控工具 【已翻译】

衡量任何应用程序最重要的指标之一就是性能。 我们希望确保用户能够获得最佳的体验,并确保我们的应用程序正常运行。 这就是为什么大多数人至少使用一个监控工具的原因。 如果你想在性能监控市场上寻找一些不同的东西,那么选择之一是选择一款开源工具。 在下面的博文中,我们收集了一些开源的APM工具,这些工具目前已经可以替代付费工具,你可以看看它是否是你的最佳选择。

计算机/ @toypipi, @Hornsey, @班纳睿
...
遗留系统开发人员的Java 9指南 【已翻译】

每隔几年,Java就会发布一个新版本,而且在JavaOne演讲上兜售其新的语言结构和API,并赞美其带来的好处。同时开发者们都激动的跃跃欲试,急于使用新功能。 这是一个乐观的画面,但是请不要忘了这样一个事实,即大多数开发商只能维护和增强现有的应用,而不是从头开始创建新的。 大多数的应用,特别是商业发行的, 需要向后兼容早期版本的java, 就无法支持那些比较优秀的新特性。最后,大多数客户和最...

计算机/ @班纳睿
...
Java 性能的流言终结者 【已翻译】

Java是地球上最流行的软件开发平台,但是这不意味着它是容易理解的。 当然不是从性能的角度。不像其他大部分平台, Java在它运行的电脑和代码之间有一个Java虚拟机 (JVM)。 这种虚拟化有许多优点,但是让性能分析更复杂了。 JVM做了两件事让查找性能问题的根源更困难了。

计算机/ @Mark, @中国码农
...
来自Serenity的关于Java 8的一些使用技巧 【已翻译】

Java 8早在2014年就出来了,但是我仍发现有很多团队并没有尽量多的去使用其新的特性。可以说Java 8中最大的新特性就是Lambda表达式,这终于给Java世界引入了函数式编程的味道。 在这篇文章中,我想要给大家看一个简单的例子,通过这个具体的例子来展示Java 8和Lambda表达式是如何使你的生活更轻松的。 假如我们想要为一个使用frame或iframe的遗留应用编写一个测试。 J...

计算机/ @班纳睿
...
关于Java性能优化最容易操作的10个技巧 【已翻译】

最近“全网域(Web Scale)”一词被炒得火热,人们也正在通过扩展他们的应用程序架构来使他们的系统变得更加“全网域”。 但是究竟什么是全网域?或者说如何确保全网域? 扩展的不同方面 全网域被炒作的最多的是扩展负载(Scaling load),比如支持单个用户访问的系统也可以支持10个、100个、甚至100万个用户访问。在理想情况下,我们的系统应该保持尽可能的“无状态化(stateless...

计算机/ @一叶障目, @班纳睿, @learner
...
2017年我对Java的预测和期待 【已翻译】

随着Java 9在今年将要正式发布,那它到底会带来什么呢?我们可以期待哪些其他的发展呢?2017注定是有趣的一年。   多年前,当我在Sun公司从事Java的推广传播工作时,我的一个朋友送给了我一个真正的水晶球。他说我一直在试图给人们讲解Java的未来,因此我可能需要一些适当的装备。 既然现在是2017年的第一周(新年快乐),我想我该拿出我的水晶球来大胆的做一些预测,预测在接下来的12个月内...

计算机/ @班纳睿
...
每个Java开发人员都应该知道(并爱上)的8个工具 【已翻译】

在Stormpath(译者注:一款用户管理和认证服务软件,也是该软件的公司名),我们把质量和生产力看得非常重要。每一个优秀的工匠都知道,要完成工作,仅仅拥有天赋是不够的,还需要有正确的工具。工程学不仅仅是一门科学,还是一门艺术,因此虽然我们Stormpath的员工都毋庸置疑地都很有天赋(眨眼眨眼(译者注:调皮的样子)), 我们还是在一直不断的寻找最适合我们需求的工具。我们的工程师总是渴望跟其...

计算机/ @班纳睿
...
如果你在2016年写过Java代码,这些趋势你不应该错过 【已翻译】

2016年最有趣的Java相关的话题 现如今有很多关于代码的趋势话题,试图跟上所有事情本身就是一项全职工作。如果你不清楚如何从糠中分离小麦,我们已经为你做好这个工作了。 在本文中我们将回顾2016年热点,在新的一年哪些将有更高的热度。当然,是与Java相关的。准备好像在2017年一样编程吧!

计算机/ @vincentsun, @班纳睿