問題タブ [java-7]
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-7 - Java 7 の新機能
Java 7 でどのような新機能が実装される予定ですか? そして、彼らは今何をしていますか?
java - Java 7 のクロージャー
クロージャは、来年の夏頃にリリースされる予定の次の Java 標準で導入される可能性があると聞いています。
この構文はどのようになりますか?
Java でのクロージャの導入は、Java 5 でのジェネリックよりも大きな変更であるとどこかで読みました。これは本当ですか? 長所と短所?
(今では、クロージャが次の Java リリースに含まれないことが確実にわかっています)
また
編集: http://puredanger.com/tech/2009/11/18/closures-after-all/ :D
edit2: JDK7 の再考: http://blogs.oracle.com/mr/entry/rethinking_jdk7
edit3: 失う瞬間はありません!: http://blogs.oracle.com/mr/entry/quartet
java - 適切なオブジェクトとしての配列
Arrays、Arrays、ArrayUtils などのヘルパー クラスに依存する代わりに、配列を独自のメソッドを持つ適切なオブジェクトとして使用する方法についてのページをここに書きました。
このアイデアは私が初めてではないと確信していますが、以前にこれについて書いた他の人を探すのに苦労しました.
このトピックに関する参考文献を教えてくれる人はいますか?
なぜこれが悪いアイデアなのか、または良いアイデアがあるのか についての参照がある場合は、コメントを追加できますか?
リンクを削除しました。要点追加
これは、Project Coin の考え方に基づいています。
ヘルパー メソッドに値を渡すのではなく、配列を独自のメソッドを持つオブジェクトとして扱います。これにより、より自然なコーディングが可能になり、メソッドの即時性が高まります。たとえば、コード補完を通じて。
OO プログラミングを array にもたらし、すでに利用可能で書かれたメソッドをサポートします。
配列のオブジェクト指向の一貫性。
誰かがそれを書いてテストしなければなりません。
ヘルパー メソッドを呼び出します。
高度な例: 機能の高度な使用法を示します。
すべての配列の親として java.lang.Array などのクラスを追加する必要があります。特定の int[]、boolean[] のサブクラスも必要になる場合があります。文法は劇的に異なるべきではありません。
配列の新しい親を使用できる提供では、コンパイルは現在と同じになります。ただし、配列が異なるスーパークラスを持つことを受け入れる必要があるのは JVM です。
新しいメソッドがヘルパー メソッドと同じことを行うことを確認します。(実際に同じヘルパーメソッドを呼び出すだけであれば、単純なはずです)
これは rt.jar に追加する必要があります
配列のスーパー クラスは、java.lang.Object の代わりに java.lang.Array などを返す必要があります。ただし、これも rt.jar コードではなく JVM の変更である可能性があります。
変更は javadoc に反映されます。
Arrays.xxx(array, args) の呼び出しを array.xxx(args); に置き換えます。
すべてのメソッドが使用された場合、hashCode() および equals() の呼び出しが変更されます。Arrays.hashCode() または Arrays.equals() を呼び出すのではなく、これらのメソッドをそのままにしておくことができる場合、これは受け入れられない可能性があります。
いいえ。
これは、ヘルプ、バグレポート、またはその他の参照を探しているものです
java - 物件の志望動機は?
なぜ言語がこれらを持っているのか、私は少し混乱しています。私は Java プログラマーで、キャリアを始めたばかりなので、Java は、実際に理解し始めて以来、私が書いた唯一の言語です。
したがって、Java ではもちろんプロパティはなく、getThis() および setThat(...) メソッドを記述します。
プロパティを持つことで何を得ることができますか?
ありがとう。
編集:別のクエリ:プロパティを持つ言語で発生する命名規則は何ですか?
java - Java 7 にネイティブ プロパティがないのはなぜですか?
ネイティブ プロパティが Java 7 の一部にならない合理的な理由はありますか?
java - 今後の Java 同時実行ライブラリ jsr166y は何ですか? jsr166z?
このWebサイト
によると、Java 7に含まれる予定の同時実行ライブラリを試してみたいと思いました。
JSR166という名前のようです。
ほとんどの場合、その参照実装は jsr166y と呼ばれますが、 jsr166zと呼ばれるリソースはほとんどありません。
私は、リファレンス実装ごとにまったく異なる2 つの javadoc を発見しました。
では、どの実装が Java 7 に組み込まれるのでしょうか?
EDIT
答えた人は jsr166y が Java 7 のものであると示唆していますが、JavaOne からこのドキュメント (TS-5515)を発見しました。このドキュメントは Java 7 を参照していますが、jsr166z javadocs にのみ存在する LinkedAsyncAction について言及しています。(錯乱...)
java - Java 7での連鎖呼び出し?
Java 7プレビュープレゼンテーション(pdf)を読んでいて、 ChainedInvocationのスライドがありました。スライドで使用されている例は次のとおりです。
そして、私はこれについて複雑な気持ちを持っています。あまりにも多くのメソッド呼び出しを1つのステートメントにチェーンするべきではありません。一方で、書くことも便利margarita.this()
でmargarita.that()
はありません。
今、私はDelphiの世界からJavaに来ています。そしてDelphiにはwith
言語構造があります。これは少数の人に愛され、多くの人に嫌われています(またはその逆ですか?)。with
私は連鎖呼び出しのアイデアよりもエレガントであることがわかりました(これvoid
は、呼び出されたオブジェクトへの参照を返すメソッドに基づいて機能すると信じています-これは私が好きではない部分であり、何もvoid
返さないはずです)。
Javaで採用されている言語機能をいただければ幸いwith
です。そのため、サンプルコードは次のように記述できます。
連鎖呼び出しよりもこのソリューションを好むのは私だけですか?他の誰かがそれwith
がJava言語への有用な拡張であるかもしれないと感じますか?(「Java ++」の必要性についての誰かの質問を思い出させます...)
java - Java7日付/時刻API
Java 7 APIのスナップショットがしばらくの間java.sun.comにアップされていることに気付きましたが、約束されたJodaTimeに触発されたDate / Time APIを特に探して、たった今それを調べただけです。残念ながら、公開されているドキュメントにはその言及がありません。
これは、まだ行われておらず、この公開されたAPIが初期の不完全なスナップショットであるためですか、それともアイデアが静かに削除されたためですか?
java - JDK-7 SwingWorker デッドロック?
SwingWorker を使用して一度に複数のことを行う小さな画像処理アプリケーションがあります。ただし、次のコード (簡略化された抜粋) を実行すると、JDK 7 b70 (Windows) ではハングしますが、6u16 では動作します。別のワーカー内で新しいワーカーを開始し、その結果を待ちます (実際のアプリは複数のサブワーカーを実行し、このようにずっと待機します)。ここで間違ったパターンを使用したのでしょうか (ほとんどの場合、swingworker-pool には 3 から 5 のワーカーがあり、10 の制限があると思います)。
java - Javaでベースミリ秒基準時間を1970年から2008年に変更することは可能ですか(JSR-310など)
データベースと一意の ID のスペースを節約できるように、Java で基本ミリ秒参照を 1970 年から 2008 年に変更できるようにしたいと考えています。
できれば Joda-Time を使用してください。
想定される Java 7 リリースの今後の jsr-310 はそれを実装します。
このリンクの離散タイムラインセクションでは、ミリ秒のカウントが1970年から2008年に変更されたと述べています
http://today.java.net/pub/a/today/2008/09/18/jsr-310-new-java-date-time-api.html
私が見ることができる他の唯一のオプションは、レコードを検索する必要があるたびに数学的に実装することです.
例えば
小さい日付はDBに保存されます
--編集--
だから私はJSR-310を読み違えました、そしてそれは不可能です。
スペースを節約するためのより良い方法があり、long を計算するために何千ものリクエストを処理するという頭痛の種があります。
DB をどこに移動するか分からないので、long を日付として記録したかったのです。おそらく MySQL => Oracle です。
ですから、タイムスタンプは必要ありませんでした。ただ BigInt が必要でした。