小编Umb*_*ndi的帖子

抽象类和接口在JVM中的存储有什么区别

抽象类和接口在JVM中的存储有什么区别.更准确地说,JVM将接口存储到其内存中的哪个位置?

java abstract-class jvm interface

11
推荐指数
2
解决办法
1196
查看次数

如果重复使用相同的代码,为什么Java会更快?

给出以下代码:

public class Test{

    static int[] big = new int [10000];

    public static void main(String[] args){
        long time;
        for (int i = 0; i < 16; i++){
            time = System.nanoTime();
            getTimes();
            System.out.println(System.nanoTime() - time);
        }    
    }
    public static void getTimes(){
        int d;
        for (int i = 0; i < 10000; i++){
            d = big[i];
        }    
    }
}
Run Code Online (Sandbox Code Playgroud)

输出显示持续时间递减趋势:

171918
167213
165930
165502
164647
165075
203991
70563
45759
43193
45759
44476
45759
52601
47897
48325
Run Code Online (Sandbox Code Playgroud)

为什么getTimes在执行8次或更多次后,在不到三分之一的时间内执行相同的代码?(编辑:它并不总是发生在第8次,但从5日到10日)

java optimization jit jvm jvm-hotspot

11
推荐指数
1
解决办法
1122
查看次数

通过REST API查询HealthKit数据

是否有可能以与查询常规API(经用户同意)存储在我的webapp中相同的方式从Healthkit获取数据?

就像是: healthkit.com/api/v1/user/GetWeight

如果是,我在哪里可以找到可用方法的列表?如果没有,有任何解决方法吗?

healthkit

8
推荐指数
3
解决办法
7634
查看次数

缺少Java库中的@Override

它被认为是一种很好的做法

对正在子类中重写的方法使用@Override注释.

但是为什么同样没有应用于Java库附带的类.例如String Class.它会覆盖Object类的方法,但不会对这些方法使用@Override注释.

这是为了保持与先前版本的Java(如1.4等)的向后兼容性.

谢谢

java inheritance jvm annotations

7
推荐指数
2
解决办法
855
查看次数

带有SSH的Apache Felix shell

我对如何使用Apache Felix和SSH感兴趣?我想使用SSH从远程计算机访问Felix shell.我知道有一个telnet支持,但它太不安全了.有什么解决方案吗?

java osgi apache-felix gogo-shell

7
推荐指数
1
解决办法
1421
查看次数

为什么proguard不会混淆方法体?

我正在使用ProGuard来混淆我的.jar程序.一切正常,但ProGuard不会在方法体中混淆局部变量.这是一个例子:

生的:

在此输入图像描述

混淆:

在此输入图像描述

以黄色突出显示的变量名称应该被混淆,但它们不是.我怎样才能对它们进行模糊处理(将它们重命名为a,b,c等?)

这是我的ProGuard配置:http://pastebin.com/sb3DMRcC(上述方法不是来自其中一个排除的类).

java variables obfuscation jvm proguard

7
推荐指数
1
解决办法
1480
查看次数

内在函数和内联对Lambda性能的影响?

我已经使用了这个基准测试java8-lambda-performance-test,在运行它时我做了以下几点:

1.Disabled内在用法

2.Disabled Inlining

3.Disabled编译模式

我发现禁用两个第一次优化对结果没有影响.

这很奇怪,而且当运行基准和打印内在时,我没有找到任何对内在的调用 compiledLambdaForm

由于数学内在函数大量使用_min,_pow ...我期待禁用内在函数会降低性能

java lambda jvm

6
推荐指数
1
解决办法
285
查看次数

带C的Z波协议:关于Z波帧结构和编程的一般问题

(在我提出问题之前;我不知道是否允许任何人回答我的问题,因为Z波协议应该是机密信息,但如果它确实违反了任何类型的规则,那么随意删除这个帖子.)

我目前正在尝试编写一个C程序,它只是构造一个由原始二进制数据组成的Z波消息,然后将该消息发送到连接Z波控制器的USB接口(我正在使用AEOTEC Z-Stick USB加密狗由Aeon Labs提供).我也使用指南作为参考,并试图在简单C中重写示例代码.但是,如果你看一下指南,特别是他试图发送给USB控制器的消息:

/*
0x01, 0x09, 0x00, 0x13, nodeId, 0x03, 0x20, 0x01, state, 0x05, checksum
*/
Run Code Online (Sandbox Code Playgroud)

...也许只是我,但似乎缺少来自通常的Z波框架的一些信息.我的猜测是前4个字节代表Home ID后跟节点ID,但是我无法弄清楚'0x03'之后的含义,假设该字节后面的其余部分代表"Basic"命令类(' 0x20',1字节)和相应的"Set"应用程序命令('0x01',1字节).在校验和位之前'0x05'代表什么?那传输头信息呢,为什么不包含它?看起来他不需要包含它......或者我只是在解释数据包完全错误.有人可以开导我吗?

另外,如果您从USB端口读取应用程序层信息(f.ex.中带有open()&read()命令,那么它是否正确无法检索应用程序层信息?)

先感谢您!

c networking packet z-wave

6
推荐指数
2
解决办法
2339
查看次数

javac 类路径顺序与 Oracle 文档相矛盾?

Sierra/Bates SCJP书第 797 页中:

“java 和 javac [...] 首先查找包含 Java SE 标准类的目录。然后它们查找由类路径定义的目录”

Oracle 文档说明了相同的顺序。

(我知道我不应该这样做,但是......)为了测试这种行为,我在目录中实现了HashSet.javaLol.java:C:\dev\cmdline\TestProject\sources\java\util

package java.util;
public class HashSet {}
Run Code Online (Sandbox Code Playgroud)

package java.util;
import java.util.HashSet;
public class Lol {
    public static void main(String... x) {
        HashSet a = new HashSet();
        a.add("lol");
    }
}
Run Code Online (Sandbox Code Playgroud)

执行时出现编译错误:C:\dev\cmdline\TestProject\sources>javac java/util/Lol.java

java\util\Lol.java:6: 错误: 找不到符号 a.add("lol"); ^符号:方法add(String)位置:HashSet类型的变量a

...这意味着首先使用默认的类路径(当前目录)。

那么,Oracle文档有错吗?您将如何测试类路径顺序?

java jvm

5
推荐指数
1
解决办法
682
查看次数

什么是 webservices-rt.jar?和地铁有关系吗?

抱歉,如果这是一个愚蠢的问题,但我真的很困惑,无法清楚地了解它,因为我对 java web 服务非常陌生。

我有一个公开一些 Web 服务 API 的项目,有人告诉我这个项目使用 Metro,但我没有看到像 jaxws-rt.jar 这样与 Metro 相关的 jar,而是看到了 webservices-rt.jar。

我想知道 webservices-rt.jar 是什么,它来自哪里?

java web-services microsoft-metro

5
推荐指数
1
解决办法
6476
查看次数