参考:
https://youtrack.jetbrains.com/issue/IDEA-180033
由于使用jdk8以上版本编译的时候,即使选择了1.8,也会进行交叉编译,因此不会包括sun.misc包
必须上图这里也要改成1.8,也就是检查这里
只要同步设置为1.8即可
Unsafe类在
jdk
源码的多个类中用到,这个类的提供了一些绕开JVM的更底层功能,基于它的实现可以提高效率。但是,它是一把双刃剑:正如它的名字所预示的那样,它是Unsafe的,它所分配的内存需要手动free(不被GC回收)。Unsafe类,提供了JNI某些功能的简单替代:确保高效性的同时,使事情变得更简单。
这篇文章主要是以下文章的整理、翻译。
http://mishadoff.com/b...
import
java
.lang.reflect.Field;
* This class should provide access to low-level operations and its
* use should be limited to trusted code. Fields can be accessed using
在使用
JDK
8.0以上版本import
sun
.
misc
.BASE64Encoder之类的包时会出现
package
sun
.
misc
does not
exist
的问题,这是因为
jdk
8及以后不再允许用户使用这个包(当然这并不代表里面没有这个包)
1.改eclipse的方法不是不可以,但是可能会导致其他要用的包出现异常。。。。放弃
2.直接换
jdk
也行,但是换了你的IDE又有多大的概率不翻车呢?
3.最稳妥、简单、有效的方法就是直接将他缺少的包导入到项目之中
所以经过笔者的亲身测试,有效的
sun
包提
人生低谷不可怕,可怕的是坚持不到人生转折点的那一天。1、pom.xml增加了redisson的maven依赖,但是没有使用git提交代码,导致测试环境报错。旭东怪的个人空间-旭东怪个人主页-哔哩哔哩视频。解决办法:使用git提交代码即可。
1、通过Unsafe类可以分配内存,可以释放内存;
类中提供的3个本地方法allocateMemory、reallocateMemory、freeMemory分别用于分配内存,扩充内存和释放内存,与C语言中的3个方法对应。
2、可以定位对象某字段的内存位置,也可以修改对象的字段值,即使它是私有的;
public native long allocateMemory(long l)