タグ

Javaに関するmapserver2007のブックマーク (161)

  • GraalVMはどれだけ遅いか - きしだのHatena

    GraalVM流行ってますね。 そして、多くの人はGraalをAOTとして使うnative-imageのことだけをGraalVMと言ってたりします。 ご安心を。このエントリではGraalをJITとして使うHotSpotモードとGraalをAOTとして使うnative-imageの両方が遅いという話です。 GraalVMは速い、と言われてますが、残念ながらHotSpotモードでC2より速い結果を手元では出せていません。 公式ブログでは1.7倍から5倍速くなると書いてますけど、手元では再現できてません。 Under the hood of GraalVM JIT optimizations - graalvm - Medium native-imageは速い、というのはよくありますが、これはネイティブ化によりJVMの起動時間や最適化の時間、最適化されずに動く時間が省略されるので起動が速い、とい

    GraalVMはどれだけ遅いか - きしだのHatena
  • Javaのログ出力: 道具と考え方

    2.  @miyakawa_taku  JJUG幹事  SI屋で賃労働  尾上部屋の里山関のファンです  オレオレJVM言語Kinkを作っています https://bitbucket.org/kink/kink 自己紹介 #jjug 2/67 3. #jjugログとは! 例: $ kink -Vdebug -e '' 2015-10-04 15:58:29 [main] DEBUG BoxingValues - use box proto listener org.kink_lang.kink.internal.eval.VarAssignEvaluator$VarAssignListener@3af49f1c 2015-10-04 15:58:29 [main] DEBUG BoxingValues - use box proto listener org.kink_lang.

    Javaのログ出力: 道具と考え方
  • LINEのOpenJDK導入レポート:互換性の確認から注意事項まで

    LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog こんにちは。私は、Service EngineeringチームでSRE(Service Reliability Engineer)の業務を担当しているYongChan Kwonです。チーム名や業務名から分かると思いますが、一つの業務を担当するよりは、サービスのライフサイクルにおいてインフラ、開発、サービス技術の間で発生しうる死角を補う役割を担っています。 2018年、オラクルのライセンス体系が変更され、2019年1月以降は無料でOracle JDKを使用できなくなりました。そこで、LINE内部ではOpenJDKへの移行に向けて必要事項や検討項目を事前にまとめるため、TF(task force)を立ち上げました。また、その作業内

    LINEのOpenJDK導入レポート:互換性の確認から注意事項まで
  • ヤフーにおけるJava事情を軽くご紹介します

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに こんにちは。第8代黒帯〜プログラミング言語(Java)〜 の森下と申します。 ヤフーでは、最近はJavaで書かれたさまざまなOSSの利用や貢献がされていたり、サービス開発でもJavaが使われることが増えてきているなど、社内でのJava利用が拡大してきています。 その背景には、ヤフーにおける標準言語の一つとしてJavaが位置付けられていることや、システムが大規模になるにつれて静的型付けやコンパイルなどできっちり作れるという利点が活きてくる点、また社内で利用できるPaaS環境(Pivotal Cloud Foundry)でもSpring Bootベースのアプリケーションがサポートされていて親和性があるといったことからだと思い

    ヤフーにおけるJava事情を軽くご紹介します
  • 2019年のJavaを予測する

    原文(投稿日:2018/12/31)へのリンク 2018年は,InfoQの記事でもまとめているように,Javaにとって非常に興味深い年であった。 2019年になったので,新たな年にJavaとその関連技術において注目すべきことを確認し,今年は何が起こるのかを予測してみたい。 免責事項:以下は著者の個人的な予測であり,Oracle,InfoQ,その他による公式声明あるいはロードマップといったものではない。 Java 11の小規模な,しかし重要な意味を持つ導入が始まる これは,今回のリストの中でも最も論議を呼ぶ予測かも知れない。Java 9と10は事実上,運用環境にはまったく展開されていない。多くの開発チームが,Java 8の次のLTSリリースを待っていると思われるからだ。それが現れたのだから,Java 11は少しずつ,しかし着実に採用され始めるようになる。 採用の大きな推進力となるのは,マイク

    2019年のJavaを予測する
  • 絶対分かるMyBatis!MyBatisで覚えるべきチェックルール25(中編) - Qiita

    チェックルール(つづき) 絶対分かるMyBatis!MyBatisで覚えるべきチェックルール25(前半) のつづきになります。来は残りのチェックルール(13~25)について説明するつもりでしたが、予想以上に長くなってしまったので3部構成に変更しました。今回はチェックルール(13~20)まで説明したいと思います。 13. Mapperファイル内で引数のJavaのデータを参照する場合、バインド変数#{...}を利用すること MyBatisのデフォルトではJavaのPreparedStatementを利用してSQLを実行します。実はバインド変数#{...}はPreparedStatementのパラメータとして設定されます。つまりパラメータが利用できる箇所でのみ、利用することができます。 SELECT文のWHERE句における値 INSERT文のVALUES句における値 UPDATE文のSET句に

    絶対分かるMyBatis!MyBatisで覚えるべきチェックルール25(中編) - Qiita
  • Spring Boot + Intellij Ideaの環境セットアップ(備忘録) - Qiita

    はじめに Spring BootでRESTful APIを作ることになりそうなので、開発環境などのセットアップ手順を確認してみました。 最初はSTSを利用しようかと思いましたが、springのガイドに目を通していたらIntelliJ IDEAの手順も紹介されていたので方針変更しました。(Android Studioを利用する機会もあるので、脱Eclipseでいこうかと) maxOS Sierra(10.12.6) IntelliJ IDEA Community 2017.2.6 事前準備 JDK(Java SE Development Kit 8u152)のインストールを行いました。 $ /usr/libexec/java_home -V Matching Java Virtual Machines (2): 1.8.0_152, x86_64: "Java SE 8" /Library/

    Spring Boot + Intellij Ideaの環境セットアップ(備忘録) - Qiita
  • Java ORマッパー選定のポイント #jsug

    2019/01 JSUG勉強会の資料です。 この資料でDisっているのはJPAではなく、 ・何も考えずに「標準だから」というだけでJPAを選ぶ人 ・OSSに全くコントリビュートせずにフリーライドする人 です。Read less

    Java ORマッパー選定のポイント #jsug
  • 標準出力もプログラムの動作を致命的に変えるという話 - Qiita

    正常に動作しないスクリプトやプログラムに標準出力処理(echoやSystem.out.print()など)を追加して、デバッグした経験は誰にでもあるのではないでしょうか。標準出力処理の追加は、簡単なプログラムの動作検証から制限などによりデバッガーを使用できない環境での調査まで、いろいろな場面で活用されていると思います。 しかし、1行の標準出力処理の追加でもプログラムの動作を致命的に変える可能性はあります。 過去に、echoが原因でバッチが停止した問題の対策のために、JavaのプログラムにSystem.out.println(・・・);の1行を追加した結果、アプリケーションが応答を返せなくなったことがありました。その時の記憶を、サンプルプログラムを交えながら説明したいと思います。 年次バッチが停止した! 10年ほど前のある日、あるシステムの保守を担当していた私のもとに「年次バッチが停止してし

    標準出力もプログラムの動作を致命的に変えるという話 - Qiita
  • JavaアプリケーションサーバでThreadLocal利用時の注意点 - yamadamn’s blog

    日はJava EE Advent CalendarとJPOUG Advent Calndarの14日目です*1。 さて、先日11/9のJJUG CCCで話してきた内容で、Javaアプリケーションサーバでは、アプリケーションからThreadLocalは極力利用しない方がよいとのスライドを載せていました。 しかし、当日は時間がなく、また参考情報程度でしたので、説明を省いていました。 これについて、このエントリでは少し丁寧に説明をしたいと思います。 Javaアプリケーションサーバ 構築・運用の勘所 from Takahiro YAMADA 実は、上記スライドは、当日話した内容から以下の修正を加えています。 「極力利用しない」→「注意して利用」に変更 「再利用前提のスレッドに紐づくため、アプリで明示的に破棄」を追記 これがサマリにはなるのですが、説明していきましょう。 ThreadLocal ま

    JavaアプリケーションサーバでThreadLocal利用時の注意点 - yamadamn’s blog
  • JavaのThreadLocalとスレッドセーフについて - Qiita

    はじめに Struts でシステムを開発していたときに、Actionで格納した値がJSPに反映されない問題が発生しました。この問題を調査した結果、Action#exceuteメソッドの引数をActionのインスタンス変数に格納して使用していたことが原因でした。このときに問題となったソースコードと解決方法を解説します。サンプルコードはこちらです。 マルチスレッドとスレッドセーフ スレッドセーフとはアプリケーションをマルチスレッドで動作(複数のスレッドが同時並行的に実行)しても問題がないことを指します。スレッドセーフでない場合は、あるスレッドで変更した共有データが、他のスレッドによって上書きされてしまう可能性があります。Webサーバーやデータベースなどのサーバー用ソフトウェアは、マルチスレッド(マルチプロセス)で動作しているので、サーバー向けアプリケーションを開発するときは、マルチスレッドで動

    JavaのThreadLocalとスレッドセーフについて - Qiita
  • WindowsでJDK8をインストーラーを使わずインストールする方法 - Qiita

    Windowsで、JDK(Java SE Development Kit)のインストーラー(exeファイル)を使用しないで、JDKをインストール(利用)する方法を紹介します。 試した環境 OS:Windows10 64ビット JDK:Java SE Development Kit 8u121 この方法で得られるメリット ・JDKを複数使用して開発する場合、切替が容易。 ・Javaバージョンアップを促す通知を受け取らなくて済む。 手順 1.JDKをダウンロードする 普通にOracleのサイトからWindows用のJDKをダウンロードします。 今回は環境に合わせて「jdk-8u121-windows-x64.exe」をダウンロードしました。 2.ダウンロードしたexeファイルをzipに変更する ファイル名変更で、ファイル拡張子「.exe」を「.zip」に変更します。 3.zip解凍ソフトを用意

    WindowsでJDK8をインストーラーを使わずインストールする方法 - Qiita
  • ピュアJavaだと思った?残念androidでした~いつからAndroidをJavaだと錯覚していた?~

    ピュアJavaだと思った?残念androidでした~いつからAndroidJavaだと錯覚していた?~

    ピュアJavaだと思った?残念androidでした~いつからAndroidをJavaだと錯覚していた?~
  • GitHub - system-sekkei/isolating-the-domain: architecture sample using : Spring Boot gradle, Spring MVC, Thymeleaf, and MyBatis

    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

    GitHub - system-sekkei/isolating-the-domain: architecture sample using : Spring Boot gradle, Spring MVC, Thymeleaf, and MyBatis
  • Javaのジェネリクスは「まがい物」ではない - kmizuの日記

    先日、自分が書いた kmizu.hatenablog.com に対する反応として、「Javaのようなまがい物のジェネリクスと比較するのは適切でない」「Javaのジェネリクスと比較するのは適切でない」(おそらくC#や(C++等(2017/09/24追記))の言語と比較して)といった コメントをいくつか見かけました(はてなブックマークコメントやツイッターなどで)。しかし、ここでは、そのような言説こそが適切でない、ということを言いたいです。なお、methane氏との 対話については既に終わったものなので、それとは関係ありません。 そもそも、Javaジェネリクスは、静的型付き関数型言語で既に一般的であったパラメータ多相をJavaに追加する目的で導入されました(C++テンプレートのようなものをJavaに追加するためだと思っている人がいるかもしれませんが、それは実態にあっていません)。実際、Java

    Javaのジェネリクスは「まがい物」ではない - kmizuの日記
  • メッセージ定数クラスを多言語環境に対応させたいでござるの巻 - たーせる日記

    今日はJavaのお話です。 問題コーナー システム出力用の固定メッセージを、定数クラスに一元的にハードコーディングしている既存システムがある この定数クラスには、現状、日語の固定メッセージしか記述されていない システムバージョンアップの一環として、英語メッセージの出力(つまり多言語化)に対応する必要が生じた ただし、定数クラスを利用する側(呼び出す側)の既存プログラムは、極力変更したくない ナイスな例示 現状は、システムで出力されるメッセージの文言が定数クラス Message に集約されています。 Message.java package com.tercel_s.Util; /** * システムで使用されるメッセージを一元的に定義してある定数クラスです * @author Tercel */ public final class Message { public static fina

    メッセージ定数クラスを多言語環境に対応させたいでござるの巻 - たーせる日記
  • Javaでプログラムを書く際に意識しておきたいこと - 覚えたら書く

    以下、個人的にJavaでプログラムを書く際に意識しておきたいことです。 ただし、学術的な裏付けなどがある内容でありません。あくまで私の経験に由来する内容となっています。 そもそもコンテキストによってはそぐわない内容もあると思いますので、その辺はうまいことスルーしてもらえたらと思います。 Collection 空のList メソッドの戻り値として空(size==0)のListを返却する場面がありますが、その場合はCollections.emptyListを使うのが良いです。 new ArrayList()でListを生成してreturnするよりも、処理も早くコードの意味も分かりやすくなります。 ただし、このメソッドで返されるListはImmutable(不変)であることを理解しておく必要があります。 Collectionsクラスには、空Setや空Mapを返すメソッドも用意されています。 大量

    Javaでプログラムを書く際に意識しておきたいこと - 覚えたら書く
  • Java 8 に辿り着くまでに起きた 不思議なこと - Indeed エンジニアリング・ブログ

    Indeed では Java 7 から Java 8 へ移行しています。 (現段階では、移行は完了しております。)段階にわけて移行しており、まず Java 7でコンパイルされたバイナリを JRE 8 (Java 8 の実行環境)で実行するところから始めました。一度に全てを切り替えてしまうのではなく、いくつかのカナリアテストアプリを使用して、どんな問題が見つかりそうか様子を見ました。 私たちは、求人検索のウェブアプリを一つ目のカナリアテストとして選びました。昨年の 5 月に、私たちは番環境にある 1 件の求人検索サーバーを JRE 8 に切り替えました。何も問題なく、 QA 環境で JRE 8 を数週間使用していましたが、番環境をJRE 8 に切り替えたところ、システム負荷は 5 (通常のレベル) から 20 (異常なレベル)まであがりました。進める前に、まず修正が必要なくらいはっきりと

    Java 8 に辿り着くまでに起きた 不思議なこと - Indeed エンジニアリング・ブログ
  • 最近のProject Jigsaw の流れ:コミュニティ投票でNo (Public Review Ballot) - unnamed

    Java の新たなバージョンである JDK 9 のリリースが約 2 ヶ月後に控えているが、最大の目玉と言っても過言はない Project Jigsaw がコミュニティから No を突きつけられた。この最近の流れを、極力意見を混ぜずに事実を淡々と紹介する。 Project Jigsaw とは 乱暴に言うと Java の新しい分割の仕方としてモジュールを導入しようという取組 詳細は手前味噌ですが以下のスライド参考 Prepare for Java 9 #jjug from Yuji Kubota 前提 Java の機能は JSR (Java Specification Request) が JCP (Java Community Process) で承認されて初めて導入される Project Jigsaw も例外ではなく JSR 376: Java Platform Module System

    最近のProject Jigsaw の流れ:コミュニティ投票でNo (Public Review Ballot) - unnamed
  • Javaプロセスの中でCPUを浪費しているスレッドを特定する - Qiita

    概要 Javaプロセスの中でCPUを浪費しているスレッドを特定する方法を紹介します。Linuxだけでなく、Windowsでの方法も載せています。 前提条件 JDKがインストールされていること Linuxの場合 まずは、Linuxでの方法です。これと同じことがWindowsでも、できればいいわけです(後述します)。 (1) jpsコマンドで対象のJavaプロセスのIDを特定する $ top -n 1 -H -p 25800 top - 21:29:39 up 23:36, 3 users, load average: 1.66, 0.97, 0.52 Tasks: 31 total, 1 running, 30 sleeping, 0 stopped, 0 zombie Cpu(s): 2.9%us, 0.8%sy, 0.0%ni, 96.2%id, 0.1%wa, 0.0%hi, 0.0%

    Javaプロセスの中でCPUを浪費しているスレッドを特定する - Qiita