小编pra*_*kur的帖子

当ConcurrentHashMap比它更有效时,为什么HashTable仍然存在于Java中?

据我所知,ConcurrentHashMap对存储桶进行分区,并在每个分区上都有单独的锁.但是HashTable 对所有存储桶都有一个.

因此,ConcurrentHashMap可以更高效,或者(在最坏的情况下)与HashTable一样有效.那么为什么Java需要将HashTable保留在其最新版本中.

现在不是HashTable了吗?或者还有一些专业人员HashTable超过ConcurrentHashMap?

java concurrency hashtable hashmap concurrenthashmap

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

单一责任原则:运行查询后将数据写入文件

我必须将运行sql查询后生成的行写入文件.

# Run the SQL script.
my $dbh = get_dbh($source);
my $qry = $dbh->prepare("$sql_data");
$qry->execute();

# Dump the data to file.
open(my $fh_write, ">", "$filename");
while (my @data = $qry->fetchrow_array())
{
  print {$fh_write} join("\t", @data) . "\n";
}
close($fh_write);
Run Code Online (Sandbox Code Playgroud)

显然,我在一个函数中做了两件事:

  1. 运行sql查询.
  2. 将数据写入文件.

有没有办法使用SRP来做到这一点?

数据中有很多行,因此从单独的函数返回行数组可能不太好.

perl single-responsibility-principle

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