小编vik*_*cks的帖子

为什么我的Eclipse Indigo会在使用Oracle JDK 64bit的Ubuntu 13.04上崩溃?

我在Ubuntu 13.04上安装了jdk和eclipse.它保持打开状态,直到我创建一个项目并输入一些基本的但是当我点击javadoc或Ctrl + Space之类的某个地方突然间,它会立即崩溃并显示以下消息.我有Juno和Ubuntu 12.04这个问题,但是当我从Juno升级到Indigo时,它很好.但是现在使用Indigo和Ubuntu 13.04后,它们都搞砸了.即使Juno也无法使用Ubuntu 13.04,我需要帮助.我需要让日食工作.我已准备好安装/删除任何东西以使Eclipse再次运行.

[psycho:~] $ /opt/eclipse/eclipse 

(Eclipse:19297): Gtk-WARNING **: Unable to locate theme engine in module_path: "mist",

(Eclipse:19297): Gtk-WARNING **: Unable to locate theme engine in module_path: "mist",
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fb29dce2009, pid=19297, tid=140405947455232
#
# JRE version: 7.0_10-b18
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.6-b04 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libsoup-2.4.so.1+0x6e009]  soup_session_feature_detach+0x19
# …
Run Code Online (Sandbox Code Playgroud)

java eclipse crash

62
推荐指数
2
解决办法
3万
查看次数

为什么byte不会在java中占用0xff?

为什么java编译器不让我0xff加入byte,0xff是8位长,这只是byte数据类型的大小.

有人可以解释为什么1有效,为什么有2无效?

class a
{
        public static void main(String[] args)
        {
                // 1 :: results in error
                byte a = 0xff;          
                System.out.printf("%x\n",a);

                //2 :: works fine
                byte a = (int)0xff              
                System.out.printf("%x\n",a);
        }
}
Run Code Online (Sandbox Code Playgroud)

编辑我读了答案声称0xff是255,怎么回事?是不是1111 1111,什么使0xff,-128或255或任何事情.为什么不将它视为1111 1111而不是将该字节的8位视为1.

java byte

27
推荐指数
2
解决办法
2万
查看次数

汇编语言中的全局_start是什么?

这是我的汇编级代码......

section .text
global _start
_start: mov eax, 4
        mov ebx, 1
        mov ecx, mesg
        mov edx, size
        int 0x80
exit:   mov eax, 1
        int 0x80
section .data
mesg    db      'KingKong',0xa
size    equ     $-mesg
Run Code Online (Sandbox Code Playgroud)

输出:

root@bt:~/Arena# nasm -f elf a.asm -o a.o
root@bt:~/Arena# ld -o out a.o
root@bt:~/Arena# ./out 
KingKong
Run Code Online (Sandbox Code Playgroud)

我的问题是全球_start用于什么?我和Mr.Google试了一下运气,我发现它用来说明程序的起点.为什么我们不能_start告诉程序在哪里开始,如下面给出的那个在屏幕上产生一种警告

section .text
_start: mov eax, 4
        mov ebx, 1
        mov ecx, mesg
        mov edx, size
        int 0x80
exit:   mov eax, 1
        int 0x80
section .data …
Run Code Online (Sandbox Code Playgroud)

assembly nasm

23
推荐指数
3
解决办法
3万
查看次数

为什么我们需要一个servlet名称?

我一直在看书深入浅出JSP和Servlet,我看到web.xml

  <!-- To name the servlet -->
  <servlet>                                    
    <servlet-name>ServletName</servlet-name>
    <servlet-class>packy.FirstServlet</servlet-class>
  </servlet>

  <!-- For URL's to map to the correct servlet -->
  <servlet-mapping>
    <servlet-name>ServletName</servlet-name>
    <url-pattern>/ServletURL</url-pattern>
  </servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

为什么要隐藏原始servlet的位置?我可以简单地看到它是出于安全原因和更多这样的优点,但为什么每个servlet都有一个名称?为什么不能web.xml像简单一样

  <servlet>                                    
    <url-pattern>ServletURL</url-pattern>
    <servlet-class>packy.FirstServlet</servlet-class>
  </servlet>
