タグ

javaとtipsに関するmanabouのブックマーク (38)

  • 最新Java情報局

    JavaOne 2017レポート、要注目のProject JigsawとVector APIをコードで理解 JavaOne 2017レポートの2回目は、筆者が聴講したセッションのうち興味深かったものを2つレポートします。Java SE 9の注目機能である「Project Jigsaw」と、今後の「Project Panama」で提供される「Vector API」です。 2017.11.02 JavaOne 2017レポート、ここ数年で最も充実していたキーノート 10月1日から5日間、世界最大のJava開発者会議「JavaOne」が開催されました。キーノートや500近くのセッションなどを通じて、Javaの最新情報に触れることのできる5日間となりました。このJavaOneの模様を2回にわたってお伝えします。今回はキーノートセッションを中心にレポートします。 2017.10.19 Java SE

  • 新人研修でドヤ顔で披露したらウケたEclipseのショートカット集 - Qiita

    最近新人研修(プログラミング未経験者・大学で専攻など、ごちゃまぜ)に関わることがありました。 適当なタイミングでEclipseのショートカットキーを教えていたのですが、実演してあげるといつきがよかったです。 ウケがいい≒新人から需要があるといえそうですし 教えるほうも教わるほうもモチベーションを保ちやすいです。 その点で、ウケるかどうかは大切な視点のひとつだと思います。 なので、ウケのよさランキングの形式で、ショートカットを紹介したいと思います。 環境は、WindowsでPleiadesのやつ(http://mergedoc.sourceforge.jp/ )を使って、Javaを教えていました。 第20位 ctrl + alt + k スネークケースとキャメルケースの切り替え 変数名やメソッド名を選択した状態でctrl + alt + k 教えていたのはJavaなのですが、C言語のように

    新人研修でドヤ顔で披露したらウケたEclipseのショートカット集 - Qiita
  • LL から Java に移行した人がはまりがちなこと - tokuhirom's blog

    こんにちは。Java 初心者です。 Java 初心者、得に LL から Java に来た人にありがちな問題について社内向けに書いたものをオープンアンドシェアさせていただきます。 前提として、我々は Java 8 でガンガン攻めているということをご承知おきください。 また、自分がこの数ヶ月で「うわー。こうしとくべきだったのかー」と気づいたやつをドヤ顔で語っているということにもご注意ください。 【追記】 対象は中規模 B2C の場合です(中規模というのは facebook より小さいという程度の意味です) 例外を握りつぶさないようにしよう Eclipse が生成する以下のようなコードをそのまま残しているケース。 これは言うまでもなく良くないですね。デバッグが困難になります。 try { } catch (IOException e) { e.printStackTrace(); } Perl

  • Javaトラブルに応じた初動対応のまとめ - n-agetsumaの日記

    Javaトラブルでは『情報がなくて、再現もなかなかしません』といった状況に陥ることがある。このような状況を回避するために、以下の3つの代表的なトラブルを例に、アプリケーションサーバを再起動する前に何を取得すれば良いのかをまとめてみる。 アプリケーションから応答がない アプリケーションが遅い ヒープメモリが足りない(OutOfMemoryErrorの発生) アプリケーションから応答がない 取得する情報 スレッドダンプ データ取得方法 スレッドダンプとは、コマンド実行時点でのJavaスレッド実行状態を出力したものである。応答がない場合、何らかの要因によりどこかで処理が止まっていることが想定される。スレッドダンプは『どこで止まっているのか?』を切り分けるのに大切な情報である。 取得方法はJDKのバージョンによって色々ある。 kill -3 <pid> (少なくとも1.4.2にはある〜JDK7でも

    Javaトラブルに応じた初動対応のまとめ - n-agetsumaの日記
  • Javaで大量データをメモリに展開するテクニックの考察

    Mapに突っ込んだプロパティ的なデータをさらにListに突っ込む。 みたいな処理を行いたいとします。 Listに登録するデータ量がそれなりにある場合、すぐにOutOfMemoryが 発生してしまうので、なんとかならないか考えてみました。 通常パターン 何も考えずに作ったプログラムがこちら。 Mapにkey-valueのペアを100個ほど登録し、さらにそのMapをListに追加します。 -Xmx10mのオプションをつけて、使用するメモリを10MBに制限して実行し、 何個Listに突っ込めるか試してみました。 package sample;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class MainProcess {        

    Javaで大量データをメモリに展開するテクニックの考察
  • Eclipseデバッグ効率化!無駄なステップ実行を減らす「Step Filter」の設定方法

    Eclipseの「Step Into」の挙動が設定によって変更できることを知っていましたか? 今回は、「Step Into」を始めとする「Step実行」の挙動を変更する「Step Filtering」の設定方法と利用例を紹介します。使えるかも、と思ったら人は、ぜひ導入を検討してみてください。 目次 1. 「Step Into」とは2. 「そこに潜らなくてもいいのに!」3. 解決策:Step Filtering3.1. 有効化3.2. フィルタ設定3.3. その他の設定4. 使い方5. 設定例1:どうでもいい標準ライブラリのコードに飛ばないようにする5.1. 問題5.2. 対策:無視するクラスを設定する6. 設定例2:ClassLoaderへのStep Intoを回避する6.1. 問題6.2. 対策:ClassLoaderをフィルタする7. 設定例3:単純なgetter/setterを無視す

    Eclipseデバッグ効率化!無駄なステップ実行を減らす「Step Filter」の設定方法
  • Maybe のエントリの補足 - ぐるぐる~

    昨日書いた Java の語彙で Maybe を説明してみる - ぐるぐる〜 に予想以上の反響があってびっくりです。 色々反応もらったので、ちょっと補足を。上のエントリを読んでない人は読んでからどうぞ。 @CheckForNull でいいのでは? はい、確かに FindBugs の CheckForNull アノテーションは便利です。 でも、これが提供してくれるのは null チェックの強制です。 先のエントリは、「null より安全な Maybe」という説明でした。 ですので、それだけを達成するのであれば CheckForNull アノテーションでもいい*1のですが、後半でちょっと見たように「null より便利な Maybe」という側面もあります。 先のエントリでは bind と or だけ追加しましたが、他にも色々と追加してみましょう。 // Java8だよ! package maybe

    Maybe のエントリの補足 - ぐるぐる~
  • Java の語彙で Maybe を説明してみる - ぐるぐる~

    java-jaで例外処理の話をしてきました - 西尾泰和のはてなダイアリー を読んで。 Maybe は値があるかないかを型で表すことができます!そう、直和型なんです!とか言われてもイミフだと思うのです(リンク先のエントリがそう説明してるわけではないですが)。 Java の語彙で Maybe の説明をできたら嬉しい人もいるんじゃないかなぁ、とかなんとか。 ただし、書いてたら結構長くなりました。時間がある人はどうぞ。 Maybe? null より安全に「値がないこと」が扱えるものだよ スタート地点としてはこれでいいでしょう。 以降で、「なんで安全なの?」という全うな疑問に答えてみたいと思います。 問題点 int で説明すると煙に巻いてしまうような気がしたので、User クラスを見てみます。 import java.util.*; class User { final String name;

    Java の語彙で Maybe を説明してみる - ぐるぐる~
  • 実行中のJavaアプリケーションの拡張設定を確認/変更する - CLOVER🍀

    jinfoというJDKに付属しているコマンドラインツールを使用すると、Javaの起動オプションやシステムプロパティを確認できたり、「-XX」ではじまる一部の値については実行中に変更できるようです。 詳しい説明は以下に書いてありますが、jstackやjmapなどと同様、使用するには対象のJavaVMのPIDが必要です。 http://java.sun.com/javase/ja/6/docs/ja/technotes/tools/share/jinfo.html 例えば、以下のようなちょっとわざとらしいオプション指定でJavaアプリを起動します。 $ java -Xmx512M -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=2 -XX:+PrintGCTimeStamps -XX:+PrintGC -XX:+Pr

    実行中のJavaアプリケーションの拡張設定を確認/変更する - CLOVER🍀
  • こんなに充実!Webで学べるIT系学習講座20選まとめ

    Webにある「学び舎」使っていますか? 無料で学べるオンラインコンテンツが数多く観られるようになってきました。従来は語学や、ビジネス系のものが目立っていましたが、最近では、質の高いIT系のオンライン学習のための教材がそろってきました。オンラインでの学習の利点はいくつか考えられます。 安価もしくは無料で質の高い教材に出会える 自分の時間をうまく使って教材や講座を観られる →モバイルデバイスに入れて持ち歩くこともできる 気に入った講座はサブスクライブ(登録)することで継続的に受講できる 海外の講座であれば、英語の勉強(ヒアリング)にもなる →海外出張や英語イベント参加の前に、英語脳に切り替えるのに便利 物理や数学ITやプログラミングに直接関係無い事柄でも学べる 一方で、一緒に学ぶ同級生の存在が感じられにくい、サボる理由がいくらでもあり、モチベーションが続きにくいといった難点もあります。 また

    こんなに充実!Webで学べるIT系学習講座20選まとめ
  • Java Anti-Patterns

    In the slower scenario the transaction duration is 10 times longer. This immediately cuts the maximum number of transactions per second by the factor of 10 as well (limited thread-pool, limited CPU resources). In the more mem scenario each transaction uses 10 times as much memory. This directly bumps up the number of garbage collections to over one per second, which causes non-negligible overhead.

  • これでVisioを使ったネットワーク図作成からおさらば?運用まで管理できる·Prime MOONGIFT

    Primeはハードウェア構成やソフトウェアも含めたネットワーク図を作成するソフトウェア。 PrimeはJava製のオープンソース・ソフトウェア。システム開発を行う際にデスクトップやルータ、サーバ等の配置を図に起こす時は多い。そういう時にドローソフトウェアとしてMS Visioを使うケースが多いのではないだろうか。他にも類似ソフトウェアはあるが、アイコンがどうも好きではなく結局Visioを使っていた。 描画中 しかしネットワーク図を描くためだけにMS Visioを購入するのではあまりにも勿体ない。デザインに優れたソフトウェアがあればそれを使えるはずだ。そこでネットワーク図を描く際にお勧めしたいのがPrimeだ。 Primeはデスクトップやサーバ、ネットワーク機器を配置してそれらを線で結んでネットワーク図を作成するソフトウェアだ。端末間の接続法をRJ45またはUSBから選べるなど芸が細かい。さ

  • Maven経由で実行されるテストにシステムプロパティを渡す - azuki note

    Maven 2.1.0 not passing on system properties to Java virtual machine - Stack Overflow MavenのSurefire plug-inからJUnitのテストケースを実行する際にシステムプロパティを渡す方法です。システムプロパティは以下のようなコードで取得できます。 System.getProperty("foo") 通常のJavaプログラムであれば、java.exeを実行する際の引数に以下のように指定することができます。 -Dfoo=barただ、Maven経由で実行するテストケースでは、以下のようにmavenを実行しても、 mvn -Dfoo=bar testSurefire PluginのforkModeの影響で、取得できない場合があるようです。 この場合には、pom.xmlでSystemPropertie

    Maven経由で実行されるテストにシステムプロパティを渡す - azuki note
  • Eclipse と Java 6u21 の問題

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Eclipse と Java 6u21 の問題
    manabou
    manabou 2010/08/05
    permgen
  • 調査の難しい「OutOfMemoryError」事例、5選

    メモリ不足の問題の切り分け方の基 まずは、メモリ不足がJavaヒープとCヒープのどちらで発生したかを切り分けておこう。 Javaヒープ OutOfMemoryErrorがスローされ、JavaVMの実行が継続している場合には、Javaヒープが不足している可能性が高い。Javaヒープ不足かどうかを確定させるために、スローされたOutOfMemoryErrorのトレースを確認しよう。 java.lang.OutOfMemoryError: Java heap space <=======【*1】 at java.nio.CharBuffer.wrap(CharBuffer.java:350) <=======【*2】 at java.nio.CharBuffer.wrap(CharBuffer.java:373) at java.lang.StringCoding$StringDecoder.

    調査の難しい「OutOfMemoryError」事例、5選
  • Java SE 6 じゃじゃ馬ならし 管理用ツール

    管理に使える便利なツール はじめに J2SE 5.0 には管理用やデバッグで使える jmap などのツールが付属していました。ところが、これらのツールは Windows では使えなかったのです。 それがやっと Java SE 6 で、Windows でも使えるようになったのです。そこで、あらためてここで紹介しましょう。取りあげるのは jinfo jmap jstack の 3 つのツールです。 また、もう 1 つ便利なツールが加わりました。それが jhat です。これもいっしょに紹介します。 jinfo jmapJava VM の構成情報を参照、設定するためのツールです。 とりあえず試してみましょう。題材は OutOfMemoryError のハンドリングで使用した OutOfMemorySample です。 jinfo の引数は引数はターゲットとなる Java VM の PID で

    manabou
    manabou 2010/03/12
    jstack jmap jinfo
  • Acroquest-Java トラブルシューティング(Javaのトラブルシュートはこちら)

    Javaプログラミング言語習得において、新人プログラマーの最初の障害は「オブジェクト指向の壁」です。 書は、Javaのソフトウェア開発を中心に事業を発展させてきたAcroquest社の新人教育セミナーを加筆・書籍化したもので、大卒の新人に対して、ゼロからJava言語を教えてきた実績をフィードバックしています。

    Acroquest-Java トラブルシューティング(Javaのトラブルシュートはこちら)
  • Javaバイトコードの読み方 - プログラマーの脳みそ

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

    Javaバイトコードの読み方 - プログラマーの脳みそ
    manabou
    manabou 2010/02/08
    しかし、落ち着いて見れば、特別な知識がなくても読める部分がある。フィールドやメソッドといったクラスのメンバだ。
  • Javaでデバッガがブレークポイントで止まらない - Yamashiro0217の日記

    Javaでデバッガがブレークポイントで止まらない」現象に僕の周りでハマってる人が割といました。まぁ、Eclipse以外でもそうだと思うのですが、とりあえずEclipse環境で。 で、twitterなどで教えてもらったのですが、 sun の jdk の 1.6.0_14 〜 15 で デバッグの問題 Java ™ Virtual Machine Tool Interface (JVM TI) のブレークポイントは、並列スカベンジガベージコレクタ (-XX:+UseParallelGC) または並列圧縮ガベージコレクタ (-XX:+UseParallelOldGC) が使用されている場合のみ信頼できます。 というリリースノートが。 http://java.sun.com/javase/ja/6/webnotes/6u15.html というわけで、デバッガ起動時にこのオプションを付けてあげれば

    Javaでデバッガがブレークポイントで止まらない - Yamashiro0217の日記
  • 頑健なJavaプログラムの書き方

    日頃より、アレスネットをご愛顧いただきまして誠にありがとうございます。 「ホームページサービス」のサービス提供は2016年1月31日をもちまして終了させていただきました。 これまで長らくご利用いただき、誠にありがとうございました。 今後も、皆様によりよいサービスをご提供させていただけるよう、サービス品質向上に努めて参りますので、何卒、ご理解いただけますようお願 い申し上げます。 <アレスネットをご契約のお客様へ> 後継サービスとして「userwebサービス」を提供させていただいております。 詳しくは、以下のリンクをご参照ください。 ▼「userwebサービス」のご案内 http://www.ejworks.info/userhp/alles/index.html 今後ともアレスネットをご愛顧いただけますようお願い申し上げます。 株式会社イージェーワークス アレスネット カスタマーサポート