除应用程序启动快捷方式(仅应由操作系统提供)外,Windows键盘挂钩等合法用途是什么?在我看来,我们只遇到像键盘记录器这样的问题,因为操作系统提供钩子来执行任何人都不应该允许的事情,除了O/S内核本身.
编辑:好的,所以考虑到可能需要它们的合法位置,O/S是否应该提供全局关闭它们的高级别能力,并且只允许逐个程序的例外?
我试图找出为什么 Apache CXF 在第一次初始化 Web 服务时会跑掉做“某事”。“某事”可能是某种 IO,我猜它正在尝试解析某种外部地址/模式/DTD。
所以我试图找到某种可以监控所有 IO 的钩子。无论是在 VM 级别还是在 OS 级别(我可以在 linux 和 Windows 上运行,但我不允许运行 wireshark,理论上它可能是文件 IO)。
关于如何追踪正在发生的事情的任何建议?
客户需要预览我们产品的新功能.他们要求在jar文件(如补丁)中将这个功能发送给他们.在所述jar文件中包含新类没有问题.但是,修改了现有类,这是集成新功能所必需的.他们只想添加这个新的jar文件,而无需更新我们产品的核心类.所以,问题是:是否可以使用单独的jar覆盖已存在的类?如果是这样,怎么样?
提前致谢.
我有一个用于记录我的工作活动的Java应用程序.因为我每天都打开它,所以最初关心我选择语言的一件事就是它会使用的内存量.
令人高兴的是,在Windows XP下,它通常在最小化时消耗大约5 MB,在最大化时消耗大约12 MB,并且愉快地运行-Xmx5M(根据Windows任务管理器的内存消耗).
当我用更新的硬件升级我的家用电脑,同时升级到Windows 7 64(虽然我安装并使用32位JVM)时,我立即注意到此应用程序的JVM现在报告68 MB +总是.. .这就是用-Xmx5M -Xss16K,根据任务管理器的"工作组".
旧机器和新机器都有4 GB的RAM,其中512 MB用于视频.两者都在运行Java 6的最新版本 - 关于WinXP的更新15,现在为Win7更新24.磁盘上的应用程序占用量为12 K类70 K. 此外,我的工作计算机仍然是Windows XP,运行Java 6_24,并且它显示了大约12 MB这个相同的应用程序 - 并且相同我的意思是字面意思,因为这两个系统是同步的所有我的开发工具.
作为一名开发人员,我需要了解为什么我的应用程序似乎会扼杀这么多内存.
任何人都可以对此有所了解,并建议如何有意义地减少Java 6应用程序的内存占用量?
编辑
答案可能是过度的PermGen大小.根据JVisualVM,我有一堆:
大小:5.2 MB,使用:4.3 MB(峰值)和分配6.2 MB.
但对于PermGen
大小:12.5 MB,使用:4.6 MB(峰值)和分配67.1 MB.

