r/java

▲ 8 r/java

WFH Java Developer Job as a Fresher… Am I Cooked for the First 6 Months?

Guys, I just got a Java Developer work-from-home job. I know Java at an intermediate level, and I have basic knowledge of Spring Boot. I’m joining the company on the 28th, but honestly I’m scared about how I’m going to survive the first 6 months.

The biggest thing worrying me is the WFH setup. In office, you can just sit near seniors and ask doubts casually. In WFH, I know I can ask questions, but it feels different. Sometimes I hesitate, overthink it, or try to solve everything alone and get stuck.

So I wanted to ask you guys:

  • What kind of tasks do freshers/junior Java devs usually get in the first few months?
  • How much are juniors actually expected to know?
  • How did you manage this kind of situation when you started?
  • Any advice for surviving as a beginner in a remote job?

And if there are any senior developers here, please give me some real advice on what I should focus on before joining. I seriously don’t want to mess this up.

reddit.com
u/Interesting-Pay-2135 — 6 hours ago
▲ 52 r/java

Java based Numerical library (JNum-v0.1)

previous post

And here I am, made a Java-based numerical library called JNum.

I used the new FFM API and Vector API (Project Panama) to make it 100% pure Java, unlike ND4J which relies heavily on JNI and massive C++ backends. Here is the repo: https://github.com/CH-Abhinav/JNum . It is currently in a v0.1 (PREVIEW).

Some of you may ask: Isn't the Vector API still in incubator? Yeah, even though it's still in incubation I preferred to continue building with it as it doesn't have any major API changes planned except the inclusion of value classes (hopium it is coming in Java 27 🙃).

The Performance so far: By avoiding the JNI crossover latency, the basic math tasks (add, mul) are actually faster compared to ND4J and NumPy on small/medium arrays.

The main wins are the reduction methods (sum, max, min) which are about 2x faster compared to ND4J.

Because there is no native C++ backend, the entire library is under 100KB, compared to the hundreds of megabytes required to bundle native binaries.

