草庐IT

system.reflection

全部标签

java - System.nanoTime 与 System.currentTimeMillis

根据其文档,System.nanoTime返回自某个固定但任意的原始时间以来的纳秒数。但是,在我尝试了以下代码的所有x64机器上,都存在时间跳跃,移动了固定原始时间。我使用替代方法(此处为currentTimeMillis)获取正确时间的方法可能存在一些缺陷。然而,测量相对时间(持续时间)的主要目的也受到负面影响。在将不同的队列与LMAX的Disruptor进行比较时,我遇到了这个问题,试图测量延迟,有时我会遇到非常负的延迟。在这些情况下,开始和结束时间戳由不同的线程创建,但延迟是在这些线程完成后计算的。我这里的代码使用nanoTime来计算时间,计算currentTimeMillis

java - 简单 Java 金字塔——使用 System.out.printf() 格式化输出

目标:我正在尝试生成类似于下面给出的格式的金字塔。这需要一个基本的Java程序来接受用户输入、将数字转换为字符串、使用嵌套循环并生成格式化输出。下面是使用8行的所需输出示例。Enterthenumberoflines:81212321234321234543212345654321234567654321234567876543212345678问题:我相信我有适当增加数字的逻辑,但是我需要帮助来格式化金字塔。我可以在每个数字之间添加空格,但是如果行数>10,那么格式就会乱七八糟,如您所见。在最后一行(第10行),数字1不再居中。这是什么原因,我该如何解决?我知道我可以使用System

java - system.out.println 的时间复杂度

在我的算法类(class)中,有人告诉我不同​​的事情,我想知道我是否可以获得关于Java的System.out.println()命令的时间复杂度的明确答案。例如,对于N,下面的时间复杂度是多少?Stringstringy="";while(stringy.length()感谢您帮助新人! 最佳答案 这段代码的时间复杂度是O(N*N)因为它是N次打印的循环。我不知道你被告知了什么,但打印它的时间复杂度并不比Java中的O(N)差。在您的代码中,您将“X”添加到每一行,因此您的打印将是:XXXXXXXXXXXXXXXXXXXXX..

Java 默认版本在 PATH 更改后不反射(reflect)

我目前在Java1.7.0_1764位版本上运行,我想使用Java32位版本启动应用程序。我更新了PATH变量以指向(C:\ProgramFiles(x86)\Java\jre7\bin)Java32位版本。然后做了一个java-version它仍然显示64位版本。我放弃并尝试做一个java-d32-jarabc.jar然后它给了我一个java-d32Error:ThisJavainstancedoesnotsupporta32-bitJVM.Pleaseinstallthedesiredversion.请告诉我系统如何刷新在PATH变量中完成的最新Java设置。

java - 捕获应用程序停止异常时应该使用 System.exit(1) 吗?

假设我有以下代码:try{//DosomethingwithFile}catch(FileNotFoundExceptione){outputInfo("ErrorinIORedirection",true);e.printStackTrace();System.exit(1);}我的程序在此捕获位置后立即退出,是一个单线程(一个主要方法)程序,不应期望从此类异常中恢复。我真的应该使用System.exit(1);吗? 最佳答案 如果您希望其他人运行您的程序,并且他们依靠进程状态代码来了解您的程序是成功还是失败,那么您应该使用Sys

java - MockClassLoader 无法访问 jdk/internal/reflect 父类(super class) jdk.internal.reflect.MagicAccessorImpl

我正在将一个项目迁移到Java9,在我切换到新的Java版本后测试开始失败,似乎PowerMock正在尝试访问它无法访问的一些类。Testsrun:1,Failures:0,Errors:1,Skipped:0,Timeelapsed:0.973secma​​ven-surefire-pluginmaven-surefire-plugin2.19.1**/*Test.java**/*Test.groovy**/*Spec.*always--add-modulesjava.xml.bind--add-modulesjava.activation--add-opens=java.base/

java - JRun/Coldfusion - System.out - 如何防止它变得太大?

我在Windows机器上运行ColdFusion8应用程序服务器。ColdFusion作为Windows服务运行。我注意到System.out某些机器上的文件很大(1GB+)。例如C:\ColdFusion8\runtime\bin\System.out我知道这是将CF作为服务运行时控制台输出结束的地方,但是是否有任何JRun设置允许我每隔xMB保存此文件,或限制文件的大小或类似的东西?感谢所有提示!重要编辑:基于讨论here-我认为重要的是要提到System.out由于大量代码写入该文件,文件在我们的机器上变得很大,即使用:sys=createObject("java","java.

java - Scanner input = new Scanner(System.in) 到底是什么意思?

Scannerinput=newScanner(System.in);你能详细解释一下上面的代码一步一步做了什么吗?我真的不明白它是如何工作的以及它如何链接到我以后能够做这个声明:inti=input.nextInt() 最佳答案 好吧,让我们对Scanner做一些简单的解释。类。这是一个标准的Oracle类,您可以通过调用importjava.util.Scanner使用它。那么让我们做一个类的基本示例:classScanner{InputStreamsource;Scanner(InputStreamsrc){this.sour

java - 排序数组并反射(reflect)另一个数组中的变化

我有一个double组,在Java中:arr1我想对其进行排序。第一个选项很可能是实用程序方法Arrays.sort(double[])。我的想法是我想要相同的更改(例如indexi处的值与arr1中indexj处的值互换)到反射(reflect)在另一个整数数组中:arr2(在相同索引处的值也在arr2中更改的意义上)。有没有一种简单的方法(技巧)可以在Java中实现这一点?还是只能自己实现排序算法?更新:我看到人们建议用一个包含2个值的对象数组替换这两个数组(一个来自arr1,一个来自arr2)。这不会带来一些效率损失吗?换句话说,对对象数组进行排序是否比原始类型数组(在本例中为d

java - 使用 Google Reflections 获取所有类的列表——但 java.* 似乎丢失了

我正在使用googleReflections包来构建可调用的所有类的索引。以下代码应该返回JVM中加载的所有类:ListclassLoadersList=newLinkedList();classLoadersList.add(ClasspathHelper.contextClassLoader());classLoadersList.add(ClasspathHelper.staticClassLoader());Reflectionsreflections=newReflections(newConfigurationBuilder().setScanners(newSubType