問題タブ [jdk6]

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.

0 投票する
1 に答える
574 参照

java - jdk6 と jdk7 では同じテストで異なる結果が得られる

データ型「int」と「long」のパフォーマンスを比較しようとすると、この奇妙な問題が発生します。基本的に、2 つの単体テストがあります。

これら 2 つの単体テストは同じことを行っています。違いは、一方はカウンターのデータ型として int を使用し、もう一方はそのために long を使用することです。結果:

私は気づきました:

  1. jdk6u32 では、int を使用したテストは long を使用したテストよりもはるかに高速です
  2. jdk6u32で、intを使ったテストとlongを使ったテストでテスト結果が違う
  3. jdk7 では、両方のテストの速度はほぼ同じですが、どちらも jdk6u32 よりもはるかに遅いです。
  4. jdk7では、両方のテストで同じ結果が得られました

なぜそうなのか、誰か説明できますか?

0 投票する
1 に答える
887 参照

java - MyBatisのアップグレードによりビルドエラーが発生する

Gradle(Windows 7、Java 1.7.0.15)でビルドした既存のプロジェクトでは、Mybatisライブラリを次のようにアップグレードしました。

ビルドすると、次のエラーが発生します。

私はクラスを100回チェックしましたが、それは正しいメソッドをオーバーライドします(実際、Eclipseはエラーを表示しないという点で同意しています)。

すべてがJava7である必要があるのに、なぜ内部Gradleクラスjdk6が使用されているのかわかりません。ここでどのIDが使用されているか誰か知っていますか?

Gradleが気に入らないクラス:

しかし、私が見る限り、それは何も悪いことではありません。正しいメソッドは上書きされます。

OKはビルドを修正しました:

メソッドに追加:

public DateTime getNullableResult(ResultSet rs、int columnIndex)はSQLExceptionをスローします。

このメソッドでオーバーライドアノテーションを使用するとEclipseエラーが発生しますが、アノテーションがないとGradleビルドは正常に完了します。メソッドが削除されると、Gradleは、クラスがそのシグネチャでメソッドをオーバーライドする必要がある(または抽象として宣言される)必要があるというエラーを生成します。

したがって、私の問題は修正されましたが、このエラーの性質を本当に理解していません。

0 投票する
2 に答える
95 参照

java - クラス ProcessBuilder が equals() をオーバーライドしないのはなぜですか?

私は最近、JDK6 のクラス ProcessBuilder がオーバーライドしないことを発見しましequals()。理由はありますか?クラスはミュータブルなので、なぜオーバーライドしないのか理解できますhashCode()

このコードが機能しないことに驚きました。

クラス の JDK6 ソース コードを調べましたが、 のオーバーライドが見当たりProcessBuilderませんequals()

このクラス以外にも、もっと深い理由がある気がします。おそらくこれは意図的なものでしょうか?

0 投票する
2 に答える
627 参照

android - JDK 6 でコンパイルされた jar ファイルを Dexify すると、「クラス ファイル マジックが正しくありません」というエラーが発生する

次のコマンドを使用して、jar ファイルを dexify しようとしています。

これにより、次のエラーが表示されます。

検索したところ、この質問に表示されるのと同じエラーであることがわかりました

はい、プロジェクトを JDK 1.7 でコンパイルしていました。そこで、JDK 1.6 をダウンロードし、Eclipse の設定を変更して JDK 1.6 を使用するようにしました。

Window->Preferences->Compiler でそれを行い、コンパイラのコンパイル レベルを 1.6 に設定しました。最後に、ダウンロードした JRE6 を使用するようにコンパイラを構成しました。OKをクリックしました。プロジェクトを再度実行しようとしたところ、jar ファイルが生成されました。

そのjarファイルをdexifyするためにコマンドを再度実行すると。それでも同じエラーが表示されます。私は何が欠けていますか?

注: jar ファイルは、Eclipse で「プラグイン」プロジェクトとして作成したバンドルです。プロジェクトのスナップショットは次のとおりです。

ここに画像の説明を入力

私が言及している質問では、受け入れられた回答では、まだ同じ問題がある場合は、すべてのクラスが正しくコンパイルされていることを確認する必要があります。どういう意味ですか?何度もコンパイルしようとしましたが、それでも同じエラーが発生します。

