タグ付けされた質問 「java」

Javaは人気のある高水準プログラミング言語です。言語自体の使用または理解に問題がある場合は、このタグを使用してください。このタグが単独で使用されることはめったになく、[spring]、[spring-boot]、[jakarta-ee]、[android]、[javafx]、[gradle]、および[maven]と組み合わせて使用​​されることがほとんどです。

5
Javaのリソース、URI、URL、パス、ファイルの違いは何ですか?
現在Javaコードの一部を調べています。パスは文字列として取得され、そのURLはを使用して取得されURL resource = ClassLoader.getSystemClassLoader().getResource(pathAsString);、次にが呼び出されString path = resource.getPath()、最後に実行されnew File(path);ます。 あ、そしてとへの呼び出しもURL url = resource.toURI();ありString file = resource.getFile()ます。 私は今完全に混乱しています-専門用語のせいだと思います。誰かが違いを教えてくれますか、それともダミープルーフ素材へのリンクをいくつか提供してくれますか?特にURLへのURIとファイルへのリソース?私には、それぞれ同じものであるように感じます... 違いgetFile()とは、getPath()ここで説明されていますurl.getFile()とGETPATH()の違いは何ですか?(興味深いことに、どちらも文字列を返すようです。おそらく私の心の状態に大きな影響を与えます...) さて、jarファイル内のクラスまたはパッケージを参照するロケーターがある場合、これら2つ(つまり、ファイル文字列のパス)は異なりますか? resource.toString()あなたを与えるだろうjar:file:/C:/path/to/my.jar!/com/example/(感嘆符に注意してください)すべての後に、。 JavaのURIとURLの 違いは、前者がスペースをエンコードしないことですか?Cf. Javaで競合するファイル、URI、およびURL(この回答は、2つの用語の一般的な概念の違いをかなりよく説明しています:URIが特定し、URLが特定します;) 最後に、そして最も重要なこととして、なぜFileオブジェクトが必要URLなのか。リソース()が十分でないのはなぜですか?(そしてResourceオブジェクトはありますか?) この質問が少し整理されていなければ申し訳ありません。それは私が持っている混乱を反映しています... :)
95 java  url  terminology 

4
JVMがまだテールコール最適化をサポートしていないのはなぜですか?
does-the-jvm-prevent-tail-call-optimizationsの 2年後、プロトタイプの 実装があり、MLVMはしばらくの間、この機能を「proto 80%」としてリストしています。 JVMで言及されているように、テールコールのサポートにSun / Oracleの側から積極的な関心はありませんか、それとも、テールコールが「すべての機能優先度リストで2番目に来ると運命づけられている [...]」だけです。言語サミット? 誰かがMLVMビルドをテストし、それがどれほどうまく機能するかについての印象を(もしあれば)共有できたら、私は本当に興味があります。 更新: Avianのような一部のVM は、問題なく適切な末尾呼び出しをサポートしています。

7
なぜテンプレートエンジンを使用するのですか?jsp includeおよびjstl vs tiles、freemarker、velocity、sitemesh
私は自分のビューを整理する方法を選択しようとしています(spring-mvcを使用しますが、それほど重要ではありません) 私が見る限り、6つのオプションがあります(ただし、相互に排他的ではありません)。 タイル Sitemesh フリーマーカー 速度 <jsp:include> <%@ include file=".."> タイルとSitemeshはグループ化できます。FreemarkerとVelocityも同様です。各グループ内でどれを使用するかは、この議論の問題ではありません。それについて十分な質問と議論があります。 これは興味深い記事ですが、タイルを使用するように私を説得することはできません。 私の質問は-JSTLでは適切に実行できないこれらのフレームワーク は何を提供するのですか?<@ include file="..">主なポイント(一部は記事から引用): ヘッダーやフッターなどのページの一部を含める -違いはありません: <%@ include file="header.jsp" %> そして <tiles:insert page="header.jsp" /> タイトル、メタタグなどのヘッダーでのパラメーターの定義。これは、特にSEOの観点から、非常に重要です。テンプレートオプションを使用すると、各ページで定義する必要のあるプレースホルダーを簡単に定義できます。しかし、JSTLでjspを使用する<c:set>には、<c:out>(インクルードページで)および(インクルードページで)を使用します。 レイアウトの再編成 -ブレッドクラムをメニューの上、またはログインボックスを別のサイドパネルの上に移動する場合。(jspを使用した)ページの包含が適切に構成されていない場合は、そのような場合にすべてのページを変更する必要があります。ただし、レイアウトが複雑すぎず、ヘッダー/フッターに共通のものを配置する場合は、何も心配する必要はありません。 共通コンポーネントと特定のコンテンツの結合 -これに関する問題は見つかりません。フラグメントを再利用する場合は、ヘッダー/フッターが含まれていないページに移動し、必要な場所に含めます。 効率 - <%@ include file="file.jsp" %>一度コンパイルされるので、何よりも効率的です。他のすべてのオプションは、何度も解析/実行されます。 複雑さ -すべての非jspソリューションには、追加のxmlファイル、追加のインクルード、プリプロセッサ構成などが必要です。これは学習曲線であり、潜在的な障害ポイントの導入にもなります。また、それはサポートと変更をより面倒にします-何が起こっているのかを理解するためにいくつかのファイル/構成をチェックする必要があります。 プレースホルダー -速度/フリーマーカーはJSTL以上のものを提供しますか?JSTLでは、プレースホルダーを配置し、モデル(コントローラーによって要求またはセッションスコープに配置されます)を使用して、これらのプレースホルダーを埋めます。 だから、私はプレーンなJSPの代わりに/に加えて上記のフレームワークのいずれかを使うべきだと私に納得させます。


