小编ner*_*sol的帖子

Eclipse在启动时挂起

我在运行Eclipse时遇到问题.我尝试使用java 6和java 7的3.7,4.2和4.3版本.没有什么可以帮助我.它向我显示弹出屏幕,但它没有开始加载(我没有机会选择工作区).使用-debug -console参数启动它表明它在此时停止运行:

Time to load bundles: 10
Starting application: 6374
osgi> 
Run Code Online (Sandbox Code Playgroud)

我已经启动了JVisualVM,但我无法观察到任何特殊的东西.没有死锁等.

编辑

我的观察结果很深......大约60年后,日食的pid已经死了.

编辑2

现在它停止了

Time to load bundles: 8
org.eclipse.m2e.logback.configuration: The org.eclipse.m2e.logback.configuration bundle was activated before the state location was initialized.  Will retry after the state location is initialized.
Starting application: 3557
Run Code Online (Sandbox Code Playgroud)

编辑3

我已设法启动它,但只使用-clean参数和从命令行-data参数选择工作区.

java eclipse linux slackware

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

我在哪里可以找到google-play-services_lib.jar?

我正在按照本教程在Android上获得对Google Maps V2的支持.不幸的是在第二步中我没有选择复制到工作区选项,我删除了\extras\google\google_play_services\libproject\google-play-services_lib目录的项目.之后我注意到我删除了google-play-services_lib.jar,但它仍然存在于SDK中.我删除了Google Play服务并再次安装,但仍然没有google-play-services_lib.jar.我该怎么办?

java android google-maps-android-api-2

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

为什么lambda强迫我使用单个元素数组而不是最终对象?

我有以下课程:

public class Item{
   private String name;
   //setter getter
}
Run Code Online (Sandbox Code Playgroud)

和物品的集合.我想得到Collection中最后一项的名字.要做到这一点,我只需迭代所有集合并使用最后.问题是我不知道为什么它迫使我使用一个元素String数组.

为什么我必须使用:

String[] lastName = {""};
items.forEach(item -> lastName[0] = item.getName());
System.out.println(lastname[0]);
Run Code Online (Sandbox Code Playgroud)

代替:

final String lastName;
items.forEach(item -> lastName = item.getName());
System.out.println(lastname);
Run Code Online (Sandbox Code Playgroud)

java lambda java-8

7
推荐指数
2
解决办法
3852
查看次数

Ubuntu 12.04上的"附加设备列表"为空

我无法将我的Android连接到Ubuntu.我已添加规则udev,我已添加设备adb_usb.ini,我仍然得到相同的空列表.

我的lsusb:

`Bus 002 Device 124: ID 04e8:6860 Samsung Electronics Co., Ltd GT-I9100 Phone [Galaxy S II]`
Run Code Online (Sandbox Code Playgroud)

adb_usb.ini

# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE. 
0x0e79
0x04e8
Run Code Online (Sandbox Code Playgroud)

51 android.rules

SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0e79", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", …
Run Code Online (Sandbox Code Playgroud)

android ubuntu-12.04

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

Spring 未正确将对象保存到 MongoDB

以下问题已与此问题分开: ArrayIndexOutOfBoundsException while Spring save data to MongoDB

我在将对象保存到 MongoDB 时遇到问题。我注意到问题可能是由过于复杂的对象引起的。我有以下类层次结构: 在此输入图像描述

ClassAClassB和的超类ClassCClassD包含地图的地图。ClassC包含ClassB.

我调用的代码如下:

ClassC c = new ClassC()
c.setName("NAME");
mongoOperation.save(c, "Mongo"); // MongoOperations object
Run Code Online (Sandbox Code Playgroud)

问题是 Mongo 不保存对象的数据。它仅保存_id_class

实际数据

{
    "_id" : ObjectId("53e86cd9c506f66eafaa03cb"),
    "_class" : "com.sample.ClassC"
}
Run Code Online (Sandbox Code Playgroud)

预期数据

{
    "_id" : ObjectId("53e86cd9c506f66eafaa03cb"),
    "_class" : "com.sample.ClassC",
    "name" : "NAME"
}
Run Code Online (Sandbox Code Playgroud)

有趣的是,当我注释掉地图字段时,ClassD一切正常。

是否可能是由我尝试序列化的对象过于复杂引起的?


编辑

当我bObject从中删除时ClassC也可以正常工作。


编辑2

所有类都是带有 setter 和 getter 的简单 bean。 …

java spring mongodb spring-boot

6
推荐指数
1
解决办法
8750
查看次数

无法启动NFS网关-Hadoop

我无法在Cloudera中启动NFS网关。它给我错误Supervisor returned FATAL. Please check the role log file, stderr, or stdout

但是我可以在stdout中观察到的唯一奇怪的事情是

socket.error: [Errno 111] Connection refused
+ '[' 1 -ne 0 ']'
+ echo 'Cannot connect to port 111.'
+ return 1
+ '[' 1 -eq 1 ']'
+ echo 'No portmap or rpcbind service is running on this host. Please start portmap or rpcbind service before attempting to start the NFS Gateway role on this host.'
+ exit 1
Run Code Online (Sandbox Code Playgroud)

我试图将端口111更改为1111,但这没有帮助。有什么想法我该怎么办?

hadoop hdfs cloudera

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

不相关对象的通用方法 - java

我有以下两个课程:

public Class A{
    String name;
    Integer age;

    //setters and getters
}
Run Code Online (Sandbox Code Playgroud)

public Class B{
    String name;
    Integer age;
    Integer height;

    //setters and getters
}
Run Code Online (Sandbox Code Playgroud)

和以下方法

public String getMyName(B b){
    return b.getName()+" "+b.getAge()+" "+b.getHeight();
}
Run Code Online (Sandbox Code Playgroud)

