Good ways to improve your coding ability:
1- Coding is easier said than done, and there is huge difference between good code and bad code, but how do you know? Until you have seen a good code, and know why a particular code is good, you can not understand difference. This is where books comes to help, more often than not authors are great programmers themselves. They offers their experience in form of book. I love books, but one book, which is particularly helped me is Clean Code by Uncle Bob. By reading this book, I have found myself finding problems in my code and applying advice given in this book every now and then. My advice is if you ever find such books, grab them. I also recommend reading this classic books many times, and refer them every now and then. Another similar book is Effective Java by Joshua Bloch, which is full of good advise. It's also from of my list of must read books for Java programmer. Also, by reading books you are learning from someone else's experience, and there is only two ways to improve yourself, either by learning from own experience (which is very limited) or learning from others experience (which is unlimited). Remember more is not always good, rather than reading 5 books, I suggest read two book, which you enjoyed reading multiple times.
2- Most of good programmers I have seen and met are really good in data structures, algorithms and basics. By learning these things, you take better advantage of what is available. Since data structure is key piece of any programme, solid knowledge of them helps during problem solving. Similarly knowledge of key programming principles, search and sort algorithms and other well know algorithms develop programming skills on you.
3- If reading blogs helps to become good programmer, than reading code help more than that, but same time reading blog is easy but reading code is tough. Do you see resistance? then you should do it. Look code of open source projects, your fellow programmers code, your existing proprietary code, code from Java SDK and try to understand how they work, try to see what they are doing and why they are doing. Find patterns, develop navigation skill, initially you will find it boring and difficult, but with time you will develop a good code sense, which will alert you when you do mistake, help you to spot others mistake, gaps and code smell. This Code sense is one of the sign of better programmer, they often tend to look, what you missed.