TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: I've been away from Java for 10 years. How do I get back?

3 点作者 jozi9超过 7 年前
I did Java for 5 years and left right before Generics was introduced, things were mainly JBoss, J2EE, Struts. Spring started gaining momentum. Since then I did 7 years of project management, and 3 years of python&#x2F;django lately.<p>Basically I want to get back in the game and be able to jump in a mid level Java position and work effectively. I&#x27;m interested in language recap and top 5 current frameworks used, etc. Preferred format is books, maybe moocs, and of course I want to spend the least amount of time for the optimal result.<p>I really appreciate it, thanks!

2 条评论

mindcrime超过 7 年前
Wow, that&#x27;s actually kinda tough to answer. There&#x27;s been a LOT of changes in the Java world in the last 10 years - as you might guess. And I mean both in terms of the language itself, and the tooling and ecosystem as far as libraries and frameworks, etc.<p>The answer also depends a bit on what exactly you want to do. If you&#x27;re mainly interested in web apps, it&#x27;s one thing, &quot;big data&quot; is another world altogether, mobile (Android) has its own ecosystem, etc.<p>All of that said, here are some thoughts:<p>Generics and the newer Collections related stuff is one area that changed a lot. There&#x27;s online documentation at:<p><a href="https:&#x2F;&#x2F;docs.oracle.com&#x2F;javase&#x2F;tutorial&#x2F;java&#x2F;generics&#x2F;index.html" rel="nofollow">https:&#x2F;&#x2F;docs.oracle.com&#x2F;javase&#x2F;tutorial&#x2F;java&#x2F;generics&#x2F;index....</a><p><a href="https:&#x2F;&#x2F;docs.oracle.com&#x2F;javase&#x2F;tutorial&#x2F;java&#x2F;generics&#x2F;types.html" rel="nofollow">https:&#x2F;&#x2F;docs.oracle.com&#x2F;javase&#x2F;tutorial&#x2F;java&#x2F;generics&#x2F;types....</a><p>and a decent, if somewhat older, book is <a href="http:&#x2F;&#x2F;shop.oreilly.com&#x2F;product&#x2F;9780596527754.do" rel="nofollow">http:&#x2F;&#x2F;shop.oreilly.com&#x2F;product&#x2F;9780596527754.do</a><p>Then there&#x27;s the newer concurrency stuff that came along in the Java 5 &#x2F; Java 6 era. Fork&#x2F;Join, Executors, etc. <i>Java Concurrency In Practice</i> should still be useful to you, even though it is, again, a little bit dated now.<p><a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;Java-Concurrency-Practice-Brian-Goetz&#x2F;dp&#x2F;0321349601" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;Java-Concurrency-Practice-Brian-Goetz...</a><p>To get started with the Java 8 stuff, a book like &quot;Java 8 in Action&quot; would be good.<p><a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;Java-Action-Lambdas-functional-style-programming&#x2F;dp&#x2F;1617291994&#x2F;ref=pd_lpo_sbs_14_t_1?_encoding=UTF8&amp;psc=1&amp;refRID=977J2A16G5NXN92BF98Y" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;Java-Action-Lambdas-functional-style-...</a><p>Another good intro the Java 8 era stuff is<p><a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;Beginning-Java-Language-Features-Expressions&#x2F;dp&#x2F;1430266589&#x2F;ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1506814235&amp;sr=1-1&amp;keywords=java+8+language+features" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;Beginning-Java-Language-Features-Expr...</a><p>And to make it even harder, Java 9 just dropped, so there&#x27;s even more new stuff. I just picked up this book myself, but haven&#x27;t had a lot of time to dig into it yet.<p><a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;Java-Programmers-4th-Deitel-Developer&#x2F;dp&#x2F;0134777565&#x2F;ref=sr_1_3?s=books&amp;ie=UTF8&amp;qid=1506815511&amp;sr=1-3&amp;keywords=java+9" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;Java-Programmers-4th-Deitel-Developer...</a><p>For frameworks, Spring and Hibernate are both still popular and it wouldn&#x27;t hurt to brush up on both of those. Spring Boot in particular has caught on for a lot of Java developers.<p><a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;Spring-Boot-Action-Craig-Walls&#x2F;dp&#x2F;1617292540&#x2F;ref=pd_sim_14_4?_encoding=UTF8&amp;psc=1&amp;refRID=G9H7ATH8VD44YQ2017PM" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;Spring-Boot-Action-Craig-Walls&#x2F;dp&#x2F;161...</a><p>Also, Tomcat is still very popular for hosting java Web applications and services of various sorts. JBoss &#x2F; Wildfly is still around, but JEE (as J2EE is now known) is not as popular as in the past (even though it has actually improved a LOT).<p>Play and Dropwizard are two more frameworks you might want to familiarize yourself with<p><a href="https:&#x2F;&#x2F;www.playframework.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.playframework.com&#x2F;</a><p><a href="http:&#x2F;&#x2F;www.dropwizard.io&#x2F;1.1.4&#x2F;docs&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.dropwizard.io&#x2F;1.1.4&#x2F;docs&#x2F;</a><p>In terms of tools, Eclipse is still popular, IntelliJ is probably the most popular Java IDE these days, and Netbeans seems to have faded from view a bit. Ant has fallen out of favour for builds, with most devs now using either Maven or Gradle. Read up on &#x2F; play around with both of those and you&#x27;ll be in good shape there.<p>Also, Java shops have also been affected by the overall move to &quot;The Cloud&quot; and you can&#x27;t really ignore that either. If you haven&#x27;t already, you&#x27;ll probably want to familiarize yourself with AWS and the AWS SDK.<p>If you want to work&#x2F;play in the &quot;big data&quot; space, you&#x27;ll need some combination of Hadoop, Kafka, Spark, Hive, Storm, Flume, HBase, Impala, etc., etc., etc.
评论 #15375700 未加载
trexen超过 7 年前
Become a Kotlin expert.
评论 #15375597 未加载