小编Ill*_*huk的帖子

如何在Go结构中初始化成员

我是Golang的新手,所以在它的分配让我疯了:

import "sync"

type SyncMap struct {
        lock *sync.RWMutex
        hm map[string]string
}
func (m *SyncMap) Put (k, v string) {
        m.lock.Lock()
        defer m.lock.Unlock()

        m.hm[k] = v, true
}
Run Code Online (Sandbox Code Playgroud)

后来,我打电话给:

sm := new(SyncMap)
sm.Put("Test, "Test")
Run Code Online (Sandbox Code Playgroud)

这时我得到一个零指针恐慌.

我通过使用另一个函数解决了它,并在之后调用它new():

func (m *SyncMap) Init() {
        m.hm = make(map[string]string)
        m.lock = new(sync.RWMutex)
}
Run Code Online (Sandbox Code Playgroud)

但我想知道,如果有可能摆脱这个样板初始化?

go new-operator

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

如何在Java中获取数组的子数组,而不复制数据?

我有一些类库,使用我的数据,它被读入缓冲区.有可能以某种方式避免一次又一次地复制数组,将部分数据更深入地传递到处理方法中吗?好吧,这听起来很奇怪,但在我的特殊情况下,有一个特殊的编写器,它将数据分成块并将它们分别写入不同的位置,因此它只执行System.arraycopy,获得它需要的东西并调用底层编写器,用新的子阵列.这种情况多次发生.重构此类代码的最佳方法是什么?

java arrays containers

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

Java HashMap.clear()和remove()内存是否有效?

考虑以下HashMap.clear()代码:

 /**
 * Removes all of the mappings from this map.
 * The map will be empty after this call returns.
 */
public void clear() {
    modCount++;
    Entry[] tab = table;
    for (int i = 0; i < tab.length; i++)
        tab[i] = null;
    size = 0;
}
Run Code Online (Sandbox Code Playgroud)

看来,对象的内部数组(table)Entry永远不会收缩.因此,当我向地图添加10000个元素时,在该调用之后map.clear(),它将在其内部数组中保留10000个空值.所以,我的问题是,JVM如何处理这个数组,因此,HashMap内存是否有效?

java memory hashmap

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

有没有成熟的命令行JDBC客户端?

我正在尝试创建一组测试脚本,这些脚本将对与数据库一起使用的东西执行黑盒测试.为此,我需要从标准输入或文件发出SQL命令,这很可能与"mysql"客户端,但现在我们使用其他数据库,它只有jdbc驱动程序.我需要在命令行中使用与mysql客户端相同的基本功能,但对于任何jdbc驱动的数据库.没有编程我的自定义java工具可以吗?

command-line jdbc command-line-interface

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

如何使用Spring将依赖项注入HttpSessionListener?

如何使用Spring和没有调用将依赖项注入HttpSessionListener,如context.getBean("foo-bar")

spring servlets dependency-injection httpsession servlet-listeners

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

什么是最好的开源纯Java计算机视觉库?

作为一个实用的开发人员,我想为我的特定任务制作一个很好的算法,从块构建,如"边界提取"或"伽马校正"等,但我不想实现轮子,使所有那些东西,所以我徘徊 - 如果有任何强大的CV库,如C++的OpenCV?

说"最好",我指的是具有以下属性的库:

  • 实施了许多不同的算法
  • 可扩展性 - 我可以根据库创建新东西
  • 高性能
  • 线程安全

java open-source computer-vision

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

"@annotations必须在单独的行上"的Checkstyle规则

我正在尝试为checkstyle创建一个规则,这将阻止编写内联注释用法,如下所示:

@Entity MyClass someEntity;
@Foo(a="B") public void bar(Baz baz) {
}
Run Code Online (Sandbox Code Playgroud)

但不会阻止这样的想法:

public void bar(@Param Baz baz) {
}
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这一目标?

java annotations checkstyle

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

如何从s3存储桶中删除大量以公共前缀命名的对象?

我在s3存储桶中有文件,它们的名称格式如下:

username#file_id#...
如何删除所有john#doe#*项目,而不列出它们?有数千个,所以当用户请求我的应用程序删除所有这些时,他必须等待.

amazon-s3

9
推荐指数
2
解决办法
8187
查看次数

是c3p0过时的?

根据http://sourceforge.net/projects/c3p0/files/bin/,似乎c3p0的最后一个稳定版本是在2007年发布的.

是不是放弃了项目?

我们大量使用它并且它工作正常,但我有点担心它不会得到修复和支持,导致新版本的hibernate,JDBC驱动程序,数据库以及最终转换到java7会使它更糟糕.

c3p0

9
推荐指数
2
解决办法
1198
查看次数

PipedInputStream和PipedOutputStream的使用案例

Piped流的用例是什么?为什么不将数据读入缓冲区然后将其写出来?

java io

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