小编Ara*_*ram的帖子

解释和修复可能的空指针取消引用

代码审查工具抱怨saveSafeScan中可能的空指针取消引用safeScanWarnings(...)if(safeScanWarnings!= Null&safeScanWarnings.size()> 0)

我想知道这怎么可能?这是因为我们通过引用返回集合吗?

protected void saveSafeScan(final Response response, final Dtec dtec) throws dtecException
    {
        Collection<String> safeScanWarnings = dtec.getSafeScanWarnings();
        if (safeScanWarnings!=null && safeScanWarnings.size()>0)
        {
            Iterator<String> iterator = safeScanWarnings.iterator();

            int i = 0;
            while (iterator.hasNext())
            {
                String safeScanCode = iterator.next();
                if (i == 0)
                {
                    response.setSafeScanCode(safeScanCode);
                    response.setSafeScanCodeText(getMessage(String.format("DTECRESPONSE_SAFESCANCODE_%s",
                            StringUtils.trimToEmpty(safeScanCode))));
                }
                SafeScanWarning safeScan = new SafeScanWarning();
                safeScan.setCode(safeScanCode);
                safeScan.setMessage(String.format("DTECRESPONSE_SAFESCANCODE_%s", StringUtils.trimToEmpty(safeScanCode)));
                safeScan.setPriority(i);
                response.getSafeScanWarnings().add(safeScan);
                i++;
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

java findbugs pmd

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

JPA不支持接口良好..implications?

我正在阅读JPA上的Stackoverflow中的一些帖子,我读了JPA不支持接口的多个地方.有人可以分享它在现实世界项目中的含义.这是否意味着我们无法注释界面?

java jpa

6
推荐指数
2
解决办法
9861
查看次数

JPA2 + Hibernate 3.6.0中的JTA或LOCAL事务?

我们正在重新思考我们的技术堆栈,下面是我们的选择(由于应用程序的复杂性等原因,我们不能没有Spring和Hibernate).我们也从J2EE 1.4迁移到Java EE 5.

技术堆栈

  1. Java EE 5
  2. JPA 2.0(我知道Java EE 5只支持JPA 1.0但我们希望使用Hibernate作为JPA提供者)
  3. Hibernate 3.6.0(我们已经有很多带有自定义类型的hbm文件等,所以我们不想将它们迁移到JPA.这意味着我们希望jpa/hbm映射一起工作,因此Hibernate作为JPA提供程序而不是使用App Server附带的默认值)

现在问题是我想坚持本地交易,但其他团队成员想要使用JTA.我已经使用J2EE工作了9年,我一次又一次地听到人们建议如果我不需要两个阶段提交就坚持本地交易.这不仅是出于性能原因,而且本地事务的调试/故障排除比JTA容易得多(即使JTA仅在需要时进行单阶段提交).

我的建议是使用spring声明式事务管理+本地事务(HibernateTransactionManager)而不是容器JTA

我想确定我是偏执狂还是有一个有效的观点.我想听听Java EE世界其他人的想法.或者请给我一个合适的文章.

java jpa jta jpa-2.0

6
推荐指数
2
解决办法
5371
查看次数

桌面GUI工具,用于浏览和安装新的jar到本地maven仓库

如果相同的独立工具也可以支持除文件系统之外的其他协议的浏览存储库,那就更好了

java maven-2 maven

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

为我的场景建议一个测试自动化框架

我正在评估一些测试自动化框架,并希望得到一些意见.我们有一个大型的信用处理业务应用程序,它有三个端点:web ui,soap和基本的http/post.我的要求如下.

我们的QA非常习惯于数据驱动的测试(所有输入数据都来自excel,因此断言的预期结果也是如此).基本上,Excel工作表中的每一行都包含输入数据和相应的预期结果.我们希望我们的质量检查只需编辑Excel工作表.我们的开发团队将负责提供必要的测试库/夹具.鉴于上述情况,我想使用1个单独的自动化框架,可以读取这些excel表并测试我的应用程序的所有端点,即web ui,soap和http/post.请告诉我哪个测试自动化框架符合我的需求.感谢一些指导和教程让我开始.

java testing automation fitnesse robotframework

6
推荐指数
2
解决办法
4367
查看次数

什么是适合整数线性规划的问题的例子?

我一直在编写软件来解决业务问题.我在浏览其中一篇SO帖子时遇到了LIP.我用谷歌搜索,但我无法解释如何使用它来解决业务问题.感谢是否有人可以帮助我理解外行.

architecture algorithm linear-programming

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

java.lang.Class和相等

根据javadoc Class

每个数组也属于一个类,它反映为一个Class对象,由具有相同元素类型和维数的所有数组共享.

但是当我跑下面的时候

int[] intArray = { 1, 2 };
out.println(intArray.getClass().hashCode());
int[] int2Array = { 1, 2 };
out.println(int2Array.getClass().hashCode());

out.println(intArray.equals(int2Array));
Run Code Online (Sandbox Code Playgroud)

我得到以下输出

1641745
1641745
false
Run Code Online (Sandbox Code Playgroud)

我想知道为什么equals返回false,即使两个数组都是int类型并具有相同的维度.

java

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

地图中有3亿个项目

  1. 如果每个密钥都保证有一个唯一密钥(由外部密钥系统生成和强制执行),那么Map实现是否适合我?假设必须仅针对并发查找进行优化(数据在应用程序启动期间初始化一次).
  2. 这3亿个唯一密钥是否对存储/冲突有任何积极或消极的影响?
  3. 还有其他建议吗?

我的地图看起来像这样

Map<String, <boolean, boolean, boolean, boolean>>
Run Code Online (Sandbox Code Playgroud)

java hash hashmap map

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

socket.shutdownOutput()的目的

我使用以下代码将数据发送到tcp服务器.我假设我需要使用socket.shutdownOutput()正确指示客户端已完成发送请求.我的假设是否正确?如果没有,请让我知道的目的shutdownOutput().还要感谢我能做的任何进一步优化.

客户

def address = new InetSocketAddress(tcpIpAddress, tcpPort as Integer)
clientSocket = new Socket()
clientSocket.connect(address, FIVE_SECONDS)
clientSocket.setSoTimeout(FIVE_SECONDS)

// default to 4K when writing to the server
BufferedOutputStream outputStream = new BufferedOutputStream(clientSocket.getOutputStream(), 4096)

//encode the data
final byte[] bytes = reqFFF.getBytes("8859_1")
outputStream.write(bytes,0,bytes.length)
outputStream.flush()
clientSocket.shutdownOutput()
Run Code Online (Sandbox Code Playgroud)

服务器

ServerSocket welcomeSocket = new ServerSocket(6789)

while(true)
{
    println "ready to accept connections"
    Socket connectionSocket = welcomeSocket.accept()
    println "accepted client req"
    BufferedInputStream inFromClient = new BufferedInputStream(connectionSocket.getInputStream())
    BufferedOutputStream outToClient = new BufferedOutputStream(connectionSocket.getOutputStream())
    ByteArrayOutputStream bos=new …
Run Code Online (Sandbox Code Playgroud)

java sockets groovy tcp tcpclient

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

oracle和i18n的支持

我们需要在同一个db模式中存储不同语言的char数据.Oracle 10g是我们的数据库.我希望有人已经这样做会给我更具体的指示,说明如何启用oracle 10g db.我们只需要存储来自多个语言环境的数据以及整理(希望所有主要数据库都支持这一点)在数据库级别的支持.我们不需要格式化日期,日期时间,数字,货币等.

我阅读了一些关于oracle的i18n支持的文档,但对它们的许多nls_*属性有些困惑.我应该使用nls_lang或nls_language或NLS_CHARACTERSET .....

oracle localization internationalization

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