Java logo

Java

A concurrent, class-based, object-oriented, language specifically designed to have as few implementation dependencies as possible
91.6K
68.3K
+ 1
3.6K

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
9937 companies reportedly use Java in their tech stacks, including Uber, Airbnb, and Google.

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

Java Integrations

Docker, IntelliJ IDEA, Android SDK, Spring Boot, and Sentry are some of the popular tools that integrate with Java. Here's a list of all 348 tools that integrate with Java.
Pros of Java
582
Great libraries
439
Widely used
398
Excellent tooling
385
Huge amount of documentation available
330
Large pool of developers available
203
Open source
199
Excellent performance
154
Great development
148
Vast array of 3rd party libraries
147
Used for android
59
Compiled Language
49
Used for Web
46
Managed memory
44
Native threads
44
High Performance
41
Statically typed
35
Easy to read
33
Great Community
29
Reliable platform
24
JVM compatibility
24
Sturdy garbage collection
21
Cross Platform Enterprise Integration
20
Universal platform
20
Good amount of APIs
18
Great Support
13
Great ecosystem
11
Lots of boilerplate
11
Backward compatible
10
Everywhere
9
Excellent SDK - JDK
7
Static typing
6
Long term language
6
Better than Ruby
6
Mature language thus stable systems
6
Portability
6
Cross-platform
6
It's Java
5
Vast Collections Library
5
Used for Android development
5
Clojure
4
Most developers favorite
4
Old tech
3
Best martial for design
3
Great Structure
3
Testable
3
Javadoc
3
Stable platform, which many new languages depend on
2
History
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 · | 14 upvotes · 2M 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 · | 27 upvotes · 1.2M 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
Omilegan Daniel
Application Developer at FlexSystems Infotech Solutions · | 3 upvotes · 97K views

I'm a C# .NET Core developer. As mobile app development sells more, I hope to upgrade my career to a mobile app developer. I'm looking at Xamarin Forms or Java. What would you advise?

Thanks

See more
Shared insights
on
JavaJavaAngularJSAngularJSReactReact

I am looking to develop a web application in Java. I want to use a front-end framework for the front-end design, and I am not sure which one to use. For this use case, would you choose to use React or AngularJS? Are there any other frameworks that are easy to learn and have useful features?

See more
Shared insights
on
JavaJavaRubyRubyRustRust

Do I choose Rust over Ruby or Java?

Want to try some lower level, highly efficient language. Should I choose Rust over Ruby? I have Java experience and some experience with Ruby.

See more
Shared insights
on
JavaJavaFlutterFlutter

Hi everyone! I'm going to work on my FYP soon, and I was wondering which language is the most suitable for making a mobile app? I'm considering Flutter as I have tried it before in mobile development, but I'm more familiar with Java as it was taught in university for system development.

See more

Blog Posts

Oct 24 2019 at 7:43PM

AppSignal

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

Segment

PythonJavaAmazon S3+16
5
2146
Jul 16 2019 at 9:19PM

Bugsnag

JavaAndroid SDKBugsnag+3
3
254
GitHubPythonNode.js+47
50
69460

Java Alternatives & Comparisons

What are some alternatives to Java?
C
Abstract
Abstract builds upon and extends the stable technology of Git to host and manage your work.
Go
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
68338 developers follow Java to keep up with related blogs and decisions.