30
Eclipse-java.lang.ClassNotFoundException
JUnit-TestをEclipseから開始しようとすると、「ClassNotFoundException」が発生します。コンソールから「mvn test」を実行すると-すべて正常に動作します。また、Eclipseでは問題は報告されていません。 私のプロジェクト構造は次のとおりです: 親プロジェクト(pom-packaging) Webプロジェクト(war-packaging-私のJUnit-testはここにあります) Flexプロジェクト 構成プロジェクト 編集:クラスが見つからないのはなぜですか?これは、特別なライブラリのない単純なHelloWorldアプリケーションです。 これが私のJUnitの実行構成です: 代替テキストhttp://www.walkner.biz/_temp/runco​​nfig.png Testclass(しかし、私が言ったように、単純なHelloWorldでは動作しません...): import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import biz.prognoserechnung.domain.User; import biz.prognoserechnung.domain.UserRepository; import biz.prognoserechnung.domain.hibernate.UserHibernateDao; public class UserDaoTest { /** * the applicationcontext. */ private ApplicationContext ctx = null; /** * the user itself. */ private …

6
クローン可能なJavaについて
Javaについて説明しているチュートリアルを探してCloneableいましたが、適切なリンクが得られず、スタックオーバーフローがいずれにせよより明確な選択肢になりつつあります。 以下について知りたいのですが。 CloneableCloneableインターフェースを実装することで、オブジェクトのクローンまたはコピーを持つことができることを意味します。それを行うことの利点と欠点は何ですか? オブジェクトが複合オブジェクトの場合、再帰的な複製はどのように行われますか?
95 java  cloneable 

6
JavaのL番号(ロング)仕様
Javaで数値を入力すると、コンパイラーはそれを整数として自動的に読み取るようです。そのため、(longの)6000000000(整数の範囲で6000000000はなく)入力すると、整数ではないと不平を言うでしょう。これを修正するには、を指定する必要がありました6000000000L。この仕様について学んだところです。 short、byte、float、doubleなどの他の数値指定はありますか?あなたが入力している数を指定できれば短いので、Javaはそれをキャストする必要がないため、これらは良いように思われます-それは仮定です、私が間違っていれば修正してください。私は通常、この質問を自分で検索しますが、この種の数値指定が何と呼ばれているかさえわかりません。

12
JavaタイムゾーンをGMT / UTCとして強制する
マシンに設定されているタイムゾーンに関係なく、時間に関連する操作をGMT / UTCに強制する必要があります。コードでそうするための便利な方法はありますか? 明確にするために、私はすべての操作にDBサーバー時間を使用していますが、ローカルのタイムゾーンに従ってフォーマットされています。 ありがとう!
95 java  timezone  utc  gmt 

