タグ

javaに関するsomemoのブックマーク (80)

  • Javaバイトコードの読み方 - プログラマーの脳みそ

    Javaのデバッグをしていて、ステップ実行中にステップインを繰り返したらソースコードのないところに行き当たったことがあるだろう。あるいはEclipseでF3キーでクラスやメソッド・フィールドの宣言元を辿っていってソースコードのないところに行き当たったことがあるだろう。 Eclipseの場合、"Class File Editor"というものが開く。そこにはJavaのバイトコードのニーモニックがズラズラと並んでいて、「これは読めないや、ワケが分からない」と投げ出してしまったりしていないだろうか。 怖がることはない。ちょっとコツを掴めばすぐに読めるようになる。 Class File Editorの開き方 自前のJavaクラスの場合、ビルドして出来上がったclassファイルを開く必要がある。"Package Explorer"だとclassファイルは隠されていて見えないのでWindow -> Sh

    Javaバイトコードの読み方 - プログラマーの脳みそ
  • 並行処理初心者のためのAkka入門

    Concurrent programing explanation for akka beginers. 並行処理初心者のためのAkka入門 akka meetup 2014/09/28(日) http://connpass.com/event/8622/ このイベントの導入説明のために書かれました。 内容には、並行処理、アクターモデル、Akkaの機能の説明となっています。

    並行処理初心者のためのAkka入門
  • Jarファイルメモ(Hishidama's java-archive Memo)

    jar(ジャー)ファイル Javaアーカイブファイル。(Java Archiveを縮めてjar) 複数のclassファイルを圧縮して1つのアーカイブにまとめるので、配布するのに便利。 jarファイル 作成 / 確認 / 解凍 / 実行 異常なjarファイル [2008-12-20] 実行可能jarファイル [2007-01-09] 実行方法 [2007-01-09] 作成方法(マニフェストの作成) [/2008-08-01] -classpathとの併用 [/2009-04-12] jarファイルを動的に読み込む [/2014-04-16] jarファイル内のファイル一覧取得 [/2014-04-16] マニフェストの読み込み [/2009-01-15] jar(zip)ファイル内のファイルの読み込み [/2014-04-16] jarファイル内のメソッドの呼び出し [/2014-04-

    somemo
    somemo 2014/09/26
  • Sen - 日本語形態素解析システム

    Sen は Java で書かれた日形態素解析システム。 C++ で開発されている MeCab を Java に移植したもの。 辞書は MeCab、茶筌と同じIPAの辞書を利用。 Sen配布ページ 辞書の構築に Apache Ant が必要。 このページは Sen version 1.2.2.1 用である。 インストール Apache Antのインストール Sen は辞書を構築するのに Apache Ant というビルドツールを使う。 これをあらかじめインストールしておく必要がある。 Apache Ant のインストール Senのインストール パッケージはSen配布ページから sen-1.2.2.1.zip をダウンロードしておく(mirror)。以下では ~学籍番号/Desktop/ にダウンロードしたものとして話を進める。 展開 /usr/local に展開し、ディレクトリ名を se

  • そんなリザルトキャッシュで大丈夫か? #jjug

    JJUGナイトセミナー2014年9月のセッション 「そんなリザルトキャッシュで大丈夫か?」 のスライドです。

    そんなリザルトキャッシュで大丈夫か? #jjug
  • JVM thread interruption

    Sadayuki Furuhashi @frsyuki JVMがSIGTERMを受け取ったときに、そのシグナルがどのスレッドに配送され、どのスレッドが中断されるのか調べているところなのだけども、Javaにシグナルマスクなんてあったかな。 2014-08-05 02:55:10 Sadayuki Furuhashi @frsyuki 実験してみたところ、SIGTERMはshutdown hookの起動にしか使われないらしい。他のスレッドではマスクされているようで、IOもsleepも中断されない。shutdown hookの実行が終了すると、全スレッドが強制的に終了する。finallyも呼ばれない。 2014-08-05 03:07:32 Sadayuki Furuhashi @frsyuki つまりshutdown hookの中でスレッドの終了を待たないと、プロセスの外部でゴミが残る可能性が

    JVM thread interruption
    somemo
    somemo 2014/09/12
  • Threadの割り込みを活用する - プログラマーの脳みそ

    確実に一定時間スリープする - terazzoの日記ではThreadの割り込みがあっても確実に一定時間の停止を試みているが、そもそもこのようなコードは書いてはいけない。 Thread.sleep()は一定時間止まるための便利メソッドとしてよく知られているが、そのときに発生するInterruptedExceptionについての理解は広まっていない気がする。割り込みとはなんなのか。どういう時に使うのか。 目覚まし時計 お昼休みに昼寝をしようとする。寝過ごすといけないので15分後にアラームを鳴らす設定をした。 さて、ひと眠りするか、というところに友人がやってきた。昼寝はやめて売店に行くことにした。果たして売店でアラームが鳴り始めた。 さて、このとき、アラームは15分間の待機を命じられたわけだけども、お昼寝がキャンセルされたことで、もう待機しなくてよくなってしまった。むしろ、さっさと待機をやめてく

    Threadの割り込みを活用する - プログラマーの脳みそ
  • スレッドプログラミング比較(Hishidama's Programming language "thread")

    VBScript [2007-04-06] VB.NET [2006-04-15/2006-07-24] C言語(gcc, WIN32) [2005-01-16/2006-10-18] Visual C++(MFC) [2005-01-16/2006-08-23] Java [2005-01-16/2008-05-19] C# [2006-03-04/2006-07-24] 処理を並行に実行したい場合、1つの処理を1つのスレッド(と呼ばれる単位)に処理させるようにし、1プロセス内で複数のスレッドを並行に(同時に)実行させる。 という機構が最近のコンピューターでは用意されている。 これをマルチスレッドと呼ぶ。(対義語はシングルスレッド)[2008-06-20] →スレッド作成方法 マルチスレッドプログラミング マルチスレッド(複数スレッド)で並列に処理させる場合、同期や排他に気をつける必要が

  • Javaスレッドメモ(Hishidama's Java thread Memo)

    概要 Javaでは、マルチスレッド用のクラスとしてThreadが用意されている。[2017-04-15] しかし新しいJavaでは、Threadを直接使う事はあまり無い。 ExecutorService/Future(JDK 1.5)やFork/Join(JDK 1.7)といったクラスが追加されているので、そちらを使う。 Java21で仮想スレッド(virtual thread)が導入された。[2023-09-23] これにより、従来のスレッドはプラットフォームスレッド(platform thread)と呼ぶようになった。 Javaでは、マルチスレッド用のThreadクラスが用意されている。 Threadを継承して独自のクラスを作り、runメソッドをオーバーライドして処理体を記述する。 class スレッドクラス名 extends Thread { @Override public vo

  • ProxyパターンとProxyクラスと黒魔術 - プログラマーの脳みそ

    Java Advent Calendar 2011 の18日目です。 17日目の記事は JavaEE使ってウェブアプリケーションつくろうよ - 水まんじゅう2、 19日目はJavaエバンジェリストの寺田さんですよ。乞うご期待。 プロローグ 後:「先輩、いまさらなんですけど上からSQLの遅いところを調査してくれって依頼がきてて、全クエリの実行時間を実データで集計とれと言ってるんですけど。これ、SQL発行前後で時間計測するしかないですかねー。このプロジェクトどんだけクエリ発行してるところあるんだろ…。簡単にやれないですかね。とりあえず調査に1週間かかるって返答しちゃいましょうか」 先:「まぁまて。全部のクエリにもれなく時間計測のコードを挿し込むとかやってられんし、手作業で漏れも発生するだろ。こういうのはオブジェクト指向で解決するのがスマートだ。あ、とりあえず調査に1週間かかるとは返答しておけ」

    ProxyパターンとProxyクラスと黒魔術 - プログラマーの脳みそ
  • Search

    Releases, Offers & More Be the first to hear about our newest content, best promotions and upcoming events. Plus get 25% off your next purchase. Newsletter Sign Up Download Accounts Your email address is your account identifier. You can create a password, or just download from the links sent via email. My Orders (Resend order emails) How We're Different Hands-on instructions Solutions to real-worl

  • Java8 Lambdaの文法拡張まとめ - きしだのHatena

    デフォルトメソッドは前に解説しました。 Java8で最もインパクトのある構文拡張、デフォルトメソッド ここでは、それ以外の構文拡張についてまとめておきます。 ラムダ式 実装すべきメソッドがひとつだけのインタフェースを関数型インタフェースといいます。 UnaryOperatorインタフェースは実装すべきメソッドがapplyメソッドひとつだけなので、関数型インタフェースになります。 たとえば、UnaryOperatorインタフェースを実装したクラスを定義すると次のようになります。 class MyOp implements UnaryOperator<String>{ @Override public String apply(String t) { return "** " + t + " **"; } } このUnaryOperatorインタフェースを使う、List#replaceAllを

    Java8 Lambdaの文法拡張まとめ - きしだのHatena
    somemo
    somemo 2014/08/31
  • Java8のlambda構文がどのようにクロージャーではないか - きしだのHatena

    Java8にlambda構文が入りましたが、これはクロージャーではない、とされています。 では、どのように「クロージャーではない」のか、ちょっと見てみます。 まず、lambdaを返すメソッドを定義します。 public static Supplier<String> createMessenger(String name, String address){ return () -> { return String.format("私は%s、%sに住んでる", name, address); }; } 呼び出すと、こんな感じでSupplierを受け取ります。 Supplier<String> messenger = createMessenger("きしだ", "ふくおか"); このSupplierを実行すると、次のようになります。 System.out.println(messenger.

    Java8のlambda構文がどのようにクロージャーではないか - きしだのHatena
    somemo
    somemo 2014/08/30
  • OSXでJavaのバージョンを切り替える - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    OSXでJavaのバージョンを切り替える - Qiita
    somemo
    somemo 2014/08/30
  • Javaでブラウザが表示できるようになるよ! 2011-05-26 - きしだのはてな

    JavaFX 2.0 betaが公開されました。いまのところ32bit Windows用だけですけど。 JavaFX GA downloads で、JavaFX、あんまり興味ない人も多いかと思いますが、2.0ではWebKitベースのブラウザが入ったのです。 そして、JavaFXJavaFX ScriptがなくなってJava言語で書くようになって、Swingに埋め込めるので、つまりJavaでブラウザが使えるようになったわけです。 ということでとりあえず表示してみました。 星にカーソルを持っていけばちゃんとidなんかが表示されるし、Ajaxな動きもちゃんとできています。 ただ、角丸スタイルは対応してない感じだったりするので、Twitter表示するとくずれぎみ。 まあ、ベータなんで、徐々に対応してもらえれば! それでも、発言にカーソルもっていってボタン押すと右側に発言内容が表示されたり、動きは

    Javaでブラウザが表示できるようになるよ! 2011-05-26 - きしだのはてな
    somemo
    somemo 2014/08/30
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • 「Javaの鉱脈」でJVMオプションの記事を書きました | さにあらず

    WEB+DB PRESS の Vol.82 に、かなり気合いの入った JVM オプションの記事を書いたので、是非読んで頂きたい。 2014/8/23 発売ですので、既に購入頂いてる方も多いと思います。 電子書籍版もありますので物理的な媒体に興味がない方は PDF を買って下さい。 WEB+DB PRESS Vol.82@Gihyo Digital Publishing 今回の記事における対象読者について​ 今回の記事は、ターゲットとして Java に余り時間をコミットしていないけども便利なので JVM 上で動くアプリケーションをウッカリ運用している人をイメージしながら書きました。 例えば、OSS ものだと Hadoop や ZooKeeper、Lucene や Solr、商用製品だと Stash とか JIRA とか confluence とかそういうものですね。 僕の観測範囲だと、PHP

    「Javaの鉱脈」でJVMオプションの記事を書きました | さにあらず
  • Notes the Java SE

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Notes the Java SE
    somemo
    somemo 2014/08/26
  • サービス終了のお知らせ - NAVER まとめ

    サービス終了のお知らせ NAVERまとめは2020年9月30日をもちましてサービス終了いたしました。 約11年間、NAVERまとめをご利用・ご愛顧いただき誠にありがとうございました。

    サービス終了のお知らせ - NAVER まとめ
  • dpinfo.html

    目次 はじめに Abstract Classパターン Abstract ClassパターンRuby版 (by 助田雅紀さん) Balkingパターン Before/Afterパターン Futureパターン FutureパターンRuby版 (by 助田雅紀さん) Generation Gapパターン Hook Operationパターン Hook OperationパターンRuby版 (by 助田雅紀さん) Immutableパターン Marker Interfaceパターン Monostateパターン MonostateパターンRuby版 (by 助田雅紀さん) MonostateパターンPerl版 (by 宮川さん) Null Objectパターン Null ObjectパターンとSingletonパターン Producer-Consumerパターン Sharableパターン Singl