小编Rya*_*mes的帖子

Java中静态块的线程安全性

假设我有一些Java代码:

public class SomeClass {
    static {
        private final double PI = 3.14;
        private final double SOME_CONSTANT = 5.76;
        private final double SOME_OTHER_CONSTANT = 756.33;
    }

  //rest of class
}
Run Code Online (Sandbox Code Playgroud)

如果一个线程正在实例化SomeClass的一个实例,并且在第二个线程实例化SomeClass的第二个实例时正在初始化静态块中的值,那么静态块会发生什么?第二个线程是否忽略它,假设它已经初始化,即使第一个线程没有完成?还是会发生其他事情?

java static multithreading

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

从所需的.class文件中间接引用

当我尝试在eclipse中构建我的项目时,我收到一条错误消息:

The type weblogic.utils.expressions.ExpressionMap cannot be resolved. It is indirectly referenced from required .class files

我在网上寻找解决方案但找不到一个(除了那些让你付钱的网站).任何人都知道如何找到解决这个问题的方法?任何帮助表示赞赏,谢谢!

java eclipse weblogic

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

如果线程安全性不是问题,则使用Java中的ArrayList与Vectors

性能VectorArrayList?之间真的有那么大差异吗?当线程安全不成问题时,始终使用ArrayLists是一种好习惯吗?

java collections performance

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

JUnit测试POJO

我在一个项目上工作,我们必须为所有简单的bean(POJO)创建单元测试.如果所有POJO都是getter和setter,那么为POJO创建单元测试是否有任何意义?假设POJO在大约100%的时间内都能正常工作,这是一个安全的假设吗?


重复 - 应该测试@Entity Pojos吗?

也可以看看

在数据库而不是假存储库上运行测试是不好的做法吗?

是否有一个Java单元测试框架可以自动测试getter和setter?

java junit pojo

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

用Java重写C代码还是使用JNI?

我目前正在开发一个用Java编写的项目.我们有一堆用C/C++编写的算法(至少几百个)需要合并到我们的项目中.我们的两个选择是使用JNI来调用此代码,或者用Java重写所有算法.

我知道使用JNI的后果,它可以打开一组全新的问题,这就是为什么用Java重写所有代码甚至被考虑的原因.但重写它的想法似乎......错了.据我所知,算法已经过测试和工作,它们只是用错了语言.

在这种情况下,JNI能否轻松完成这项任务?或者它会比重写Java中的代码更令人头痛吗?


编辑#1: 相关问题 - JNI的用处


编辑#2: 仅供参考 - 我们的Java项目无意以任何方式移植.这可能会消除JNI的一个缺点,因为它可能会降低可移植性.

java java-native-interface

18
推荐指数
6
解决办法
3865
查看次数

在Java中使用String(String)构造函数

我读过文章和书籍,String s = new String("...");应该尽可能避免使用.我明白为什么会这样,但是使用String(String)构造函数有什么用处吗?我不认为有,也没有看到任何其他证据,但我想知道SO社区中是否有人知道有用.


确切重复: java中表达新字符串的目的是什么?

java string coding-style

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

对于一个实际开发项目,多少个"Eclipse项目"被认为过多?

我目前正在开发一个项目,其中包含许多不同的Eclipse项目,这些项目相互引用以构成一个大型项目.有没有一点,开发人员应该问自己是否应该重新考虑他们的开发项目的结构方式?

注意:我的项目目前包含25个以上的Eclipse项目.

java eclipse

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

说服一家大公司使用免费软件?

我目前是大学毕业后第一份工作的开发人员.我为一家大公司工作,我注意到它的趋势是,他们倾向于使用更昂贵的闭源软件,大约99%的时间,而且有很好的开源替代品,大多数是远远优于他们的闭源同行.例如,我们使用这个绝对糟糕的源代码控制软件,花费了大量的金钱,而有很多开源和/或免费选项,根据我的经验,albiet有限,更好,并提供基本相同的功能.

我想我的问题是: 经验丰富的开发人员如何使用更多免费软件来管理?

看来还有另外一个与此类似的问题,当我制作这个时没有出现:我怎样才能说服IT F/OSS软件不是邪恶的?


编辑: 来澄清一下.我不一定试图改变公司的程序,我正在寻找有关如何处理有关该主题的管理的建议.

version-control open-source

5
推荐指数
5
解决办法
715
查看次数

Eclipse Classpath中的嵌套文件夹

我正在尝试将两个文件夹添加到我的eclipse项目的类路径中,假设文件夹A和文件夹B.B在A内部.每当我向类路径添加A时

<classpathentry kind="lib" path="/A"/>
Run Code Online (Sandbox Code Playgroud)

它工作得很好,但我也需要能够访问B中的文件.每当我尝试添加

<classpathentry kind="lib" path="/A/B"/>
Run Code Online (Sandbox Code Playgroud)

它说,到类路径

无法在库A中嵌套'A/B'

在编辑类路径时我是新手,所以我想知道,无论如何在eclipse类路径中添加一个文件夹,它嵌套在另一个也在eclipse类路径中的文件夹中?

java eclipse classpath

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

大O:哪个更好?

我是Big-O符号的新手,所以我需要一些建议.假设我可以选择两种算法:一种是在一行中有几个for循环,或者是一个有三次嵌套for循环的算法.例如,一个结构类似于:

    for(int i = 0; i < a.length; i++)
    {
       // do stuff
    }

    for(int i = 0; i < b.length; i++)
    {
       for(int j = 0; j < c.length; j++)
       {
          // do something with b and c
       }
    }

    for(int i = 0; i < d.length; i++)
    {
       // do stuff
    }
Run Code Online (Sandbox Code Playgroud)

另一种结构是这样的:

for(int i = 0; i < a.length; i++)
{
   for(int j = 0; j < b.length; j++)
   {
      for(int k = 0; k < c.length; …
Run Code Online (Sandbox Code Playgroud)

big-o

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