有一些方法可以禁用非法访问警告,但我不建议这样做.

1.简单的方法

由于警告打印到默认错误流,您只需关闭此流并将stderr重定向到stdout.

public static void disableWarning() {

System.err.close();

System.setErr(System.out);

}

笔记:

>此方法合并错误和输出流.在某些情况下,这可能并不理想.

>只能通过调用System.setErr来重定向警告消息,因为错误流的引用在JVM引导程序早期保存在IllegalAccessLogger.warningStream字段中.

2.复杂的方法而不改变stderr

一个好消息是,在没有警告的情况下,仍然可以在JDK 9中访问sun.misc.Unsafe.解决方案是在Unsafe API的帮助下重置内部IllegalAccessLogger.

public static void disableWarning() {

try {

Field theUnsafe = Unsafe.class.getDeclaredField("theUnsafe");

theUnsafe.setAccessible(true);

Unsafe u = (Unsafe) theUnsafe.get(null);

Class cls = Class.forName("jdk.internal.module.IllegalAccessLogger");

Field logger = cls.getDeclaredField("logger");

u.putObjectVolatile(cls, u.staticFieldOffset(logger), null);

} catch (Exception e) {

// ignore

}

}

java 隐藏参数,如何在没有JVM参数的情况下隐藏java 9中的“...相关推荐

  1. Java不用main方法运行_如何在不定义main方法的情况下运行Java程序?

    我正在查看一些Java源代码,并注意到main方法没有定义. Java如何编译源代码而不知道从哪里开始? main方法仅在Java虚拟机执行代码时使用.没有main方法就无法执行代码,但仍然可以编译代 ...

  2. java虚拟机参数优化_JAVA虚拟机JVM参数优化(2):垃圾收集算法选择

    JAVA虚拟机JVM优化重要性,昨天JAVA虚拟机JVM参数优化(1)文章中已经描述,今天我们来讨论JAVA虚拟机在不同性能要求下如何选择三种垃圾收集算法. JVM内部结构如下图所示: 串行收集用于单 ...

  3. Java架构学习(十二)java内存结构新生代老年代JVM参数调优堆内存参数配置解决堆栈溢出

    JVM参数调优与垃圾回收机制 一.java内存结构 Java内存模型:是多线程里面的,jmm与线程可见性有关 Java内存结构:是JVM虚拟机存储空间. Java内存结构图 Java内存机构分为:方法 ...

  4. JVM-常见JVM参数、如何查看JVM参数、如何动态设置JVM参数

    1 JVM参数 1.1 标准参数 // 查看java版本 -version // help命令就不用了说了吧 -help // -server // 指定类运行所依赖其他类的路径,通常是类库和jar包 ...

  5. 后面的参数_常用的JVM参数,你现在就记好

    作者:SimpleSmile_5177 来源:https://www.cnblogs.com/Simple-Object/p/10272326.html 前言 大家都知道,jvm在启动的时候,会执行默 ...

  6. 《Java平台体系》——第二章 JVM——实战:用JBE修改Java字节码

    说了那么多,大家可能晕晕的,我自己也晕晕的.下面我们来动动手吧! 注意:我们在每一章都有一个实战环节,大家在阅读一些基本知识的时候可以同时参考实战,带着实际应用的需要去学习基本知识是一件很愉快的事情. ...

  7. java biginteger转int_如何在不使用java.math.BigInteger的情况下使用Java处理非常大的数字...

    我认为程序员应该已经实现了自己的bignum库,因此欢迎在这里. (当然,稍后您会发现BigInteger更好,并且可以使用它,但这是宝贵的学习经验.) (您可以在github上关注本课程的源代码.此 ...

  8. java什么情况下传入对象_java中传输对象时候的问题(转)

    对于同一个socket,如果调用两次就会抛出StreamCorruptedException 如果你使用socket,并通过对象输入/输出流来处理的话,并且已经对某个socket调用了一次getInp ...

  9. java socket 回调函数_请问Java网络编程如何在不使用多线程的情况下实现异步返回?...

    我指的是在不使用多线程的情况下进行并发处理 具体的情况是,在不使用多线程的情况下,服务器侦听某个端口,在有连接进来的时候会调用某个函数对此连接进行处理,但是由于处理的过程可能会比较长,为了不让后面连接 ...

最新文章

  1. 网络DevOps探索与实践
  2. ubuntu18.04配置wifi 方法
  3. Python3.X新特性之print和exec
  4. 判断一个窗口是否有焦点_判断一个项目是否值得加盟的基本方法
  5. 若依微服务版手把手教你本地搭建环境并运行前后端项目
  6. python data analysis | python数据预处理(基于scikit-learn模块)
  7. 开发文件服务器,易语言开发文件服务器
  8. css元素隐藏不可获取,Css隐藏元素(display,visibility)的区别
  9. 一些简单的前端练习demo
  10. UI基本设计素材模板|完整的线框图
  11. nginx 启动报错 “/var/run/nginx/nginx.pid“ failed” 解决方法
  12. Android开发之动态加载,运行未安装apk
  13. halcon学习之基于灰度的特征提取
  14. 配置 php_零基础建站如何配置PHP运行环境 几种服务器环境配置的选择和方法
  15. SLAM--深度滤波器
  16. 北京市密云区谷歌卫星地图下载
  17. Gentoo虚拟机安装教程
  18. 数据页和数据行(第八周翻译)
  19. 不完全免疫算法简介HEIA--AIS学习笔记2
  20. 职场规划的行动路径是什么?

热门文章

  1. 每日一题(字符串拆分)
  2. 链表问题12——将单链表的每K个节点之间逆序
  3. 第十一周作业关于json
  4. js把文字中的空格替换为横线
  5. jupyter的下载安装
  6. extern与头文件(*.h)的区别和联系
  7. springMVC4(9)属性编辑器剖析入参类型转换原理
  8. 在Ubuntu14.04安装F.lux
  9. Oracle 用户表空间的创建和授权
  10. 如何处理“已超出域所允许创建计算机账户的最大值”