小编ast*_*eri的帖子

获取鼠标位置

我想用Java模拟一个自然的鼠标移动(从这里到像素逐行).要做到这一点,我需要知道起始坐标.

我找到了方法event.getX()和event.getY()但我需要一个事件......

如何在不做任何事情(或不可见的事情)的情况下知道这些职位?

谢谢

java mouse

101
推荐指数
6
解决办法
22万
查看次数

BigInteger有上限吗?

可能重复:
BigInteger没有限制意味着什么?

Javadoc for BigInteger没有定义任何最大值或最小值.但它确实说:

(重点补充)

不可变的任意精度整数

甚至在理论上是否存在这样的最大值?或者BigInteger操作方式是否根本不同,除了计算机上可用的内存量之外,实际上没有最大值?

java biginteger

76
推荐指数
3
解决办法
10万
查看次数

数组是原始类型还是对象(或其他完全不同的东西)?

这个问题基本上是不言自明的.我无法找到数组的API(除了这个数组,但这只是定义了一堆用于处理实际数组的静态辅助函数).如果没有它的类,这似乎表明一个数组不能是一个Object.

但是,一个数组具有公共字段length和它可以调用的方法这样的事实,.equals()并且.clone()似乎(非常强烈地)建议完全相反.

对于原始数组的奇怪表示和行为有什么解释?

作为一个注释,我试着在.clone()刚才的数组方法上使用"Open Implementation"Eclipse特性,希望我能够看看这个方法的定义位置和方法(因为它说int []覆盖了它对象),但它实际上导致我的整个Eclipse冻结并崩溃......

java arrays primitive object

54
推荐指数
4
解决办法
5万
查看次数

为什么添加两个空字符串的结果不为null?

当我在.Net编程中遇到这种奇怪的行为时,我正在C#中摆弄.

我写了这段代码:

  static void Main(string[] args)
    {
        string xyz = null;
        xyz += xyz;
        TestNullFunc(xyz);
        Console.WriteLine(xyz);

        Console.Read();

    }

    static void TestNullFunc(string abc)
    {
        if (abc == null)
        {
            Console.WriteLine("meow THERE ! ");
        }
        else
        {
            Console.WriteLine("No Meow ");
        }
    }
Run Code Online (Sandbox Code Playgroud)

我得到了输出No meow,这意味着字符串不是null.这怎么可能?为什么添加两个null字符串会导致非null字符串?

在调试时,我检查xyz将其添加到自身后的值,其值为""(无字符).

c# string null

42
推荐指数
3
解决办法
2541
查看次数

List <Void>的目的是什么?

我甚至都不知道这是可行的,但我在网上浏览了一些带有如下签名的方法:

public List<Void> read( ... )
Run Code Online (Sandbox Code Playgroud)

... 什么?有没有理由这样做?这List甚至可以举办什么?据我所知,实例化一个Void对象是不可能的.

java generics list void

36
推荐指数
3
解决办法
3917
查看次数

Java中的INFINITY常量是什么?

我刚刚遇到了原始类型包装类中的常量,如Double.POSITIVE_INFINITYDouble.NEGATIVE_INFINITY.在API中,它将第一个定义为:

持有double类型的正无穷大的常量.它等于Double.longBitsToDouble(0x7ff0000000000000L)返回的值.

其他人也有这些相同的定义.

我遇到的问题是了解这些常数究竟是什么.它们实际上不能代表正/负无穷大,因为系统本质上是有限的.它是Java创建者认为会定义无限概念的一些任意位设置吗?或者这些确实具有某种特殊价值?如果它只是一个解释为a的任意字符串double,那么是否有一些正常的数字,当被解释为double将返回POSITIVE_INFINITY而不是实际预期的任何值?

请原谅我,如果Double.longBitsToDouble(0x7ff0000000000000L)API 的部分答案是明显的.说实话,这个描述对我来说非常神秘,我不会假装理解十六进制值实际上意味着什么或代表什么.

java bits constants infinity

33
推荐指数
3
解决办法
4万
查看次数

finally {}块不会执行的情况是什么?

