タグ

javaに関するNOV1975のブックマーク (17)

  • 軽い気持ちでLinkedListを使ったら休出する羽目になった話 - Qiita

    ざっくり言うと リスト構造のデータに対してランダムアクセスはしちゃだめだぞ。お兄さんとの約束だ! 発端 数年前に他部署の支援で作ったJavaのシステムに、ちょっとデカめのデータを突っ込んだらありえないほど遅いので助けてくれ、と連絡が入った。 まぁクエリとかインデックスをちょっと見れば直るっしょ・・・と鼻をほじりながら支援に向かった。 処理内容 遅い部分の処理は以下のようなものであった。 処理対象のデータをListで受け取る。 それをforループで1件ずつ前処理する。 処理結果をオブジェクトに格納し、ORマッパーでDBにINSERTする。 これだけ? そう、これだけだ。並列処理なんて高級なことはもちろんやってない。 インフラ調査 処理中のサーバのようすを調査する。今回のインフラは典型的な3層3サーバ構成。 WEBサーバはなにもかもが余裕。 APサーバではCPUを1つ使い切っている。 14コア

    軽い気持ちでLinkedListを使ったら休出する羽目になった話 - Qiita
    NOV1975
    NOV1975 2018/02/19
    処理中でiを使いたいってあるあるなんだけど、それで拡張for文を止めるのはよろしくないんだよなー
  • ヌーラボのアカウント基盤を Java 9 にマイグレーションして起きた問題と解決法 | 株式会社ヌーラボ(Nulab inc.)

    Java 9の起動パラメータ java.locale.providers に Java 8 と同じ優先度で国際化を行う指定をします。 java -Djava.locale.providers=COMPAT,SPI この設定で日付のフォーマットが Java 8 と同じように動作するようになり、自動テストが成功しました。 以上で 750 個のテストがすべて成功するようになりました。次はいよいよJava 9で既存のソースコードをコンパイルします。 Java 9でコンパイルして Java 9で動かす ヌーラボのアカウント基盤には Java のコンパイル対象が約 1,360 ファイルあります。目標は 1,360 のソースコードがJava 9 ですべてコンパイルできることです。 コンパイラの設定を Java 9に切り替える コンパイラを Java 9に切り替えます。Java 9のバージョン指定には注意

    ヌーラボのアカウント基盤を Java 9 にマイグレーションして起きた問題と解決法 | 株式会社ヌーラボ(Nulab inc.)
    NOV1975
    NOV1975 2017/09/21
    おー、とりあえずこういうの一回読んで置くだけでもあとで思い出せるからありがたい。
  • “Javaの父”ゴスリング氏、Oracle退社の理由を語る

    Oracleによる初のJavaOne開催中、ジェームズ・ゴスリング氏はeWEEKの単独インタビューで、これまで明かさなかったOracle退社の理由を語った。 ジェームズ・ゴスリング氏が米Sun MicrosystemsでJava言語およびプラットフォームを構築したチームを率いていたころ、同社は好調で、Javaは革新的な技術だった。だが、最終的にはSunは財務的な窮地に陥り、米Oracleが救済者として現れた――正しいことを言う救済者として。だが水面下では、少なくともゴスリング氏の考えでは、間違ったことばかりする救済者だという。 ゴスリング氏はJavaを作り出した。これは多少は尊敬されていい功績のはずだが、同氏が言うには、Oracleから与えられたのはその逆だったという。eWEEKの単独インタビューで、ゴスリング氏はOracleを辞めた理由と、Oracleが同氏の創造物であるJavaを今後管

    “Javaの父”ゴスリング氏、Oracle退社の理由を語る
    NOV1975
    NOV1975 2010/09/28
    2年後くらいに「Javaは死んだ!」と叫んでそうな話。書いた⇒http://bit.ly/cjZvAd
  • Java変態文法最速マスター - プログラマーの脳みそ

    Java基礎文法最速マスター - いろいろ解析日記をリスペクト。 Javaの変態文法・技法一覧です。Javaの基礎をある程度知っている人はこれを読めばJavaの変態をマスターしてJavaを書くことができるようになっています。簡易リファレンスとしても利用できると思いますので、これは足りないと思うものがあれば教えてください。 1.基礎 エンクロージング型内部classの作成 外部classのインスタンスに紐付くインスタンスを生成します。外部クラスのインスタンス - 内部クラスのインスタンス間に、クラス - インスタンスのような関係を持たせることができます。 public class Outer { public class Inner { } } というようなクラスを作った場合、 Outer o = new Outer(); Inner i = o.new Inner(); となります。new

    Java変態文法最速マスター - プログラマーの脳みそ
    NOV1975
    NOV1975 2010/02/04
    「コメントに偽装してプログラムを記述」プログラムに偽装したコメントな気がする。/釣られてJava Puzzlersを買ってしまった罠。
  • Java SE コアAPI 使用コード例一覧 - @IT

    IT編集部 2009/3/24 最終更新: 2012/04/11 17:57 このページは、Java開発者/プログラマのための、Java SE(旧、J2SE)のコアAPIの使用コード例の記事へのリンク集です。パッケージごとに表でまとめてあります。メソッドやコンストラクタ、例外などAPIの使い方の参考にしてください。パッケージやクラスの並び順は、標準のJavadoc(「Java Platform, Standard Edition API 仕様」)と同様にしています。 すべてのクラス java awt(Abstract Window Toolkit) event image io(In/Out) lang(LANGuage) reflect math(MATHmatics) net nio(New In/Out) charset(CHARacter SET) rmi(Remote Meth

    NOV1975
    NOV1975 2009/03/25
    こんなんあったのね。
  • Eclipse から秀丸に戻れない理由とかじゃなくて - 深谷の深入りしない日々

    ぜひ Vim とか Emacs に戻れない理由が知りたいです! いや、Eclipseからテキストエディタに戻れない10の理由を読んだ感想なんですが。 秀丸とか (あと Tera なんとかとか Em なんとかとか K2 なんとかとか) まあそういう普通のエディタと IDE を比べたら、IDE の方が優れていて当たり前というか、優れてなかったら IDE の存在ってなんなんだというか、まあそういう感じですが。こと VimEmacs になると、Eclipse とどっちがいいのかわからんのですよ。いや当に。 以下 Eclipse についてライト Vim ユーザがなんとなく雑感。 1. ぶっちゃけ、Vim でも困らないことは結構あります。 入力補完 → Ctrl-N と Ctrl-P で足りてます。(Intellisense 並みの水準でなくても困ってない) メソッドの宣言場所の表示 → ct

    Eclipse から秀丸に戻れない理由とかじゃなくて - 深谷の深入りしない日々
    NOV1975
    NOV1975 2008/12/24
    コメント欄。最近の流行がpublicフィールドって本当?
  • WAS + フレームワークのガイド | Unofficial DB2 BLOG

    6月に開催されたISE(日IBMシステムズ・エンジニアリング) Technical Conference 2008のセッションの中からWebSphere Application Server (WAS)+WEBフレームワークについての資料が公開されています。 - IBM WSDD | WAS × Webフレームワーク連携手法 - Japan セッションでは代表的なフレームワーク(Struts/Spring/Hibernate)を題材にアプリケーション・アーキテクチャーという側面からそれらの機能、利点等を考察します。また、今後のフレームワークのあり方やWASで使用する際の考慮点についても触れます。 資料ではフレームワークとは何か?といったところから始まって、J2EEフレームワークの種類やそのメリットなど、具体的なコード例を挙げながらその効果を解説してくれています。フレームワーク入門者向け

    WAS + フレームワークのガイド | Unofficial DB2 BLOG
    NOV1975
    NOV1975 2008/10/15
    しかしWAS+IBMだとWACsを使わされると言う罠…
  • 経験年数2年半のJavaプログラマがちょっと書くよ。

    はてな界隈では、Javaって、あんま人気無いみたいだけど、ちょっと書かせてよ。 SIerでお仕事してると、派遣とか常駐とか言う形で、色んな会社に行って、違う会社の人とお仕事するんだけど、「経験年数n年(n>3)です」っていう人達が、恐ろしく使えなくてびっくりすることがしばしば。 特に、Java 5以降の機能 拡張for構文Enum可変長引数辺りを全く知らなかったり。 って言うか、Javaの極々基的な知識である equals/hashCodeの実装Serializableの実装Iteratorの実装が全く出来ないんだよね…。 そういうのを知らなくても(出来なくても)業務をこなせちゃう(?)のが、Javaの言語特性だとは思わないけど、こういう人達だらけなんだよね…。 PMが新しい人を採用しようとして、ここら辺の知識を割りと厳し目にテストしたら、候補が10人居たのに全滅で、プロジェクトのスター

    経験年数2年半のJavaプログラマがちょっと書くよ。
    NOV1975
    NOV1975 2008/08/24
    その辺はわりとどうでもいいと思う業務プログラマーな世界。基本設計レベルだと困るけど個別の画面ロジックの実装とかでは困らないから。でも未だにrefrectionは超遅いとか、コンパイラ最適化の範疇を手実装とかは勘弁
  • 結論:結局、Javaはクロージャを使えるの? - lethevert is a programmer

    【追記 2008/7/2】とても昔のClosureについて書いた記事が注目を集めてしまったみたいですが、ぜひ、もっと後で書いた次の記事とその関連スレッドの方も確認してみてください。このときよりも、もう少し事情が分かってから書いたものなので、より正確に状況を理解できると思います。それに、私自身、この言葉にはまだ混乱しています・・・ http://d.hatena.ne.jp/lethevert/20070524/p2 - という問いに対して、そろそろ私の結論を整理しておきます。 これは、将来の自分に対する参照の便のための整理です。 前提知識 前提知識として、こちらの内容を読んで理解しておきます。 Closure (computer programming) - Wikipedia [id:lethevert:20060119:p1] [id:lethevert:20060121:p2] また

    結論:結局、Javaはクロージャを使えるの? - lethevert is a programmer
    NOV1975
    NOV1975 2008/07/13
    コメント欄の議論の過程が面白い。内容はもちろんだけど、否定的な見解を持っていて、それを押し付けたい人でも人の言うことをちゃんと理解するだけの冷静さがあれば前向きな議論に発展する。
  • TopHatenarにみる「Javaの復活」 - ひがやすを技術ブログ

    TopHatenarを知っているだろうか。 http://tophatenar.com/ はてなユーザのRSSフィード購読者数とソーシャルブックマーク獲得数のユーザランキングを表示してくれるサイトだ。 ここ2,3ヵ年の流れだと、こういうアイディアサイト(作るに時間はかからないけどアイディアが秀逸なサイト。あまり好きじゃない言葉だけどWeb2.0系サイトともいえるかも)は、Railsで作るのがはやっていた。Railsのほうが作りやすいし、注目も集めるから。 TopHatenarは、実はJavaで作られている。フレームワークはSeasar2系だ。作者は、こういっている。 このサービスは、僕が去年末ごろから持っていたアイデアを、Cubby+Mayaa+S2JDBCの使い心地を確かめる意味を込めて実装したものです。 僕がWebアプリを作る上でのフレームワークの好みは、S2JSF、Teeda、Rai

    TopHatenarにみる「Javaの復活」 - ひがやすを技術ブログ
    NOV1975
    NOV1975 2008/06/16
    復活というよりは、積み上げられてきたものの表面化だと感じるな。
  • OS XでJava 6が利用可能に:PPCと32-bit Intelは切り捨て - builder by ZDNet Japan

    データ活用は次のステージへ トラディショナルからモダンへ進化するBI 未来への挑戦の成功はデータとともにある EDRトップランナー対談:後編 セキュリティ戦略を転換せざる得ない背景と EDRのような手法が必要な理由に迫る 身近な改善の第一歩! ニューノーマルな働き方を前提にした これからの時代のWi-Fi環境構築のポイント オラクルスペシャリストが語る! 多くの企業で利用されるオラクルDBの課題 アセスメントの重要性とコスト最適化 特集:セキュリティトレンド-秋- つながる世界で問われる対応 サプライチェーンセキュリティを考える ビジネスの推進には必須! ZDNet×マイクロソフトが贈る特別企画 今、必要な戦略的セキュリティとガバナンス 大学、研究機関、製造業など いま目覚ましい躍進ぶりを見せるデルのHPC その背景と選ばれる理由にせまる 今を知り、未来を見据える 培ってきたノウハウを最新

    NOV1975
    NOV1975 2008/05/02
    VMの実装が規格どおりだったら実装系がいくつあってもJava的には問題がない気がするんだけど、違うの?
  • これだから世の中にはiso-8859-1しかないと思ってる奴らは... - 川口耕介のブログ

    NetBeansの中の人経由でこれを発見した。 Without default value for source encoding, platform encoding is used, which is bad for build reproducibility. Then setting a default value consistently across every Maven plugin will improve build reproducibility. Proposed default value: ISO-8859-1, which must be supported by every JVM (see java.nio.Charset) and is already the default value for some plugins (the majority of

    これだから世の中にはiso-8859-1しかないと思ってる奴らは... - 川口耕介のブログ
    NOV1975
    NOV1975 2008/04/29
    こうしてMavenの世界制覇計画が終わりを告げたのであった。
  • Java が使いにくいのは静的だからではない - kwatchの日記

    Java が使いにくい言語であるというのは、世界中の LL ファンが皆思っていることだろうから改めていうことでもないけど、使いにくいのは静的言語だからというのは間違っている。Java が使いにくいのは単に Java の設計者のセンスが悪かっただけであり、静的言語のせいではない。 たとえばこんなコード。 public Map<String, List<String>> example() { List<String> list = new ArrayList<String>(); list.add("foo"); list.add("bar"); list.add("baz"); Map<String, List<String>> map = new HashMap<String, List<String>>(); map.put("names", list); return map; }

    Java が使いにくいのは静的だからではない - kwatchの日記
    NOV1975
    NOV1975 2008/03/06
    使い道の問題だよなあ。fooとbarを静的に記載する用途があんまり。/アクセサは改善案みたいにできると便利ね確かに。
  • [実装編]スレッドセーフにすることを忘れてはいけない

    スレッドセーフとは,アプリケーションをマルチスレッドで動作させても問題がないことを指す。サーバー向けアプリケーションは,マルチスレッドで動作するように設計・実装することが望ましい。そのほうが通常はパフォーマンスが向上するからだ。 だが,マルチスレッドのアプリケーションは,注意深く設計・実装しないとトラブルが生じる。例えば,あるスレッドで保持していた変数の値がほかのスレッドからアクセスされ,処理結果が上書きされたり,ほかの利用者の情報が見えてしまったりする。 こうしたトラブルは,開発者が1人で単体テストしているときには見つけられず,多数の利用者で限界時の挙動テストをしたときや,番移行した後で,たまたま見つかることが多い。トラブルが発生するタイミングを再現することが難しいので,デバッグは困難になりがちだ。 マルチスレッドでのトラブルを防ぐため,開発者は,スレッドセーフな設計と実装を心がける必

    [実装編]スレッドセーフにすることを忘れてはいけない
    NOV1975
    NOV1975 2007/09/13
    インスタンス変数が非スレッドセーフ…ええっと思ったけど、複数スレッドから同一インスタンスが参照される話だった。/クラス変数とインスタンス変数が同列に扱われすぎていることに違和感。最初の誤解はそのせい。
  • 技術って習ったことがすべてではないんだなぁ。 - Thousand Years

    僕はJavaで文字列の比較をするときは、String#equals()を使って比較するしなさいって習った。先生の説明に(文系の大学だけどなぜかJavaの講義があった)にも納得してString#equals()を使い続けてた。 Stringはプリミティブ値じゃなくてオブジェクトになるので==を利用すると、その文字の比較ではなくて同一参照か否かを確認するから結果はfalseになっちゃうよという説明。中途半端に知っていたのでその説明には納得。でも違った。 class Test { public static void main(String args[]) { String str1 = "Hello"; String str2 = "Hello"; if(str1 == str2){ System.out.println("実行されちゃう><。"); } String str3 = new S

    技術って習ったことがすべてではないんだなぁ。 - Thousand Years
    NOV1975
    NOV1975 2007/07/13
    これは違う。Javaにおいて、同じ文字列リテラルがある場合、実体が新たに生成されず、常に同じインスタンスを指す。だから、参照の値が一致しているだけだ。別に値を比較してくれているわけではない。
  • String非推奨の勧め - minghaiの日記

    Javaプログラムにおいて,クラスを作ることを厭う人たちが多い. そのような人たちの多くはデータを桁数依存にて構造が存在する文字列にして扱うことを好む. しかしJavaにおいてStringを解析することは多くの例外の原因となり,ひいてはシステム障害の原因となることが多い. またStringの演算は重く,Stringはメモリ消費量が多い. この文章では,Java利用システムにおいてStringの濫用を戒め,適切な型の利用と適切なクラス設計を行うことを勧める.*1 Stringの問題 多発する例外 Stringを利用することにより発生する例外には次のものがある. NullPointerException StringIndexOutOfBoundsException IndexOutOfBoundsException IllegalArgumentException UnsupportedEn

    String非推奨の勧め - minghaiの日記
    NOV1975
    NOV1975 2007/01/13
    言いたいことはわかるけど、この内容が理解できるのであれば、Javaを使う必然性の半分くらいは必要ないね。
  • 待望のJava SE 6 でパーシステンス - @IT

    教育界、技術者コミュニティでJava言語の教育と啓蒙に長年携わってきた筆者が、独自の視点からJavaの面白さを掘り下げていく。(編集部) Java2 SE 1.4とJava SE 5の間には、機能差があり過ぎたため、現場で導入ができずに、これまで移行を見送ってきた読者も多いことでしょう。しかし、今回のJava SE 6(開発コード名:Mustang)の登場で、そろそろ Java2 SE 1.4 から Java SE 5 もしくは 6 へ移行してもいい時期になりました。Java SE 5 が登場したときほどの機能追加はありませんが、Java SE 6 にも注目の機能がいくつかあります。 今回は、注目度が高いパーシステンス(永続化)に関係するものについて紹介しましょう。ただし、稿執筆時点(2006年12月5日)ではJava SE 6はRC(Release Candidate)版ですので、リリ

    待望のJava SE 6 でパーシステンス - @IT
    NOV1975
    NOV1975 2006/12/18
    ふへー。簡単な用途になら実用に耐えるものであれば、個人や研修で使うには充分かもね。
  • 1