关于 jvm 面试
面了某大厂,一面上来就是遇到过 jvm crash 吗
我只好说没遇到过
想问下大家这种 jvm crash 遇到过吗 经常吗
迷茫~求指教~
面了某大厂,一面上来就是遇到过 jvm crash 吗
我只好说没遇到过
想问下大家这种 jvm crash 遇到过吗 经常吗
迷茫~求指教~
上
不过硬要说的话,除非是内部错误(比如 JNI 库中的或者 JVM 本身的非法内存访问),否则类似与内存耗尽这样的应该导致 crash 的异常也是可以被 catch 的。不过一般情况下不会尝试 catch 这类异常。
其实 crash 更像是一种结果而不是一个过程。JVM 进程异常退出了,我们就认为发生了 crash, 哪怕这只是因为一个没有 catch 到的异常。
还有平时项目中会遇到内部错误吗?这种情况多吗?我好像没怎么遇到过 JNI 库中的或者 JVM 本身的非法内存访问 这种情况??
至于平时项目,真正能见到的最常见的 crash 算是 NullPointerException, IndexOutOfBoundsError 其次是 OutOfMemoryError. 不过如果平常只是写写 CRUD, 那么在各种框架和静态代码分析的加持下就都很难见到(当然,一旦见到就说明出大事了)。JNI 库的话自己写不经意的话就容易出 segfault. JVM 的非法内存访问就更罕见了。