First you must have an in-dept understanding of those machine learning techniques mentioned by you. Only then can you implement them in code. Since you have chosen java, go ahead and do it. If you need java knowledge, then learn it. There are plenty of tutorial sites on the web. One of them is
this.