小编Edd*_*Edd的帖子

什么是git版本控制中的补丁?

我是git和版本控制的新手,所以我想弄清楚补丁是什么,它与我在git中做的其他活动有什么不同?

我什么时候申请补丁?每次我承诺都会发生吗?

git version-control

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

Java 8中的实例方法引用类型之间有什么区别?

所以Java 8引入了方法引用,文档描述了这四种类型.

我的问题是两种实例类型之间的区别是什么?

  1. 引用特定对象的实例方法.
  2. 引用特定类型的任意对象的实例方法.

两者都参考参考但有什么显着不同?用于解决它们的类型推断是不同的吗?重要的是(在他们的例子中)一个是闭包而另一个是lambda?它与方法的参数数量有关吗?

java java-8 method-reference

20
推荐指数
1
解决办法
2621
查看次数

在C中,声明指针的正确语法是什么?

我模糊地回忆起在回答另一个问题之前看到这个,但是搜索未能得出答案.

我不记得声明作为指针的变量的正确方法是什么.是吗:

Type* instance;
Run Code Online (Sandbox Code Playgroud)

要么:

Type *instance;
Run Code Online (Sandbox Code Playgroud)

虽然我知道两者都会在大多数情况下编译,但我相信有一些例子很重要,可能与在同一行上声明同一类型的多个变量有关,因此一个比另一个更有意义.

c variables syntax types pointers

17
推荐指数
3
解决办法
3907
查看次数

如何在Yii2 Framework中处理CSRF验证?

我在yii2中遇到CSRF验证问题.验证可以正常使用gii生成的默认表单,但是当我使用html标签编辑表单时,表单提交会引发错误的请求错误.我已禁用csrf验证以隐藏错误,但我想将此用于应用程序和数据验证的安全性.

有没有办法解决这个错误,还是有办法配置它在这种情况下正常工作?

php csrf yii2

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

如何在Java FileOutputStream中编写新行

我想用一个写一个新的一行FileOutputStream; 我尝试了以下方法,但它们都没有工作:

encfileout.write('\n');
encfileout.write("\n".getbytes());
encfileout.write(System.getProperty("line.separator").getBytes());
Run Code Online (Sandbox Code Playgroud)

java newline fileoutputstream

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

在同一条线上投两次

我在项目中看到了这段代码.

b的类型是void*:

void *b = ...;
int a = (int) (unsigned long) b;
Run Code Online (Sandbox Code Playgroud)

这条线是没有意义的吗?我的意思是,它和a = (int) b所有情况一样吗?

c casting

14
推荐指数
1
解决办法
2668
查看次数

了解equals方法

J. Bloch在他的有效Java中为equals方法的实现提供了几条规则.他们来了:

•Reflexive:对于任何非空引用值x,x.equals(x)必须返回true.

•对称:对于任何非空引用值x和y,当且仅当y.equals(x)返回true时,x.equals(y)必须返回true.

•Transitive:对于任何非空引用值x,y,z,如果x.equals(y)返回true而y.equals(z)返回true,则x.equals(z)必须返回true.

•一致:对于任何非空引用值x和y,x.equals(y)的多次调用始终返回true或始终返回false,前提是不修改在对象上的equals比较中使用的信息.

•对于任何非空引用值x,x.equals(null)必须返回false.

但后来他在书中提到了所谓的利斯科夫替代原则:

Liskov替换原则表明类型的任何重要属性也应该适用于其子类型,因此为该类型编写的任何方法在其子类型上应该同样有效

我不知道它与equals合同的关系.我们是否应该在编写equals实现时坚持它?

问题是关于实现子类的方法.以下是本书中的示例:

private static final Set<Point> unitCircle;

static {
    unitCircle = new HashSet<Point>();
    unitCircle.add(new Point(1, 0));
    unitCircle.add(new Point(0, 1));
    unitCircle.add(new Point(-1, 0));
    unitCircle.add(new Point(0, -1));
}

public static boolean onUnitCircle(Point p) {
    return unitCircle.contains(p);
}

public class CounterPoint extends Point {
    private static final AtomicInteger counter = new AtomicInteger();

    public CounterPoint(int x, int y) {
        super(x, y);
        counter.incrementAndGet();
    }

    public int numberCreated() { return counter.get(); }
}
Run Code Online (Sandbox Code Playgroud)

以及以下实施:

// …
Run Code Online (Sandbox Code Playgroud)

java equals

12
推荐指数
1
解决办法
561
查看次数

清理基于Play框架的项目

运行一个新Play-framework 2.0的项目后,我没能清理它 - 生成的工作人员坚持下面,

 $ play new myapp
   > app name: myapp
   > template: java app

myapp/
??? app
?   ??? controllers
?   ??? views
??? conf
??? project
??? public
    ??? images
    ??? javascripts
    ??? stylesheets

$ cd myapp
$ play
  [myapp] run 12345
Run Code Online (Sandbox Code Playgroud)

CtrlD

  [myapp] clean

myapp/
??? app
?   ??? controllers
?   ??? views
??? conf
??? logs
??? project
?   ??? project
?   ?   ??? target
?   ?       ??? config-classes
?   ??? target …
Run Code Online (Sandbox Code Playgroud)

java scala sbt playframework

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

根据出现次数按升序对数组进行排序

如何根据java中按升序排列的值的数量排列数组中的元素.

这就是我尝试过的:

int a[]={0,0,0,1,3,3,2,1,3,5,6,0};
int b=a.length;
for(int i=0;i<b;i++) {
    for(int j=0;j<i;j++) {
        int temp;
        if( a[j]>a[i]) {
            temp=a[i];
            a[i]=a[j];
            a[j]=temp;
        }
    }
}

for(int r=0;r<a.length;r++) {
    System.out.println(a[r]);
}
Run Code Online (Sandbox Code Playgroud)

java arrays sorting

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

番石榴Sets.intersection表现不佳

我今天在制作中遇到了一个奇怪的问题.虽然我喜欢Guava,但我遇到了一个Guava's Sets.intersection()表现非常糟糕的用例.我写了一个示例代码:

Set<Long> cache = new HashSet<>();
for (long i = 0; i < 1000000; i++) {
    cache.add(i);
}
Set<Long> keys = new HashSet<>();
for (long i = 0; i < 100; i++) {
    keys.add(i);
}
long start = System.currentTimeMillis();
Set<Long> foundKeys = new HashSet<>();
for (Long key : keys) {
    if (cache.contains(key)) {
        foundKeys.add(key);
    }
}
System.out.println("Java search: " + (System.currentTimeMillis() - start));
start = System.currentTimeMillis();
SetView<Long> intersection = Sets.intersection(keys, cache);
System.out.println("Guava search: " + (System.currentTimeMillis() - start)); …
Run Code Online (Sandbox Code Playgroud)

java collections performance set guava

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