Well, good coding design can be found by just looking in the Java Tutorials. You really want to make sure you are using your tabs and spaces to organize basic functions into groups and comment so you know what your code does.
For Object Oriented Programming practices, you just want to make sure you are separating your functionality into separate classes so they can be used later on. It stresses not using static, but instead keeping code modular (or separate) meaning plenty of getters and setters.
For code architectural design, it largely depends on what you are designing for. The best advice for design is just to keep it simple and to the point. For games, it usually helps to design logic and graphics code separate from each other, where logic resides in an update function and graphics interact with logic in a render function. Depending on the amount of features you have and what you are building, design architecture grows with the amount of features.
But… since you are just beginning, it is probably not best to be dabbing in all these advanced techniques. You will learn all of these overtime if you just choose a simple game and try to design it. Like Pong, Breakout, or Tic-Tac-Toe (Noughts & Crosses). It will be a lot more valuable than a bunch of people talking in tutorials and you’ll probably learn plenty too.