代码之家  ›  专栏  ›  技术社区  ›  Rich

在Android开发环境下学习.Net开发人员的高级Java概念、技术、框架、内部结构等?

  •  3
  • Rich  · 技术社区  · 15 年前

    我在许多不同的环境中专业地使用.Net,因此我很容易阅读新框架、运行时内部结构、高级技术/设计,并将它们付诸使用和理解。在Java世界,我的经验有限,现在我只在Android开发中使用它。我已经能够很好地学习这门语言来构建我正在寻找的功能,但是我想更多地了解Java人所认同的良好实践和设计,无论大家使用的是什么现代框架,更多地了解VM的内部结构,以及我的编程选择如何影响代码的编译和执行。

    我正在寻找的.Net世界的例子有

    1. 有一系列叫做“有效的C”的书,每本书概述了50项对你的编程风格的细微改变,以及它们如何使你的代码在特定的场景中更干净、更高效。
    2. 托管可扩展性框架是微软的一个新框架,它通过在两端公开扩展点来编写可扩展应用程序和可插入库

    1 回复  |  直到 15 年前
        1
  •  5
  •   Edwin Buck    15 年前

    还有一本书叫《有效的Java》。

    Java中有不同种类的数据绑定。最高级的是对象模型,如JDO、JPA等。它们基本上使用映射将数据从对象移动到表,而且您从不直接接触数据库,因为数据库是透明处理的。另一种是典型的“对象绑定到行”技术,JDO就是一个很好的例子。最后是直接处理数据库,您可以使用JDBC。使用最适合您的代码逻辑的工具。

    听起来“托管可扩展性框架”是J2EE服务器概念的微妙复制。在过去的十年中,J2EE至少经历了三次主要的修改。如果您想使用J2EE,请记住它为包装器(称为“容器”)中的项提供服务。这意味着您必须调整代码以满足容器服务协议的要求。有一点前期学习涉及,但一旦你了解了环境,这并不难。您也不需要使用整个J2EE环境,您可以将自己的解决方案嵌入到J2EE服务器提供的解决方案中。这是一个挑选式的安排,珍贵的小是强迫你。

    J2EE还描述了许多可能独立于J2EE服务器的公司技术,因此如果您不喜欢J2EE环境(无论出于什么原因),您可以始终包含JAR文件并使用没有J2EE服务器的库。

    有些人认为最初的J2EE服务器限制性太强,所以您有一个几乎是J2EE服务器的Spring。j2eeweb容器在Java中很早就出现了,因此您可以获得“仅限web容器”的服务器,如Tomcat或Jetty。

    对于Java,可能有更多关于垃圾收集器的文档,但是您必须少处理它的行为。Java的垃圾收集器通常表现得更好,而且它不必处理指针支持,这在一定程度上使.net的垃圾收集器成为您不时需要处理的东西。

    也就是说,取消引用任何你想收集的东西。如果逻辑将项作为缓存存储在HashMap中,请考虑使用SoftReferences,这在垃圾收集中不会被视为引用。Java没有引用计数,所以不要担心循环引用,您可以取消引用一个循环,它们都将被收集。

    玩得高兴!在爪哇岛有很多你可能已经习惯的选择;然而,许多最流行的Java工具都已经移植到了.net平台上,因此您不会发现整个环境都是陌生的。

    推荐文章