是否有可能重构此方法以使用泛型,这将允许我为这两个不同类的对象调用它?

例如

public <T> String getMyName(T t){
    return t.getName()+" "+t.getAge()+( t instanceof B ? " "+t.getHeight() : "");
}
Run Code Online (Sandbox Code Playgroud)

当然它不起作用,因为t知道方法getName,getAgegetHeight.

类没有任何关系(我知道它们可以从一个公共类继承并使用,<T extends C>但它们没有超类或公共接口)

java generics

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

在STS中部署的Spring启动应用程序运行良好,但在IntelliJ Idea中没有

我有使用Maven构建的Spring-boot应用程序.当我使用STS(作为Spring Boot App运行)部署它时它工作正常,但是当我使用IntelliJ Idea时它不起作用.

部署过程中日志中没有错误.但是当我尝试刷新页面时,我得到了这个:

白标错误页面

此应用程序没有/ error的显式映射,因此您将此视为回退.Mon Aug 04 14:48:38 CEST 2014出现意外错误(type = Not Found,status = 404).

我已经将Spring模块添加到项目中.在我添加了这个之后,我添加了一些基于 XML的XML配置和我的Application.java类到基于代码的配置.

我已经更改了日志记录,FINEST并注意到当我重新加载页面时,工作和不工作版本之间的日志存在一些差异.

不工作的版本

DEBUG [org.springframework.web.servlet.view.JstlView] - Forwarding to resource [/WEB-INF/jsp/layouts/default.jsp] in InternalResourceView 'layouts/default'
DEBUG [org.springframework.web.servlet.DispatcherServlet] - DispatcherServlet with name 'dispatcherServlet' processing GET request for [/WEB-INF/jsp/layouts/default.jsp]
DEBUG [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] - Looking up handler method for path /WEB-INF/jsp/layouts/default.jsp
DEBUG [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] - Did not find handler method for [/WEB-INF/jsp/layouts/default.jsp]
DEBUG [org.springframework.web.servlet.handler.SimpleUrlHandlerMapping] - Matching patterns …
Run Code Online (Sandbox Code Playgroud)

spring intellij-idea maven spring-tool-suite spring-boot

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

是否可以调用mocked对象的方法?

例如,我有这个课程:

public class A {
    private List<String> list;

    public A(B b){
        list = b.getList();
    }

    public List<String> someMethod(){
        return list;
    }
}
Run Code Online (Sandbox Code Playgroud)

我想在someMethod不调用构造函数的情况下进行单元测试.我用反射来设定list.

问题是我不想创建B类对象,我不能模拟它,因为它会导致NPE.

所以我的问题是:

如何测试someMethod而不调用构造函数A?有没有办法模拟A类并且不会失去调用方法的可能性?

创建零参数的构造函数不是解决方案.

注:希望改变一个类的任何部分.我问是否有可能在没有添加或更改A类中的任何内容的情况下执行此测试.

java reflection unit-testing mockito

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

可以尝试catch用于代码优化吗?

让我们说我有以下课程:

public class RectangularPrism{
    public Integer width;
    public Integer height;
    public Integer depth;

    //setters and getters
}
Run Code Online (Sandbox Code Playgroud)

我用它来计算所有棱镜的体积总和.我有两种计算方法.哪一个更好?

这个使用条件运算符.

public Integer volumeSum(List<RectangularPrism> prismList){
        Integer sum = 0;
        for(RectangularPrism prism: prismList){
            Integer width = prism.getWidth() == null ? 0 : prism.getWidth();
            Integer height = prism.getHeight() == null ? 0 : prism.getHeight();
            Integer depth = prism.getDepth() == null ? 0 : prism.getDepth();
            sum += width * height * depth;
        }
        return sum;
    }
Run Code Online (Sandbox Code Playgroud)

这个使用try catch

public Integer volumeSum(List<RectangularPrism> …
Run Code Online (Sandbox Code Playgroud)

java try-catch nullpointerexception

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

传递给java中方法的对象适用于原始副本

我有Sample一个领域的课,我正在做以下事情:

  1. 使用此类的对象作为参数调用方法.
  2. 对此对象进行一些操作.
  3. 原始对象毕竟发生了变化.

我对BigInteger类对象做同样的事情,它的工作方式不同.为什么会这样?

我的课:

public class Sample {
    private int number;

    public int getNumber(){
        return number;
    }

    public void setNumber(int number){
        this.number = number;
    }

    public Sample add(int number){
        this.number += number;
        return this;
    }
}
Run Code Online (Sandbox Code Playgroud)

调用:

public class Main {

    public static void main(String[] args) {
        Main m = new Main();
        BigInteger b1 = new BigInteger("5");
        Sample s1 = new Sample();
        s1.setNumber(3);
        System.out.println(s1.getNumber());
        Sample s2 = m.checkSample(s1);
        BigInteger b2 = m.checkBig(b1);
        System.out.println(s1.getNumber()+" "+s2.getNumber()); …
Run Code Online (Sandbox Code Playgroud)

java reference object biginteger

0
推荐指数
1
解决办法
89
查看次数

效率太高 - 并行计算

这只是一个理论问题

在并行计算中,可以实现大于100%的效率吗?

例如效率为125%

+-------------+------+
| Processors  | Time |
+-------------+------+
|          1  | 10s  |
|          2  | 4s   |
+-------------+------+
Run Code Online (Sandbox Code Playgroud)

当并行环境配置错误或代码中存在一些错误时,我不是指算法.

效率定义:https: //stackoverflow.com/a/13211093/2265932

在此输入图像描述

parallel-processing mpi openmpi

0
推荐指数
1
解决办法
851
查看次数