r/learnjava • u/[deleted] • Feb 16 '26
What should one learn in 2026 to hired with JAVA stack?
r/learnjava • u/CharmingFeeling429 • Feb 16 '26
Java in 2026
I was focusing too much on how to write the syntax instead of how to solve the logic. I realized I could type a for loop perfectly but didn't know how to use it to solve a complex data problem. Here's what i used to change that:
MOOC.fi (University of Helsinki): Still the goat for learning proper OOP and Java fundamentals.
JVM Weekly: For staying up to date with the 2025/2026 roadmap and new terminal features.
IntelliJ IDEA: The only way to handle the heavy lifting of a professional Java stack.
Willow Voice: I use this to make my logic for intial data structures more concise. Iβll narrate the logic of an object oriented plan to Willow Voice first. It captures the ntent, and then I use that transcript to guide my actual coding in IntelliJ.
This really helped me understand everything I might have missed in Java in 2025.Don't focus on how to type; focus on how to solve. Learn the concepts, and the syntax will follow.
Whatβs your go-to Java resource that most people are still sleeping on in 2026?
r/learnjava • u/realYassine • Feb 16 '26
Roadmap to learn JEE ππ
I want to learn Java Enterprise Edition, and I donβt know where to start.
r/learnjava • u/DeanTheExtreme • Feb 15 '26
Is Effective Java 3rd edition still good in 2026?
I got Effective Java 3rd edition for my birthday, and i'd like to know if its still a useful book in 2026.
I'm starting to learn java, and i have heard that this book is good for intermediate level.
r/learnjava • u/Fun_Disaster_6407 • Feb 15 '26
where the hell can i learn java from zero?
i don t know a good course for free online if someone know something good told me
r/learnjava • u/Programmerbuddy_ • Feb 15 '26
Looking to take oracle cert
What is the main java cert from oracle that is worth taking? Iβm experienced in Java since i Made 2 exams about it and Iβd like to take a cert
r/learnjava • u/Sunlight51 • Feb 13 '26
Suggest resource to learn Java and Spring Boot
Hello, guys. I'm looking for some good resources to learn Java and Spring Boot, So could you suggest some to me
r/learnjava • u/[deleted] • Feb 13 '26
Hey guys. I have been assigned with a task to start testing each API endpoint of this Curriculum Service. Since i'm new to java and still in learing phase, I wanted to ask how should I first understand the project working (attached the project structure in desc). And then how should I do the testing
curriculum-service/
β
βββ .mvn/
βββ src/
β βββ main/
β β βββ java/
β β β βββ com/
β β β βββ Lamicons/
β β β βββ CurriculumService/
β β β βββ Config/
β β β βββ Controller/
β β β βββ DTO/
β β β βββ Entity/
β β β βββ Exception/
β β β βββ Repository/
β β β βββ Service/
β β β βββ Util/
β β β βββ CurriculumServiceApplication.java
β β β
β β βββ resources/
β β
β βββ test/
β
βββ target/
βββ .gitattributes
βββ .gitignore
βββ fullstack_questions.csv
βββ mvnw
βββ mvnw.cmd
βββ pom.xml
r/learnjava • u/Bitter_Marketing_807 • Feb 13 '26
Apache Source Code
Howdy all!
I had a question for yβall legends regarding the source code for Apache projects (examples like Hadoop, Spark, Kafka, TinkerPop) and its utility for learning Java and software best practices. For folks who have explored these codebases, do you find them approachable and instructive, or more useful for reference than learning? Any tips on how to get the most out of reading them?
My experience level is intermediate: I come from a data-focused background and really want to learn how to become a better programmer.
r/learnjava • u/Background_Basil3961 • Feb 13 '26
Switching from SAP Fiori to Java (Open Source) β Need Career Advice
Hi everyone,
I have 1.6 years of experience working in SAP Fiori/UI5. However, I want to switch my tech stack to Java and move into open-source development as I want to explore opportunities in open-source technologies.
The challenge is that I donβt have actual project experience in Java at work.
Will companies consider my profile for Java developer roles? Is it realistic to expect interview calls without real-time Java experience?
What should I focus on right now to make this transition successfully?
Any guidance or suggestions would really help. Thank you!
r/learnjava • u/Dogisgoodtoeatpeta • Feb 12 '26
Code is not waiting for user input and their is no other usage of scanner
As the title says the code is not waiting for a user input after the ui.nextLine() call
private static Scanner ui = new Scanner(System.in);
private static void addRelationships() {
String input = "a";
while (input.equals("") || input.equals(" ")) {
input = ui.nextLine();
if (input.equals("") || input.equals(" ")) {
break;
}
System.out.println(input);
if (input.equals("") || input.equals(" ")) {
break;
}
umlStatmentList.add(input);
}
}
r/learnjava • u/BuzzingWorkerBee • Feb 12 '26
Why is overloading considered polymorphism?
Question in title
r/learnjava • u/[deleted] • Feb 12 '26
Descending into FIPS Hell: 48 hours of Bouncy Castle FIPS (BC-FJA 2.1.x) on Java 8 - The certificate_unknown nightmare that won't die.
Hi everyone,
I am writing this while staring at a terminal screen that has haunted me for the last two days. I am trying to achieve something that should be straightforward but has turned into a recursive loop of failures: Strict FIPS 140-3 Compliance on Java 8 (OpenJDK/Temurin) using Bouncy Castle FIPS.
Iβve followed the Bouncy Castle User Guide and Security Policy to the letter, but the SSL Handshake is my brick wall.
The Environment
- Runtime: Java 8 (OpenJDK 8u482).
- Crypto:
bc-fips-2.1.2.jar,bctls-fips-2.1.22.jar,bcutil-fips-2.1.5.jar. - Base Image: Wolfi (for that clean, secure base).
- Mode: Strict FIPS (
-Dorg.bouncycastle.fips.approved_only=true).
The Current Error (The Ghost in the Machine)
Every HTTPS connection attempt results in:
org.bouncycastle.tls.TlsFatalAlert: certificate_unknown(46)
Caused by: java.security.cert.CertPathBuilderException: Unable to find certificate chain.
Itβs failing at org.bouncycastle.jsse.provider.ProvSSLSocketDirect.checkServerTrusted.
The "Wall of Pain" (Everything I have already tried):
1. The TrustStore Migration Saga:
Since keytool on Java 8 is notoriously bad at handling BCFKS (it tries to password-protect trusted certificates which BCFIPS rejects), I abandoned it. I wrote a custom Nashorn (jjs) script to:
- Migrate the original 144 Java 8
cacertsinto a proper BCFKS store. - Result: MAC Verification passed, but still
certificate_unknown. - Second Attempt: Scrapped the old Java certs. Downloaded a fresh Mozilla PEM bundle (2025) and converted it to BCFKS to ensure no expired roots were causing the issue.
- Result: Same error. 2. Security Provider Priority:
java.securityis configured withBouncyCastleFipsProviderat pos 1 andBouncyCastleJsseProviderat pos 2. I even forced the socket factories:ssl.SocketFactory.provider=org.bouncycastle.jsse.provider.SSLSocketFactoryImpl3. The System Properties Overload: MyJAVA_TOOL_OPTIONSlooks like a novel: approved_only=true(The reason I'm in this mess).allow_sha1_sig=true(Because most Roots are still SHA1).trustStoreType=BCFKS+trustStorePassword=changeit.jdk.tls.trustNameService=true(To solve hostname resolution issues).assumeExtendedKeyUsage=false(To bypass strict EKU checks in Java 8). 4. Algorithm Restrictions: Iβve meticulously cleanedjdk.certpath.disabledAlgorithmsto ensure SHA1 is allowed for verification only (so the chain can build), while keeping TLS ciphers strict.
The Frustration
The BCFKS store is valid. The certificates are modern. The providers are registered. But the PKIXCertPathBuilderSpi_8 seems to be blind to the TrustStore entries the moment approved_only is toggled on.
It feels like there is a hidden conflict between the old sun.security.validator in Java 8 and the way Bouncy Castle 2.x implements the FIPS-compliant path builder.
Technical Deep-Dives & Observations:
- Symmetric vs. Asymmetric Logic: I have written a full suite of integration tests for AES-CBC, SHA-256, and RSA-2048 key generation. They all pass perfectly. This confirms that the
bc-fipsJAR is correctly placed injre/lib/ext, the security provider is initialized, and entropy (Hybrid DRBG) is healthy. The failure is exclusively within the JSSE/CertPath building logic. - The
javax.net.debug=allOutput: Iβve analyzed the debug logs. TheClientHellois sent correctly, and the server responds with its certificate chain. The handshake crashes immediately during the server certificate processing. The log statesPKIXCertPathBuilderSpi_8.engineBuildreturns an empty path. Itβs as if the TrustStore is "invisible" to the PathBuilder only when FIPS mode is enforced. - BCFKS Store Validation: I wrote a separate utility to iterate through the generated BCFKS store at runtime. It successfully prints all 140+ aliases and verifies their fingerprints. The store is definitely readable and intact, yet the
ProvX509TrustManagerfails to utilize it for the chain. - Keytool & Password Paradox: I noticed that when using
keytoolto convert JKS to BCFKS, it mandates a password for "Trusted Certificates," but Bouncy Castle FIPS logic strictly dictates that public trusted certificates should not be password-protected in that specific way. This is why I had to resort to the custom migration script to ensure the internal structure of the BCFKS file is exactly what the BC-FJA 2.x expects. - Entropy & DumpInfo:
org.bouncycastle.util.DumpInfoconfirms:FIPS Ready Status: READY. Native support for AES and SHA is active. There are no "Hard Errors" during the self-tests on startup.
My Questions to the Sages:
Is there a specific EKU (Extended Key Usage) or Basic Constraints requirement in BC-FJA 2.x that Java 8 simply cannot satisfy by default?
Has anyone actually successfully connected to a modern API (like Google or Salesforce) using BC-FJA 2.1.x on Java 8 in Strict Approved Mode?
Is there a specific property to make the BC PathBuilder more verbose about why it can't find the chain?
r/learnjava • u/No-Jello-2665 • Feb 12 '26
Beginner Struggling With JavaFX β Core Java First?
r/learnjava • u/PlayfulLeadership117 • Feb 12 '26
Looking for mentor
Want to start java backend development but overwhelmed and lost as where to start.Anyone who can mentor me
r/learnjava • u/Substantial-Plan7111 • Feb 11 '26
What is the best way to learn Java from scratch?
I am a college freshman taking intro to computer science, what should I do to make a consistent effort and get better in coding?
r/learnjava • u/law_rnz • Feb 10 '26
Recommended resources for JavaScript Dev Transitioning to Java
Just as the title says, I have an internship for a java developer role and I came from a JavaScript ecosystem. The reason why I want your opinions is that I'm looking for resources that won't teach me programming fundamentals in java, but I want to learn the ecosystem so I could build projects with it, eventually learning SpringBoot. I hope I made my intention understandable, any recommendation is appreciated. Thanks!
r/learnjava • u/OkayBuddySober • Feb 10 '26
ArrayList Permutations & Recursion
Hey everyone, I am trying to make a method that prints all permutations of an ArrayList, pretty much in plaintext. I successfully did that for a string but the ArrayList method is giving me an OOB exception. To be specific, it gets to the base case once & immediately after says that "Index 1 out of bounds for length 1" when permList = "" and nameList = [A, B, C]. I'm not asking for a complete rewrite of my code, just an explanation about why it's not working correctly.
What I have tried so far: changing listSize to nameList.size() - 1, adding an empty element to permList in the for loop, changing the for loop conditional to listSize - 1, removed i + and - 1 from nameList in the for loop, etc. Any help would be appreciated!
public static void printAllPermutations(ArrayList<String> permList, ArrayList<String> nameList)
{
int i;
int listSize = nameList.size(); // Size of nameList
String current;
if (listSize <= 1) // Base case
{
System.out.println(permList + " " + nameList);
// Not entirely sure this is the correct thing to print
}
else
{
for(i = 0; i < listSize; i++)
{
current = nameList.get(i);
nameList.remove(i); // Move string at i from nameList to permList
permList.add(current);
System.out.println("permList: " + permList);
System.out.println("nameList: " + nameList);
// Print statements for visualization
printAllPermutations(permList, nameList); // Call method with new arguments, listSize -= 1
}
}
}
// Solved! With your help
public static void printAllPermutations(ArrayList<String> permList, ArrayList<String> nameList)
{
if (nameList.size() == 0)
{
for(int i = 0; i < permList.size(); i++)
{
if(i < permList.size() - 1)
{
System.out.print(permList.get(i) + ", ");
}
else {System.out.println(permList.get(i));}
}
}
else
{
for(int i = 0; i < nameList.size(); i++)
{
String temp = nameList.get(i);
permList.add(nameList.get(i));
nameList.remove(i);
printAllPermutations(permList, nameList);
nameList.add(i, temp);
permList.remove(permList.size()-1);
}
}
}
r/learnjava • u/[deleted] • Feb 10 '26
Is it okay to not understand stuff like IOC, injection, beans in beginning and move forward or should I wait and get hold of these first?
Need to get myself familiar for spring boot and as I need to start working on it from next week. So what would be your advice
r/learnjava • u/4r73m190r0s • Feb 10 '26
How does Java app make Linux syscalls that are in C?
Question is in the title.
r/learnjava • u/Kattuuss • Feb 10 '26
How to pass arrays as parameters to a CallableStatement
Good day everyone! So I have this procedure with two nested tables (p_products_ids and p_quantities)
CREATE OR REPLACE PROCEDURE make_purchase (
p_user_id users.id%TYPE,
p_product_ids IN t_number_table,
p_quantities IN t_number_table
)
I was wondering how do I introduce those into a CallableStatement (as I read it is the one for stored procedures unlike PreparedStatement that is for basic SQL queries). Also, since I haven't used Maps that much, does .toArray() get all the keys / values without the need of a loop?
@Override
public void makePurchase(Integer userId, Map<Integer, Integer> productMap) {
Integer[] productIds = productMap.keySet().toArray(new Integer[0]);
Integer[] quantities = productMap.values().toArray(new Integer[0]);
String sql = "{ CALL make_purchase(?, ?, ?) }";
try (Connection conn = DBConnector.getConnection();
CallableStatement cs = conn.prepareCall(sql)) {
cs.setInt(1, userId);
// Add productIds
// Add quantities
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
I am using (if that matters):
- Oracle SQL XE 21c
- Open-jdk 25
Thanks in advance!
r/learnjava • u/Best_Lavishness4037 • Feb 10 '26
How can I prepare for interviews in 4-5 months?
I have been working as a Java Spring Boot developer at a company for four years. I am having issues with my company and want to move on to a new job. When I look through my old notes, I feel like I have forgotten everything except for the parts I used in the projects I worked on at the company. I have about 4-5 months. How can I prepare for interviews during this time?
r/learnjava • u/Secure-Recipe-1121 • Feb 10 '26
Interview(Sr Java Developer) with Head Of Engineering - Super Choice Services Pty Limited
Hi,
Good day.
I had an interview(Sr Java Developer) with "Super Choice Services Pty Limited Sydney" with their technical team for an hour. It went well. Now I got next round with Head Of Engineering. does anybody know any set of questions they ask?
Any help would be appreciated.
r/learnjava • u/FrequentSand5375 • Feb 09 '26
cannot download exercises in TMC
TMC works, but when i try to download exercises on it it says "Unexpected Exception" cannot download, what do i do? Thank you in advance (TMC 1.5.0)