小编use*_*750的帖子

Java弹出窗口说应用程序包含无符号和签名代码

我正在使用运行Java 1.7.0_21的Mac 10.7.我正在尝试运行已签名的Java applet应用程序,并且在应用程序结束时,我得到一个混合模式安全弹出窗口"阻止可能不安全的组件被运行?".我正在使用的所有罐子都签了名.

我可以在运行Java 6的Mac 10.6上运行相同的applet应用程序,但我没有得到混合模式警告.我也可以在Windows上运行应用程序而不会出现混合模式警告.

当我的所有罐子都签名后,为什么我会一直收到这个错误?

我用谷歌搜索混合模式警告,发现此链接.

http://docs.oracle.com/javase/6/docs/technotes/guides/jweb/mixed_code.html#manifest

看完这个链接后,我有点困惑.根据此链接,我看起来需要在清单文件中提到"Trusted-Only"或"Trusted-Library"属性.我查看了我的清单文件,他们没有这些属性,所以我应该把它们放进去,或者只是罐子签名应该已经足够了.

有人可以请帮助我理解为什么即使一切都签名我都会收到此错误?

java security warnings mode mixed-code

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

Mac + jni + java

一点背景:我有一个需要与mac上的第三方硬件通信的java应用程序.他们给了我sdk,但它不是Java.所以我试图让jnilib充当我的java应用程序和SDK之间的桥梁.

问题:我已经制作了一个与SDK对话的小样本jnilib但是当我尝试在我的java程序中使用它时出现以下错误

Exception in thread "main" java.lang.UnsatisfiedLinkError: /Users/john.doe/Desktop/eclipse/workspace/Lesson13_Jni_Smart7/bin/libSmartTest7.jnilib:  Library not loaded: build/Release/SMARTResponseSDK.framework/Versions/A/SMARTResponseSDK  Referenced from: /Users/john.doe/Desktop/eclipse/workspace/Lesson13_Jni_Smart7/bin/libSmartTest7.jnilib      
Reason: image not found
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1827)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1742)
    at java.lang.Runtime.loadLibrary0(Runtime.java:823)
    at java.lang.System.loadLibrary(System.java:1045)
    at com.learning.lesson13.JniSmart7.<clinit>(JniSmart7.java:6)
Run Code Online (Sandbox Code Playgroud)

从错误看起来我libSmartTest7.jnilib正在寻找图书馆SMARTResponseSDK.

我试过的,我知道SMARTResponseSDK我的Mac上的库在哪里.我尝试将它复制到eclipse中的工作文件夹但我仍然得到错误.我试过使用-DJava.library.path但我仍然得到错误.

关于什么是最好的方法的任何想法.

java macos sdk java-native-interface

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

Objective C使用JNI调用Java方法

有人可以告诉我如何从Objective C调用Java方法.

更详细地说,这实际上是我想要做的

1)首先从java端调用目标C.在此调用期间,我想获得对java对象的引用.

2)稍后我希望Objective C使用上一步中获得的引用来调用Java方法.

谢谢

java methods java-native-interface objective-c

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

Java对象的生命

传递方法参数的Java Object的生命是什么?

例如,我有一个对象Test

class Test{

    public string testType(){
       .....
    }
}
Run Code Online (Sandbox Code Playgroud)

我有两个A和B类

class classA{

   classB b = new classB();

   void nextQuestion{
      b.start(new Test());
   }
}




class classB{
   void start(Test test){
      doSomething(test.testType());
   }
}
Run Code Online (Sandbox Code Playgroud)

那么现在Test对象的生命是什么?它只是直到start方法的结尾,或者它会一直存在直到classB结束,或者它活着直到classA结束或者是其他东西.

java object object-lifetime

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

Java 接口 Observable

我有以下几点:

  1. 一个 Java 类:ClassA 实现了 Observer

  2. Java 接口:Inter(扩展 Observable,不可能)

  3. 一个 Java 类:ClassB 实现了 Inter extends Observable

  4. 一个Java类:ClassC实现Inter extends Observable

现在ClassA的代码有点像这样。

ClassA{
    Inter anyClass = new ClassB();
           //or it could be
    Inter anyClass = new ClassC();
    //Inter.addObserver(this); //not possible since Interface cannot extend Observable
}
Run Code Online (Sandbox Code Playgroud)

现在,如果某个特定事件发生在 ClassB 或 ClassC 中,我希望 ClassA 知道它。我想过使用 Observer/Observable 但问题是接口不能扩展 Observable。

如果有人理解这个问题,请帮助我找到在 ClassB 或 ClassC 中发生某些事情时更新 ClassA 的方法。

java interface observable

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

Objective C +如何创建新线程并向其发布消息

我在Objective C中创建新线程时遇到问题

- (void) create
{
     NSLog( @"Hello World from create \n" );
     NSThread* evtThread = [ [NSThread alloc] initWithTarget:self
                            selector:@selector( saySomething )
                          object:nil ];

    [ evtThread start ];
}

 - (void) saySomething
 {
    //NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    printf( "Hello world from new thread \n");
    NSLog( @"Hello World from new thread \n" );
    //[pool release]; 
 }
Run Code Online (Sandbox Code Playgroud)

但看起来这个方法似乎并没有被称为.控制台中没有打印任何内容.

multithreading objective-c

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