我正在尝试编写applet并将其放入我的网站.我记得很久以前在使用Borland的时候做了这个,当1.4是最新版本时.它当然使用了applet标签(我目前正在使用它),它没有任何问题.但无论如何,我把类文件放在它自己的目录下的httpdocs /中,然后在网页中使用这个代码:
<applet code="wsavatar/WSAvatar" width="425" height="150>
Your browser does not support the applet tag.
</applet>
当我尝试加载页面时,会发生这种情况:
Java Plug-in 1.6.0_17
Using JRE version 1.6.0_17-b04 Java HotSpot(TM) Client VM
java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file
wsavatar/WSAvatar
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception: java.lang.ClassFormatError: Incompatible magic value 1008813135
in class file wsavatar/WSAvatar
Run Code Online (Sandbox Code Playgroud)
<applet code="wsavatar/WSAvatar" width="425" height="150> …
我是第二个OOP课程的编程学生,用C++教授.我知道在代码中使用魔术数字通常是不好的做法,所以这是我的问题:
在接下来的节目,我必须写这个类,还有就是在税表给我们120号,我们需要用它们来计算税收和其他相关信息.如此庞大的数字,我为每个数字定义一个常量吗?或者我还能做些什么吗?
我知道并理解全局变量和幻数是编程时要避免的事情,特别是当项目中的代码量增加时.然而,我无法想到一个避免两者的好方法.
Say I have a pre-determined variable representing the screen width, and the value is needed in multiple files. I could do...
doSomethingWithValue(1920);
Run Code Online (Sandbox Code Playgroud)
But that's a magic number. But to avoid that, I'd do...
const int SCREEN_WIDTH = 1920;
//In a later file...
extern const int SCREEN_WIDTH;
doSomethingWithValue(SCREEN_WIDTH);
Run Code Online (Sandbox Code Playgroud)
And now I'm using a global variable. What's the solution here?
在C/C++中使用以下代码,例如:
int foo[] = {0, 0, 0, 0};
Run Code Online (Sandbox Code Playgroud)
没有神奇的数字吧?
现在,Python的"等效"将是:
foo = [0, 0, 0, 0]
Run Code Online (Sandbox Code Playgroud)
仍然没有神奇的数字.
但是,在Python中,同样的事情可以写成:
foo = [0] * 4
Run Code Online (Sandbox Code Playgroud)
现在我们有一个神奇的数字.或者我们呢?
我猜这个和其他类似的东西出现在这些和其他语言上.
在我的Android项目中,有许多constances来表示bundle额外的键,Handler的消息参数,对话框id ant等.我团队中的某个人使用一些正常的数字来执行此操作,例如:
handler.sendMessage(handler.obtainMessage(MESSAGE_OK, 1, 0));
handler.sendMessage(handler.obtainMessage(MESSAGE_OK, 2, 0));
handler.sendMessage(handler.obtainMessage(MESSAGE_OK, 3, 0));
Run Code Online (Sandbox Code Playgroud)
处理程序:
switch (msg.arg1) {
case 1:
break;
case 2:
break;
case 3:
break;
}
Run Code Online (Sandbox Code Playgroud)
他说太多静态的最终常数会占用大量内存.但我认为他的解决方案使代码难以阅读和重构.
我已经阅读了这个问题,并搜索了很多,但未能找到答案. java:使用最终静态int = 1比仅仅普通1更好吗?
我希望有人能告诉我静态决赛的记忆成本.
抱歉我的英语不好.
我读取了第一个字节来区分文件类型,但 PDF 和 DOCX 都有一个“0x50”幻数。我该如何处理这种情况?
特别是我正在寻找一个IP地址,我可以将其放入我的hosts
文件中,这将破坏给定的DNS名称.现在我正在使用,127.0.0.1
但如果我安装了任何服务,这将开始变得奇怪.
如何防止第三方程序联系给定服务器?
我正在关注以下链接中的示例:
http://www.javaworld.com/javaworld/jw-10-1996/jw-10-indepth.html?page=1 这是我得到的输出:
This program will use SimpleClassLoader. >>>>>> Load class : TestClass >>>>>> Not a system class. >>>>>> Fetching the implementation of TestClass file was read successfully Exception in thread "main" java.lang.ClassFormatError: Incompatible magic value 1768779887 in class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at aha.SimpleClassLoader.loadClass(SimpleClassLoader.java:80) at aha.SimpleClassLoader.loadClass(SimpleClassLoader.java:42) at aha.Example.main(Example.java:11)
这是我读取文件的方法的示例:
private byte getClassImplFromDataBase(String className)[] {
System.out.println(" >>>>>> Fetching the implementation of "+className);
byte result[];
try {
FileInputStream fi = new FileInputStream("C:/delete/"+className+".impl");
result = new …
Run Code Online (Sandbox Code Playgroud) 在ELF-header中,value e_ident[EI_CLASS]
可以是1或2,表示32位操作或64位操作系统.但是从历史上我们知道ELF首次出现在1993年发布的Solaris 2.0中.然而,广泛使用的32位处理器Pentium Pro直到1995年才出现.那么为什么ELF头没有关于16位甚至是16位的信息8位信息?
GCC和Clang编译器似乎采用了一些黑暗魔法.该C
代码只是否定了双重的价值,但汇编指令涉及逐位XOR
和指令指针.有人可以解释发生了什么,为什么它是一个最佳解决方案.谢谢.
test.c的内容:
void function(double *a, double *b) {
*a = -(*b); // This line.
}
Run Code Online (Sandbox Code Playgroud)
生成的汇编程序指令:
(gcc)
0000000000000000 <function>:
0: f2 0f 10 06 movsd xmm0,QWORD PTR [rsi]
4: 66 0f 57 05 00 00 00 xorpd xmm0,XMMWORD PTR [rip+0x0] # c <function+0xc>
b: 00
c: f2 0f 11 07 movsd QWORD PTR [rdi],xmm0
10: c3 ret
Run Code Online (Sandbox Code Playgroud)
(clang)
0000000000000000 <function>:
0: f2 0f 10 06 movsd xmm0,QWORD PTR [rsi]
4: 0f 57 05 00 00 …
Run Code Online (Sandbox Code Playgroud) 我正在尝试获取"神奇数字"(表示文件格式的字节)...我确实尝试在十六进制编辑器中打开文件.但我一开始只得到"70 75".那是错的.我正在做作业,找不到合适的十六进制代码.我对十六进制编辑器没有多少经验.