刚好够Hadoop用的Java 我已经是C++开发者10年了。我需要为Hadoop学习Java。我怀疑我会在Java中做任何其他事情。所以,我想要一份我需要挑选的东西的清单。当然,我需要学习核心语言,但还有什么

刚好够Hadoop用的Java 我已经是C++开发者10年了。我需要为Hadoop学习Java。我怀疑我会在Java中做任何其他事情。所以,我想要一份我需要挑选的东西的清单。当然,我需要学习核心语言,但还有什么,java,hadoop,Java,Hadoop,我用谷歌搜索了一下,这可能是“我想学习Java,告诉我怎么做?”的翻版,但事实并非如此。Java是一种庞大的编程语言,有很多库,我需要学习的内容在很大程度上取决于我使用Hadoop的目的。但我想可以这样说,不要费心去学这个。这也将非常有用 是您所需要的一切的快速启动 我建议Eclipse(java)开始工作,请参见也许您甚至不需要了解java就可以使用Hadoop 从简单到高级的Hadoop使用已经足够了。大部分内容您应该非常熟悉。我只想下载eclipse和google教程网站。熟悉类加载、关键

我用谷歌搜索了一下,这可能是“我想学习Java,告诉我怎么做?”的翻版,但事实并非如此。Java是一种庞大的编程语言,有很多库,我需要学习的内容在很大程度上取决于我使用Hadoop的目的。但我想可以这样说,不要费心去学这个。这也将非常有用

是您所需要的一切的快速启动
我建议Eclipse(java)开始工作,请参见

也许您甚至不需要了解java就可以使用Hadoop


从简单到高级的Hadoop使用已经足够了。

大部分内容您应该非常熟悉。我只想下载eclipse和google教程网站。熟悉类加载、关键字。很多C++用户遇到的一个棘手问题是如何运行java应用程序,以便找到它的库类(类似于动态链接)。了解JRE和JDK之间的区别。如果你能得到一些hello World type应用程序,如果你遵循教程,你应该能够在Hadoop上开始。

因为C++和java有共同的根,核心语言不应该给你太多麻烦。您需要熟悉JavaSDK,特别是java.lang和Collections框架(java.util)


但是,如果你不在其他地方使用java,那么学习java可能是过火了。Hadoop还绑定到Python——也许学习Python是更好的选择

如果不了解标准API中的这些包,就无法真正使用Java:

java.lang
java.util
java.io
在较小程度上:

java.text
java.math
java.net
java.lang.reflect
java.util.concurrent
它们包含大量的类,您几乎需要在任何应用程序中经常使用这些类,最好仔细查看它们,直到您知道它们包含哪些类以及这些类的用途,以免您最终重新发明轮子。

学习“刚刚够用”的Java就是学习Java。要么你学习了所有的核心原则和语言设计决策,要么你一直在遭受容易避免的错误。考虑到您已经知道如何编程,可以浏览大量信息(注意它和您非常熟悉的其他语言的区别)

所以你需要学习:

  • 如何
  • 核心,
  • 如果您还没有一个构建框架,那么如何构建


    除此之外,几乎所有其他你可能需要学习的项目都在很大程度上取决于你打算做什么。不要打折,它们很好(与其他在线教程相比)。

    < Hadoop可以使用C++:

    我不知道你对其他高级编程语言有多熟悉。strong>垃圾收集是Java中的一个重要功能。在您选择的虚拟机中阅读一些关于GC的内容是很重要的

    除了明显的包装外,还可以查看以下包装:。您可能需要检查某些类的源代码。我建议
    HashMap
    了解这些操作的计算/内存成本

    Java在处理大量数据时喜欢使用而不是缓冲区。这可能需要一些时间来适应

    Java没有无符号类型。根据您需要立即处理的数据包的不同,您可以使用较大的变量和streight arythetics(如果我们谈论的是相对较小的数据包),或者每次读取(例如,无符号字节)时都必须
    (b[i]&0xff)
    。还要注意,Java在序列化多字节数时使用网络字节顺序(msbf)

    API最受欢迎的设计模式是Singleton、Decorator和Factory。检查JFC本身的源代码以获得最佳实践,以及这些模式是如何在该语言中实现的

    。。。你还可以在网站上发布更多具体问题:)

    • 别着急,学习Java可能会很困难 如果你已经知道了,那就快快乐乐吧 C++

      买这两本书:

    • JavaTM编程语言(第四版)Ken Arnold,James 戈斯林,戴维斯·霍姆斯
    • 有效Java(第二版),Joshua Bosh

    你很快就会掌握Java,你不会后悔的。java C++,java,我在我的日常工作中,花了一些时间帮助C++人员通过JNI(Java原生接口)来使用足够的Java来使用一些java库,然后将内存共享到他们的主要C++应用程序中。以下是我注意到的一些关键事项:

  • 没有IDE,您无法管理玩具项目之外的任何东西。您应该做的第一件事就是下载一个流行的JavaIDE(Eclipse是一个不错的选择,但也有其他选择,包括Netbeans和IntelliJ)。不要试图使用vi/emacs和javac/make进行管理你将生活在一个洞穴中,却没有意识到这一点。一旦你掌握了IDE的基本功能,你的生产力将是没有IDE的几十倍
  • 了解如何布局简单的项目结构和包。在Eclipse站点或其他地方将有一些简单的演练,介绍如何做到这一点。不要将任何东西放入默认包中
  • Java有一个类型系统,在该系统中,由于历史/性能原因,引用类型和基元类型相对独立
  • 泛型是模板>阅读“类型擦除”
  • 您可能希望了解Java的GC是如何工作的。只需谷歌“标记和扫描”-首先,你可以满足于最天真的心智模型,然后了解现代生产GC稍后将如何做的细节
  • 应该毫不拖延地学习Collections API的核心。Map/HashMap、List/ArrayList和Link