小编Mov*_*ast的帖子

哪个更好 - 使用String或File作为获取文件名的方法的参数类型

我有几种方法将文件名作为参数.我怀疑的是,什么是更好的方式来声明这些方法的参数.

就个人而言,我发现File更直观,但想知道这些事情的最佳实践是什么.

java file-io

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

使用阿克曼函数?

在我大学的离散数学课程中,教师向学生展示Ackermann功能,并指导学生在纸上开发功能.

除了作为递归优化的基准之外,Ackermann函数是否有任何实际用途?

algorithm math complexity-theory discrete-mathematics

10
推荐指数
2
解决办法
7401
查看次数

Java字符串实习的替代方案

由于Java的默认字符串实习已经有很多坏消息,我正在寻找替代方案.

你能建议一个API,它是Java字符串实习的一个很好的替代品吗?我的应用程序使用Java 6.我的要求主要是通过实习来避免重复的字符串.

关于坏消息:

  • 字符串实习生是通过本机方法实现的.并且C实现使用大约1k条目的固定大小,并且对于大量字符串而言非常差.
  • Java 6在Perm gen中存储实习字符串.因此不是GC'd并且可能导致烫发错误.我知道这在java 7中已修复,但我无法升级到java 7.

为什么我需要使用intering?

  • 我的应用程序是一个服务器应用程序,堆大小为10-20G,适用于不同的部署.
  • 在分析期间,我们已经发现数千个字符串的数据是重复的,我们可以通过避免存储重复的字符串来显着提高内存使用率.
  • 内存一直是我们的瓶颈,因此我们正在针对它而不是进行任何过早的优化.

java memory string string-interning

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

为什么R的关联数组被称为list而不是map/dictionary

我最近开始学习R语言.我来自Java/Python背景.我发现令人惊讶的一件事是,associative arrayR被叫,List而不是像MapDictionary.

我认为像Map和Dictionary这样的名称更好地传达了数据结构是关联数组而不是列表的想法.能告诉我这背后的原因是什么?

r data-structures

8
推荐指数
2
解决办法
4484
查看次数

适用于JVM的堆和旧代的大小调整以用于数据繁重的应用程序

  • 我正在使用JVM运行服务器应用程序sunjava-1.6.0_21.
  • 我的应用程序数据量很大,充当缓存服务器.因此它存储了许多我们不期望在整个应用程序中运行GC的长期生存数据.
  • 我正在设置以下JVM参数-Xmx16384M-Xms16384M.
  • 加载所需数据后,以下是应用程序的内存使用情况
  • 总堆空间是:13969522688
  • 最大堆空间是:15271002112
  • 可用堆空间是:3031718040
  • 长期(旧版)堆存储: Used=10426MB Max=10922MB Used/Max=95%

旧的用法 - 我已经确认这是由于实际数据而且预计不会免费.我的问题是,默认情况下JVM调整堆空间大小(它分配了10922MB旧版本),这在旧版本部分留下了很少的可用空间.

  • 旧版的可用空间会减少对应用程序的影响吗?
  • 如果是,我应该如何处理?我应该尝试使用JVM调整参数,newratio并尝试增加旧版本的可用空间或任何其他方式我应该调整应用程序.

java garbage-collection jvm jvm-hotspot

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

从大表中一次获取的最佳行大小

我有一个非常大的表包含大约2000万行.我必须根据一些过滤条件从该表中获取大约400万行.过滤条件中的所有列都包含在某些索引中,并且表统计信息是最新的.

我被建议不要一次性加载所有行,而是使用批量大小,例如一次说80000行,与一次加载所有行相比,这将更快.

你能说出这个想法是否有意义吗?

如果有意义,那么一次加载的最佳行大小是多少.

sql database sybase query-optimization

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

如何通过Ruby Gem共享ActiveRecord模型

我有几个Rails项目,它们有一些共同的代码库。通用代码由一些ActiveRecord模型和一个api组成。目前,我正在所有项目中复制通用代码,这是非常糟糕的做法。现在,我想将通用代码移至Ruby Gem。我是Ruby on Rails的新手。我看过一些 Gem 教程,但是找不到有用的东西来帮助我用可重用的ActiveRecord模型创建一个gem。

本质上我想要的是-

  • 宝石包含一些常见的活动记录模型。
  • 宝石包含一些代码,这些代码为这些模型提供了api
  • 这个gem将被多个Rails项目使用,并且它们将初始化数据库等。

请让我知道这种情况下的最佳做法是什么。

activerecord rubygems ruby-on-rails ruby-on-rails-3

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

java - 我们可以自己做内存管理吗?

是否可以自己执行内存管理.例如,我们在堆空间之外分配一块内存,这样它就不受GC的影响.我们自己负责从这块内存中分配/释放对象.

有些人指出了像Jmalloc/EHcache这样的框架.实际上我更想了解他们实际上是如何做到的.

我可以使用一些直接方法甚至是一些间接方法(例如,首先序列化java对象).

java garbage-collection jvm memory-management

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

验证具有基于树的结构的文件

我正在寻找验证器来验证基于树结构的配置文件.egastudent.name joe a.student.class arts

您能否就验证此类配置提出任何建议.到目前为止,我已经搜索过,我只能找到xml文件的验证器.

java validation tree configuration

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

用于 html 到 mobi/epub 转换的 Api/library

我期待一个可以将 html 转换为 mobi/epub 格式并且可以很好地完成工作的 api。

我的偏好是 JavaScript,但非常欢迎对 java/perl 或其他一些语言 api(做得很好)的任何建议。

javascript java perl epub

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

NewRatio参数不适用于CMS垃圾收集器

我为我的应用程序切换到CMS收集器,应用程序的吞吐量减少了一半。从GC日志中,我看到发生次要GC的频率很高(aroung 10 per second)。我分配的堆大小为4G。JVM默认为年轻一代使用非常小的大小(小于40MB)。我想通过增加年轻一代的规模来尝试CMS。您能为此指出正确的JVM参数吗?

  • 我尝试了-XX:NewRatio,但JVM忽略了此参数,并且年轻代的大小没有变化
  • 我的java版本是 java version "1.6.0_14"

java garbage-collection jvm jvm-hotspot jvm-arguments

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

附加到 ObjectOutputStream(在不关闭流的情况下写入多个对象)

免责声明我的问题与以下两个链接不同

问题 1

问题2

    public class AppendableObjectOutputStream extends ObjectOutputStream {
      public AppendableObjectOutputStream(OutputStream out) throws IOException {
        super(out);
      }

      @Override
      protected void writeStreamHeader() throws IOException {}
}
Run Code Online (Sandbox Code Playgroud)
  • 上述解决方案的问题在于,它们不支持在不关闭流的情况下将多个对象写入可附加流。
  • 如果我打开可追加流,写入多个对象 - 那么在读取时我只能正确读取第一个对象,而在尝试读取第二个对象时,我得到 EOF 异常。
  • 如果我像在对象上写入可附加流那样继续,请关闭流。然后再次打开流,关闭另一个对象,依此类推。这样我就可以正确读取多个对象。

        fileOutputStream = new FileOutputStream("abc.dat",true);
         outputBuffer = new BufferedOutputStream(fileOutputStream);
         objectStream = new AppendableObjectOutputStream(outputBuffer);
         BucketUpdate b1 = new BucketUpdate("getAllProducts1",null,"1",null);
         BucketUpdate b2 = new BucketUpdate("getAllProducts2",null,"2",null);
         BucketUpdate b3 = new BucketUpdate("getAllProducts3",null,"3",null);
         objectStream.writeObject(b1);
         objectStream.writeObject(b2);
         objectStream.writeObject(b3);
         objectStream.close();
    
    Run Code Online (Sandbox Code Playgroud)

java serialization objectoutputstream

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

多线程有用到什么程度?

  • 我有一个任务,可以划分为多个独立的子任务,每个子任务可以在Java中的单独线程中运行.
  • 我想了解什么是最佳线程数,之后增加线程数不会导致任何性能提升.

java multithreading concurrent-programming

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