<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Java on oinume journal</title>
    <link>https://blog-lampetty-net.web.app/tags/java/</link>
    <description>Recent content in Java on oinume journal</description>
    <generator>Hugo</generator>
    <language>ja</language>
    <lastBuildDate>Wed, 30 Apr 2014 20:19:44 +0900</lastBuildDate>
    <atom:link href="https://blog-lampetty-net.web.app/tags/java/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>会社の本番環境をJava8で動かそうとしたらNewRelicでエラーが出た</title>
      <link>https://blog-lampetty-net.web.app/posts/java8-new-relic-error/</link>
      <pubDate>Wed, 30 Apr 2014 20:19:44 +0900</pubDate>
      <guid>https://blog-lampetty-net.web.app/posts/java8-new-relic-error/</guid>
      <description>&lt;p&gt;そろそろJava8でコード書きたい&lt;br&gt;&#xA;　↓&lt;br&gt;&#xA;まずはJVMをJava8で動かさないと...！(JVMに問題があった時に詰む)&lt;br&gt;&#xA;　↓&lt;br&gt;&#xA;本番のJVMをJava8にした&lt;br&gt;&#xA;　↓&lt;br&gt;&#xA;起動時にNewRelic入れてるサーバでエラーが出た&lt;br&gt;&#xA;　↓&lt;br&gt;&#xA;対応に数ヶ月かかるかもしれないとのこと＼(^o^)／ (←イマココ)&lt;/p&gt;</description>
    </item>
    <item>
      <title>JVM Operation Casual Talks #1でLTとパネルディスカッションしてきた</title>
      <link>https://blog-lampetty-net.web.app/posts/jvm-operation-casual-talks-1/</link>
      <pubDate>Tue, 08 Apr 2014 23:07:58 +0900</pubDate>
      <guid>https://blog-lampetty-net.web.app/posts/jvm-operation-casual-talks-1/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://atnd.org/events/48999&#34;&gt;JVM Operation Casual Talks #1&lt;/a&gt;でLTとパネルディスカッションしてきました(&lt;a href=&#34;http://togetter.com/li/652483&#34;&gt;togetterまとめ&lt;/a&gt;)。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://www.slideshare.net/oinume/jvm-operationcasualtalks20140407&#34; title=&#34;運用に効く！JVMオプション三選&#34;&gt;運用に効く！JVMオプション三選&lt;/a&gt;&lt;/strong&gt; from &lt;strong&gt;&lt;a href=&#34;http://www.slideshare.net/oinume&#34;&gt;Kazuhiro Oinuma&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;この日登壇した人でJVM好きな人っていたんだろうか？っていうぐらいLL寄りな人が多かった印象だった。パネルディスカッションというものは初めてだったんだけど(&lt;a href=&#34;#1&#34;&gt;*1&lt;/a&gt;)、人の目の前でJVMをDISれてよかったなぁと思う。はてなさんの新しいサービスはScalaでできているらしくてそれがすごいビックリした。(LLで頑張る会社だと思ってたので)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Make Javas VM&#39;s GC log human readable with -XX:&#43;PrintGCDateStamps</title>
      <link>https://blog-lampetty-net.web.app/posts/human-readable-jvm-gc-log/</link>
      <pubDate>Sat, 27 Jul 2013 23:00:00 +0900</pubDate>
      <guid>https://blog-lampetty-net.web.app/posts/human-readable-jvm-gc-log/</guid>
      <description>&lt;p&gt;I use Java VM&#39;s option &lt;strong&gt;-XX:+PrintGCTimeStamps&lt;/strong&gt; in order to output time in GC log of Java VM , Just like this.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;TODAY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;date&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;+%Y%m&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;%d&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;-%H%M%S&amp;#34;&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;JAVA_OPTS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;-server -Xms512m -Xmx512m -Xmn256m -XX:PermSize=256m -XX:MaxPermSize=256m &lt;/span&gt;&lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt; -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseParNewGC &lt;/span&gt;&lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt; -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=32 -XX:TargetSurvivorRatio=85 &lt;/span&gt;&lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt; -verbose:gc -Xloggc:/usr/local/tomcat/logs/gc.log.$TODAY &lt;/span&gt;&lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt; -XX:+PrintGCDetails &lt;/span&gt;&lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt; -XX:+PrintGCTimeStamps &lt;/span&gt;&lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt; -DJENKINS_HOME=/var/lib/jenkins &lt;/span&gt;&lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;But, the output is relative time from starting time of Java VM. So it&#39;s difficult to read. However, we have an another option &lt;strong&gt;-XX:+PrintGCDateStamps&lt;/strong&gt; !! It is an option to output &lt;strong&gt;absolute time&lt;/strong&gt;!! (Available from Java6 u6)&lt;/p&gt;</description>
    </item>
    <item>
      <title>MacでOracle JDKをインストールする</title>
      <link>https://blog-lampetty-net.web.app/posts/install-oracle-jdk-on-mac/</link>
      <pubDate>Sun, 23 Jun 2013 16:57:27 +0900</pubDate>
      <guid>https://blog-lampetty-net.web.app/posts/install-oracle-jdk-on-mac/</guid>
      <description>&lt;p&gt;最近MacにJDKをインストールすることが多いんだけど(脆弱性がよく見つかる)、インストールされるディレクトリがどこだか覚えられらなくなってきたのメモ。&lt;/p&gt;</description>
    </item>
    <item>
      <title>JRebelを使ってJava開発時のサーバの再起動をなくす</title>
      <link>https://blog-lampetty-net.web.app/posts/stop-restarting-with-jrebel/</link>
      <pubDate>Sat, 08 Jun 2013 14:43:46 +0900</pubDate>
      <guid>https://blog-lampetty-net.web.app/posts/stop-restarting-with-jrebel/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://zeroturnaround.com/software/jrebel/&#34;&gt;JRebel&lt;/a&gt;というソフトウェアを使うと、JavaでWebアプリケーションを開発する時に、ソースの修正→サーバ再起動 or 再ディプロイ がいらなくなるよーという話。&lt;/p&gt;&#xA;&lt;h2 id=&#34;ライセンス&#34;&gt;ライセンス&lt;/h2&gt;&#xA;&lt;p&gt;商用で使う場合はちゃんとライセンスを購入する必要があるけど、Socialという謎ライセンスだとフリーで使えるみたい。(ちゃんと理解してない)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Jettyでシンボリックリンクを有効にする</title>
      <link>https://blog-lampetty-net.web.app/posts/enable-jetty-symlink/</link>
      <pubDate>Fri, 07 Jun 2013 16:27:24 +0900</pubDate>
      <guid>https://blog-lampetty-net.web.app/posts/enable-jetty-symlink/</guid>
      <description>&lt;p&gt;最近Jettyと戯れている。Tomcatに比べてちょっと扱いづらいところが可愛らしい。&lt;/p&gt;&#xA;&lt;p&gt;Jettyはセキュリティ的な理由でAlias(Symbolic Link)をデフォルトでは無効にしている。でもsymlink使いたいんですよあたしゃ。というわけで、調べた結果web.xmlに下記を追加するのが一番楽そうなのでこれを設定したらいけた。&lt;/p&gt;</description>
    </item>
    <item>
      <title>JVMのオススメ起動オプション</title>
      <link>https://blog-lampetty-net.web.app/posts/wp/524/</link>
      <pubDate>Sat, 23 Mar 2013 04:03:28 +0900</pubDate>
      <guid>https://blog-lampetty-net.web.app/posts/wp/524/</guid>
      <description>&lt;p&gt;なんか秘伝のタレみたいになってきたので後世のために共有。&lt;/p&gt;&#xA;&lt;h3 id=&#34;前提&#34;&gt;前提&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Webアプリケーションを想定&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;TomcatなりJettyなりがListenするポートは外部からはアクセスできない&lt;/p&gt;</description>
    </item>
    <item>
      <title>JVMのGCのログを-XX:&#43;PrintGCDateStampsでhuman readableにする</title>
      <link>https://blog-lampetty-net.web.app/posts/wp/515/</link>
      <pubDate>Sun, 20 Jan 2013 23:01:09 +0900</pubDate>
      <guid>https://blog-lampetty-net.web.app/posts/wp/515/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://blog-lampetty-net.web.app/blog_en/index.php/archives/9&#34;&gt;English version&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;JVMでGCのログ出すじゃないですか。んで、その時↓みたいに -XX:+PrintGCTimeStamps っていうオプションを指定するじゃないですか。&lt;/p&gt;&#xA;&lt;p&gt;TODAY=`date &amp;quot;+%Y%m%d-%H%M%S&amp;quot;`&lt;/p&gt;&#xA;&lt;p&gt;JAVA_OPTS=&amp;quot;-server -Xms512m -Xmx512m -Xmn256m -XX:PermSize=256m -XX:MaxPermSize=256m \&lt;/p&gt;&#xA;&lt;p&gt;-XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseParNewGC \&lt;/p&gt;&#xA;&lt;p&gt;-XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=32 -XX:TargetSurvivorRatio=85 \&lt;/p&gt;&#xA;&lt;p&gt;-verbose:gc -Xloggc:/usr/local/tomcat/logs/gc.log.$TODAY \&lt;/p&gt;</description>
    </item>
    <item>
      <title>commons-langのEqualsBuilderの速度</title>
      <link>https://blog-lampetty-net.web.app/posts/wp/493/</link>
      <pubDate>Wed, 12 Dec 2012 15:12:34 +0900</pubDate>
      <guid>https://blog-lampetty-net.web.app/posts/wp/493/</guid>
      <description>&lt;p&gt;Javaの有名なライブラリで&lt;a href=&#34;http://commons.apache.org/lang/&#34;&gt;commons-lang&lt;/a&gt;というのがある。この中に&lt;a href=&#34;http://commons.apache.org/lang/api-3.1/org/apache/commons/lang3/builder/EqualsBuilder.html&#34;&gt;EqualsBuilder&lt;/a&gt;というequals()メソッドを簡単に実装するための便利クラスがある(HashCodeBuilder, ToStringBuilderというクラスもある)。使い方はこんな感じ。&lt;/p&gt;&#xA;&lt;p&gt;@Override&lt;/p&gt;&#xA;&lt;p&gt;public boolean equals(Object o) {&lt;/p&gt;&#xA;&lt;p&gt;if (this == o) {&lt;/p&gt;&#xA;&lt;p&gt;return true;&lt;/p&gt;&#xA;&lt;p&gt;} else if (!(o instanceof MyClass)) {&lt;/p&gt;&#xA;&lt;p&gt;return false;&lt;/p&gt;&#xA;&lt;p&gt;}&lt;/p&gt;&#xA;&lt;p&gt;MyClass other = (MyClass)o;&lt;/p&gt;</description>
    </item>
    <item>
      <title>FreeMarkerで余計な改行が入らないようにする</title>
      <link>https://blog-lampetty-net.web.app/posts/wp/489/</link>
      <pubDate>Sun, 18 Nov 2012 00:11:56 +0900</pubDate>
      <guid>https://blog-lampetty-net.web.app/posts/wp/489/</guid>
      <description>&lt;p&gt;Javaのテンプレートエンジンとして&lt;a href=&#34;http://freemarker.sourceforge.net/&#34; title=&#34;FreeMarker&#34;&gt;FreeMarker&lt;/a&gt;がある。テンプレートエンジンって割とみたいに書くことで余計な改行が入らないようになるじゃないですか。このFreeMarkerではどうするの？っていうのを同僚の人に教えてもらったので、ググれるようにまとめておく。&lt;/p&gt;&#xA;&lt;h3 id=&#34;はじめに&#34;&gt;はじめに&lt;/h3&gt;&#xA;&lt;p&gt;やりたかったことは、DBのテーブル情報から下記のようなクラスを生成するためのテンプレートで(1)と(2)のところに改行を入れたくなかった、ということ。&lt;/p&gt;</description>
    </item>
    <item>
      <title>JavaのString.format()とStringBuilder#append()の文字列結合速度比較</title>
      <link>https://blog-lampetty-net.web.app/posts/wp/425/</link>
      <pubDate>Sun, 04 Sep 2011 13:09:43 +0900</pubDate>
      <guid>https://blog-lampetty-net.web.app/posts/wp/425/</guid>
      <description>&lt;p&gt;Javaで文字列を結合するときは一般的にはStringBuilderを使うけど、個人的には結合後の文字列がより直感的になるString.format() が好き。ただ、ソースを見ると明らかにString.format()は遅そうなのでベンチを取ってみた。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Eclipseの覚えておきたいショートカットキーとTips</title>
      <link>https://blog-lampetty-net.web.app/posts/wp/382/</link>
      <pubDate>Thu, 08 Jul 2010 13:07:14 +0900</pubDate>
      <guid>https://blog-lampetty-net.web.app/posts/wp/382/</guid>
      <description>&lt;p&gt;こんにちは。最近仕事ではめっきりJavaばっかり書いていて、そろそろ大嫌いなEclipseを使い始めて3ヶ月以上経ったので、今まで得たノウハウの一部をまとめておこうかと。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
