Java logo

Java

A concurrent, class-based, object-oriented, language specifically designed to have as few implementation dependencies as possible
141.2K
99.2K
+ 1
3.7K

What is Java?

Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!
Java is a tool in the Languages category of a tech stack.

Who uses Java?

Companies
10511 companies reportedly use Java in their tech stacks, including Uber, Airbnb, and Google.

Developers
108936 developers on StackShare have stated that they use Java.

Java Integrations

Docker, IntelliJ IDEA, Spring Boot, Android SDK, and Sentry are some of the popular tools that integrate with Java. Here's a list of all 444 tools that integrate with Java.
Pros of Java
599
Great libraries
445
Widely used
400
Excellent tooling
395
Huge amount of documentation available
334
Large pool of developers available
208
Open source
202
Excellent performance
157
Great development
150
Used for android
148
Vast array of 3rd party libraries
60
Compiled Language
52
Used for Web
46
High Performance
46
Managed memory
44
Native threads
43
Statically typed
35
Easy to read
33
Great Community
29
Reliable platform
24
Sturdy garbage collection
24
JVM compatibility
22
Cross Platform Enterprise Integration
20
Universal platform
20
Good amount of APIs
18
Great Support
14
Great ecosystem
11
Backward compatible
11
Lots of boilerplate
10
Everywhere
9
Excellent SDK - JDK
7
It's Java
7
Cross-platform
7
Static typing
6
Mature language thus stable systems
6
Better than Ruby
6
Long term language
6
Portability
5
Clojure
5
Vast Collections Library
5
Used for Android development
4
Most developers favorite
4
Old tech
3
History
3
Great Structure
3
Stable platform, which many new languages depend on
3
Javadoc
3
Testable
3
Best martial for design
2
Type Safe
2
Faster than python
0
Job
Decisions about Java

Here are some stack decisions, common use cases and reviews by companies and developers who chose Java in their tech stack.

Praveen Mooli
Engineering Manager at Taylor and Francis · | 18 upvotes · 3.7M views

We are in the process of building a modern content platform to deliver our content through various channels. We decided to go with Microservices architecture as we wanted scale. Microservice architecture style is an approach to developing an application as a suite of small independently deployable services built around specific business capabilities. You can gain modularity, extensive parallelism and cost-effective scaling by deploying services across many distributed servers. Microservices modularity facilitates independent updates/deployments, and helps to avoid single point of failure, which can help prevent large-scale outages. We also decided to use Event Driven Architecture pattern which is a popular distributed asynchronous architecture pattern used to produce highly scalable applications. The event-driven architecture is made up of highly decoupled, single-purpose event processing components that asynchronously receive and process events.

To build our #Backend capabilities we decided to use the following: 1. #Microservices - Java with Spring Boot , Node.js with ExpressJS and Python with Flask 2. #Eventsourcingframework - Amazon Kinesis , Amazon Kinesis Firehose , Amazon SNS , Amazon SQS, AWS Lambda 3. #Data - Amazon RDS , Amazon DynamoDB , Amazon S3 , MongoDB Atlas

To build #Webapps we decided to use Angular 2 with RxJS

#Devops - GitHub , Travis CI , Terraform , Docker , Serverless

See more
Kamil Kowalski
Lead Architect at Fresha · | 28 upvotes · 3.8M views

When you think about test automation, it’s crucial to make it everyone’s responsibility (not just QA Engineers'). We started with Selenium and Java, but with our platform revolving around Ruby, Elixir and JavaScript, QA Engineers were left alone to automate tests. Cypress was the answer, as we could switch to JS and simply involve more people from day one. There's a downside too, as it meant testing on Chrome only, but that was "good enough" for us + if really needed we can always cover some specific cases in a different way.

See more
Jakub Olan
Node.js Software Engineer · | 17 upvotes · 615.5K views

In our company we have think a lot about languages that we're willing to use, there we have considering Java, Python and C++ . All of there languages are old and well developed at fact but that's not ideology of araclx. We've choose a edge technologies such as Node.js , Rust , Kotlin and Go as our programming languages which is some kind of fun. Node.js is one of biggest trends of 2019, same for Go. We want to grow in our company with growth of languages we have choose, and probably when we would choose Java that would be almost impossible because larger languages move on today's market slower, and cannot have big changes.

See more
Shivam Bhargava
AVP - Business at VAYUZ Technologies Pvt. Ltd. · | 22 upvotes · 694.3K views
Needs advice
on
Node.jsNode.jsPythonPython
and
RailsRails

Hi Community! Trust everyone is keeping safe. I am exploring the idea of building a #Neobank (App) with end-to-end banking capabilities. In the process of exploring this space, I have come across multiple Apps (N26, Revolut, Monese, etc) and explored their stacks in detail. The confusion remains to be the Backend Tech to be used?

What would you go with considering all of the languages such as Node.js Java Rails Python are suggested by some person or the other. As a general trend, I have noticed the usage of Node with React on the front or Node with a combination of Kotlin and Swift. Please suggest what would be the right approach!

See more
Saurav Pandit
Application Devloper at Bny Mellon · | 9 upvotes · 216.7K views

I have just started learning Python 3 week back. I want to create REST api using python. The api will be use to save form data in Oracle database. The front end is using AngularJS 8 with Angular Material. In python there are so many framework for developing REST ** I am looking for some suggestions which REST framework to choose? ** Here are some feature I am looking for * Easy integration and unit testing like in Angular we just run command. * Code packageing, like in Java maven project we can build and package. I am looking for something which I can push in artifactory and deploy whole code as package. *Support for swagger/ OpenAPI * Support for JSON Web Token * Support for testcase coverage report Framework can have feature included or can be available by extension.

See more
Needs advice
on
AngularJSAngularJSReactReact
and
Vue.jsVue.js

What is the best MVC stack to build mobile-friendly, light-weight, and fast single-page application with Spring Boot as back-end (Java)? Is Bootstrap still required to front-end layer these days?

The idea is to host on-premise initially with the potential to move to the cloud. Which combo would have minimal developer ramp-up time and low long-term maintenance costs (BAU support)?

See more

Blog Posts

Oct 24 2019 at 7:43PM

AppSignal

JavaScriptNode.jsJava+8
5
945
Aug 28 2019 at 3:10AM

Segment

PythonJavaAmazon S3+16
7
2549
Jul 16 2019 at 9:19PM

Bugsnag

JavaAndroid SDKBugsnag+3
3
418

Java Alternatives & Comparisons

What are some alternatives to Java?
C lang
Abstract
Abstract builds upon and extends the stable technology of Git to host and manage your work.
Golang
Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.
Python
Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
Scala
Scala is an acronym for “Scalable Language”. This means that Scala grows with you. You can play with it by typing one-line expressions and observing the results. But you can also rely on it for large mission critical systems, as many companies, including Twitter, LinkedIn, or Intel do. To some, Scala feels like a scripting language. Its syntax is concise and low ceremony; its types get out of the way because the compiler can infer them.
See all alternatives

Java's Followers
99110 developers follow Java to keep up with related blogs and decisions.