Run Code Online (Sandbox Code Playgroud)

java jsp tomcat servlets

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

如何在java中将0x80000000等同于-2147483648?

0x80000000拿二进制我们得到

1000 0000 0000 0000 0000 0000 0000 0000
Run Code Online (Sandbox Code Playgroud)

这等同于什么-2147483648?我用这个程序得到了这个问题.

class a
{
        public static void main(String[] args)
        {
                int a = 0x80000000;
                System.out.printf("%x %d\n",a,a);
        }
}

meow@VikkyHacks:~/Arena/java$ java a
80000000 -2147483648
Run Code Online (Sandbox Code Playgroud)

编辑我了解到2的补码用于表示负数.当我试图把它与1的补码相等时

1's Comp. :: 0111 1111 1111 1111 1111 1111 1111 1111
2's Comp. :: 1000 0000 0000 0000 0000 0000 0000 0000
Run Code Online (Sandbox Code Playgroud)

这也没有任何意义,0x80000000等同于什么-2147483648

java bits

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

我们可以从java调用python方法吗?

我知道jython允许我们从任何java的类文件中调用java方法,就像它们是为python编写的那样,但是反过来可能???

我已经有很多用python编写的算法,它们在python和jython中工作得很好但是它们缺少一个合适的GUI.我计划将GUI与java一起使用并保持python库的完整性.我无法用jython或python编写一个好的GUI,我不能用python编写一个好的算法.所以我找到的解决方案是合并java的GUI和python的库.这可能吗.我可以从java调用python的库吗?

python java

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

在C中以十六进制的形式读取文件的内容

我有一个文件,hex.txt其中保存了十六进制值

9d ff d5 3c 06 7c 0a
Run Code Online (Sandbox Code Playgroud)

现在我需要将它转换为字符数组

unsigned char hex[] = {0x9d,0xff,0xd5,0x3c,0x06,0x7c,0x0a}
Run Code Online (Sandbox Code Playgroud)

我该怎么做 ?

c hex file-handling

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

char []中的"长度"是多少?

char[] name = "VIKKYHACKS".toCharArray();
System.out.println(name.length);
Run Code Online (Sandbox Code Playgroud)

在这个程序中,什么是"长度",如果是(new String("VIKKYHACKS")).length()那么长度将是一种方法.但char []是一种数据类型,不能在其中包含字段或方法.该程序的第二行如何工作?

java

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

nasm汇编语言中的$是什么?

这是我的汇编级代码...

section .text
global _start
_start  mov eax, 4
        mov ebx, 1
        mov ecx, mesg
        mov edx, size
        int 0x80
exit:   mov eax, 1
        int 0x80
section .data
mesg    db      'KingKong',0xa
size    equ     $-mesg
Run Code Online (Sandbox Code Playgroud)

输出:

root@bt:~/Arena# nasm -f elf a.asm -o a.o
root@bt:~/Arena# ld -o out a.o
root@bt:~/Arena# ./out 
KingKong
Run Code Online (Sandbox Code Playgroud)

行中的$是多少size equ $-mesg。有人请解释一下所用$符号...

assembly nasm

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

什么是"临界区算法"中的进展和有限等待?

请考虑以下代码

  //proces i:                             //proces j:

  flag[i] = true;                         flag[j] = true;
  turn = j;                               turn = i;
  while(flag[j] == true && turn==j);       while(flag[i] == true && turn == i);

  <critical section>                      <critical section>

  flag[i] = false;                        flag[j] = false;

  <remainder section                      <remainder section>
Run Code Online (Sandbox Code Playgroud)

我确信上面的代码将满足互斥属性,但我不确定以下内容

  1. 究竟是什么progress意思?并且上述代码是否满足它,上述代码要求严格交替执行临界区.这被认为是progress

  2. 从我所看到的上面的代码不保留进程进入临界区的次数的任何信息,这是否意味着上述代码不满足bounded waiting

multithreading synchronization operating-system semaphore

4
推荐指数
2
解决办法
8238
查看次数