一年走来对java的认识

在接触并开发java应用快一年的时间里,刚开始我觉得java太强大了能做出不少东西,以及在后面接触到linux环境中体会到jvm可移植性的优点。但不得不吐槽的是,java的编译----->解释运行有点慢(这里拿python来做比较,当写python解释语言时,编译运行太快了,每次比java快2~3秒是家常便饭,所以我虽然没有接触到python全栈,但可以肯定的是python一定比java快),以及部署在tomcat服务器上跑,光部署到调试看运行结果就要将近半分钟,这方面太慢了。
一年走来对java的认识

另外,在最近的开发中又要吐槽一下java的jvm虚拟机的自动垃圾回收机制,在频繁报错OutOfMemoryError以及heap is enough,java8中将永久代的大小设置为当前环境的内存大小,我的电脑是16g内存,所以不可能出现不够用的情况,让我想到的是永久代垃圾占当前可用内存的占比足够大时才会进行垃圾回收,而年老代和年轻代中要远比永久代小,这样造成内存溢出的原因就找到了。这个时候在本机调试显得十分麻烦,只能主动地full gc一次了。
希望java的回收机制能做好点(在特定环境下jvm参数的作用真的会大不一样,其实一点都不自动,要向着智能回收这一方向走),编译到解释运行其实也就造成了java慢的原因,所以不是说java慢,语言执行效率不行,就像英国人和中国人交流一样,中间要通过翻译机或者翻译来解释,这样才能正常交流。最后我想说的是,java是世界上最好的语言,优雅而工业,天生即是架构师!!!