小编xen*_*ros的帖子

无法理解fork()输出

我们假设有一个进程,PID = 1它运行以下代码:

int a = fork();
int b = fork();
printf(“a: %d, b: %d\n”, a, b); 
Run Code Online (Sandbox Code Playgroud)

让我们进一步假设,新的PID旨意被赋予一个接一个,如此发出第二个PID2,然后3

可能的输出是:

a:2, b:3
a:2, b:0
a:0, b:4
a:0, b:0
Run Code Online (Sandbox Code Playgroud)

我有一些麻烦试图理解上面代码的输出,尤其是为什么a:0, b:4a:2, b:3.

c fork pid

4
推荐指数
1
解决办法
250
查看次数

如何比较BigDecimals以使我的测试通过?

我有以下同样的奇怪情况进入JUnit测试.

所以我有这个测试方法:

@Test
public void getNavInfoTest() throws ParseException {

    TirAliquotaRamoI expectedObject = new TirAliquotaRamoI();

    DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
    Date date;

    date = formatter.parse("2015-08-01");

    Date dataInizio = formatter.parse("2015-08-01");
    Date dataFine = formatter.parse("2100-12-31");

    expectedObject.setDataElaborazione(date);
    expectedObject.setTassoLordoAnnuoAppl(BigDecimal.ZERO);
    expectedObject.setTassoGiornalieroNetto(BigDecimal.ZERO);
    expectedObject.setAliquota(BigDecimal.ONE);
    expectedObject.setDataInizio(dataInizio);
    expectedObject.setDataFine(dataFine);

    TirAliquotaRamoI tirAliquotaRamoI = pucManager.getNavInfo(date);

    assertEquals(tirAliquotaRamoI.getAliquota(), expectedObject.getAliquota());

}
Run Code Online (Sandbox Code Playgroud)

最后,我只是测试tirAliquotaRamoI.getAliquota()(从数据库查询获得)是否具有为创建的相同字段的相同值expectedObject:

assertEquals(tirAliquotaRamoI.getAliquota(), expectedObject.getAliquota());
Run Code Online (Sandbox Code Playgroud)

因此,使用BigDecimal.ONEconstand 创建预期对象的字段,并使用调试器,我可以看到它的值是1.

tirAliquotaRamoI.getAliquota()obtaind值1.000000000

因此,从理论上讲,两者都代表相同的值1,但测试失败,我得到:

java.lang.AssertionError: expected:<1.000000000> but was:<1>
    at org.junit.Assert.fail(Assert.java:88)
    at org.junit.Assert.failNotEquals(Assert.java:834)
    at org.junit.Assert.assertEquals(Assert.java:118)
    at org.junit.Assert.assertEquals(Assert.java:144)
    at com.fideuram.dbmanager.PucManagerTest.getNavInfoTest(PucManagerTest.java:90)
    at …
Run Code Online (Sandbox Code Playgroud)

java junit bigdecimal

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

如何使用默认值将String解析为int?

我需要将字符串用户id解析为我使用的整数Integer.parseInt(String s)但它返回null/nil,如果有字符串有/保持非十进制/整数值,那么我需要将默认整数值指定为0.

我试过这个,但它(? 0)似乎不起作用,我不知道它是否是正确的语法.

String userid = "user001";
int int_userid = Integer.parseInt(userid) ? 0;
Run Code Online (Sandbox Code Playgroud)

如果存在空赋值,如何将默认值赋给整数?

字符串userid是一个参数参数,作为Web服务函数调用的一部分,因此我无法将其数据类型更新为整数.

java string integer default-value parseint

4
推荐指数
4
解决办法
7923
查看次数

有没有一种简单的方法可以在 vim 中反转 json 的漂亮打印?

当我出于机器学习目的标记图像或文本时,我经常以某种格式导出结果json。然后,我可以打开它vim并使用简单的漂亮打印

:execute '%!python -m json.tool'
Run Code Online (Sandbox Code Playgroud)

我经常添加| w它自动将更改写入文件。

有没有办法扭转这个过程?为了压缩json,所以没有多余的字符?

输入示例:

{
    "name": "John",
    "email": "john@smith.co.uk"
}
Run Code Online (Sandbox Code Playgroud)

期望的输出:

{"name":"John","email":"john@smith.co.uk"}
Run Code Online (Sandbox Code Playgroud)

我会对 Vimish、Pythonish 和 Bashish 解决方案感到满意。

python vim bash json pretty-print

4
推荐指数
1
解决办法
1916
查看次数

如何向上舍入到指定数字的最接近倍数?

我已经查看了很多关于舍入到最接近的数字的倍数的问题,但是我无法理解它们的方法以便将它们用于四舍五入或者使用其他语言的语言特定方法.

如果以上内容没有多大意义,这里有一个更详细的解释:

输入示例:

int num1 = 67;
int num2 = 43;
Run Code Online (Sandbox Code Playgroud)

