四时宝库

程序员的知识宝库

Intellij 2023.3Groovy项目报错缺陷分享

2023.3最新版,据悉是对JDK 21的虚拟线程支持更好的,为了体验更加丝滑就升级了。结果一下子就悲催了。看到了下面的报错。

【基本功】Java魔法类:Unsafe应用解析

Unsafe是位于sun.misc包下的一个类,主要提供一些用于执行低级别、不安全操作的方法,如直接访问系统内存资源、自主管理内存资源等,这些方法在提升Java运行效率、增强Java语言底层资源操作能力方面起到了很大的作用。但由于Unsafe类使Java语言拥有了类似C语言指针一样操作内存空间的能力,这无疑也增加了程序发生相关指针问题的风险。在程序中过度、不正确使用Unsafe类会使得程序出错的概率变大,使得Java这种安全的语言变得不再“安全”,因此对Unsafe的使用一定要慎重。

万字长文:细谈Linux、JDK、Netty中NIO与零拷贝

一、先理解内核空间与用户空间

Linux 按照特权等级,把进程的运行空间分为内核空间和用户空间,分别对应着下图中, CPU 特权等级分为4个,Linux 使用 Ring 0 和 Ring 3。

Java类加载器的底层原理(java 类加载器)

作者:龚生

出处:https://segmentfault.com/a/1190000037678946

别再说不懂Java ClassLoader(java的classloader)

Java系列

如何避开Java开发中有关Unsafe类的”坑“?

Unsafe是位于sun.misc包下的一个类,主要提供一些用于执行低级别、不安全操作的方法,如直接访问系统内存资源、自主管理内存资源等,这些方法在提升Java运行效率、增强Java语言底层资源操作能力方面起到了很大的作用。但由于Unsafe类使Java语言拥有了类似C语言指针一样操作内存空间的能力,这无疑也增加了程序发生相关指针问题的风险。在程序中过度、不正确使用Unsafe类会使得程序出错的概率变大,使得Java这种安全的语言变得不再“安全”,因此对Unsafe的使用一定要慎重。

JVM系列之:Contend注解和false-sharing

简介

现代CPU为了提升性能都会有自己的缓存结构,而多核CPU为了同时正常工作,引入了MESI,作为CPU缓存之间同步的协议。MESI虽然很好,但是不当的时候用也可能导致性能的退化。

到底怎么回事呢?一起来看看吧。

BASE64Encoder找不到jar包的解决方法

sun.misc.BASE64Encoder找不到jar包的解决方法:

1.右键项目-》属性-》java bulid path-》jre System Library-》access rules-》resolution选择accessible,下面填上** 点击确定即可!!!

2.在MyEclipse中编写Java代码时,用到了BASE64Decoder,import sun.misc.BASE64Decoder;可是Eclipse提示:

通过rt.jar包中的sun.misc.Unsafe实例化无构造方法实例

import java.io.Serializable;
import java.lang.reflect.Field;
import sun.misc.Unsafe;

public class Demo {
    public static void main(String[] args) {
        try {
            Field f = Unsafe.class.getDeclaredField("theUnsafe");
            f.setAccessible(true);
            Unsafe unsafe = (Unsafe) f.get(null);
            Test1 t6 = (Test1) unsafe.allocateInstance(Test1.class);
            t6.say("unsafe Test");
        } catch (NoSuchFieldException | SecurityException | InstantiationException | IllegalArgumentException | IllegalAccessException e) {
            e.printStackTrace();
        }
    }
}


class Test1 implements Cloneable, Serializable {
    private static final long serialVersionUID = -8655076206703674175L;

    public Test1() {
        throw new Error("不能创建实例");
    }

    public void say(String str) {
        System.out.println(str);
    }

    public Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}

import sun.misc.BASE64Decoder idea报红,找不到对应的包

1、异常背景

现象:import sun.misc.BASE64Decoder idea报红,找不到对应的包

<< < 1 2 3 4 5 6 > >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接