I find that taking short breaks for intense things like studying and coding helps. I shoot for 50 Min on 10 off. Time off will be something undemanding like slashdot or hacker news. Tweak the times to find what works.
Also if you go wide open for any long period with no down time you are going to burn out and start thrashing. 2 weeks is my limit.
Intention is important. If I start the day with the intent of having something left over for myself at the end it really helps.