在Java try{} ... catch{} ... finally{}块中,finally{}无论try/catch中发生什么,通常都认为其中的代码是"保证"运行的.但是,我知道至少有两种情况不会执行:

  • 如果System.exit(0)被召唤; 要么,
  • 如果异常被抛到JVM并且发生默认行为(即printStackTrace()退出)

是否有任何其他程序行为会阻止finally{}块中的代码执行?代码在什么具体条件下执行?

编辑:正如NullUserException指出的那样,第二种情况实际上并非如此.我认为这是因为标准错误中的文本在标准输出之后打印出来,防止文本在没有向上滚动的情况下被看到.:) 道歉.

java jvm try-catch try-catch-finally

31
推荐指数
2
解决办法
2万
查看次数

RESTful Web服务中的@POST

我一直在尝试使用Jersey了解RESTful Web服务中的@POST.我已经通过http://www.vogella.com/articles/REST/article.html了解相同的内容,并且能够获得有关@POST的一些信息,但感到困惑和笨拙.任何人都可以通过一个简单的例子解释@POST或分享相同的链接.

在上面的链接中通过TODO对象实现@POST很好,但是我希望通过其他一些简单的例子学习@POST,这样我就可以继续开发自己复杂的@POST示例了.

帮助将是值得的,谢谢.

java rest jersey

30
推荐指数
2
解决办法
13万
查看次数

承诺的JDO写入不适用于本地GAE HRD或可能重用的事务

我在app引擎上使用JDO 2.3.我使用Master/Slave数据存储区进行本地测试,最近切换到使用HRD数据存储区进行本地测试,我的部分应用程序正在破坏(这是预期的).正在破坏的应用程序的一部分是快速发送大量写入的地方 - 这是因为1秒限制的事情,它失败了并发修改异常.

好吧,所以这也是预料之中的,所以我让浏览器在失败后再次重试写入(可能不是最好的黑客,但我只是想让它快速运行).

但是一件奇怪的事情正在发生.即使提交阶段完成且请求返回我的成功代码,一些应该成功的写入(不会获得并发修改异常的写入)也会失败.我可以从日志中看到重试的请求工作正常,但是我猜这些似乎在第一次尝试时提交的其他请求从未"应用".但是从我读到的关于Apply阶段的内容来看,再次写入同一个实体应该强制应用......但事实并非如此.

代码如下.有些事情需要注意:

  1. 我试图使用自动JDO缓存.所以这就是JDO使用memcache的地方.除非您在事务中包装所有内容,否则这实际上不起作用.
  2. 所有请求正在执行的是从实体读取字符串,修改字符串的一部分,并将该字符串保存回实体.如果这些请求不在事务中,那么您当然会遇到"脏读"问题.但是对于事务,隔离应该处于"可序列化"的水平,所以我不知道这里发生了什么.
  3. 被修改的实体是根实体(不在组中)
  4. 我启用了跨群组事务

相关代码(这是简化版):

PersistenceManager pm = PMF.getManager();
Transaction tx = pm.currentTransaction();
String responsetext = "";
try {
    tx.begin();
    // I have extra calls to "makePersistent" because I found that relying
    // on pm.close didn't always write the objects to cache, maybe that
    // was only a DataNucleus 1.x issue though
    Key userkey = obtainUserKeyFromCookie();
    User u = pm.getObjectById(User.class, userkey);
    pm.makePersistent(u); // to make sure it gets cached for next …
Run Code Online (Sandbox Code Playgroud)

java google-app-engine memcached jdo

28
推荐指数
1
解决办法
583
查看次数

C中宏的范围?

如何评估这些宏?

# define i 20
void fun();

int main(){
  printf("%d",i);
  fun();
  printf("%d",i);
  return 0;
}

void fun(){
  #undef i
  #define i 30
}
Run Code Online (Sandbox Code Playgroud)

提供输出为2020但是,

# define i 20
void fun(){
  #undef i
  #define i 30
}

int main(){
  printf("%d",i);
  fun();
  printf("%d",i);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出为3030.请解释.谢谢.

c c-preprocessor

28
推荐指数
5
解决办法
7958
查看次数