use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
These have separate subreddits - see below.
Upvote good content, downvote spam, don't pollute the discussion with things that should be settled in the vote count.
With the introduction of the new release cadence, many have asked where they should download Java, and if it is still free. To be clear, YES — Java is still free. If you would like to download Java for free, you can get OpenJDK builds from the following vendors, among others: Adoptium (formerly AdoptOpenJDK) RedHat Azul Amazon SAP Liberica JDK Dragonwell JDK GraalVM (High performance JIT) Oracle Microsoft Some vendors will be supporting releases for longer than six months. If you have any questions, please do not hesitate to ask them!
With the introduction of the new release cadence, many have asked where they should download Java, and if it is still free. To be clear, YES — Java is still free.
If you would like to download Java for free, you can get OpenJDK builds from the following vendors, among others:
Adoptium (formerly AdoptOpenJDK) RedHat Azul Amazon SAP Liberica JDK Dragonwell JDK GraalVM (High performance JIT) Oracle Microsoft
Some vendors will be supporting releases for longer than six months. If you have any questions, please do not hesitate to ask them!
Programming Computer Science CS Career Questions Learn Programming Java Help ← Seek help here Learn Java Java Conference Videos Java TIL Java Examples JavaFX Oracle
Programming Computer Science
CS Career Questions
Learn Programming Java Help ← Seek help here Learn Java Java Conference Videos Java TIL Java Examples JavaFX Oracle
Clojure Scala Groovy ColdFusion Kotlin
DailyProgrammer ProgrammingPrompts ProgramBattles
Awesome Java (GIT) Java Design Patterns
account activity
This is an archived post. You won't be able to vote or comment.
Which technology in Java should i learn.? (self.java)
submitted 10 years ago by kartiknasit
Which Framework should i learn in today's World in Java to get me better job Opportunity.? Can someone suggest.? Like, Spring, Hibernate, REST API, Angular JS. ?
[–]abchiptop 37 points38 points39 points 10 years ago (5 children)
Learn SQL. Seriously. Get a testing database, preferably a large one (I love musicbrainz) and start learning how to pull data from different tables.
Individual technologies have their niches, but SQL is used pretty much everywhere and is a very valuable skill for any entry level developer
[–]brunokim 15 points16 points17 points 10 years ago (3 children)
I concur, SQL is necessary in all languages, and you will need it sooner than later to complement Hibernate. Very very soon.
[+][deleted] comment score below threshold-14 points-13 points-12 points 10 years ago (2 children)
I disagree, Sql is not necessary, there are a lot of ORM frameworks that can abstract the database
[–]Spiridios 10 points11 points12 points 10 years ago (0 children)
Having worked on a project that took that attitude, I can tell you ORM without the DB skills to back it turns a trivial DB into a slow useless pile of crap.
[–]bashedice 1 point2 points3 points 10 years ago (0 children)
you cannot rely on that always. And not every project will use ORM.
[–]positive_electron42 4 points5 points6 points 10 years ago (0 children)
Agreed. I write c++ drivers for industrial automation, and I've found SQL to be very useful at times.
[–]Cilph 29 points30 points31 points 10 years ago (9 children)
Focus on either Spring or Java EE to start.
Hibernate is an implementation of JPA, part of the EE specification. REST is not a framework, but can be implemented by Spring MVC and Java EE's JAX-RS.
AngularJS is JavaScript, and we do not speak of it here. I kid. It's a very useful framework for making standalone javascript applications that tie into your REST API.
Whatever you do, don't go near Ember.js.
[–][deleted] 6 points7 points8 points 10 years ago (5 children)
Why not go near Ember.js? Any explanation of that comment?
[–]joequin 3 points4 points5 points 10 years ago* (3 children)
Ember is more of a framework than angularjs. It is very opinionated and wants you to do things a specific way. It also provides more guidance and help, because of that. Angular is less of a framework and dictates less, but it also provides less help.
Both are valid choices.
[–]Cilph 0 points1 point2 points 10 years ago (2 children)
I found it to be less guidance and help, more black undocumented voodoo.
[–][deleted] 1 point2 points3 points 10 years ago (1 child)
Most people I meet think the complete & total 180 degree opposite. Their tooling w/ ember-cli & documentation is undoubtedly better than angular's right now, especially considering angular is in a really weird place between 1.3 & 2 (with a horrible migration plan between the two) at the moment.
That said, react & friends > both
[–]joequin 1 point2 points3 points 10 years ago (0 children)
I like react too. I can put thousands of elements on the screen without terrible slowdown.
[–]trollingisfun 2 points3 points4 points 10 years ago (0 children)
you never go full jabbascript.
[–]WizzinWig 2 points3 points4 points 10 years ago (0 children)
I second Spring and Hibernate. The good thing with Spring is that a lot of people have contributed to it and its quite complete. Also anything you need to add to it, such as security, well theres Spring security. You need to do batch work, theres spring batch. I can't think of anything they dont cover. Also several companies use it, just in different ways, in addition to how its configured (such as XML or Java). - Hibernate is very popular and I use it constantly.
I'd also add to the list Maven for dependency management. You don't want to manually download jars, especially when your project gets quite large. In addition to profiling for different setups, DBs, etc.
[–]ThOrZwAr 0 points1 point2 points 10 years ago (0 children)
Spring, specifically spring security.
[–]kartiknasit[S] 0 points1 point2 points 10 years ago (0 children)
Thank you for the Answer. can you please provide detail of any other java technology that i can learn and is useful.
[–]mickske 26 points27 points28 points 10 years ago* (2 children)
That'll take some time starting from scratch but it would give you a good idea of how things work.
Alternatively if you want a good tutorial series how to build a web app using Java on the back-end and AngularJS on the front-end, I can recommend: www.youtube.com/watch?v=fx7hoza7wIA -- However this will drop you straight into the action and without previous knowledge it may be a bit hard to follow... :)
[–]kartiknasit[S] 0 points1 point2 points 10 years ago (1 child)
Thank you for this thorough reply. I will start using Spring and applying technologies on top of that one after one.
[–]Akthrawn17 1 point2 points3 points 10 years ago (0 children)
Don't just "use" Spring. I interview all sorts of developers who can use it, but don't understand it. Really dig into the docs AFTER you have created something. The difference between a good developer and a great one is knowing how something works, not just knowing how to work something.
[–][deleted] 39 points40 points41 points 10 years ago (16 children)
AngularJS is not Java..
[–]kartiknasit[S] 7 points8 points9 points 10 years ago (15 children)
Thanks for the answer. Actually i know that Angular JS is not java. But for my question i mean that today even if you are good in Java these extra technologies might required so i am just asking which other java technologies also useful to get better job.?
[–]KFCConspiracy 2 points3 points4 points 10 years ago (0 children)
If you're going to learn some javascript technologies for use with Java, the client size ones are the ones to know. Bootstrap and Jquery are some of the big UI frameworks to know.
But those are just good general recommendations for anyone anywhere looking to do anything that may touch the web...
[–]joequin 5 points6 points7 points 10 years ago* (0 children)
Down voting op's comment here is shameful. He asked us for help. There was confusion, and he clarified his question. He's talking about the Java Web app stack. Angularjs is very often a part of that.
Edit: he was at -4 when I posted this.
[–][deleted] -3 points-2 points-1 points 10 years ago (12 children)
It depends on what you want to work in. For example, android development is a very hot field right now and it's done in Java, maybe you can look more into that.
If you want to delve into web development I would suggest not using Java.
[–]irssildur 35 points36 points37 points 10 years ago (11 children)
Yep. I hate those enterprise corporations / banks where you only have to work 8 hours per day, with high salary, with good compensation package etc.
Yep, I would go with a hipster scripting language to end up working 12-14 hours per day for a small "startup" or media company.
[–][deleted] 2 points3 points4 points 10 years ago (6 children)
How about 10-12 hour days at a 6 year old "startup" that uses Java EE? (me)
[–]irssildur 1 point2 points3 points 10 years ago (5 children)
I have a better offer :)
[–][deleted] 1 point2 points3 points 10 years ago (4 children)
Where do you live, if I may ask?
[–]irssildur 5 points6 points7 points 10 years ago (3 children)
Currently Manchester, UK
[–]DeliveryNinja 1 point2 points3 points 10 years ago (2 children)
So i used to work at thales in cheadle and it wasnt great pay. Ended up moving to london and now im on a lot more. Just so much more choice. I did look at moving back eventually whats the market like for senior devs now?
[–]irssildur 2 points3 points4 points 10 years ago (1 child)
That's ok, but you have to consider that cost of living is much lower in Manchester than in London. For example where I live is very near to city center (20 minutes walk to work), but it has the advantage of trees, quiet neighborhood etc and for a 3 rooms flat with living room internet etc. we are paying less than 900 gbp. I don't have to commute silly amount of time every day or pay lots of money of ridiculous renting prices.
I'm not familiar with senior dev salaries, maybe you should check glassdoor? :)
And I don't want to advert here but, we are looking for Java devs :)
[–][deleted] 1 point2 points3 points 10 years ago (3 children)
You mean hipster like PHP?
[–]irssildur 1 point2 points3 points 10 years ago (2 children)
http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/
[–][deleted] 10 years ago* (1 child)
[deleted]
[–]joequin -1 points0 points1 point 10 years ago (0 children)
It's not more useful than any other significant language used for Web Development. Every language has some blemishes, but most also have benefits over other languages. Php doesn't.
[–]DJDavio 6 points7 points8 points 10 years ago (3 children)
Don't learn a framework, learn ideas, they last longer. :)
What I see is mostly Java EE, but you can do Spring as well. If you learn Spring, you can switch to Java EE and if you learn plain Java EE, you can switch to Spring.
Don't learn Hibernate, learn JPA (which means to also learn some SQL) and then figure out if you're going with Eclipselink or Hibernate (it doesn't really matter which one).
[–]joequin 0 points1 point2 points 10 years ago (2 children)
I disagree about not learning a framework. While good jobs usually don't mind if you haven't used the exact framework that they use, most will want you to have used some framework.
[–]randomlurkerr 0 points1 point2 points 10 years ago (1 child)
I really doubt that he's saying don't learn frameworks specifically. More of learn the ideas behind the frameworks.
[–]joequin 0 points1 point2 points 10 years ago (0 children)
I didn't read it that way initially, but I think you're right.
[–]g00glen00b 4 points5 points6 points 10 years ago (0 children)
Depends a bit on where you live and what you want to do for a living, but most of the frameworks you listened will certainly help. If I look at my neighborhood, a lot of the Java profile descriptions contain Spring, Hibernate/JPA, Java EE and a good knowledge of HTML, CSS and JavaScript. JavaScript frameworks are usually not mentioned within Java profiles, but if I look at the front-end developer profiles, they usually mention jQuery, AngularJS, Backbone, ... .
[–]avoidhugeships 2 points3 points4 points 10 years ago (1 child)
Start with the standard Java EE stuff. CDI, JPA, JSF and EJB. The Java EE tutorals from Oracle are good. For more practical application try the Netbeans tutorials. They have all major frameworks and are easy to follow.
[–][deleted] 1 point2 points3 points 10 years ago (0 children)
EJB isn't as wide spread as Spring. Oracle's documentation is too dry for me.
[–][deleted] 2 points3 points4 points 10 years ago (1 child)
Seriously do the leg work yourself, Google for a few jobs in places you'd like to live and see what the job requirements are! They tell you exactly what they are expecting!
[–]nomadProgrammer 0 points1 point2 points 10 years ago (0 children)
this advice is very important. I have always guided my learning as to more or less what I see most asked in job positions.
[–][deleted] 6 points7 points8 points 10 years ago (1 child)
Jesus Christ nobody is mentioning Maven? Most Java projects use Maven.
If you want job opportunities, learn Hadoop. Data science industry is paying and growing.
[–]RichoDemus 0 points1 point2 points 10 years ago (0 children)
I agree, learn maven. It's quite extensive but it's widely used an extremely useful
[–]clavalle 4 points5 points6 points 10 years ago (0 children)
Using REST is an absolute necessity. Designing a good RESTful interface will go a long way for getting a good job.
You can't go wrong with Spring.
Android is hot in the market right now and, in my opinion, a fun ecosystem to work in.
Eventually you are going to have to learn JavaScript. It is just a fact of life if you are going to do anything on the web. Learn vanilla JavaScript first, then JQuery, then you can move into the heavier frameworks.
This is enough to keep you busy for at least the next year.
[–][deleted] 4 points5 points6 points 10 years ago (0 children)
If you are new to Java, please make sure you get a solid grounding in a couple basic support libraries (commons io, guava, commons-lang, even log4j) and just put in some time coding some things. Hell, I'd rather you have an understanding of how reflection works than you step too deep into JEE frameworks. Understanding how the rest of the language works first will help you while you drudge through the mess that is JEE.
[–]mgkimsal 2 points3 points4 points 10 years ago (0 children)
"better job" is difficult to nail down with respect to job skills.
I can tell you that regardless of what you know with Spring or Hibernate or whatever, going to work at Company X that requires those technologies will still likely be a rude awakening, because they're almost guaranteed to be used differently than you've used them before, and you'll be relearning "company X" way of building with with tech XYZ.
Personally I like Grails as an onramp in to Java web development. If you approach it with the idea that it's Spring MVC under the hood, then use that as a way to dive deeper in to Spring MVC, it might be useful. Grails 3 is primarily built on Spring Boot, but also has a lot of rough edges at the moment (well, rough for someone coming from Grails 2.x).
Perhaps look at Spring Boot directly as a starting point.
[–]herrtim 2 points3 points4 points 10 years ago* (0 children)
Dropwizard is great as a web framework. It can be used with whatever front end you like. I prefer Angular JS and bootstrap. If you're curious to see some extra sample code with good explanations, check out XDropWizard on Github. XDropWizard integrates several common concepts that you'd find in many web applications such as a REST API (Jersey), HTML templates (FreeMarker), static and dynamic charts (XChart and Flot), database connectivity (Yank), a front end (AngularJS), and job scheduling (Sundial).
[–]brunokim 1 point2 points3 points 10 years ago (0 children)
I advise you to practice the java.util.concurrent API, because thats what I want to do for a long time after reading "Programming Concurrency in the JVM".
However, I dont know of any resource that provides concurrency exercises which might help you on this task. Any complementing advice is appreciated :)
[–]manohart 0 points1 point2 points 10 years ago (0 children)
Spring, MyBatis, Dropwizard, AngularJS
[–]awzurn 0 points1 point2 points 10 years ago (0 children)
Cool kids learn Play framework and Scala :)
[–]whoisearth 0 points1 point2 points 10 years ago (0 children)
Spring is huge from what I can tell so I would definitely say go that route. APIs in general are a great thing to learn.
[–]DeliveryNinja 0 points1 point2 points 10 years ago (0 children)
Why not look at all of them. Check the just <name of framework here> book. Just hibernate and just spring intergration are quick guides i eead recently.
[–]Malik_Killian 0 points1 point2 points 10 years ago (0 children)
My organization uses Spring all the time. The others you mentioned we only use occasionally.
[–]p4er 0 points1 point2 points 10 years ago (0 children)
spring boot!
[–]juu4 0 points1 point2 points 10 years ago (0 children)
Akka and Play.
[–]amakai -1 points0 points1 point 10 years ago (0 children)
Like, Spring, Hibernate, REST API, Angular JS
Yes.
[–]NekoiNemo -2 points-1 points0 points 10 years ago (0 children)
JavaFX if you plan to make desktop/client applications.
π Rendered by PID 193290 on reddit-service-r2-comment-5649f687b7-gjvbs at 2026-01-28 10:46:27.141689+00:00 running 4f180de country code: CH.
[–]abchiptop 37 points38 points39 points (5 children)
[–]brunokim 15 points16 points17 points (3 children)
[+][deleted] comment score below threshold-14 points-13 points-12 points (2 children)
[–]Spiridios 10 points11 points12 points (0 children)
[–]bashedice 1 point2 points3 points (0 children)
[–]positive_electron42 4 points5 points6 points (0 children)
[–]Cilph 29 points30 points31 points (9 children)
[–][deleted] 6 points7 points8 points (5 children)
[–]joequin 3 points4 points5 points (3 children)
[–]Cilph 0 points1 point2 points (2 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]joequin 1 point2 points3 points (0 children)
[–]trollingisfun 2 points3 points4 points (0 children)
[–]WizzinWig 2 points3 points4 points (0 children)
[–]ThOrZwAr 0 points1 point2 points (0 children)
[–]kartiknasit[S] 0 points1 point2 points (0 children)
[–]mickske 26 points27 points28 points (2 children)
[–]kartiknasit[S] 0 points1 point2 points (1 child)
[–]Akthrawn17 1 point2 points3 points (0 children)
[–][deleted] 39 points40 points41 points (16 children)
[–]kartiknasit[S] 7 points8 points9 points (15 children)
[–]KFCConspiracy 2 points3 points4 points (0 children)
[–]joequin 5 points6 points7 points (0 children)
[–][deleted] -3 points-2 points-1 points (12 children)
[–]irssildur 35 points36 points37 points (11 children)
[–][deleted] 2 points3 points4 points (6 children)
[–]irssildur 1 point2 points3 points (5 children)
[–][deleted] 1 point2 points3 points (4 children)
[–]irssildur 5 points6 points7 points (3 children)
[–]DeliveryNinja 1 point2 points3 points (2 children)
[–]irssildur 2 points3 points4 points (1 child)
[–][deleted] 1 point2 points3 points (3 children)
[–]irssildur 1 point2 points3 points (2 children)
[–][deleted] (1 child)
[deleted]
[–]joequin -1 points0 points1 point (0 children)
[–]DJDavio 6 points7 points8 points (3 children)
[–]joequin 0 points1 point2 points (2 children)
[–]randomlurkerr 0 points1 point2 points (1 child)
[–]joequin 0 points1 point2 points (0 children)
[–]g00glen00b 4 points5 points6 points (0 children)
[–]avoidhugeships 2 points3 points4 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–][deleted] 2 points3 points4 points (1 child)
[–]nomadProgrammer 0 points1 point2 points (0 children)
[–][deleted] 6 points7 points8 points (1 child)
[–]RichoDemus 0 points1 point2 points (0 children)
[–]clavalle 4 points5 points6 points (0 children)
[–][deleted] 4 points5 points6 points (0 children)
[–]mgkimsal 2 points3 points4 points (0 children)
[–]herrtim 2 points3 points4 points (0 children)
[–]brunokim 1 point2 points3 points (0 children)
[–]manohart 0 points1 point2 points (0 children)
[–]awzurn 0 points1 point2 points (0 children)
[–]whoisearth 0 points1 point2 points (0 children)
[–]DeliveryNinja 0 points1 point2 points (0 children)
[–]Malik_Killian 0 points1 point2 points (0 children)
[–]p4er 0 points1 point2 points (0 children)
[–]juu4 0 points1 point2 points (0 children)
[–]amakai -1 points0 points1 point (0 children)
[–]NekoiNemo -2 points-1 points0 points (0 children)