我应该了解 Java 开发堆栈的哪些组件?

发布于 2024-10-06 00:42:17 字数 596 浏览 3 评论 0原文

我对 Java 开发的了解相当有限。我遇到了以下相当令人畏惧的组件/工具/框架列表,被描述为“相当典型的 Java 堆栈”。我会去调查这些,但是我的清单上还应该有什么需要了解的事情呢?以下组件的替代品或未包含在此列表中的其他组件类型。

我的主要目的是进行一些 Scala 开发,但实际上涉及到与 Java 的大量交互。

  • Wicket
  • Hibernate (JPA)
  • Atomikos (JTA)
  • Terracotta
  • Wicket-Push (Cometd)
  • Dojo
  • AspectJ
  • XStream
  • TestNG
  • DBUnit
  • EasyMock
  • MySQL
  • Jetty
  • Maven
  • Hudson

编辑:当我说“了解”时,现在,我并不是说深入了解它们以及如何了解它们与他们一起发展。我的意思是,我应该了解它们、它们的用途,并认识到何时应该考虑使用它们。因此,我有兴趣了解所有常见的工具/技术/框架,以便我可以初步研究它们。

I have a fairly limited knowledge of Java development. I came across the following, rather daunting, list of components/tools/frameworks of what was described as a "fairly typical Java stack". I will go off and investigate these, but what else should be on my list of things to know something about? Either alternatives for the below, or additional component types not included in this list.

My main intent is to do some Scala development, but in practice that involves a lot of interaction with Java.

  • Wicket
  • Hibernate (JPA)
  • Atomikos (JTA)
  • Terracotta
  • Wicket-Push (Cometd)
  • Dojo
  • AspectJ
  • XStream
  • TestNG
  • DBUnit
  • EasyMock
  • MySQL
  • Jetty
  • Maven
  • Hudson

EDIT: When I say "know about", for now, I don't mean know them in depth and how to develop with them. I mean that I should be aware of them, what they are for, and recognise when I should be considering using them. So I'm interested in hearing about all the common tools/technoloogies/frameworks so that I can investigate them to this initial degree.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

你的背包 2024-10-13 00:42:17

这是一个相当大的技术集合,用于全面的服务器公园 Web 应用程序。

我建议您首先关注核心 Java 运行时并学好它,因为这是所有其他技术最终构建于其之上的。


编辑:由于您的重点是技术,我建议您首先学习如何在 Java EE 6 服务器(例如 GlassFish v3)中编写和部署 Scala 程序,我认为这相当不错。原因很简单 - 您列出的所有技术都是单独的实体,需要将它们组合在一起才能工作。通过使用 Java EE 服务器,您可以在单个包中获得许多功能,因此您可以推迟实际的修改,直到您更加熟悉基于 Java 的 Web 平台上的 Scala 环境。

当您从“我已经编写了一个 Scala 程序”到“我已经编写了一个 Scala 程序并将其部署到我的生产 Java EE 服务器(我可以在此网页中看到)”时,您实际上已经完成了一个不平凡的部分工作。

THis is a rather large assembly of technologies for a full-scale server-park web application.

I would suggest you focus on the core Java runtime and learn it well first, since that is what all the others technologies build on top of eventually.


EDIT: As your focus is on the technologies, I would suggest that you initially learn how to write and deploy Scala programs in a Java EE 6 Server like GlassFish v3 which I think is rather nice. The reason for this is simple - all the technologies you list are separate entities which need to be brought together in order to work. You can get much of the functionality in a single package by using a Java EE server, so you can postpone the actual tinkering until you are more familiar with the Scala environment on a Java-based web platform.

When you have gotten from "I've written a Scala program" to "I've written and deployed a Scala program to my production Java EE server which I can see in this web page" you have actually accomplished a non-trivial piece of work.

寄居人 2024-10-13 00:42:17

