Java for software developers

I am a .NET developer (and have been for a while now). I work in an organization that was recently acquired by a large company whose main development language is Java. There are several .NET developers, but .NET's attitude towards Java has declined significantly now that the teams have merged.

Speaking, I decided it was better for me to start Java development. However, most of the books I've seen so far for "learning Java" all use a very simple approach (what is a class, OOP principles, etc. Etc.). I like this part of the development and don't need a primer (unless there are differences so deep that someone recommends the basics from a Java perspective ...).

In any case, I am looking for a recommendation on a book for Java development from the point of view of a software developer that discusses today's methods. For example, MVC architecture, the best examples of applications (I am a web developer, including web services), is it worth it to work with JSP or consider Ruby instead, etc.

A BIG bonus will be "learn through business." Something like Murachs, where I can go through a project from start to finish and easy enough about the basic principles that I don't bother. I hope to leave with sufficient basic knowledge to volunteer to participate in some internal projects and grow from there.

Sorry if my question is useless, but I try my best to find a starting point away from installing Eclipse (I do this on Ubuntu, deliberately avoiding Windows).

Thanks for any direction or understanding you can offer.

EDIT. After discussing with a colleague and reading Bert's wonderful proposal (they were all excellent, thank you all), it turns out that the main focus is on EE and Glassfish. They use NetBeans for development, as they are closely related to Glassfish.

This does not mean anything to me other than the fact that I think that parallel feedback is IIS / Web applications for Win32 applications. But perhaps this will help clarify some of the more open questions in my OP.

+7
source share
9 answers

Effective Java Josh Bloch

Perhaps he is not "learning", but in detail about how to effectively use the Java language.

I would then supplement it with Java Puzzlers by Josh Bloch and Neil Gafter

+21
source

Best to learn Spring based on your requirements:

MVC architecture, best practice application (I am a web developer, this includes web services), it is worth working with JSP or consider Ruby, etc. etc.

You can start by visiting SpringSource at http://www.springsource.org/

+3
source

There are a few points that I would like to make for you:

  • The main Java language is quite small and C-ish. As far as I understand, C # and Java work almost identically here.
  • The Java Runtime Library is VERY, VERY BIG and rather not like C #. Very few people know the whole Java 6 runtime library well.
  • For Java, there are several IDEs. You will want to learn the one used by the rest of the team.

I would suggest taking a lively walk through the Oracle Java Tutorial to get envious of the spirit and do some exercises, and then take a look at the general Java for C # cheat sheets on the Internet. Then do a lot of code, and then read Effective Java.

(For those who think they know Java 6 runtime well, consider whether you are familiar with RMI, the Javascript Rhino engine, and XPath in the XSLT implementation and everything else)

+2
source

Ruby doesn't make sense unless you write JRuby in a JVM.

If you are writing web applications, you need to know JSPs written using JSTL (the standard JSP tag library), servlets, HTML, CSS, and JavaScript. Download Tomcat from Apache - this is a servlet / JSP engine that allows you to locally localize local training applications. It has a built-in HTTP listener, so you do not need IIS or Apache.

You need to know how to create and deploy a web archive (WAR) file. This is a ZIP file that contains the standard format for a web application.

I would look at the docs of Tomcat's “first web application” to figure this out.

Once you succeed, come back and discuss the framework. (When you do this, I will recommend Spring.)

+1
source

Please view the following stream:

https://stackoverflow.com/questions/75102/best-java-book-you-have-read-so-far

+1
source

Here are some links that I like. I'm sure there are better ones, but there are those that I read, and I can vouch for:

Java in a nutshell is a classic summary of the core language. If you need more, there are books like Java for Programmers for programmers switching to Java (I haven't read them).

Sun Core servers and JavaServer pages were a good book for Java and JSP servlets. But keep in mind that a lot of web technologies are built on this (for example, Spring), so this may give you a basis, but not direct knowledge of the specific structure that you will use. Also many web technologies these days are client / JavaScript / AJAX -based, for example. JQuery

Regarding MVC, consider focusing on MVP. I played with the Google Web Toolkit to use my Java background to create client applications, but it is also a good way to get an idea of ​​MVP - read large-scale application development and MVP Part I and Part II and GWT MVP Development with actions and places . However, the GWT continues to evolve.

My last suggestion is that you narrow your attention - try to figure out which frameworks are popular at work and decide whether you want to focus on the level: front (e.g. HTML / CSS / jQuery), medium (e.g. Spring) or back-end (e.g. Hibernate). After you figure this out, post a more specific question (for example, what are the resources for learning XYZ).

+1
source

Just from my experience with java (limited, but I took a Web Dev course teaching JSP). Any decent technology for him is usually a third party. However, from what I can say when working with a web developer, I would use Netbeans, Netbeans has Tomcat built specifically in Ubuntu for easy debugging.

0
source

More about similar lines you can find answers to this post.

https://stackoverflow.com/questions/3820437/life-after-head-first-java/3820449#3820449

0
source

The Java landscape is quite wide, as you probably already understood.

There are hundreds of frameworks and tools that you can use to basically do the same. To get an idea, you can take a look at this presentation written by Matt Rydy, where he compares a number of Java web frameworks.

As someone suggested, you should take a final look at the Spring Framework. It is widely used in the world of enterprises. There are some good books about Spring. If you want to get the basics of Spring MVC in a tutorialized style, you can take a look at this book . It does not cover the latest version of Spring (3.0), and it is not an “ideal” book, but it should allow you to get the basics when running some examples. In addition, there are literally a thousand Spring-MVC tutorials on the Internet. For example, you can take a look at: http://www.adobocode.com/spring/a-spring-web-mvc-tutorial

RESTful services are also quite popular these days. I worked with the Resteasy framework from JBoss, and it was very easy for me to set up and work. This book explains the architecture of REST and uses Resteasy as the basis for examples.

I also recommended O'Reilly's Primary Design Templates . It covers the most important patterns using Java, and this will help you understand how the language can be used for patterns that you already know.

Another suggestion: you might think about “tuning” on Java TV . This is a great resource with hundreds of instructional videos in Java format. It covers a wide range of technologies, so you can find something for yourself.

0
source

All Articles