i = i++真的很简单?C/C++,java,php探秘

今天阅读《编写高质量代码:改善Java程序的151个建议》,其中一个是自增的陷阱,才感受到自己对自增的理解还不够,看看下面这些代码的结果是什么。

Java中的四种内部类

内部类是指在一个外部类的内部再定义一个类。类名不需要和文件夹相同。(注意,这里的外部类就是最常见的普通类,只是为了对应于内部类,才说成是“内部类”)内部类是一个编译时的概念,一旦编译成功,就会成为完全不同的两类。对于一个名为outer的外部类和其内部定义的名为inner的内部类。编译完成后出现outer.class和outer$inner.class两类。所以内部类的成员变量/方法名可以和外部类的相同。

一些不太为人所了解的 Lambda 表达式技巧及其使用限制

在本文中,我们将展示一些在 Java 8 中不太为人所了解的 Lambda 表达式技巧及其使用限制。本文的主要的受众是 Java 开发人员,研究人员以及工具库的编写人员。 这里我们只会使用没有 com.sun 或其他内部类的公共 Java API,如此代码就可以在不同的 JVM 实现之间进行移植。

Java8技巧:如何正确使用Optional

Optional是Java8提供的为了解决null安全问题的一个API。善用Optional可以使我们代码中很多繁琐、丑陋的设计变得十分优雅。这篇文章是建立在你对Optional的用法有一定了解的基础上的,如果你还不太了解Optional,可以先去看看相关教程,或者查阅Java文档。

如何在Java项目中嵌入Jython代码

Jython 是一个很棒的 Java 脚本引擎,使用很可靠的语法。事实上它非常使用用来编写一些维护或者监控脚本。如果你和其他具备 Python 经验的团队协作,那么 Jython 可以很方便的在你的 Java 应用中集成 Python 代码。首先,我们需要导入 Jython 解释器:

性感的 Guava (谷歌的Java开源类库)

Guava 是 Google 的一个开源项目,包含许多 Google 核心的 Java 常用库。很多类似 Apache Common 的功能,但实现更优雅,项目也更活跃。试图弥补 Java 语言的不足,很多特性被加入到最新的 Java 语言规范中。

使用 Java8 Optional 的正确姿势

, 最好的理解 Java 8 Optional 的方法莫过于看它的源代码 java.util.Optional, 阅读了源代码才能真真正正的让你解释起来最有底气, Optional 的方法中基本都是内部调用 isPresent() 判断, 真时处理值, 假时什么也不做.

JAVA 面试,你常常忘记它们

倒排索引是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。

Java Executor 和线程池

Java1.5后引入的Executor框架的最大优点是把任务的提交和执行解耦,只需把Task描述清楚,然后提交即可。至于这个Task是怎么被执行的,被谁执行的,什么时候执行的,就全部交给线程池管理。

降低Java垃圾回收开销的5条建议

随着一再拖延而即将发布的 Java9,G1(“Garbage First”)垃圾回收器将被成为 HotSpot 虚拟机默认的垃圾回收器。从 serial 垃圾回收器到CMS 收集器, JVM 见证了许多 GC 实现,而 G1 将成为其下一代垃圾回收器。

Java 并发学习笔记总结

ReadWriteLock读写锁。 读-读不互斥,读-写互斥,写-写互斥。

异常的代价

最近在dynaTrace上出现了一场关于异常(Exception)的代价的大讨论。在跟一些客户的接触中,我们经常的发现他们的代码里有大量的异常处理,自己都不知道。在移除了这些异常后,程序的运行速度比以前有大幅度的提高。这让我们产生了一种假想,程序中的异常处理语句是否给性能带来了巨大的开销?由此得出的推理会是,应该避免使用异常处理。

Google发布J2ObjC 1.0:将Java转换为Objective-C

J2ObjC 主要是一个构建工具,因此会根据使用该工具的应用开发人员的需求来确定未来计划。我们现在了解到的需求是,他们希望我们持续且快速地支持 iOS 新特性、优化 Swift 互操作性、支持 Java 8 接口、提供更好的工具集成、减少构建次数。作为编译器开发工程师,我们也会专注于优化生成的代码和快速修复 bug。

Java里的愚蠢 API 设计

这是我在Java中看到的绝对会产生歧义一个最糟糕的案例。他们应该把事情做得漂亮些。

不能为面向对象而面向对象

我经常会读到或听到有人说一些“这个和那个不是正确的面向对象”,或“… 面向函数”,或诸如此类的言论。我以前也会发表这样的言论——当我刚从大学出来的时候。这种的观点在昨天这里发表的一篇名为”what we don’t need in object oriented programming“里也体现了出来。

根据这 9 行代码,Oracle要求Google赔 10 亿美元

这个案子最近又有新进展了。William Alsup 法官邀请了一位经济学教授来评估 Android 的 9 行代码是否侵权,这彻底的激怒了甲骨文。甲骨文表示这位教授根本没有能力评估代码。

Java程序员的错

我使用Java编程已经有10多年的历史。同时,我还有过大量的使用其它语言开发的经历,比如C#,C,C++,Python,Lua,Objective-C等等,我认为这些经历在对我认识Java程序员的问题上起到了巨大的帮助。很多人说Java是一种很糟糕的编程语言。我不同意。Java语言有它自己的缺点,但我想,很多时候,当你看到Java在有些地方让人很多人不爽时,那本质上不是Java语言的问题,而是它被错误的使用。

为何找个优秀的Java程序员如此之难?

Java开发者供大于求,找一个优秀的开发者犹如大海捞针。这该赖谁?赖程序员对Java没兴趣吗?还是赖瞎了眼的招聘?抑或是语言本身?

Java地位无可动摇的12个原因

技术界从来没认为Java会成功,尽管它的对手太多但依然繁荣发展起来。那些诧异Java仍然存在的人们并没有真正去理解为什么Java会成功。微软是 Java第一个面对的强大对手,因为那时MS-DOS提供了通用性,而微软看到Java是此通用性最具可能性的替代者。

Java开发者值得关注的7款新工具

工欲善其事必先利其器。对于开发者来说,合理、灵活地使用开发工具可以极大的提高工作效率。本文总结了7款较新的Java工具。