小编Pok*_*u22的帖子

后增量(i ++)和预增量(++ i)运算符如何在Java中工作?

你能解释一下这个Java代码的输出吗?

int a=5,i;

i=++a + ++a + a++;
i=a++ + ++a + ++a;
a=++a + ++a + a++;

System.out.println(a);
System.out.println(i);
Run Code Online (Sandbox Code Playgroud)

两种情况下的输出均为20

java pre-increment post-increment

88
推荐指数
8
解决办法
29万
查看次数

什么是最好的图像缩小算法(质量方面)?

我想找出哪种算法最适合用于缩小光栅图片的尺寸.最好的我指的是给出最好看结果的那个.我知道bicubic,但还有更好的东西吗?例如,我从一些人那里听说Adobe Lightroom有一些专有算法,它产生的结果比我使用的标准双三次更好.不幸的是,我想在我的软件中自己使用这个算法,因此Adobe小心谨慎的商业秘密是行不通的.

添加:

我检查了Paint.NET,令我惊讶的是,在缩小图片时,Super Sampling似乎比bicubic更好.这让我想知道插值算法是否可行.

它还让我想起了我自己"发明"但从未实现过的算法.我想它也有一个名字(因为这个琐碎的东西不能仅仅是我的想法),但我在流行的那些中找不到它.超级采样是最接近的.

这个想法是这样的 - 对于目标图片中的每个像素,计算它在源图片中的位置.它可能会覆盖一个或多个其他像素.然后可以计算这些像素的面积和颜色.然后,为了获得目标像素的颜色,可以简单地计算这些颜色的平均值,将它们的区域添加为"权重".因此,如果目标像素覆盖1/3的黄色源像素和1/4的绿色源像素,我会得到(1/3*黄色+ 1/4*绿色)/(1/3 + 1/4).

这自然是计算密集型的,但它应该尽可能接近理想,不是吗?

这个算法有名字吗?

algorithm resize image

71
推荐指数
4
解决办法
8万
查看次数

OperationalError:数据库已锁定

我在我的应用程序中进行了一些重复操作(测试它),突然间我得到一个奇怪的错误:

OperationalError: database is locked
Run Code Online (Sandbox Code Playgroud)

我重新启动了服务器,但错误仍然存​​在.一切都是关于什么的?

python database sqlite django locked

48
推荐指数
8
解决办法
7万
查看次数

如何获得正则表达式匹配的组值

我有以下几行代码

String time = "14:35:59.99";
String timeRegex = "(([01][0-9])|(2[0-3])):([0-5][0-9]):([0-5][0-9])(.([0-9]{1,3}))?";
String hours, minutes, seconds, milliSeconds;
Pattern pattern = Pattern.compile(timeRegex);
Matcher matcher = pattern.matcher(time);
if (matcher.matches()) {
    hours = matcher.replaceAll("$1");
    minutes = matcher.replaceAll("$4");
    seconds = matcher.replaceAll("$5");
    milliSeconds = matcher.replaceAll("$7");
}
Run Code Online (Sandbox Code Playgroud)

我使用matcher.replace正则表达式组的方法和反向引用获得小时,分钟,秒和毫秒.有没有更好的方法来获得正则表达式组的价值.我试过了

hours = matcher.group(1);
Run Code Online (Sandbox Code Playgroud)

但它抛出以下异常:

java.lang.IllegalStateException: No match found
    at java.util.regex.Matcher.group(Matcher.java:477)
    at com.abnamro.cil.test.TimeRegex.main(TimeRegex.java:70)
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么吗?

java regex

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

我的基于AMD的机器是使用小端还是大端?

我正在进行一个计算机系统课程,我试图确定,如果我的基于AMD的计算机是一个小端机器?我相信这是因为它与英特尔兼容.

具体来说,我的处理器是AMD 64 Athlon x2.

我知道这在C编程中很重要.我正在编写C程序,我正在使用的方法会受此影响.我试图弄清楚如果我在基于Intel的机器上运行程序我会得到相同的结果(假设这小端机器).

最后,让我问一下:任何能够运行Windows(XP,Vista,2000,Server 2003等)以及Ubuntu Linux桌面的机器都是小端吗?

谢谢,
弗兰克

c intel endianness amd-processor

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

何时可能抛出IOError?