0 投票する
1 に答える
947 参照

java - プログラムごとに異なるJavaバージョンを使用するには?

これはウェブでは一般的かもしれませんが、正確に検索するものを取得していない可能性があります。実際、デフォルトでJava 1.5を使用しているubuntuサーバーには、さまざまなバージョンのJavaがあります。私のプログラムの 1 つは Java 1.6 を必要とし、そのプログラムを実行するシェル スクリプトで以下を実行して
export JAVA_HOME=/path/to/jdk6
も成功しません
java -version

sudo update-alternatives --config java

シェルスクリプトでそれを変更する方法を教えてください。シェルスクリプトは、デフォルトでJava 5のみを持つJava6を必要とするJavaプログラムを呼び出します。

ありがとう!!!

0 投票する
2 に答える
129 参照

ubuntu-11.10 - Sun JDK 6 のインストール エラー

Ubuntu 11.10 64 ビット デスクトップを実行している VM に SUN JDK 6 をインストールしようとしています。

「sudo apt-get install sun-java6-jdk」は機能しません。これは、Oracle の買収以降、Sun JDK 6 が apt-get 経由で利用できなくなったためです。

そこで、Oracle の Web サイトにアクセスして jdk-6u26-linux-x64.bin をダウンロードし、次のコマンドを実行しました。

しかし、私はインストールが抽出に失敗します。ここにあります: ここに画像の説明を入力

私がやっていることのために特定のバージョンのUbuntuとJava JSKが必要ですが、私はまだLinuxに慣れていません。

0 投票する
1 に答える
1845 参照

java - Java/Scala プロジェクトと SDK 1.6 が混在する Gradle と IntelliJ

ポリグロット Java/scala プロジェクトで Gradle を使い始めています。Java モジュールは JDK 1.6 を使用してビルドされたレガシー モジュールであるため、ビルド環境で古い JDK を使用することにしました。

これには非常に実用的な根拠があります。次のようなコード:

JDK 1.6 を使用すると正常にコンパイルされますが、JDK 1.7 では次のエラーで中断します。

このような理由から (残念ながら)、私は JDK 1.6 に固執することにしました (そのようなコードがあります)。

ここで、2 つのモジュールを使用して、まったく新しい Gradle プロジェクトを作成しました (以前は依存関係/ビルド ツールは使用されていませんでした)。

Java ソースとターゲットの互換性を 1.6 に設定します。gradle でビルドすると、すべて正常に動作します。つまり、ビルドが実行され、jar がエラーなしで (Java と scala の両方で) 正しくビルドされます。

ここで、'idea' プラグインを使用して IntelliJ プロジェクト ファイルを生成しました。IntelliJ はプロジェクトを正しくロードします。IntelliJ (Ctrl + F9) からビルドしようとすると、次のようになります。

ご覧のとおり、JDK 1.7 エラーが発生し (1.6 でコンパイルしていますが)、ビルドは失敗します。IntelliJ は 4 つのエラーがあると言っていますが、根本的な原因は 1 つだけだと思います。

ここで、上記のコードを次のように修正するとします。

次のエラーが表示されます。

これは、JDK 1.7 をアンインストールして JDK 1.6 をインストールし、IntelliJ パスのどこかでまだ古い JDK を指していることが原因であると考えています。

2 つの質問があります。1. IntelliJ で JDK 1.7 への参照を削除するにはどうすればよいですか? 2.コードを変更せずに最初のエラーを完全に取り除くには? Gradle が成功しているので、これが可能であることはわかっています。

0 投票する
1 に答える
768 参照

tomcat - Windows 8 + Jdk 6 + Apache Tomcat7

Windows 7、jdk6、Apache tomcat7、および eclipse juno でプロジェクトを実行しています。

今、私はそれをwindows8に移動する必要があります。

Windows8 では、64 ビット Windows 用の jdk1.6.0_35、64 ビット用の Apche-tomcat7、Eclipse ルナをダウンロードしました。

しかし、このプロジェクトを実行すると、jsp コンパイル エラーが発生し、次のエラーも発生します。

根本的な原因

Windows8 でこのエラーを解決するにはどうすればよいですか?