Java logo


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

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?

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

52309 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 292 tools that integrate with Java.
Public 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 · | 13 upvotes · 1.4M 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
Engineering Manager at Fresha · | 27 upvotes · 674.1K 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 · 5.6K 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?


See more
Shared insights

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

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

I would like to generate all the repetitive code in order to bootstrap my Java project. I need to define my own models. I want to be able to customize everything in what will be generated. JHipster is more popular but seems to be really related to the Spring Framework. Telosys supports multi-languages, multi-frameworks, and is highly customizable. Any feedback about these 2 tools?

See more

Blog Posts

Oct 24, 2019 at 7:43PM logo


Aug 28, 2019 at 3:10AM logo


Jul 16, 2019 at 9:19PM logo



Java Alternatives & Comparisons

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