4
インターセプターを使用してRetrofit 2.0でヘッダーを追加する方法
私たちのチームはRetrofit 2.0の採用を決定し、私はそれについていくつかの初期調査を行っています。私はこのライブラリーの初心者です。 AndroidアプリでRetrofits 2.0を使用interceptorしてカスタマイズされたヘッダーを追加する方法を知りたいです。を使用してRetrofit 1.Xでヘッダーを追加する方法については多くのチュートリアルがありinterceptorますが、APIは最新バージョンで大幅に変更されているため、新しいバージョンでこれらのメソッドをどのように適用するかわかりません。また、Retrofitはまだ新しいドキュメントを更新していません。 たとえば、次のコードでは、Interceptor追加のヘッダーを追加するクラスをどのように実装する必要がありますか?その上、文書化されていないChainオブジェクトは正確には何ですか?いつintercept()呼び出されますか? OkHttpClient client = new OkHttpClient(); client.interceptors().add(new Interceptor() { @Override public Response intercept(Chain chain) throws IOException { Response response = chain.proceed(chain.request()); // How to add extra headers? return response; } }); Retrofit retrofit = new Retrofit.Builder() .baseUrl(BASE_API_URL) .client(client) .addConverterFactory(GsonConverterFactory.create()) .build();
95 java  android  retrofit 

8
JVMのJITコンパイラーは、ベクトル化された浮動小数点命令を使用するコードを生成しますか?
私のJavaプログラムのボトルネックは、ベクトルドット積の束を計算するためのいくつかのタイトなループであるとしましょう。はい、プロファイリングしました、はい、それがボトルネックです、はい、それは重要です、はい、それはまさにアルゴリズムです。はい、Proguardを実行してバイトコードを最適化しました。 仕事は本質的に、ドット積です。同様に、2つfloat[50]あり、ペアワイズ積の合計を計算する必要があります。SSEやMMXのように、この種の操作をすばやく大量に実行するためのプロセッサ命令セットが存在することは知っています。 はい、おそらくJNIでネイティブコードを書くことでこれらにアクセスできます。JNIの呼び出しにはかなりの費用がかかります。 JITがコンパイルするものまたはコンパイルしないものを保証できないことはわかっています。誰もがしている、これまで、これらの命令を使用してJIT生成コードのことを聞きましたか?もしそうなら、このようにコンパイル可能にするのに役立つJavaコードについて何かありますか? おそらく「ノー」です。尋ねる価値があります。


8
引数Gradleのメソッドcompile()が見つかりませんでした
この解決策を探しすぎたのはあまりに長い間でしたが、それを見逃したのか、タイプミスしたのかはわかりませんが、Gradleスクリプトがコンパイルされません。私はGradleに移行しており、非常に新しいです。私は依存関係管理にMavenを使用することに非常に慣れていますが、今のところ、Gradleが一番いいようです。このコードスニペットの実行から: dependencies { compile group: 'org.bukkit', name: 'bukkit', version: '1.7.9-R0.1-SNAPSHOT' compile('io.ibj:MattLib:1.1-SNAPSHOT') { exclude group: 'de.bananaco' exclude 'net.milkbowl:vault:1.2.27' } compile group: 'net.citizensnpcs', name: 'citizens', version: '2.0.12' compile group: 'com.sk89q', name: 'worldedit', version: '5.6.1' compile group: 'com.sk89q', name: 'worldguard', version: '5.9' compile group: 'net.milkbowl', name: 'vault', version: '1.2.12' compile fileTree(dir: 'libs', includes: …
95 java  groovy  gradle 

12
このビューは拘束されていません
次のエラーが表示され、Android Studio 2.2プレビュー3を使用しています。Googleを検索しましたが、リソースが見つかりませんでした。 Error: This view is not constrained, it only has design time positions, so it will jump to (0,0) unless you add constraints <TextView android:layout_width="384dp" android:layout_height="207dp" android:textAppearance="?android:attr/textAppearanceLarge" android:text="@string/calc_default_display" android:id="@+id/textView" android:background="#ffffff" android:layout_margin="0dp" android:gravity="bottom|end" android:textSize="70sp" android:nestedScrollingEnabled="false" android:maxLines="2" android:maxLength="17" tools:layout_editor_absoluteX="0dp" tools:layout_editor_absoluteY="0dp" />
95 java  android  layout 

16
文字列でn番目に出現する文字を見つける方法は?
ここに投稿された質問と同様に、Javaでの解決策を探しています。 つまり、文字列から文字/文字列のn番目の出現のインデックスを見つける方法は? 例:「/ folder1 / folder2 / folder3 /」。この場合、スラッシュ(/)の3番目の出現を要求すると、それはfolder3の前に表示され、このインデックス位置を返すことが期待されます。私の実際の意図は、文字のn番目の出現からそれをサブストリング化することです。 Java APIで利用できる便利ですぐに使えるメソッドはありますか、またはこれを解決するために自分で小さなロジックを記述する必要がありますか? また、 Apache Commons LangのStringUtilsで、この目的でサポートされているメソッドがあるかどうかをすばやく検索しましたが、見つかりませんでした。 この点で正規表現は役に立ちますか?
95 java  string  substring 

22
日食は開始されません-Java仮想マシンが見つかりませんでした
Eclipseは昨日は問題なく動作していました(約1年前にインストールして以来)。突然、起動時に次のエラーが発生します。 "A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. No Java virtual machine was found after searching the following locations: C:\Program Files\eclipse\jre\bin\javaw.exe javaw.exe in your current PATH" 私は自分のマシンでEclipse / Java関連の変更を行っていませんが、昨日Windows更新が自分のマシンに適用されたので、おそらくそれは何かと関係があります(しかし、Javaに影響するものは何も見ていません)。PATHに何かを追加したり、Eclipse iniに-vmオプションを追加したり(これを機能させることができませんでした)、jreフォルダーをeclipse \ jreにコピーしたりする(これは機能しましたが、機能しません)長期的な解決策のように思えます)。だから私はものを台無しにすることなく物事を「デフォルト」設定に戻す方法を本当に理解しようとしています。 私は走っています Windows 7, Eclipse Helios and Java …
95 eclipse  java 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.