如何使用Floyd-Steinberg抖动将24位PNG转换为3位PNG ?java.awt.image.BufferedImage应该用于获取和设置RGB值.
在维基百科上,给出了一个如何将16位转换为8位图像的示例:
find_closest_palette_color(oldpixel) = (oldpixel + 128) / 256
Run Code Online (Sandbox Code Playgroud)
基于此,有没有关于如何适应上述示例以实现目标的想法?
我可以用什么API来格式化int为2位数?
例如,在这个循环中
for (int i = 0; i < 100; i++) {
System.out.println("i is " + i);
}
Run Code Online (Sandbox Code Playgroud)
我能使用,以确保i打印出像01,02,10,55等(假设范围01-99)
我是Groovy的新手.
为什么这会在运行时抛出异常:
int[] a = [1,2,3,4,5]
int lo=0
int hi=4
int x = a[(lo+hi)/2]
assert x == 3
Run Code Online (Sandbox Code Playgroud)
虽然这些都可以:
int x = a[(int)(lo+hi)/2]
Run Code Online (Sandbox Code Playgroud)
和
int i = (lo+hi)/2
int x = a[i]
Run Code Online (Sandbox Code Playgroud) 在Java中调试命令行参数处理时,我习惯这样做
args = new String[] { "some", "new", "arguments" };
Run Code Online (Sandbox Code Playgroud)
(如果您经常更改文件名作为参数,但不想在IDE中浏览某些对话框窗口,则特别有用).这样做的好处是我可以在构建版本时简单地注释掉该行.
因此,当我在Scala中尝试这个时,我发现参数是vals.(我不能var在参数前面写).
Q2:除了这样做之外,有没有明显的解决方法
val newArgs = if (...) args else Array("some", "new", "arguments")
Run Code Online (Sandbox Code Playgroud)
并坚持newArgs剩下的主要方法?
我对线程有一个小问题.在Unix系统上,我们有nice,可用于设置优先级进程.好的,在我的系统上,我调用了一些外部进程,但是,我想为它们设置优先级.在unix中,我可以调用其他ProcessBuilder并设置好我想要的进程,但在Windows中,它是不可能的.
如果我启动一个具有某些优先级的线程,并在ProcessBuilder中使用它,那么该进程将具有与线程相同的优先级?或者还有其他方法可以做到这一点吗?
干杯
我刚刚参加了暑期学校的斯卡拉讲座.讲师得到了以下问题:
- "有没有办法让编译器判断一个类是不可变的?"
讲师回答说
- "不,没有.如果可能的话会非常好. "
我很惊讶.不仅仅是检查该类是否包含任何var-members?
如果我理解正确,Integer[]是一个子类型Object[].你可以这样做
Object[] objs = new Integer[] { 1, 2, 3 };
Run Code Online (Sandbox Code Playgroud)
在玩var-args时我意识到,似乎编译器"过度接近"数组类型没有明显的原因.
例如,下面的程序打印123 123.如果印刷它会不会有意义/更精确123 6?
class Test {
public static Object combine(Object... objs) {
if (objs instanceof Integer[]) {
int sum = 0;
for (Integer i : (Integer[]) objs)
sum += i;
return sum;
} else {
String concat = "";
for (Object o : objs)
concat += o;
return concat;
}
}
public static void main(String[] args) {
System.out.println(combine("1", "2", "3")); …Run Code Online (Sandbox Code Playgroud) 我刚刚学会了散列的概念("嘿!别忘了盐!")并使用salt来确保密码安全.
散列它是一种单向加密(实际上不是加密而是散列),所以它不能被反向设计.在散列之前,Salting正在为密码添加前缀或附加随机创建的值,因为哈希(只是哈希)中的问题是,某些天才提供了字典中的单词哈希表,以便他们只是将该字典中的哈希值与用户的表从数据库登录 - W-wait?我从数据库中说过表吗?所以这意味着有人可以访问数据库,所以我们必须使用salt?如果是这样,那么如果黑客已经有权访问数据库,为什么黑客会恢复密码呢?如果我是他,我会从数据库中获取我想要的所有细节,如果我可以通过窗户进入房子,为什么我会使用从房子里偷来的钥匙打开门?
那么,为什么哈希呢?为什么盐?我不明白.拜托,有人帮帮我.
提前致谢.
重要提示:我不反对散列或腌制,我只想澄清一些事情.
我目前正在运行Solr,它是随附的Jetty容器.从命令行运行时,它可以正常运行:
java -jar start.jar
Run Code Online (Sandbox Code Playgroud)
当我和start.jar在同一个目录中时.不幸的是,我需要能够从任何目录启动jetty,而不仅仅是包含start.jar的目录.我尝试了很多选项,例如:
java -Dsolr.solr.home=~/solr/ -Djetty.home=~/solr/ -Djetty.logs=~/solr/logs/ -cp ~/solr/start.jar:~/solr/lib/jetty-util-6.1.26-patched-JETTY-1340.jar:~/solr/lib/jetty-6.1.26-patched-JETTY-1340.jar:~/solr/lib/servlet-api-2.5-20081211.jar -jar ~/solr/start.jar ~/solr/etc/jetty.xml
Run Code Online (Sandbox Code Playgroud)
每次我得到这个回溯:
java.lang.ClassNotFoundException: org.mortbay.xml.XmlConfiguration
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at org.mortbay.start.Main.invokeMain(Main.java:179)
at org.mortbay.start.Main.start(Main.java:534)
at org.mortbay.start.Main.start(Main.java:441)
at org.mortbay.start.Main.main(Main.java:119)
Run Code Online (Sandbox Code Playgroud)