我的机器严重不足,我想我需要开始节省每个备用周期.我知道,与我的同事的KDE设置相比,我的Gnome环境似乎表现不佳.但是如果我要做那么大的转换,我不妨考虑运行一些更轻的东西.
是否有可能在轻量级窗口管理器上生存并仍然运行现代应用程序(Firefox,Eclipse,OpenOffice)?我有什么好的候选窗口经理可以尝试,我需要知道什么?
如何用您喜欢的语言遍历目录树?
在不同的操作系统中遍历目录树需要了解什么?在不同的文件系统上?
您最喜欢的库/模块是什么帮助遍历目录树?
似乎很多人都读到了分布式版本控制,并且隐含地理解了为什么它对于开源开发来说是一件好事,许多分布式开发人员都是独立行事并且根据他们自己的选择而不是管理层的授权.但是从这种印象来看,许多人认为DVCS 仅在开源环境中有用; 他们无法看到它如何帮助组织发布专有产品,并且不会使其版本控制系统在外部可访问,或者它如何帮助单个开发人员.
如果企业选择使用分布式版本控制(如git,darcs或Mercurial)而不是集中版本控制(如CVS或Subversion),企业可以看到哪些好处?
我们有一个用Java编写的计划任务在Windows平台上失败,因为有时它需要删除的文件仍在使用中.在Java中是否有一种方法可以看到哪些进程正在使用文件并获取有关它们的信息?
我想我会补充一点,如果有必要,我愿意使用JNA或JNI,我认为它会是.
我正在尝试使用ImageMagick中的"convert"命令行工具.我有一个base64编码的png文件,我需要将其转换为另一种格式.我正在查看文档和论坛讨论,这表明我应该能够使用这种语法:
convert inline:file.txt file.jpg
Run Code Online (Sandbox Code Playgroud)
但是,当我这样做时,我收到此错误消息:
convert: corrupt image `file.txt' @ error/constitute.c/ReadInlineImage/910.
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?如何转换为读取base64图像文件?
以下方法不起作用,因为内部块声明了与外部块中的变量同名的变量.显然,变量属于声明它们的方法或类,而不属于声明它们的块,因此我无法编写一个简短的临时块来进行调试,将外部作用域中的变量推送到阴影片刻:
void methodName() {
int i = 7;
for (int j = 0; j < 10; j++) {
int i = j * 2;
}
}
Run Code Online (Sandbox Code Playgroud)
几乎我用过的每一种块范围的语言都支持这种语言,包括我在学校编写解释器和编译器的琐碎小语言.Perl可以做到这一点,就像Scheme一样,甚至是C.甚至PL/SQL都支持这个!
这个Java设计决策的基本原理是什么?
编辑:有人指出,Java确实有块范围.我问的概念的名称是什么?我希望我能从那些语言设计课程中记住更多.:)
我在我们的应用程序中发现的一个内存泄漏是java.awt.Window.allWindows私有静态字段,它跟踪每个Window实例化的内容.我们创建,使用,然后忘记了对话框,期望这些对话框会消失并被垃圾收集.这个私有字段会无限期地将它们保留在范围内,直到dispose()调用它们为止.根据定义,当他们超出范围时,我们不能这样做.
我不明白为什么这是这样设计的.与垃圾收集的精神相反,当我完成一个Window对象时,必须明确让系统知道.显然我已经完成了它,因为它超出了范围.
我理解该dispose()方法正在做什么:摆脱系统对等对象.我确实理解这是在Java之外,你需要一些方法来做到这一点,并且Swing不应该只是失去对这些对象的跟踪,否则它会有内存泄漏.但是Window,当我永远不再使用它时,通过永久保持对我周围的参考来实现的目标是什么?
有人可以解释为什么这是必要的吗?
当我从命令行运行ant时,如果出现故障,我会得到一个非零退出状态(UNIX上的$ ?, Windows上的%ERRORLEVEL%).但我们有一个运行ant的Java程序(通过ProcessBuilder),当ant失败时,在Windows上我们无法获得退出状态.
我刚用这个简单的ant测试文件验证了这个:
<project name="x" default="a">
<target name="a">
<fail/>
</target>
</project>
Run Code Online (Sandbox Code Playgroud)
在UNIX上,运行ant会打印失败消息,并回显$?之后打印1.在Windows上,运行ant或ant.bat打印失败消息,然后回显%ERRORLEVEL%打印1.
现在,使用下面的测试程序:在UNIX上,java Run ant打印失败消息,并回显$?之后打印1.在Windows上,java Run ant无法找到名为ant的程序来运行,但是java Run ant.bat打印出一条失败消息,然后回显%ERRORLEVEL%后打印0.是什么赋予了?
我们依靠能够在运行ant之后检查退出状态.无论如何,我们是.为什么我们不能以编程方式依赖于此?
测试程序:
import java.io.*;
public class Run {
public static void main(String[] args) throws IOException, InterruptedException {
ProcessBuilder pb = new ProcessBuilder(args);
Process p = pb.start();
ProcThread stdout = new ProcThread(p.getInputStream(), System.out);
ProcThread stderr = new ProcThread(p.getErrorStream(), System.err);
stdout.start();
stderr.start();
int errorLevel = p.waitFor();
stdout.join();
stderr.join();
IOException outE = stdout.getException();
if (outE != null)
throw(outE);
IOException errE = …Run Code Online (Sandbox Code Playgroud) 在我之前的Eclipse版本中,我可以从用于启动所有其他程序的相同运行或调试配置菜单启动我的JBoss服务器,如果我在"构建工作区"进行时启动服务器,则启动会阻止直到构建工作区完成.
现在我已升级到Luna,如果我想启动JBoss,我必须转到服务器选项卡,因为JBoss不再在我的其他程序的运行/调试菜单中列出,而且,如果我启动服务器时"构建工作区"正在进行中,服务器立即启动.通常这会导致问题,因为在构建完成后,在运行的服务器JVM中替换类,并且我注意到热替换不成功.
如何恢复服务器的旧行为?是否仍然可以让服务器启动等待构建工作区完成?
设置git clone以支持推/拉回原始存储库.我如何使用git-remote(和/或其他命令,配置文件等)更改两个存储库,以便原始文件现在将像克隆一样,默认情况下推送和拉入它,克隆现在将采取行动作为原始,不知道克隆?
java ×4
git ×2
ant ×1
dvcs ×1
eclipse ×1
exec ×1
file ×1
filesystems ×1
fork ×1
imagemagick ×1
jboss ×1
memory-leaks ×1
performance ×1
process ×1
syntax ×1
windows ×1
x11 ×1