Data atual, pegue pela [edited]classe[/edited] Calendar, utilizando o GregorianCalendar.
Último dia do ano, do mesmo jeito, só que setando o dia para 31 e o mês para 12, utilizando as constantes disponiveis na própria interface.
Para comparação de data, existem vários métodos, no DateUtil, por exemplo, existe essa comparação…
Acho que na própria classe Date tem um isAfter e um isBefore…
Usa a classe Calendar, ai no seu programa vc sempre teste se o mes é dezembro e se o dia é 31.
Calendar c = Calendar.getInstance();
if ( c.get(Calendar.MONTH) == Calendar.DECEMBER && c.get(Calendar.DAY_OF_MONTH) == 31 )
System.out.println("Último dia do ano");