Java Oracle Java is the #1 programming language and development platform. It reduces costs, shortens development timeframes, drives innovation, and improves application services. With millions of developers running more than 60 billion Java Virtual Machines worldwide, Java continues to be the development platform of choice for enterprises and developers.
基本的には、ここの内容をそのままGitHubに登録してpagesの設定をすれば良い。例えば「Reveal.js、Markdown、Githubでスライドを作成する。」が良くまとまっている。だが1つ謎の事象が起きて悩んだ。 index.htmlの中に、直接markdownを書く時には良いのだが、以下のようにdata-markdown属性でmdファイルを指定すると、不可思議な動作をする。 <section data-markdown="./md/firstpage.md" data-separator="\n---\n$" data-vertical="\n--\n"> <script type="text/template"> </script> </section> 最初にcommit/pushした時は表示されるものの、変更してcommit/pushしても変更が反映されなかったり、そもそも
本記事は、HP-UX Developer Edgeに掲載された記事を株式会社アットマーク・アイティおよび本記事の筆者が独自の判断のもとに加筆・修正したものです。 今回は、Javaにおけるヒープ・メモリ管理の詳細を説明します。JVMのヒープ・メモリの中で、新しいオブジェクトと古いオブジェクトがどのように配置されるかを理解することで、ヒープ・メモリが有効に利用されているか否かを判断することができます。また、JVMが出力するガベージ・コレクションのログを解析し、オプションの指定によってヒープ・メモリのサイズを適切にチューニングする方法を紹介します。 Java ヒープ・メモリの構造 Javaにおけるガベージ・コレクションのメカニズムを理解するには、まずヒープ・メモリの構造を知っておく必要があります。 図1は、JVM におけるヒープ・メモリの構造を示したものです。この図が示すように、ヒープ・メモリの
あけましておめでとうございます。 連載7年目に入ったJava技術最前線では、今年も様々なJavaのトピックを取り上げていきたいと思っておりますので、ご愛顧のほどよろしくお願いします。 昨年は久しぶりにJava界隈が賑やかになった感じがあります。Java SE 7のリリースやJavaFX 2.0のリリース。また、Java EEやJava MEでも大きな動きがあった年でした。 この流れを受けて、今年もいろいろな話題がつきない年になりそうです。残念ながら、Java SE 8は2013年に延期されてしまいましたが、Java EE 7やJava ME 7は今年リリース予定です。 筆者が一番注目しているのはJavaFXです。夏にリリース予定のJavaFX 2.1ではMac版、年末にリリース予定のJavaFX 2.2ではLinux版が含まれる予定です。また、グラフィカルにGUIを作成するためのScene
Everything I Ever Learned About JVM Performance Tuning at Twitter https://oracleus.wingateweb.com/published/oracleus2011/sessions/37941/S37941_2408980.pdf Twitterの中の人がパフォーマンスチューニングについて語るセッション。 スケーリング? いや、エクストリームです。 きっと凄いスケーリングの話をするのかと思ったら、 全くの真逆で超細かい、エクストリームな話でした。 たとえば「メモリを使いすぎない」ようにするための説明では、 Objectをnewするだけで64bitマシンなら128bit (16byte) 消費する、という話に始まり ポインタ、オブジェクトヘッダ、配列ヘッダ、継承クラスで消費するメモリ(4byteとか24byte)の
http://www.hibernate.org/ なぜにイマサラHibernateかっていうと特に意味は無く。 こんな環境でやりました jdk1.6.0_24 eclipse3.7 Oracle Database 11g Express Edition(XE) hibernate-core-4.0.0.Final hibernate-entitymanager-4.0.0.Final Hibernate まずpom.xmlに追加。今回も最新版ぽいものを使うということで、Sonatype Nexus Professionalで適当に探す。JBoss Maven repositoryの設定も必要だけど省略。※ココなどを参照。 <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId
自分はエンジニアであり、プロでありたいと思っているので、定期的に技術書を読むように心がけています。読むのと理解するのが遅いため冊数は少なめですが、それでも少しでも身につくものがあればと思って読んでいます。 そんな自分が、今年一年でどんな本を読んだか思い返してみたいと思います。 わかりやすいコードを書くための本 Clean Code アジャイルソフトウェア達人の技 作者: Robert C. Martin,花井志生出版社/メーカー: アスキー・メディアワークス発売日: 2009/05/28メディア: 大型本購入: 27人 クリック: 914回この商品を含むブログ (83件) を見るレガシーコード改善ガイド (Object Oriented SELECTION) 作者: マイケル・C・フェザーズ,ウルシステムズ株式会社,平澤章,越智典子,稲葉信之,田村友彦,小堀真義出版社/メーカー: 翔泳社発
Java アドベントカレンダー2011 31日目です。 みんな大晦日だよ!僕が子供の頃は青いネコ型ロボットが出るアニメが特番をやるのが楽しみでした。「こんなことできたらいいな」と思って「叶えてくれる」と言ったら、「はい、Java言語」ということで子供たちの夢を叶えるプログラミングを今Javaで入門したらどうなるのかを試みてみようと思います。 Javaを使ったプログラミングってどんなことが一般的に行われているでしょうか? JavaEEベースのWebアプリ Androidアプリ 黒画面でHelloWorld Applet(……忘れましょう) Webアプリ開発は現時点で大変実用的な分野ではありますが、これを最低限でもこなすためには「HTML」「HTTP」「JavaScript」「CSS」「JSP」「XML」やら各種フレームワークやら、覚えることがたくさんありすぎて、大変であることが経験上わかりま
1. 分からない。いくら説明を読んでも分からない。 ● 1.1. 未だに分からない Java 的オブジェクト指向 今日び Java 的オブジェクト指向の説明なんて星の数ほどあるような気がしますが、それでもなお「これで分かった!」という説明に辿りつけない不運な人がいるようですね。まぁこんだけ色々な説明が溢れていたら逆にどれを読めば良いのかワケ分からなくなってしまうのかもしれません。じっくり読んでも理解できなかったのであれば、きっとその説明と読者の相性が悪かったんでしょう。… というわけで、僕も Java 的オブジェクト指向が全っっっっ然これっぽっちも分からないという人に向けて説明する記事を書こうと思います。そうでない人には無価値な記事ですのでブラウザの「戻る」をクリックしましょう。 ● 1.2. 「オブジェクト指向」という名の南の島がある オブジェクト指向にはいくつもの専門用語があって、学習
本日のエントリーはJava Advent Calendarの25日目です。昨日は @mike_neck さんのmike、mikeなるままに…: hamcrestを拡張してmoreThanとか作ってみたでした。本日はクリスマスですが、Advent Calendarはまだまだ続きます。明日はt.ogisawaさんのhttp://webinter.sakura.ne.jp/pbd/210です。 さて、今年はJava7がリリースされましたね。try-with-resources、diamond operator、invoke dynamic、Folk/Join framework…魅力的な新機能の数々が、多くの人によって紹介されています。が、Java7の変更はそれだけじゃないはず。小粒だが、キラリと光る変更がきっとあるはず。ということで、Java6とJava7のsrc.zipを比較してみました。小
正規表現(java.uitl.regexパッケージ)を使った文字列切り出しと、Stringクラスのsubstringによる文字列切り出しとで性能比較をすると、感覚的には正規表現がかなり遅いと思っていました。 この2つの実行時間を測定して比べてみました。 背景 周期的に送られてくるデータを処理するようなコードでは、一つ一つの処理は短くても、積み上がってみると処理が追いつかずパンクするということがあります。 例えば、通信レコード1件に10種類のデータ項目が含まれ、1データ項目の受信処理に100usかかるとします。ここでデータ項目とは、日時、店コード、品名コード、などです。受信処理は通信フォーマット(ある規則の文字列、バイナリ)をプログラムで扱うデータ型に変換するようなものです。 1秒間に通信レコード1000件の要求が発生すると、受信処理時間は、1000*10*100usで1秒となります。受信処
サーバー上でJavaが必要になったので、そのときのメモです。 Java JDK 6はLennyのnon-freeに入ってるらしいので、apt-getからインストールします。 1. /etc/apt/sources.listの変更 DebianにはDebian Free Software Guidelineに適合(改変、再配布に制約があったりするため)しないため、正式にサポートされないようなパッケージが入ったnon-freeというレポジトリーがあります。 JavaはDFSGに適合しないらしく、non-freeに入っているため、aptがnon-freeを読むように設定しなければいけません。 ということで、viやnanoなどのエディターを使い、/etc/apt/source.listを編集しましょう。 通常だと、以下のような行があると思います: deb http://ftp.nara.w
以前にJavaの配列関連で調べたことがあったのですが、Javaの総称型は型消去によって直感的でない挙動をする場合があります。 Java言語のClassクラスが持つちょっと不思議な性質について - 達人プログラマーを目指して Java5の型システムを理解するにはリフレクションAPIを使ってみるのが最短の近道になる - 達人プログラマーを目指して 特に、総称型の型パラメーターTについては以下はコンパイルできないという制約があります。 new T() new T[配列サイズ] catch (T ... extends T T.class instanceof T また、staticメソッドやstatic初期化ブロック内でクラスの型パラメータを使えないという制約もあります。 AngelikaLanger.com - Java Generics FAQs - Type Parameters - An
先日、ついに JavaSE 7 がリリースされました! そこで、早速ダウンロードして、Java7 のソースコード(src.zip)を Java6と比較してみたところ、公表はされていないのですが、ちょこちょことリファクタリングされていることがわかりました。 そこで、そのうち String クラスについて調べてみました。 splitメソッド - 独自処理による高速化 いままでは、String#split(〜) は正規表現 (Patternクラス) に処理を移譲するだけでした。 // (Java6) Stringクラス、2291行目〜 public String[] split(String regex, int limit) { return Pattern.compile(regex).split(this, limit); } それが、単純な区切り文字なら正規表現を使わないで独自に処理をす
サンプルコード、検証用コードをgithubにUPしました(発売3ヶ月後にして…) リポジトリはhttp://github.com/demuyan/AndroidNDKbookです。 このサンプルコードは、以下の方法で実行するとよいでしょう。 EclipseではImport->Existing Projects into Workspaceで取り込む Import後、Eclipseからndk-buildを実行できるように設定する(参考:EclipseからAndroid NDKのコードをビルドする : Happy my life) なお、コードの詳細を知りたい方は、Android NDKネイティブプログラミングをお買い上げください。 サンプルコードの詳細 章ごとに分けて登録されています。 ch02/ CalcVal/ JavaからCの関数を呼び出す CalcVal2/ JavaからCの関数を呼
「Effective Java 第2版 第2章オブジェクトの生成と消滅 項目6廃れたオブジェクト参照を取り除く」に、廃れた参照に null を設定する必要があるプログラムで、廃れた参照に null を設定することで得られる派生的な利点に、 参照が間違って使用された場合に、プログラムは何も言わずに間違った処理を行うのではなく、 NullPointerException ですぐにエラーとなることです。プログラミングのエラーをできるだけ早い段階で発見することは常に有益です。 とあります。 たしかに。 好き嫌いや時と場合にもよりますが、個人的には落ちてくれたほうが良いです。 see also: Javaプログラマであるかを見分ける10の質問 7.NullPointerExceptionが発生するのは主にどういう状況か?
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く