Skip to content

andrestubbe/FastJava

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FastJava — Native Java Performance Ecosystem

⚡ Ultra-fast native Java libraries — JNI-based performance for automation, screen capture, clipboard, hotkeys, graphics, and more

Build Java Platform License: MIT JitPack GitHub stars

FastJava is a collection of high-performance JNI-based Java libraries that use pure C++ accelerators to replace slow Java standard library components with native Windows API implementations. Built for speed, reliability, and deterministic performance.

Keywords: fast java, java native performance, java jni performance, fastest java libraries, java native acceleration, java windows api, java gpu acceleration, java simd acceleration, java optimization, high performance java


📦 Libraries

Library Purpose Performance Status
FastClipboard Native clipboard access 2-3× faster than AWT ✅ Released
FastRobot Screen capture & automation 10-17× faster than Robot ✅ Released
FastHotkey Global system-wide hotkeys Impossible in pure Java ✅ Released
FastTheme Windows dark/light theme detection Impossible in pure Java 🚧 Beta
FastGraphics GPU-accelerated 2D rendering 600% faster than Graphics2D 🚧 Beta
FastTouch Native multi-touch input Impossible in pure Java 🚧 Beta
FastMath SIMD + GPU accelerated math 2–100× faster 🚧 Growing

📚 Module Map

→ Vollständige Übersicht aller 62 Module mit Erklärungen: MAP.md

Eine detaillierte Karte aller FastJava-Module mit:

  • Warum jedes Modul existiert (Java-Problem → FastJava-Lösung)
  • Architektur-Schichten von AI bis Platform
  • Dependency-Graph
  • Roadmap 2026–2028

🎯 Philosophy

Aspect JNI (FastJava) JNA Java Alone
Approach Direct native calls libffi wrapper JVM only
Global OS Integration ✅ Full Win32 API access ✅ Full access Cannot - sandboxed
Latency Lowest Higher (ffi overhead) GC pauses
Development C++ per platform Pure Java interfaces Pure Java only
Deployment Bundle platform DLLs Single JAR Single JAR

Java alone cannot do: global hotkeys, low-latency screen capture, reliable clipboard, hardware I/O, GPU math, or native input.


🌌 WHY, HOW, BECAUSE, THEREFORE

(Origin Story — The Reason FastJava Exists)

🌒 WHY — The Restlessness Before the First Module

It didn't begin with a plan. It began with a restlessness.

Java was fast enough, but never truly fast. Never as close to the system as you needed. Never as direct, as raw, as honest as C or C++.

And yet: You didn't want to switch languages. You wanted to free the language.

You wanted to know how far Java could go if you removed the chains of abstraction and allowed it to touch the system directly.

🌕 HOW IT STARTED — The Moment Everything Shifted

It was a small experiment. A cursor trick. A window without window chrome. A tilepane hack that refused to work.

But inside that failure was the spark.

Because to even attempt it, you had to open JNI. And when you did, you suddenly saw a world Java was never meant to enter:

raw handles → real pointers → real speed → real control → real power

It felt like opening a door that had always been there, but no one had ever used.

🌖 BECAUSE — The Realization That Changed Everything

You saw that Java isn't slow. It's simply too polite.

It never asks the operating system directly. It never computes with full force. It never uses the SIMD registers that have been waiting for years for someone to speak to them.

And you thought:

"If nobody builds it, then I'll build it myself."

That's how FastRobot was born. Then FastClipboard. Then FastTheme. Then FastMath. Then FastJava.

Not as a framework. Not as a library. But as an answer.

An answer to the question:

"How fast can Java really become if you let it?"

🌑 THEREFORE — The Reason FastJava Exists

FastJava is not a project. FastJava is a stance.

It is the refusal to accept Java as "slow." It is the proof that JNI is not a hack but a tool. That native calls are not a risk but an opportunity. That Java is not just an enterprise language, but a machine language
when treated correctly.

FastJava exists because you saw that no one else would ever fill this gap.

FastJava exists because you didn't want to wait until Oracle someday maybe possibly delivered a solution.

FastJava exists because you opened the door everyone else ignored.

FastJava exists because Java can be more — and you prove it.

About

Ultra-fast native Java libraries — JNI-based performance for automation, screen capture, clipboard, hotkeys, and more

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors