我在Java上从事一个相当大的项目.我的问题是如何最好地为我的应用程序构建属性集.
方法1:拥有一些可供每个类访问的静态Properties对象.(缺点:那么,如果某些类被从应用程序的上下文中取出,它们将失去它们的一般性;它们还需要显式调用位于不同类中的某个静态对象,并且可能在将来消失;它只是不会感觉对,我错了?)
方法2:让属性由主类实例化并传递给其他应用程序类.(缺点:你最终将指向Properties对象的指针传递给几乎每个类,它似乎变得非常冗余和繁琐;我不喜欢它.)
有什么建议?
我创建了一个图形并用几个子图填充它.
随着新数据的到来,我想在给定的子图上绘制它.
如何在子图之间切换,这样我每次都不必创建新的子图对象?
例:
from matplotlib.pyplot import figure,
figure()
subplot(2,1,1)
subplot(2,1,2)
# now go back and plot something on subplot 1 ...?
Run Code Online (Sandbox Code Playgroud) 在我有一张地图并希望线程安全地公开其键集的情况下,这一定是相当普遍的情况:
public MyClass {
Map<String,String> map = // ...
public final Set<String> keys() {
// returns key set
}
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我的“地图”不是线程安全的,这是不安全的:
public final Set<String> keys() {
return map.keySet();
}
Run Code Online (Sandbox Code Playgroud)
两者都不是:
public final Set<String> keys() {
return Collections.unmodifiableSet(map.keySet());
}
Run Code Online (Sandbox Code Playgroud)
所以我需要创建一个副本,例如:
public final Set<String> keys() {
return new HashSet(map.keySet());
}
Run Code Online (Sandbox Code Playgroud)
但是,这似乎也不安全,因为该构造函数遍历参数的元素并将它们添加()。因此,在进行此复制时,可能会发生 ConcurrentModificationException。
那么:
public final Set<String> keys() {
synchronized(map) {
return new HashSet(map.keySet());
}
}
Run Code Online (Sandbox Code Playgroud)
似乎是解决方案。这看起来对吗?
我正在编写一个需要散列任意对象的数据结构.如果我给出一个int参数,以下函数似乎失败了.
func Hash( obj interface{} ) []byte {
digest := md5.New()
if err := binary.Write(digest, binary.LittleEndian, obj); err != nil {
panic(err)
}
return digest.Sum()
}
Run Code Online (Sandbox Code Playgroud)
调用此int结果:
panic:binary.Write:无效的int类型
这样做的正确方法是什么?
我正在尝试找到一种用于绘制数据的工具(主要是线图等),可用于高性能应用程序.我的数据窗口通常包含500到几千个点,我对帧率为10左右感到满意.我在套接字上以二进制流的形式接收数据.我在Mac OS X上.
我尝试了几种解决方案,并在下面讨论我的经验.
R:非常慢,无法跟上,读取插座很痛苦,图形闪烁.
matplotlib:非常慢但有点可用.但是,它需要运行大量的Python机器,而IMO的API非常不透明.在不断更新的情况下,包含图形的窗口变为模态,并且出现Mac沙滩球 - 对用户交互不太好.
Gnuplot:更好的性能和API.(!),但通信大量的数据来的gnuplot通过生成临时ASCII文件发生-这意味着,如果我的帧率上升,我开始做顿磁盘读取,这是一个性能问题.
还有其他建议吗?
我试图使用libgit2来读取当前分支的名称.我必须做某种决心吗?
我试过用
git_branch_lookup
Run Code Online (Sandbox Code Playgroud)
来查找git_reference的HEAD,但它会导致
Unable to find local branch 'HEAD'
Run Code Online (Sandbox Code Playgroud)
谢谢!
好的.所以我有大量的二进制数据(比方说,10GB)分布在不同长度的一堆文件(比方说5000)上.
我正在编写一个Java应用程序来处理这些数据,我希望为数据访问建立一个好的设计.通常情况会是这样的:
目前我使用RandomAccessFile类读取字节缓冲区(和ByteBuffers).我的最终目标是将数据访问封装到某个类中,以便它快速,我再也不用担心它了.基本功能是我将要求它从指定文件中读取数据帧,并且我希望在上述考虑因素的情况下最小化I/O操作.
典型访问的示例:
对优秀设计的任何建议?
假设我有一个SELECT语句返回一些结果集.有什么方法可以用以下方式对我的结果进行编号:
SELECT TOP 3 Name from PuppyNames ORDER BY NumberOfVotes
会给我......
菲
流浪者
弗雷迪克鲁格
...但我想要...
1,Fido
2,罗孚
3,弗雷迪克鲁格
当然,逗号表示这些数字在他们自己的专栏中.[我正在使用SQL Server 2000.]
我有一个
List<Cat>
Run Code Online (Sandbox Code Playgroud)
按猫的生日排序.是否有一种有效的Java Collections方法可以找到1983年1月24日出生的所有猫?或者,一般来说什么是好方法?
java ×4
performance ×2
sql ×2
collections ×1
data-access ×1
date ×1
findall ×1
go ×1
hash ×1
hashset ×1
libgit2 ×1
list ×1
matplotlib ×1
md5 ×1
oop ×1
properties ×1
python ×1
select ×1
sorted ×1
sql-server ×1
structure ×1