The Matmul Struggle: Obviously, the main talking point for tensor engines is matmul. Not gonna lie, this ate my brain while trying to figure out which memory settings and SIMD loops work best. Right now, a 1024x1024 float matrix multiplication takes about ~51ms. It's fast, but we still haven't reached the massive performance of ND4J or NumPy on huge matrices (I haven't implemented multi-threading or L1/L2 cache tiling yet).

Use case (potential): ND4J is bulky, and when making applications (web or Android) which require some sort of math and performance, Java devs need to bundle that bulky dependency. We can run JNum anywhere as it doesn't have any .dll or .so files, nor JNI—just pure Java.

I guess this project will become more like multik but better and javaish. And I'm expecting ML guys in Java can also use it (though ND4J/DJL is better for now).

I want the Java community to help me build this project! I am still learning the deeper JVM optimizations(stylish way of saying i am newbie), so if anyone has experience with SIMD loop unrolling, cache tiling or anything helpful I'd love some code reviews, advice, or PRs and help this fellow java guy.

reddit.com
▲ 18 r/java

I built my first Java library, would love some feedback

Hey everyone,

I just built my first ever Java library and wanted to share it.

It’s a small Spring Boot security SDK called Vault SDK. The basic idea is that you can add it to another Spring Boot project as a dependency, configure it, and it handles the auth filter/client/security context side of things.

It’s still super early, like 0.0.x early, so I’m sure there are rough edges. Since it touches security-related stuff, there might be things I’ve missed or designed badly, and I’d really appreciate feedback from people who know Spring/Spring Security better than me.

GitHub:  https://github.com/HesandaLiyanage/theVaultOfficial

It’s open source, and contributions/issues/roasts are welcome.

reddit.com
u/HesandaLiyanage — 1 day ago
▲ 8 r/java

In search of secure JRE base image

So as a devops engineer on my company. I have tried using eclipse-temurin:17-jre-jammy and eclipse-temurin:17-jre java versions as base image for dockerfile but as i scanned the built image using trivy i found tons of vul nerabilities ob both. So what are the other alternatives for me ?

reddit.com
u/Nerdy-coder — 1 day ago
▲ 15 r/java+1 crossposts

Create stunning TUI interfaces with jatatui (previously tui-scala)

Apologies for the java interface, but i needed it outside of the scala bubble. Still eminently usable from scala, and still native image-safe.

There are three layers to this:

  • crossterm. Manually written facade for the rust library. has been thoroughly tested over the years it has backed `tui-scala`
  • jatatui. Mostly ported 1-1 by claude, given very specific porting instructions. 2k tests and a bunch of runnable demos means most of it works. API should be stable. Whatever porting quirks remain are likely easily fixed.
  • jatatui-react . POC-level code to express yourself using familiar react concepts. Has been used to implement one complex TUI app, but will likely see extensive changes going forward
github.com
u/elacin — 2 days ago
▲ 224 r/java+1 crossposts

Why is stuff in Java named after Indonesian places?

Lombok, Jakarata

Any special reason?

reddit.com
u/UmbraShield — 3 days ago
▲ 5 r/java

MonTana Mini Computer done?

Hello fellow Java Enthusiasts. Anyone have info on the Montana Mini Computer? I discovered it from a "Molly Rocket" (one of Casey Muratori's YT channels) video recently.

I note that u/thewiirocks discussed it a bit back 9 months ago in this sub.

But messing with it now, it appears the emulated "files" for the various source documents are all broken, and the GIT repository is now read only.

TYIA!

EDIT: I see I messed up, I thought the emulator was online, it is not. One has to download it and ensure they have a JVM.

reddit.com
u/Junior_Plankton_635 — 2 days ago
▲ 0 r/java

Java modernization as a service

I'm thinking about building a business in which companies pay a fee per service/complexity and everytime a new Java LTS is released we update the service to the most updated dependencies.

Do you think is worth it? Would you be interested?

reddit.com
u/MovieSenior5469 — 2 days ago
▲ 9 r/java

Do you use the java 'tree-shaking' or java 'native image' capabilities?

I've worked a lot with java but i never come to use any of these.

https://www.graalvm.org/latest/reference-manual/native-image/

https://www.reddit.com/r/java/comments/1lo8495/java_treeshaking_with_compile_time_di/

I saw a recent announcement that Quarkus supports tree shaking.

Is this specific to quarkus or it is coming from the GraalVM actually?

Does spring boot has something similar?

If you are using, which are your use cases?

reddit.com
u/vdorru — 3 days ago
▲ 27 r/java

Bob v0.7.0 - lightweight builder generator for Java (default values, mandatory fields, JSpecify, step builders)

Just shipped v0.7.0 of Bob (https://github.com/jonas-grgt/bob), a lightweight builder generator for Java.

New since v0.6.0:

  • `@Buildable.Defaults`: default values for builder fields (as inner class or top-level)
  • JSpecify support: `@Nullable`, `@NonNull`, `@NullMarked` are respected, no extra config needed
  • Fail-late validation: all errors and warnings are collected and reported together instead of failing on the first issue
  • Incompatible strategy detection: `PERMISSIVE` + `STRICT`, `ALLOW_NULLS` without `STRICT/STEP_WISE`, etc. are caught at compile time
  • Unknown mandatory field detection: typos in mandatoryFields are caught at compile time
u/eniac_g — 4 days ago
▲ 0 r/java+1 crossposts

Free Online Maven Download Tool - Download JAR dependencies and transitive dependencies as ZIP

I've built a free online Maven download tool that helps developers download Maven JAR dependencies along with all their transitive dependencies as a single ZIP file.

Why I built this: I needed to regularly download Maven JARs and their transitive dependencies for my projects that has tons of dependencies and whenever I add a new feature and its dependencies change, I need to download newly added dependencies with their transitive dependencies. I used to use other tools (jar-download.com) but it is paid now, so I created a completely free, open-source alternative that doesn't store any data and works entirely client-side.

Live Demo: https://maven-tools.mohants.com/

GitHub: https://github.com/pmg1991/maven-tools

Features

Client-side dependency resolution : It happens entirely in your browser

Transitive dependency resolution : Automatically resolves all transitive dependencies including parent POMs

Version conflict resolution : Uses depth-based conflict resolution (shallowest depth wins) same as mvn

Dependency tree visualization : Displays hierarchical dependency tree with conflict information and direct download links

ZIP download : Download all resolved JARs as a single ZIP file

No data retention : Your XML is never stored - everything happens client-side

Netlify Edge Functions : Serverless proxy for Maven Central with streaming support

How It Works

  1. Paste your Maven dependencies in XML format
  2. Click "Resolve Jars" to resolve all transitive dependencies
  3. View the dependency tree with direct download links
  4. Click "Download All as ZIP" to download all resolved JARs

Use Cases

  • Quickly download dependencies for offline development
  • Bundle dependencies for deployment
  • Analyze dependency trees and conflicts

The tool is completely free, open-source (MIT License), and doesn't store any of your data. Give it a try and let me know what you think!

Edit: fixed markdown first time posted something using markdown

reddit.com
u/No_Bed_5111 — 5 days ago
▲ 5 r/java+1 crossposts

Por que a profissão de Analista de Sistemas / Engenheiro de Software não é tão organizada quanto Medicina, Direito, Odontologia e outras áreas?

Uma coisa que sempre me chama atenção é como a área de tecnologia, especialmente desenvolvimento de software, tem um impacto enorme na sociedade, mas ainda parece pouco organizada como profissão.

Médicos têm CRM. Advogados têm OAB. Dentistas têm CRO. Engenheiros tradicionais têm CREA. Essas áreas possuem conselhos, códigos de ética, critérios mínimos de formação, responsabilidade profissional, fiscalização e alguma representação formal da categoria.

Mas em software, a situação parece muito diferente.

Um sistema mal feito pode causar prejuízo financeiro, vazamento de dados, falha em serviços públicos, problemas em bancos, saúde, segurança, transporte, educação e até decisões automatizadas que afetam diretamente a vida das pessoas. Mesmo assim, a profissão muitas vezes é tratada de forma muito genérica, como “TI”, “programador”, “analista”, “engenheiro”, “consultor”, sem uma estrutura profissional clara.

Não estou dizendo necessariamente que deveríamos copiar o modelo da OAB, CRM ou CREA, nem que criar mais burocracia resolveria tudo. Mas me parece estranho que uma profissão com tanto impacto tenha tão pouca organização formal.

Algumas perguntas que ficam:

Por que a área de software nunca se organizou de forma mais forte como categoria profissional?

Seria porque tecnologia muda rápido demais?

Porque o mercado é global e difícil de regular localmente?

Porque existem muitos caminhos de entrada na profissão, com ou sem faculdade?

Porque as empresas preferem um mercado menos regulamentado?

Porque regulamentação poderia atrapalhar inovação?

Ou simplesmente porque a própria comunidade de tecnologia nunca teve interesse real em criar esse tipo de estrutura?

Ao mesmo tempo, sem organização, também surgem problemas: falta de padronização, exploração profissional, vagas com exigências absurdas, pouca clareza sobre responsabilidade técnica, dificuldade de definir senioridade, ausência de representação da categoria e pouca proteção para profissionais e usuários.

Na opinião de vocês, a área de software deveria ter algum tipo de conselho, associação forte, código de ética ou regulamentação mínima? Ou isso seria um erro e acabaria prejudicando a liberdade e a inovação da área?

reddit.com
u/raphaelscreis — 6 days ago
▲ 31 r/java+1 crossposts

Hey everyone!

It has been a while since the last update, but we have been working hard on making the Java bindings for SimpleBLE even more reliable for production environments.

For those who don’t know, SimpleBLE is a cross platform Bluetooth library with a very simple API that just works, allowing developers to easily integrate it into their projects without much effort, instead of wasting hours and hours on development.

We have been working on the Java bindings to make them feel more natural for developers and more robust to use in real applications. These are not flashy changes, but hopefully show our commitment towards becoming the trusted option for Bluetooth development for Java.

If you want to try it out, you can look at the SimpleJavaBLE examples on GitHub and see for yourself how easy it is to get started.

What changed

We added support for CompletableFuture wrappers around blocking operations. This should make SimpleJavaBLE much easier to fit into the rest of an application using async flows without having to build extra wrappers first.

We also made an important change to the JNI layer. JNI API calls are now safely wrapped so that C++ exceptions are caught and bubbled up as Java RuntimeExceptions instead of crashing the JVM.

Another small change that makes the bindings nicer to work with is that EventListener interfaces now provide default empty implementations, so if you only care about one callback, you can implement that one and move on.

We also cleaned up a few rough edges across platforms. The missing macOS x64 .dylib artifact is now fixed, JNI symbol issues have been resolved, and the jvm.dll initialization conflicts some users were seeing on Windows have been addressed.

Licensing Stuff

SimpleBLE is licensed under the Business Source License 1.1 (BUSL 1.1) and is free for non commercial use. We gladly offer free licenses for small projects, so do not hesitate to reach out. Java licenses are currently on a special offer for companies interested in shaping SimpleJavaBLE, so if you are interested in a commercial license, hit us up!

If you’re building BLE products or projects, we’d love to hear from you.

Want to know more about SimpleBLE's capabilities or see what others are building with it? Ask away!

u/kevindewald — 6 days ago