How to deepen your Java knowledge?
Hi,
I've worked with Java a lot in school and now in college, and I know the basics (e.g., up to collections, array lists, interfaces, and I've also worked with Spring, etc.), but I'm not really sure how to continue learning Java. Sure, I could just watch theoretical videos, but that won't teach me how to apply them in practice. Has anyone been in this situation before, or can perhaps help me?
Just as you explicitly list them: If you are not familiar with other OOP concepts (abstraction, encapsulation, polymorphy, inheritance), that would be something you could put directly on your next curriculum.
Two features that still fall into my mind are threading and reflection.
Join us Design and architectural patterns. Directly to this, it would be practical to look for projects that build quietly on typical Java technologies (JavaFX, Swing, Spring, Jakarta EE, Struts, …), into which you can therefore continue to work.
I had a few ideas listed before.
Since it is already more in the direction of actual software development, I would additionally recommend that you have Test Driven Development (TDD) incorporated. Tools such as JUnit, Mockito or AssertJ are quite useful here.
Of course, there are other tools to deal with. Be it the module system of Java, UML, buildtools such as Maven and Gradle, version management software such as Git or database design and management.
By the way, you could also choose a specific topic (e.g. developing Android apps, game development, …) and deepen yourself in it.
Programming skills are mainly used in practical projects with other developers. less buffalo with theory.
This is essential in many ways:
Learning is best done by programming yourself. So look for a project and kill it. You can always google with questions and find helpful answers.
Find out some cool project that interests you, and just google any question you are unsafe 😀