我想将安全数据存储在密钥库中.所以我用
KeyStore store = KeyStore.getInstance("JCEKS");
Run Code Online (Sandbox Code Playgroud)
但Android似乎不知道"JCEKS".
04-18 10:52:17.236: WARN/System.err(474): java.security.KeyStoreException: KeyStore JCEKS implementation not found
Run Code Online (Sandbox Code Playgroud)
尝试JKS会产生同样的错误.在android上使用它有什么算法?
我刚刚实现了一些类:
public abstract class Job<T extends ViewerUnion>{
[...]
}
public abstract class ReturnValueJob<T, S extends ViewerUnion> extends Job<S> {
[...]
}
public class MyReturnJob extends ReturnValueJob<Foo, Baa> {
[...]
}
public class JobExecuter {
public static void execute(List<Job> jobList){
for(Job actJob: jobList){
actJob.startJob();
}
for(Job actJob: jobList){
actJob.awaitTimeoutOrFinish();
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想执行这段代码:
List<Job> list = new LinkedList<MyReturnJob>();
JobExecuter.execute(list);
Run Code Online (Sandbox Code Playgroud)
但是Java在编译时给了我一些错误:
类型不匹配:无法从LinkedList转换为List
我不知道为什么因为MyReturnJob继承了Job.如果我将列表的定义更改为LinkedList<MyReturnJob> list = new LinkedList<MyReturnJob>();
抛出相同的错误 JobExecuter.execute(list);
谢谢你的帮助.
最好的问候,直到
我正在尝试使用Gake 4.73上的Ubuntu 13.04上的CMake编译Boost ASIO示例.
使用以下CMake文件:
cmake_minimum_required(VERSION 2.8)
ADD_DEFINITIONS(-std=c++11)
project(server)
find_package( Boost 1.53.0 REQUIRED system)
INCLUDE_DIRECTORIES( ${Boost_INCLUDE_DIR} )
add_executable( server server.cpp )
target_link_libraries(server ${Boost_LIBRARIES} )
add_executable( client client.cpp )
target_link_libraries(client ${Boost_LIBRARIES})
Run Code Online (Sandbox Code Playgroud)
该项目应该使用C++ 11并且与平台无关.使用CMakefile进行编译时,我会得到类似的结果
undefined reference to `pthread_join'
Run Code Online (Sandbox Code Playgroud)
我的同事可以毫无问题地编译完全相同的Makefile.
问题:有没有办法迫使CMake或Boost不使用PThreads但C++ 11 Threads保持平台独立?
编辑:服务器编译没有问题,而只有客户端有问题.
android ×1
boost ×1
c++ ×1
c++11 ×1
cmake ×1
inheritance ×1
java ×1
keystore ×1
polymorphism ×1
security ×1