Соглашусь с самое оптимальное это взять какой-то проект, который нужно выполнить например на незнакомом тебе Java. Но с другой стороны важность проекта не должна быть очень серьёзной, т.к. с первого раза имхо качественно и быстро не получится сделать. Из-за него будет некий стимул, подталкивающий. Те же самые сроки выполнения. Мысленно сможете прикинуть: а вот столько мне нужно, чтобы это изучить, а завтра я этим займусь… Т.е. понимаешь ответственности перед кем — это очень неплохой стимул.
Конечно же очень неплохим «пинком под зад» будет если с вами кто-то будет еще изучать это, и у него будет больше желания и мотивации, больше активности. Это тоже подстёгивает, особенно, когда обидно (по доброму конечно), что он больше знает, что он дальше ушел, что он подготовленние. У меня такое часто бывает.
Ну и в завершение скажу: важна дисциплина. Без нее никуда. Имхо, тут оптимальнее всего выбрать время, даже можно составить график самостоятельных занятий, и каждый раз ставить галочку — позанимался. Это будет как бы некоторая чёткость ваших действий — тоже в немалой степени помогает.