谢邀。
首先我们考虑一下Java相对于其他语言的不同之处在哪。
1.Java语言自带虚拟机,这在利用IDE编写代码的语言中间显得特立独行。
2.Java语言属于解释型语言,目前为止OI竞赛中支持的所有语音都是编译型语言,这可能会显得Java比较特殊。虽然系列赛中应用的arbiter评测系统支持Java语言,但是Java语言一旦入选势必会造成Python等其他编程语言的不满。毕竟,在某些方面例如编程复杂度上Python优于Java。
3.支持标准问题。Java语言内置了biginteger类型,能够支持绝大多数的高精度运算,这对于要手写FFT和高精度的选手是不公平的。同样的,c++和Pascal的O2优化似乎也不能在Java中体现。
4.运行时间问题。Java语言的运行时间和空间一直是玄学问题,一般的在线评测系统即使支持Java也会给出双倍的时间限制和空间限制,但是我们一定能保证这样的限制科学吗?万一某些复杂度不对的算法趁机卡过呢?两倍一定不会多或者少吗?不知道。
5.入门难度问题。Java语言主要适用于面向对象编程,这与信息竞赛面向过程编程本质上就有着区别,况且Java语言大量引用类的定义,这对于初学者是很不友好的,教练也不一定愿意教授Java。如果使用的人太少了,支持Java又有什么意义呢?
以上个人所见,大佬轻喷。
upd:感谢评论区dalao的提醒,时间和空间复杂度并不是双倍的,应该是时限和空间限制双倍,已更正。