我是好奇的知道什么其他Java程序员的感觉是他们最喜欢的语言的一部分,为什么他们觉得这种方式,以及为什么其他的程序应该想要一个亲密的知识。我在找原因,如简洁性、性能,等等。谢谢。

有帮助吗?

解决方案

我最喜欢的Java API是收藏框架。我发现自己一直在使用它而不是滚动我自己的实现,它非常有趣且易于使用。它由几个有用的和 高性能数据结构和算法的可互换实现,以及围绕它们包含附加功能的几种便捷方法。

Josh Bloch的教程可以在这里找到: http:// java.sun.com/docs/books/tutorial/collections/index.html

其他提示

我最喜欢的API部分是 java.lang中。它有一个名为 String 的类,它允许您轻松操作字符数组。任何认真编写优秀Java代码的程序员都应该检查一下。

java.util.concurrent 对我的生活至关重要。我们做了很多多核编程,尝试使用旧式原始线程实现所有任务只是让我感到不舒服。

并发包真正让我们的生活更轻松的一个很好的例子是它提供的专用数据结构池。我个人最喜欢的是 CopyOnWriteArrayList 。我们在显示任务从数据缓存中读取更新屏幕而另一个任务从网络获取信息以更新缓存的情况下使用了相当多。通常情况下,这是一个碰撞邀请, ConcurrentModificationExceptions 和类似的恐怖。使用CopyOnWriteArrayList,如果需要添加数据,写入任务将创建数据的新副本,从而确保读取器始终具有有效(尽管可能已过时)数据集以进行显示。

正如javadoc所说,

  

这通常成本太高,但可能   比替代品更有效率   当遍历操作时   超过突变,并且是有用的   什么时候你不能或不想   同步遍历,但需要   排除并发之间的干扰   线程。

Java消除了我通常会为解决这个问题而引入的各类错误,使我能够专注于我需要解决的实际问题。

绝对是收藏框架。无论您是在服务器端Java还是客户端,图形与否,它都会一直使用。它易于使用。大多数数据结构类都有非通用版本和通用版本(最好使用第二版,但是遗留代码大量使用第一版),但除了类参数之外,它们在API方面几乎完全相同。在.NET中,两个版本可以有不同的名称/ API,它可能会变得非常混乱。我也喜欢Java Collections Framework如何将算法作为静态方法(例如Collections.sort(collectionVar))而不是实例方法。在.NET中,他们使用实例方法,并且出于某种原因,并非每个数据结构都有排序......集合框架也非常丰富,您可以找到简单和专用的数据结构(例如LinkedHashMap,它保留了插入顺序)。 / p>

我听到的一个缺点是框架表现不佳,有些人自己编写。我无法验证它,因为我没有处理性能关键的东西。

javax.naming中

http://java.sun的.com / JavaSE的/ 6 /文档/ API /的javax /命名/包summary.html

Java是一个很好的系统集成技术,因为它具有可移植性,JNDI很好地抽象出了与远程系统首次联系的复杂性。

反射。其中一些是在 java.lang .reflect java中的一些内容.lang (主要是Class和ClassLoader)。

流。 Java中的流比C ++中的流更容易掌握和实现(意见),并且通常很容易看到,基于API附带的流的名称,流将为您做什么。

我非常喜欢 Java EE中的JPA 。它减少了我需要为大型应用程序(可能使用EJB)和小型应用程序所做的工作量。

紧随其后的是JAAS,安全API,这里是Java SE JAAS的链接 : http://java.sun.com/javase/technologies/security/

到目前为止,java.util.regex API包是我最喜欢的,因为它阻止了我在很多场合重新发明轮子用于各种目的的搜索和利用字符串。

java。工具是非常率.为什么?

  • 集合。很多他们!
  • 日期和时间的课程
  • 文字的扫描仪
  • 依赖关系注入实用工具(因为Java6)
  • 计时器螺纹
  • 随机数字
  • 观察员的模式是存在的
  • Java性

java.util.jar - 帮助将.jar文件加载到我的应用程序插件的类加载器中!我喜欢它。

java.util.regex中

还有其他我不能没有的软件包,但正则表达式软件包必须位于“最大的java添加”的顶层。 - 绝对是收藏品。

我同意反思评论。到目前为止,Java API最有用/最强大的部分

回想我的Java时代,使用的最有趣的API是 java.util.concurrent ,只是因为它为并行处理提供了经过深思熟虑且易于使用的构建块。

一直

InheritableThreadLocal ! 只是有这么多机会写出混淆的代码和绳子让自己挂起来似乎永远不会用完。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top