問題タブ [jsr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - コンストラクターが終了する前にオブジェクトの参照を設定できますか?
JMM(Javaメモリモデル)は、ステートメントを自由に並べ替えることができます。
もちろん、これはマルチスレッド環境を扱うときに特に注意が必要です。
JMMの規則では、コンストラクターが終了する前、および参照がコンストラクター内から「エスケープ」されていない場合にのみ、変数は常に完全に初期化されますvolatile
。final
これは、「通常の」変数(非final
および非volatile
)が並行スレッドによって最新であると見なされることを期待されていないことを意味します。
私の質問は一見ばかげているように見えるかもしれませんが、実際にはそうではありません。
コンストラクターが完了した後にオブジェクトの参照セットが設定されていますか(完了は、既に作成されたすべての変数の初期化を意味するのではなく、単に「コンストラクター」プロセスの最後に到達することを意味します)?それを主張するJSRにルールはありますか?または、コンストラクターが完了する前に参照をクライアントに送り返すことができる例外的なケースが存在する可能性がありますか?
実際、ステートメントの並べ替えが非常に自由であると評判の場合は、オブジェクトの参照'happens-before'コンストラクターの送信が完了することを意味する場合もあります。ですから、this
避けるべき「脱出」の同じケースに出くわすでしょう。
一言で言えば、コンストラクターが完了した後に参照が常に送信されますか?
JLSを検索した後、オブジェクトの参照の戻りが関連する唯一の場所は次のとおりです:( JSR-12.5の抜粋)
結果として新しく作成されたオブジェクトへの参照が返される直前に、指定されたコンストラクターが処理され、次の手順を使用して新しいオブジェクトが初期化されます。
JMMとは関係ありません...したがって、コンストラクターの完了が常に発生することを保証できます-どのような場合でも参照を渡す前に。
android - 2つのAndroidプロジェクトを保護する方法は?
私はJavaAとBに基づいてAndriodシステムで2つのプロジェクトを開発しました。プロジェクトAのコードはプロジェクトBのコードに依存し、プロジェクトBのコードもプロジェクトAのコードに依存しています。Proguard難読化Aを使用できますが、難読化Bは使用できません。 、AとBもうまく機能しますか?
java - J2ME PIM は連絡先番号のみを取得します
PIM API を使用して連絡先番号を読み取る方法はありますか。以下のコードを使用していますが、名前を返すだけです。連絡先からのみ番号を返すコードが必要です。
jboss - log4jプロパティファイルがwarファイルから取得されていません
Webアプリケーションを作成し、jbossサーバーにデプロイしました。
log4j.propertiesファイルをWEB-INF/classesフォルダーに配置しました。ただし、アプリケーション固有のlog4j.propertiesを使用する代わりに、デフォルトのlog4j.propertiesを使用して、server.logにログを出力しています。
ピックアップするlog4j.propertiesをいつ配置する必要がありますか?私のwarファイルはJSRポートレットであるため、静的メソッドを使用してプロパティファイルを読み取ることができません。
ありがとうございました。
java - Project Coinのコレクションの機能強化はJDK8に含まれる予定ですか?
当初、 Project Coinはコレクションのサポートを強化していました。たとえば、list[3]
代わりにlist.get(3)
、map["hello"] = 27
代わりにコレクションをサポートしていましたが、jdk7にはありませんでしmap.put("hello", 27)
た。それらはjdk8に含まれる予定ですか?はいまたはいいえの決定的な答えを見つけることができませんでした。
java - ランタイム例外のみを使用するJavaDataObjects仕様?
アプリケーションでデータ管理レイヤーとして使用するためにJDOを評価しています。要件は、どのデータストアとも依存関係がない、十分に抽象化されたデータ管理を行うことです。
JDOは非常に有望であり、DataNuclearの実装を理解しています。
私たちが考慮した重要な点の1つは、JDOが主にランタイム例外戦略に従っていることです。
http://docs.tpu.ru/docs/oracle/en/fmw/11.1.1.6.0/apirefs.1111/e13946/jdo_overview_arch.htmlを参照してください
すべてのJDO例外の親例外はjavax.jdo.JDOExceptionであり、ランタイム例外を拡張しています。
APIの呼び出し中に発生する例外は、明らかにランタイムであることを理解しています。しかし、チェックされた例外があった場合、管理は簡単でしたか?
これについてコメントしてください。API全体でランタイム例外を使用するという哲学を理解するのに役立つ人はいますか?
java - Jersey API jarはどこにありますか?
JSR 311 Javaライブラリ(Jersey)jarをダウンロードする必要があります。Java.netにはダウンロード用のAPIがありますが、それは不可解にダウンしており、他のどこにも見つからないようです。ジャージーなしでは現在のプロジェクトを続けることができないので、誰か助けてもらえますか?ありがとうございました
java - TCKにアクセスするJavaの典型的な方法
特定のJSRの実装を開始して、その際に関係する可能性のあるさまざまな側面について学習し始めたいと思いました。また、成功したかどうかを知る満足感を得るには、実装を検証するためのTCK(テクノロジー互換性キット)が必要です。JCPホームページによると、これは選択されたパートナー(私は商業を想定しています)または学術機関のみが利用できます。
プライベートエンティティまたは一般的なオープンソースプロジェクトはどのようにしてTCKにアクセスできますか?何が関係していて、これは試す価値のあるタスクですか?
パートナー登録用の古いSunページがダウン/一般的なOracleサイトにリンクしています。私が見つけた最も近いものはhttps://java-partner.sun.com/support/login.actionで、登録フォーム/情報がありません。
java - JSR の「撤回」ステータスは何を意味しますか?
JSR 227 ページを確認したところ、ステータスが「撤回」と表示されています。この状態はどういう意味ですか? それは廃止されたということですか?この仕様を置き換えた新しいバージョンはありますか?
validation - JSR 303 - null でない場合にフィールドを検証する
記入済みのフォームがあり、一部のフィールドはオプションです。入力された情報に検証を適用したいのですが、オプションのフィールドは、何かが入力されている場合にのみ検証する必要があるため、これらがnullでない場合。似たようなことをした人はいますか?または何か提案はありますか?