4 ms·
Java is mostly used for server applications and occasionally for desktop apps (e.g. IntelliJ) these days. Applets aren't relevant anymore since all browsers rem
by the8472 2y ago
Java is mostly used for server applications and occasionally for desktop apps (e.g. IntelliJ) these days. Applets aren't relevant anymore since all browsers removed them.
Java is memory-safe, multi-threaded and JIT-compiled. Faster than python, safer than Go or C. It has good tooling (debuggers, profilers, IDEs). It was one of the first languages to bring safe shared-memory multi-threading to the table, its memory-model came before C++'s. Its FFI story has been lacking for a long time, but this has been improving with java.lang.native.
Over the years it has adopted a lot of nice features that other languages have mainstreamed. So 2000s Java is not 2020s Java.
The JVM can also run a bunch of other languages.
There are many 3rd-party, FOSS builds of the JDK, so you don't need to use oracle's builds.
GCs have improved a lot. Lower latency, more parallelism, more throughput. Though they still need a good amount of RAM as breathing room.
Startup times and memory consumption can still be an issue. They're working on value types that should help with memory efficiency too.
And as with any language: even if the base language is fine, a project can still make it hell. Extremely convoluted "Enterprise Java" projects that layer interceptors, factories, dependency injection and what-not on top of each other are infamous for that.
- pjmlp 2y agoAnd it powers 70% of the world mobile phone market (even if ART isn't technically a JVM implementation), Xerox and Ricoh printers, Cisco inteligent phone terminals, M2M gateways, military battleships targeting systems, missile tracking systems, factory robots,....