我只会评论使用我自己使用过的技术

  • Hibernate (JPA) —— 这个框架允许您轻松地将关系数据库记录用作普通的旧 java 对象
  • Dojo —— 用于轻松客户端操作的 Javascript 库。如果您主要进行服务器端开发,那么您通常不需要担心这一点。
  • AspectJ——针对横切需求的面向方面编程的实现。这是一个很深的兔子洞。这允许您以函数方式与 java 代码交互。
  • DBUnit——我只用它作为一个工具来预加载带有一堆测试记录的数据库
  • EasyMock——测试库,它允许您轻松地专注于对单个功能进行单元测试
  • MySQL——标准 RDMS
  • Jetty -- Servlet 容器的纯 Java 实现。非常适合快速开发。
  • Maven——用于管理项目依赖关系和构建/部署项目的构建工具

I'll only comment on using the technologies I've used myself

  • Hibernate (JPA) -- This framework allows you to easily work with Relational Database Records as plain old java objects
  • Dojo -- Javascript library for easy client-side manipulation. If you are doing mostly server-side development you mostly don't need to worry about this.
  • AspectJ -- Implementation of Aspect-Oriented Programming for cross-cutting needs. This is a deep rabbit hole. That allows you to interact with java code in functional way.
  • DBUnit -- I've only used this as a tool for pre-loading a database with a bunch of test-records
  • EasyMock -- Testing Library which allows you to focus on unit-testing single pieces of functionality easily
  • MySQL -- Standard RDMS
  • Jetty -- a pure java implementation of a servlet container. Great for quick development.
  • Maven -- A build tool for managing the dependencies of your project and building/deploying your project
旧竹 2024-10-13 00:42:17

将您的清单放在积压工作中,并从功能强大的 IDE(eclipse 或 netbeans)开始。

我认为首先要添加的是日志框架(log4j)和测试框架(jUnit 或 TestNG)。对于构建 - 我建议在转向 Maven 之前首先查看 ant。

Hudson 很棒,但只有在您也使用版本控制、问题跟踪器和构建工具时才有意义(在我看来)。

Put your list on the backlog and start with a powerful IDE (eclipse or netbeans).

First things to add, to my opinion, are a logging framework (log4j) and a testing framework (jUnit or TestNG). For building - I'd recommend looking at ant first before moving to maven.

Hudson is great but it only makes sense (to my opinion) if you use version control, issue tracker and building tools too.

断爱 2024-10-13 00:42:17

我认为自己是一名 Java 开发人员,并且您的列表中恰好有一项是我实际使用过的 (XStream)。此外,我还知道其他 5 个项目,但其中大多数我从未听说过。

我认为 http://download.oracle.com/ 上的内容当涉及“相当典型的 Java 堆栈”时,javase/7/docs/api/overview-summary.html 排在其他人之前。如果您不知道标准运行时中已有哪些框架,那么您如何知道需要哪些附加框架?大约有 40000 个类需要了解。每天学十个,十年后你就会掌握基础知识:-)

I consider myself a Java developer, and there's exactly one item in your list that I've actually used (XStream). Additionally I'm aware of about other 5 items, but most of them I've never heard about.

I think the stuff at http://download.oracle.com/javase/7/docs/api/overview-summary.html comes before others when a "fairly typical Java stack" is concerned. How can you know what additional framework pieces you need, if you don't know what you already have in the standard runtime? There's about 40000 classes to know about. Learn ten per day, and you'll master the basics in 10 years :-)

任性一次 2024-10-13 00:42:17
  • Smack API - 良好的 XMPP 协议 API
  • Saxon - XSLT 处理器
  • Spring Framework - Web 开发平台
  • PostgreSQL - 很棒的 RDBMS :)
  • Java.NIO
  • .....

还有很多很多。

  • Smack API - good XMPP protocol API
  • Saxon - XSLT processor
  • Spring Framework - web-dev platform
  • PostgreSQL - great RDBMS :)
  • Java.NIO
  • .....

And many, many more.

等数载,海棠开 2024-10-13 00:42:17

至少你缺少:

  • EJB
  • JMS
  • JAXWS

At least you're missing:

  • EJB
  • JMS
  • JAXWS
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文