些对于Java的评论认为Java的不变性在动摇。
语言问题.有些程式师不喜欢原始类型（primitive type）和类别（class）的分离，尤其是那些曾经使用过Smalltalk和Ruby的程序员。Java的代码相对于其他的代码来说过于冗长，这与它的轻便化声明相违背。此外Java一般也会默认式的自动植入过多的标准库代码,导致整体运行会出现缓慢Java是一种单继承的语言。这也导致了程式师在试图使用多重继承时候的不便，而很多语言都可以使用这个特性。但是Java可以使用介面类，把