预期成绩:

>>round(num1) = 90
>>round(num2) = 45
Run Code Online (Sandbox Code Playgroud)

java algorithm numeric

3
推荐指数
2
解决办法
742
查看次数

使用幻数(1)或全局常量检查列表大小?

我和同事讨论以下代码:

private static final byte ONE_ELEMENT = 1;
private boolean isListSizeEqualsOne(List<MyClass> myList) {
    return myList.size() == ONE_ELEMENT;
}
Run Code Online (Sandbox Code Playgroud)

我认为这种代码无疑会减少对一个神奇数字的警告,但同时会不必要地增加混乱.我建议改为内联全局变量:

private boolean isListSizeEqualsOne(List<MyClass> myList) {
    return myList.size() == 1;
}
Run Code Online (Sandbox Code Playgroud)

有没有关于这个例子的文献?

java design-patterns

3
推荐指数
1
解决办法
136
查看次数

java.lang.ClassCastException:无法将Z强制转换为java.lang.String

我遇到一个错误:java.lang.ClassCastException: Z cannot be cast to java.lang.String尝试在Junit测试上运行coverage(EclEmma)时。如果我定期运行测试(没有覆盖范围),则测试通过。

这是代码(该类中的所有字段均为Strings):

@Override
public Map<String, String> getErrors() throws IllegalAccessException, IllegalArgumentException {

    Map<String, String> errors = new HashMap<String, String>();

    for (Field field : this.getClass().getDeclaredFields()) {
        field.setAccessible(true);
        String value = (String) field.get(this);

        if (value.equals("N")) {
            if (!errors.containsKey(field.getName())) {
                errors.put(field.getName(), value);
            }
        }
    }
    return errors;
}
Run Code Online (Sandbox Code Playgroud)

java junit classcastexception eclemma

3
推荐指数
1
解决办法
2482
查看次数

Spring数据jpa存储库注入失败,在Spring启动时使用@Autowired

春季启动入门课程

package com.test;

@SpringBootApplication(exclude={
DataSourceAutoConfiguration.class,
DataSourceTransactionManagerAutoConfiguration.class})
public class AssetManagementDigital2Application {

    public static void main(String[] args) {
        SpringApplication.run(AssetManagementDigital2Application.class, args);
    }
}
Run Code Online (Sandbox Code Playgroud)

控制器类

package com.test.assetmanagementdigital.controller;

 @RestController

public class ShopController {

    @Autowired
    private ShopServiceImpl shopServiceImpl;

    @RequestMapping(value="/shops",method=RequestMethod.POST)
    public void shopDetails(Shop shop){
        shopServiceImpl.addShopDetails(shop);

    }

}
Run Code Online (Sandbox Code Playgroud)

实体

package com.test.assetmanagementdigital.model;

import javax.persistence.Entity;
import javax.persistence.Table;

@Entity
@Table(name="ShopDetails")
public class Shop {

    private String shopName;
    private Address address;

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    public Address getAddress() {
        return …
Run Code Online (Sandbox Code Playgroud)

java spring-data-jpa spring-boot

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

连接被拒绝:在 jhipster 中连接

我是 Jhipster 的新手。我尝试运行 mvnw 但发生连接拒绝的请求执行错误:连接。

2017-07-14 10:36:17.411  INFO 19864 --- [  restartedMain] com.netflix.discovery.DiscoveryClient    : Saw local status change event StatusChangeEvent [timestamp=1500008777411, current=UP, previous=STARTING]
2017-07-14 10:36:17.946  INFO 19864 --- [  restartedMain] com.lxisoft.diviso.DivisoApp             : Started DivisoApp in 27.953 seconds (JVM running for 29.457)
2017-07-14 10:36:17.961  INFO 19864 --- [  restartedMain] com.lxisoft.diviso.DivisoApp             :
----------------------------------------------------------
        Application 'diviso' is running! Access URLs:
        Local:          http://localhost:8080
        External:       http://192.168.43.43:8080
        Profile(s):     [swagger, dev]
----------------------------------------------------------
2017-07-14 10:36:17.978  INFO 19864 --- [  restartedMain] com.lxisoft.diviso.DivisoApp             :
----------------------------------------------------------
        Config Server:  Not found or …
Run Code Online (Sandbox Code Playgroud)

java spring-boot jhipster jhipster-registry

3
推荐指数
1
解决办法
4517
查看次数

你能说(n lg n)是O(n ^ 2)吗?

我知道,鉴于O(n lg n)O(n^2),(n lg n)当是更小的n足够高.

但是会O(n^2)得到正确的评价(n lg n)吗?

有一个很大的不同O(n lg n),O(n^2)所以我不确定这O(n^2)将是(n lg n)"最坏情况" 的最佳答案

sorting algorithm big-o

2
推荐指数
1
解决办法
425
查看次数