草庐IT

中央处理器

全部标签

Java VisualVM CPU 使用率和处理器亲和性

根据我今天的经验,我发现Oracle的JavaVisualVM将cpu使用率显示为总机器内核的百分比,即使被监视的JVM在操作系统中设置了有限的进程亲缘关系也是如此。这是在“监视器”选项卡中。使用taskset(在linux、Ubuntu上)限制受监控的jvm,当允许该jvm的处理器在htop中接近100%利用率时,cpu百分比显示在VisualVM显然等于cpu总数除以被监控的jvm允许的处理器数。因此,秤的分辨率对于这种情况是不够的。您能否确认您在其他操作系统或一般情况下观察到相同情况?有没有办法让VisualVM在显示CPU使用率时只考虑关联分配的核心?

java - 为 maven-processor-plugin 编写注解处理器

我有兴趣为maven-processor-plugin编写注释处理器。我对Maven比较陌生。处理器Java源代码应该放在项目路径中的什么位置(例如:src/main/java/...),以便它得到适当的编译,但最终不会成为我的ArtifactJAR文件的一部分? 最佳答案 最简单的方法是将注解处理器放在一个单独的项目中,并将其作为依赖项包含在内。如果这对您不起作用,请使用此配置编译器插件:org.apache.maven.pluginsmaven-compiler-plugin2.3.21.51.5truedefault-comp

java - 如何创建处理局部变量的注解处理器?

我正在尝试为局部变量创建注释。我知道我无法在生成的字节码中保留注释,但我应该能够通过执行以下操作在编译时访问信息:@Target({ElementType.LOCAL_VARIABLE})@Retention(RetentionPolicy.SOURCE)public@interfaceJunk{Stringvalue();}只是,当我在以下支持的类型中指定具有“垃圾”的ProcessorFactory时,apt或javac不会处理它:classJunkTester{publicstaticvoidmain(String[]args){@JunkStringtmp="HelloWorl

java - 是否可以在 Java 中检测处理器架构?

这个问题在这里已经有了答案:GetOS-levelsysteminformation(17个答案)关闭9年前。是否可以在Java中检测处理器架构?像x86或sunSPARC等?如果是这样,我将如何着手去做?

java - 如何将 lombok 和 JPAMetalModel 处理器与 maven 合并

如何使用Lombok当JPAMetaModelEntityProcessor注解处理器在Maven构建中被激活时。Maven配置:[...]maven-compiler-pluginorg.hibernate.jpamodelgen.JPAMetaModelEntityProcessororg.projectlomboklombokprovidedorg.hibernate.javax.persistencehibernate-jpa-2.0-apiorg.hibernatehibernate-jpamodelgenprovided[...]在构建过程(mvncleaninstall)

java - 如何让 Java 将我的多核处理器与 GZIPInputStream 一起使用?

我在我的程序中使用GZIPInputStream,我知道如果我能让Java并行运行我的程序,性能会有所提高。一般来说,是否有让标准虚拟机在多核上运行的命令行选项?它只在一个上运行。谢谢!编辑我在WindowsXP上运行普通的JavaSE6更新17。将GZIPInputStream放在一个单独的线程上是否有明确的帮助?没有!不要将GZIPInputStream放在单独的线程上!不要多线程I/O!编辑2我想I/O是瓶颈,因为我正在读取和写入同一个磁盘...不过,一般来说,有没有办法让GZIPInputStream更快?还是并行运行的GZIPInputStream的替代品?编辑3我使用的代码

java - 访问注释处理器中的常量字段

假设一个类定义了一个常量字段:publicclassFoo{publicstaticfinalintCONSTANT_FIELD=3;}假设注解接口(interface)声明如下:public@interfaceSomething{intvalue();}最后,假设注解使用如下:@Something(Foo.CONSTANT_FIELD)问题:在注解处理器中,如何通过设置@Something的值来获取CONSTANT_FIELD的元素?编辑:在问题本身中包含一个具体示例。我有一个像这样使用的注释:@RuleDependency(recognizer=BQLParser.class,ru

java - 在 Java 6 注释处理器中查找方法返回类型的类型参数

我正在编写一个工具,它使用注释处理器根据注释类方法的返回类型生成源代码。返回类型始终是接口(interface)的某个子类型(接口(interface)或类)A定义类型变量T.interfaceA{Tm();};我想找到方法的类型参数m()返回值类型变量T.返回类型由注释处理器表示为javax.lang.model.type.TypeMirror实例。最简单的情况是返回A直接地。@SomeAnnotationclassSomeClass{Ax();}找出处理器代码T很简单。(为了使代码简单,我将在此处进行转换而不是使用访问者API。)DeclaredTypetype=(Declared

java - 什么是 Java2D 处理器线程?

我创建了一个使用Hibernate的示例Java应用程序,当我执行线程转储时,我观察到名为Java2DDisposer的奇怪线程。有人能告诉我那个线程的功能吗? 最佳答案 AWT系统中的某些实体需要完成才能释放资源。最突出的示例是java.awt.Windows,它需要在窗口被垃圾回收后释放其native资源。可以使用终结器来做到这一点,但可以为您提供更详细控制的解决方案是将幻像引用与引用队列一起使用。该解决方案需要一个在引用队列上等待的专用线程。该线程是“Java2D处理器”线程,它是在您初始化AWT系统时创建的。

Java:VM 如何在 32 位处理器上处理 64 位 `long`

JVM如何在32位处理器上处理原始的“long”,即64位?能否在多核32位机器上并行使用多核?32位机器上的64位操作要慢多少? 最佳答案 它可能使用多个核心来运行不同的线程,但它不会并行使用它们进行64位计算。64位长基本上存储为两个32位整数。为了添加它们,需要进行两次添加,以跟踪进位位。乘法有点像将两个两位数相乘,只是每个数字都以2^32为底,而不是以10为底。其他算术运算也是如此。关于速度的编辑:我只能猜测速度差异。加法需要两次加法而不是一次,乘法(我认为)需要四次乘法而不是一次。但是,我怀疑如果所有内容都可以保存在寄存器