我从未见过IOError抛出一个案例.文档IOError对此的唯一说法是:

发生严重I/O错误时抛出.

没有任何子类或任何其他明显的东西.

有没有什么时候IOError会被抛出java?可能导致什么?

(这不应该被混淆IOException- IOException被广泛使用,并且是常用的;我知道.我想知道不太常见IOError).

java ioerror

25
推荐指数
3
解决办法
6058
查看次数

无法将视频上传到iTunesConnect:应用视频预览的帧速率过高

我在OS X Yosemite上使用QuickTime播放器制作了App Store预览视频.
当我尝试将视频上传到iTunesConnect时,收到错误消息:

应用视频预览的帧率过高.

我在QuickTime播放器中看不到任何更改帧速率的选项.

我收到的错误消息

有人知道该怎么办吗?

itunesconnect app-store appstore-approval ios

23
推荐指数
3
解决办法
7729
查看次数

为什么这个Haskell程序有所不同?

看起来像[1,2,3]和[1..3]之间的奇怪区别.

在下面使用runghc打印出一个"True",然后永久挂起:为什么?(我正在使用ghc 7.8.3)

module Main where

import Data.Functor((<$>))
import Data.Time.Clock(DiffTime)
import Data.Binary(Binary(..), encode, decode, Get)
import Data.Int(Int64)

instance Binary DiffTime where
  put x = put (truncate (x * 10^12) :: Int64)
  get = ((/ 10^12) . fromIntegral) <$> (get :: Get Int64)

prop_getput_difftime :: DiffTime -> Bool
prop_getput_difftime x = x == ((decode . encode $ x) :: DiffTime)

explicit :: [DiffTime]
explicit = [1,2,3,4,5,6,7,8,9,10]

elipsis :: [DiffTime]
elipsis = [1..10]

main :: IO ()
main = do
  print $ …
Run Code Online (Sandbox Code Playgroud)

haskell

23
推荐指数
1
解决办法
1090
查看次数

检查null - 什么顺序?

检查空值时,我使用:

String str;

if(str == null){
    //...
}
Run Code Online (Sandbox Code Playgroud)

但我也见过这个:

if(null == str){
    //...
}
Run Code Online (Sandbox Code Playgroud)

使用一个优于另一个是否有任何优势?或者只是为了提高可读性?

java

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

Java注释的默认值是否编译为字节码?

我尝试为Java字节码实现几个静态分析.他们试图计算某个方法是否具有特定属性,例如是工厂方法.因为这些分析很难测试,所以我决定编写一些Java代码并使用正确的属性直接注释方法.运行分析后,很容易自动检查计算属性和带注释的属性是否相同.

MyAnnotation:

@Retention(RUNTIME)
@Target(METHOD)
public @interface FactoryMethodProperty {

    FactoryMethodKeys value() default FactoryMethodKeys.NonFactoryMethod;
}
Run Code Online (Sandbox Code Playgroud)

示例测试代码:

public class PublicFactoryMethod {

    private PublicFactoryMethod(){
        // I'm private
    }

    @FactoryMethodProperty
    public static void newInstanceAfterOtherConstructorCall(){
        new TransFacoryMethod();
        new PublicFactoryMethod();
    }

    @FactoryMethodProperty(FactoryMethodKeys.IsFactoryMethod)
    public static PublicFactoryMethod newInstance(){
        return new PublicFactoryMethod();
    }
}
Run Code Online (Sandbox Code Playgroud)

因为我的测试代码中的大多数方法都不是工厂方法,所以我将默认设置为枚举值"FactoryMethodKeys.NonFactoryMethod".但是当我没有将枚举值显式传递给注释时,它不会被编译为字节码.

字节码:

 #23 = Utf8               value
  #24 = Utf8               Lorg/opalj/fpa/test/annotations/FactoryMethodKeys;
  #25 = Utf8               IsFactoryMethod

{
  public static void newInstanceAfterOtherConstructorCall();
    descriptor: ()V
    flags: ACC_PUBLIC, ACC_STATIC
    RuntimeVisibleAnnotations:
      0: #16()
    Code:
      stack=1, locals=0, args_size=0
         0: new           #17                 // class …
Run Code Online (Sandbox Code Playgroud)

java annotations bytecode java-8

12
推荐指数
2
解决办法
879
查看次数