私のプロジェクトでは、ローカルディスクから大きなモデルを読み込むメソッドがあります。モデルの読み込みには約15分かかります。私は、モデルを一度読み込んでから別のクラスからモデルをロードする実行可能なメソッドを作成し、このメソッドを呼び出してコードを実行することを考えています。 実際、私はそれを達成する方法がわかりません、あなたは私を案内してくれますか?ここで は、単純な擬似コードです:私の心の中で異なるクラスから実行可能メソッドを呼び出す
// class A has two method , load the model , and does some calculation
Class A: 1.Runnable method: LoadModel();
2.Mehtod2: distance();
// here i would like to run this programe anytime, pass some parameters and call the method "distance" in class A
Class B: 1.import Loadmodel() class and invoke distance();
私は、サーバーのようなものではなく、サーバーを作成したいと思います:)更新
:以下のコードは、私がこれまで試したものです。
public class load implements Runnable {
WordVectors wordVectors;
public void run() {
try {
load();
} catch (FileNotFoundException ex) {
java.util.logging.Logger.getLogger(load.class.getName()).log(Level.SEVERE, null, ex);
} catch (UnsupportedEncodingException ex) {
java.util.logging.Logger.getLogger(load.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void load() throws FileNotFoundException, UnsupportedEncodingException {
//Your display method implementation.
wordVectors = WordVectorSerializer.loadTxtVectors(new File("glove.twitter.27B.200d.txt"));
}
public double Simmiraty(String a, String b){
return wordVectors.similarity(a,b);
}
public static void main(String[] args) {
load Obj= new load();
Obj.run();
}
}
セカンドクラス:
public class B{
public static void main(String[] args) throws Exception {
load ob =new load();
System.out.println(ob.Simmiraty("iphone", "battery"));
}
}
私は上記のコードでprolemする必要があります。 1.それはモデルをロードした後、それが実行を停止します。 2. fristクラスからメソッドを呼び出すことはできません。
あなたのコードは読み込みできません。stackoverflowコードブロック機能を使用してください。 – SachinSarawgi