はじめに こんにちは、動画配信界の情弱です。年始からStackOverflow眺めてたら超絶便利な質問に神回答がされてたので忘れないうちにメモっておく。2012年どっかで役に立てばいいですね。 参考 オリジナルはこちら。ここではコメントにパラパラと載ってたので、まずは直近1ページ目だけにあったものを1個のリストにまとめてみた。ほぼGeorge Stocker氏による回答を載せただけだけど。あとちょっとだけ自分で和訳とか加えたので、知っているものがあればコメントに載せて下さい。追加します。まだDとかFactorとか載ってないし、Pythonも全然足りないし。 API Only - Stack Exchange もしかするとバージョンが古かったりするものもあるかも知れませんが、それもコメントで教えてもらえるとその旨追記します。 他にも過去に挙がったもののリンク ReadWriteWebのプログ
オープンソースによるJavaのフレームワークである「Seasar2」の作者にして、著名なJavaプログラマのひとりとして知られるひがやすを氏が「Javaに未来はないかなと。(略)個人的には少しずつJavaから離れていっています。」という発言をパネルディスカッションでしました。昨日の記事で紹介したので、お読みになった方も多いと思います。 Javaはエンタープライズ分野に限られるようになるか Javaの将来像について、米調査会社ForresterのアナリストJohn Rymer氏とJeffrey Hammond氏が、同社のブログに「The Future Of Java」というエントリを先週末ポストしています。 彼らは、オラクルの戦略が次のようにJavaのエコシステムを変化させるだろうとしています。 Oracle’s strategy for Java will change the Java
10万行コード読んだらJava分かるよってTwitterに書いたらすげぇ勢いでRTされたので、調子に乗って捕捉エントリ書くよ。 Java Core API JDKインストールしたディレクトリに入ってるsrc.zipを展開すると入ってるから読むと良いよ。 すぐ近くにあるのから読むってのはメンタル的に楽でいい。 厳密にはOSSじゃなくて単に公開されてるってだけなんだけども、JavaプログラマなのにコアAPIのコード読んでないとか無いよね? どれから読めば良いか分からんかったら、 java.lang java.util java.io java.text 辺りをまずはキチンと理解すること。当然コードを読み終わったら、それを使ってコードを書く事。 OpenJDK http://hg.openjdk.java.net/jdk7/jdk7 OpenJDKを読むことで、プログラム言語してのJavaではな
SQLShellはOracle/MySQL/PostgreSQL/SQLite/AccessのDB操作を行う統括フロントエンド。 SQLShellはJava製のオープンソース・ソフトウェア。システム開発をしていると様々なデータベースに触る機会がある。エンタープライズであればOracle、もう少し軽量なシステムであればPostgreSQL、個人やWeb系のシステムであればMySQLやSQLiteといった具合だ。 DB情報 それぞれのシステムで専用のフロントエンドを備えている。だがツールごとに立ち上げ方が違っていたり、操作方法が異なるのは覚えるのも面倒になってしまう。それらを統合してくれるのがSQLShellだ。 SQLShellはJDBCが対応しているデータベースに対して接続し、SQLを実行できるソフトウェアだ。もちろんSQLには各DBごとに方言はあるが、ツールの入り口としてSQLShell
Javaタイマークラス Javaのjava.util.Timerは、処理を一定時間間隔で動かしたり、一定時間後に動かしたりする為のクラス。 Timerから、自分で指定したTimerTask(の具象クラス)が呼ばれる。 このタイマーの実行にはThreadが使用されている(マルチスレッドで動作する)。 一定時間後に一度だけ実行する例 public void timer_delay() throws InterruptedException { TimerTask task = new SampleTask(); Timer timer = new Timer("遅延タイマー"); System.out.println("main start:" + new Date()); timer.schedule(task, TimeUnit.SECONDS.toMillis(10)); //10秒後に
Javaプログラムで何らかの仕事を周期的にやろうとする時にはjava.util.Timerとjava.util.TimerTaskというクラスを利用することができます。java.util.Timerはいわゆるタイマ機能を提供します。タイムアウトした時に希望するタスクを別スレッドで実行することが出来ます。タイムアウトは1回きりのものでも、周期起動させるものでもOKです。java.util.Timerクラスでスケジュールされるタスクは、java.util.TimerTaskのサブクラスにする必要があります。java.util.Timerタスクで提供されるタイマ機能はリアルタイム性こそ保証されませんが、処理に時間が掛かりすぎるスレッドを停止させたりする機能等もあるので、広範な利用が可能だと思われます。以下に簡単なサンプルを書いてみます。 まずスケジュールされるタスクを書いてみます。安直ですが標準
JSR 236: Timer for Application Servers 前回はJava EE環境でスレッドプログラミングを可能にするAPIとしてJSR 237: Work Manager for Application Serversを紹介した。今回はJSR 237と同じく、Java EE環境において非同期並列処理を実現するためのもうひとつのAPI「JSR 236: Timer for Application Servers」を紹介する。 JSR 237がjava.lang.Threadの代替となるAPIであるのに対して、JSR 236が提供するのはjava.util.Timerのようなタスクのスケジューリング機能だ。つまりこのAPIを使うことで、あるタスクが定期的に繰り返し実行されるような処理を実装することができる。 java.util.Timerクラスにおいて、スケジュールされた
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
ExThread2.javaファイル class ExThread2 { public static void main(String[] args) { //(5)thread1オブジェクトの生成 showName thread1 = new showName(); //(6)thread2オブジェクトの生成 showFurigana thread2 = new showFurigana(); thread1.start(); //(7)スレッドを実行可能状態にする thread2.start(); //(8)スレッドを実行可能状態にする } } 解説1 (1)スレッドを実装するクラスshowNameを定義し、Threadクラスを継承します。 (2)Threadクラスのrunメソッドをオーバーライドし、スレッド実行時に実行されるコードを定義します。ここでは「名前:Java太郎」を5回表示
今日はまったところ。 Seasar2では、Servlet内で起動したThreadからSessionスコープのコンポーネントを利用できません。(Seasar2.3.22で確認。) 原因 HttpSessionの取得先であるHttpServletRequestをThreadLocalで保持しているのが原因。Servletを実行するThreadでは、ServletFilterでHttpServletRequestが設定されますが、Servlet内で起動したThreadでは設定してくれる人がいないため、コンポーネント作成時に以下のようなエラーになります。 org.seasar.framework.exception.EmptyRuntimeException: [ESSR0007]sessionはnullあるいは空であってはいけません at org.seasar.framework.contain
キュー構造をJavaで実装してジェネリック型を理解する:【改訂版】Eclipseではじめるプログラミング(19)(3/3 ページ) 【第3改訂】Java APIのジェネリック型も使って実装 ところで、Sample03.Queueクラスで、なぜ「Object[] values = new Object[SIZE+1];」を「T[] values = new T[SIZE+1];」としないのか疑問に思った読者もいるのではないでしょうか。 ジェネリックスでできないこと 実は、ジェネリック型の中では、型変数Tのインスタンス生成や、型変数を指定した配列のインスタンス生成ができません。また、staticフィールドやstaticメソッド内、static初期化子でも型変数は使用できませんやstaticメソッド内、static初期化子でも型変数は使用できません。 これは、クラスとして生成されるのはSampl
Javaプログラムで、あるWebページにアクセスし、その内容を取得する方法として、java.net.URL#openStreamメソッドの利用があります。しかし、この方法には以下の問題があります。 サーバへのリクエスト中にHTTPヘッダをセットすることができない GETメソッドによるデータ取得しかできず、POSTメソッドによるデータ送信ができない こうしたことは、単純なWebページの取得だけなら問題にはなりません。しかし、ブラウザの種類(HTTPのUSER_AGENTヘッダの値)によって取得内容を変化させるようなWebページにアクセスし、特定のWebブラウザがアクセスしたときと同様の結果を取得したり、POSTメソッドによって入力データを送信するFORM入力の動作をエミュレートできません。 これらの問題は、java.net.URLConnectionクラスを利用すれば解決することができます。
Javaのメソッドとして実装されたタスクがあり、そのタスクを定期的(一定間隔)に実行したい場合は、java.util.TimerTaskクラスとjava.util.Timerクラスを使用すると便利です。これらのクラスの利用方法は、以下のようになります。 java.util.TimerTaskを継承したクラス(例えばTask1)を作成し、タスクとして実行したい処理をrunメソッドとして実装する java.util.Timerクラスのオブジェクトを作成し、Task1クラスのオブジェクトと、実行開始時刻や実行間隔をscheduleメソッドの引数として渡す これらの処理により、Task1クラスのrunメソッドが定期的に実行されます。その際、必ず前回のタスクの処理が終了してから、次のタスクが実行されます。タスク処理を中断する場合は、java.util.Timer#cancelメソッドを呼び出します。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く