标签: magic-numbers

嵌入小程序不适用于我的网站

我正在尝试编写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> …

java applet magic-numbers

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

常数在这里是否真的合适,还是有另一种方法? - C++

我是第二个OOP课程的编程学生,用C++教授.我知道在代码中使用魔术数字通常是不好的做法,所以这是我的问题:

在接下来的节目,我必须写这个类,还有就是在税表给我们120号,我们需要用它们来计算税收和其他相关信息.如此庞大的数字,我为每个数字定义一个常量吗?或者我还能做些什么吗?

c++ constants magic-numbers

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

如何避免全局变量和幻数?

我知道并理解全局变量和幻数是编程时要避免的事情,特别是当项目中的代码量增加时.然而,我无法想到一个避免两者的好方法.

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++ global-variables magic-numbers

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

"幻数"的概念是否会因语言而异?

在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)

现在我们有一个神奇的数字.或者我们呢?
我猜这个和其他类似的东西出现在这些和其他语言上.

c c++ python magic-numbers concept

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

有人告诉我,直接使用数字而不是静态的最终int字段可以节省内存,这是真的吗?

在我的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更好吗?

我希望有人能告诉我静态决赛的记忆成本.

抱歉我的英语不好.

java android memory-management constants magic-numbers

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

PDF 和 DOCX 幻数

我读取了第一个字节来区分文件类型,但 PDF 和 DOCX 都有一个“0x50”幻数。我该如何处理这种情况?

pdf upload byte docx magic-numbers

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

特殊IP地址

特别是我正在寻找一个IP地址,我可以将其放入我的hosts文件中,这将破坏给定的DNS名称.现在我正在使用,127.0.0.1但如果我安装了任何服务,这将开始变得奇怪.

如何防止第三方程序联系给定服务器?

standards ip-address magic-numbers

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

不兼容的魔法值错误

我正在关注以下链接中的示例:

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)

java magic-numbers classloader

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

为什么ELF幻数中没有16位信息?

在ELF-header中,value e_ident[EI_CLASS]可以是1或2,表示32位操作或64位操作系统.但是从历史上我们知道ELF首次出现在1993年发布的Solaris 2.0中.然而,广泛使用的32位处理器Pentium Pro直到1995年才出现.那么为什么ELF头没有关于16位甚至是16位的信息8位信息?

linux magic-numbers elf

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

用于双重否定的奇怪的SSE汇编程序指令

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)

assembly gcc sse x86-64 magic-numbers

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

什么十六进制代码.java文件开头?

我正在尝试获取"神奇数字"(表示文件格式的字节)...我确实尝试在十六进制编辑器中打开文件.但我一开始只得到"70 75".那是错的.我正在做作业,找不到合适的十六进制代码.我对十六进制编辑器没有多少经验.

java hex hex-editors magic-numbers

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