那么,Win 7中的任务管理器中显示的68 MB是否可以简单地请求但是未分配的虚拟内存?
编辑2
将PermGen降低到12 MB对进程RAM没有影响,但JVisualVM确实显示它减少了(显然12 MB构成了某种最小值,因为低于此值对JVVM没有影响).
免责声明:这是一项任务.我不是要求明确的代码.相反,我只是要求足够的帮助,我可以理解我的问题,并自己纠正.
我正在尝试ar根据家庭作业重新创建Unix 实用程序.这个任务的大部分处理C中的文件IO,其他部分处理系统调用等.
在这种情况下,我打算创建存档中所有文件的简单列表.你可能没注意到,我还没有走得太远.该计划相对简单:从存档文件中读取每个文件头,并仅打印保存的值ar_hdr.ar_name.其余字段将被跳过fseek(),包括文件数据,直到到达另一个文件,此时该过程再次开始.如果达到EOF,则该功能简单地终止.
我对文件IO没什么经验,所以我已经处于这个任务的劣势.我已尽最大努力研究实现目标的正确方法,我相信我已尽最大努力实施这些目标.也就是说,我的实施似乎有问题.来自存档文件的数据似乎没有被读取,或者至少存储为变量.这是我的代码:
struct ar_hdr
{
char ar_name[16]; /* name */
char ar_date[12]; /* modification time */
char ar_uid[6]; /* user id */
char ar_gid[6]; /* group id */
char ar_mode[8]; /* octal file permissions */
char ar_size[10]; /* size in bytes */
};
void table()
{
FILE *stream;
char str[sizeof(struct ar_hdr)];
struct ar_hdr temp;
stream = fopen("archive.txt", "r");
if (stream == 0)
{
perror("error");
exit(0);
}
while (fgets(str, sizeof(str), stream) != …Run Code Online (Sandbox Code Playgroud) 作为深入学习简单JS编程(在最新浏览器上)的实践练习,我正在建立一个SPA来维护客户记录.我使用的唯一外部库是Mithril.js MVC.到目前为止,我有一个包含来自我的数据库的实时数据的表视图,其中包括每个记录的编辑,合并和删除按钮.编辑完成并运行良好,使用内联"表单"并保存/取消该工作.
我现在正在尝试实现删除和合并,两者都需要一个弹出确认才能被操作,这就是我被困住的地方.我确切地知道我在桌面GUI环境中做了什么,所以路障可能是我对浏览器前端缺乏了解而不是秘银本身.
理想情况下,我想创建一个自包含,可重用的"popup"组件代表弹出窗口,但我看不出我应该如何使用Mithril在JS中这样做,特别是,但不仅仅是如何制作秘银将一个视图叠加在另一个视图之上.
从广泛的大纲到具体的代码片段,我们将不胜感激.
减少循环的最佳/首选习惯是什么?为什么?
for(int idx=(len-1); idx>=0; idx--) {...}
Run Code Online (Sandbox Code Playgroud)
要么
for(int idx=(len-1); idx>-1; idx--) {...}
Run Code Online (Sandbox Code Playgroud)
或(基于sylvarking的答案,但用于约束索引范围)
for(int idx=len; idx-->0; ) {...}
Run Code Online (Sandbox Code Playgroud)
是否有一个或多个人更有可能绊倒另一个开发者?
鉴于此代码:
class Overloading
extends Object
{
static public void target(Object val, String chk) { System.out.println("Object["+val+"] :: Should be "+chk); }
static public void target(String val, String chk) { System.out.println("String["+val+"] :: Should be "+chk); }
static public void main(String[] args) {
Object obj=null;
target(null ,"Object");
target((Object)null,"Object");
target(obj ,"Object");
}
}
Run Code Online (Sandbox Code Playgroud)
输出(意外地)如下:
String[null] :: Should be Object
Object[null] :: Should be Object
Object[null] :: Should be Object
Run Code Online (Sandbox Code Playgroud)
问题在于第一行,我希望与另外两行相同.此外,我发誓,直到最近编译器才会给普通null调用一个模糊的调用警告.但是,使用Java 5和6进行编译和测试会产生相同的结果.
这对我来说是一个重要的问题,因为我有很多代码使用这种模式使用不同类型的重载"默认"参数来选择返回类型并推断所需的转换/解析.谁能解释一下这里发生了什么?
我们是一个程序员和设计师的团队,我们希望制作一个中型Java游戏,它将在网络浏览器中作为applet播放.我(程序员)有3年的一般开发经验,但我之前没有做任何游戏编程.
我们假设:
我们将决定比赛的情节,故事情节等.
我们将创建一个我们需要的资产(图像)列表,即玩家图像,怪物图像,城镇,建筑物,树木,物体等.(我们现在不添加任何音乐/声音效果)
设计师将在阅读我购买的一些游戏编程书籍时开始创建这些图像.设计师将创建游戏的第一个城镇/级别,然后将这些图像传递给我,我将开始编写第一级,他将开始下一级别,并且在4-5级之后我们将发布v.1游戏
问题1:这是用于此项目的正确方法吗?
问题2:设计人员应该以什么格式创建这些图像.它们应该是.bmp,.jpeg还是.gif文件?并且,他会将所有这些图像放在一个文件中,还是将每个怪物/对象/建筑物放在自己的文件中?注意; 我们现在坚持使用2D而不是3D.
问题3:我看过一些游戏工具,里面会有一个怪物的文件,在那个文件中有大约3-4张来自不同方向的怪物图像,全部放在一个文件中,我想因为它们'是动画的一部分.这是一个插图:
[怪物向右看] ...... [怪物在前方看着] ...... [怪物向右看[
所有这些都在一个档案中.这是他将如何向我提供这些动画吗?
我想要找出的是,他将为我提供设计图像的格式是什么,以便我能够在Java代码中轻松访问/操作它们.
所有答案赞赏:)
我从来没有能够弄明白这个; 通常的嫌疑人不起作用.
鉴于:
FileDialog dlg=null;
dlg=new FileDialog(owner,"Select File to Load",FileDialog.LOAD);
dlg.setFile(null);
dlg.setVisible(true);
Run Code Online (Sandbox Code Playgroud)
有没有办法让对话框居中?
关键点在于setVisible(),调用线程被阻塞,直到对话框被解除; 之前的任何定位似乎都被忽略了.
java ×7
io ×2
2d ×1
3d ×1
aspectj ×1
awt ×1
browser ×1
c ×1
class ×1
filedialog ×1
hook ×1
jar ×1
javascript ×1
mithril.js ×1
overloading ×1
overriding ×1
sprite ×1
trace ×1
unix-ar ×1