タグ

javaに関するyuma_0211のブックマーク (48)

  • Javaの有償化問題、Java8のサポート終了問題について、2019年1月以降どうしたらいいか - Qiita

    この記事は3分程度で読めます。 ふわっとした情報が多いため、調べたことを備忘として残します。 (調べても結局ふわっとした感じはぬぐえていない( ノД`)) ※2018/7/3現在の情報です。 何がまずい? JDK8(java8)の商用サポート期限が2019年1月で終了する(例外はあるが、後述)。以降、致命的な脆弱性があった場合にパッチが提供されないため、2019年1月までにはJDKのバージョンを上げないとセキュリティを担保できない。 OracleJDK(JavaJDK)を8より新しいバージョンにアップデートすればいいか? OracleJDKは2018年9月リリース予定のJava11をもって、ライセンス契約者のみの配布となるため、有償サポート契約が必要になる。 LTS版(長期サポート版、現在はJDK8がこれにあたる。次が11)のバージョンアップは3年毎のサイクルで行う予定。 短期サポート版(

    Javaの有償化問題、Java8のサポート終了問題について、2019年1月以降どうしたらいいか - Qiita
  • 2016年現在のJavaについて - arclamp

    Sun MicrosystemsがOracleに買収されたのが2009年ですから、あれから7年が経ちました。 2013年、Javaは大人になったはずだった 僕は2013年に「イマドキのJavaORACLEについて - arclamp」という記事をアップし、次のように書きました。 そんなわけで「ORACLEJavaにコミットしているのか?」という質問が無意味なぐらい、ORACLEJava技術だけではなく、Javaユーザーの方を向いているのです。 もちろん、ORACLEは(SUNに比べて)イノベーションが足りないとかスピード感がないとか批判もできるのですが、これだけエンタープライズのユーザーが増えた中では、Javaの後方互換性を保ちつつ、着実に進化していく、つまりは引き続き安心してJavaを使うことができるというのは大きな価値でしょう。 そう、Java当の意味でオトナになったのかもし

    2016年現在のJavaについて - arclamp
  • 1.0から学ぶJava

    タイトルを見て釣られクマーな皆さんこんにちは。 ホッテントリメーカーで作るような煽りタイトルって、みなさんもう見飽きてると思うんですよね。 今調べたらホッテントリメーカー2008年だそうで。どうりでねー。古臭いなーと思いましたよー。 「一から学ぶJava」ってのをね、1.0にするだけでこんなに素敵なタイトルになるんだから面白いですねー。 タイトルを思いついただけだったんですけど、思いついたらやっぱりちゃんと中身も書かないと行けないじゃないですか。やだー 面倒くさいんですけどね。ちょっと1.0から学んでみましょうか。 Java 1.0 1996年1月23日Javaの1.0がリリースされたのは1996年1月23日ですね。発表されたのが1995年5月23日でJavaの誕生日といった場合にどちらを取るかで揉めることがあります。 かれこれ20年前なわけで、当時のパソコンというとハードウェアはCPU

    1.0から学ぶJava
  • 作って理解するWebフレームワーク - きしだのHatena

    前回、簡単なDIコンテナを作ってみたので、次はこれを使ってWebフレームワークを作ってみたいと思います。 Webサーバーをつくる まず、WebフレームワークなのでHTTPサーバーが必要ですね。なので簡単なものを作ります。 とりあえずブラウザからリクエストを受け取ったら200 OKとHTMLを返すだけのサーバーです。 今回は、そこらのブラウザからアクセスできればいいや、ということで、RFCとかの仕様に準拠することは考えません。 public class Server { public static void main(String[] args) throws IOException { ServerSocket serverSoc = new ServerSocket(8989); for (;;) { Socket s = serverSoc.accept(); new Thread((

    作って理解するWebフレームワーク - きしだのHatena
  • Javaの謎のパフォーマンス劣化現象との戦い - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。アプリケーション基盤チームの横田です。 Javaの謎のパフォーマンス劣化にまつわる調査をしていたのですが、1ヶ月の苦労の末に原因がわかりましたので、報告させていただきます! 公開後に頂いたはてなブックマークでのご指摘・社内でのタイポ・読みにくいなどの指摘を受けてたので、謹んで修正させいただきます。 修正した内容につきましては、記事の最後を参照してください。 忙しい人のためのまとめ jdk-7u4以降のjdk-7 *1 でJavaのパフォーマンスが劣化する謎の現象 CodeCacheの容量限界に近づくとJITコンパイラを停止してコンパイルしたコードを捨てる機能が原因だった 起動オプションで回避できるので、長期運用するときは -XX:-UseCodeCacheFlushing, -XX:ReservedCodeCacheSize=128m をつける 上のオプションを設定した時に、C

    Javaの謎のパフォーマンス劣化現象との戦い - Cybozu Inside Out | サイボウズエンジニアのブログ
  • commons-collectionsのInvokerTransformer脆弱性について - R42日記

    2015-11-12 追記あり。「SpringとGroovyにも直列化オブジェクト脆弱性」も参照してください。 昨日からJava界隈で話題になっているcommons-collectionsの脆弱性について。 元ネタはこちら。 対応するチケットはこちら。 InvokerTransformerなんてクラスは初めて知りましたが、そりゃこういうことになりますよねぇ…というのが感想です。 影響を受けるシステム InvokerTransformerはcommons-collectionsとcommons-collections4の両方に存在しています。 いずれかのライブラリ(commons-collections.jarまたはcommons-collections4.jar)がクラスパスに存在しているとき、 以下のいずれかの条件を満たしていると攻撃が成立する可能性があります。 直列化したオブジェクトを

    commons-collectionsのInvokerTransformer脆弱性について - R42日記
  • JavaEEをはじめよう! - Qiita

    Advent Calendarの10日目です 最近JavaEE7の「わかりやすいJavaEE」を書きました。ウェブシステムの作り方を解説したです。 Java言語初心者でも読めるJavaEEのというコンセプトなんですが、そもそも「JavaEEと言われても・・・」と思う人、多いでしょうね。 そこで、今日は、JavaEEのあれこれをいろいろお話します。 JavaEE未経験者のためのガイダンスです。 この記事を通じて、「わたしもやってみよう」と思ってもらえれば幸いです。 はじめのはじまり Javaを使ってずいぶんになります。まだ、Javaコンパイラに日語が通らない頃、"write once , run anywhere"ということばにひかれてやってみたのが最初でした。Javaでソケット通信の小さなプログラムを作ってみました。これが違うOSのマシンであっけなく動いたので、「こりゃすごい」と感

    JavaEEをはじめよう! - Qiita
  • Java SE 8のストリームAPIの正しい使い方──ラムダ式とともに導入された新APIで、並列処理の実装はどう変わるのか? - builder by ZDNet Japan

    Java SE 8では、ラムダ式の導入に伴い、並列処理の実装を容易にする新APIとして「ストリームAPI」が追加された。その効果的な使い方を、前回の記事に続いて米国オラクルのスチュアート・マークス氏が解説する。 >> 前回の記事はこちら 前回は、米国オラクルでJava SEの仕様策定をリードするスチュアート・マークス氏によるラムダ式の基礎解説をお届けした。今回はその続編として、Java SE 8でラムダ式のサポートに伴って導入された新機能「ストリームAPI」に関するマークス氏の解説をお届けする。 ※記事は、2014年5月に東京で開催された「Java Day Tokyo 2014」におけるスチュアート・マークス氏のセッション「Lambda式とストリームAPI、並列処理の詳細」を基に構成しています。 パイプラインや並列処理をスマートに実装できるJava SE 8の新機能「ストリームAPI

  • https://blogs.oracle.com/yosshi/entry/glassfish_%E3%81%A8_tomcat_%E3%81%AE%E9%81%95%E3%81%84_part

  • WebSocketをネタにJava EE 7正式版を試してみる - きしだのはてな

    Java EE 7がリリースされて、それに対応したGlassFish 4もリリースされました。 ついでに、Java EE 7やGlassFish 4に対応したNetBeans 7.3.1もリリースされています。 ということで、NetBeansとGlassFishを使ってJava EE 7を試してみようと思います。 今回は、Java EE 7の中でも簡単なコードで動きの派手なWebSocket対応を試してみます。 ダウンロード まずNetBeansをダウンロードします。 https://netbeans.org/downloads/ NetBeansは、ちょっと試すにしてもずっと使うにしても、インストーラーではなくzipで落とすほうが楽なので、ここでは「プラットフォーム」に「OSに依存しないZIP」を選択します。 「サポートテクノロジー」が「Java EE」か「すべて」のものをダウンロードし

    WebSocketをネタにJava EE 7正式版を試してみる - きしだのはてな
  • JAWS-UG三都物語で「そろそろJavaみなおしてもええんやで」というプレゼンしました - きしだのHatena

    夏のJAWS-UG 三都物語 2014というイベントで「そろそろJavaみなおしてもええんやで」というプレゼンしてきました。 Javaのイベントではなかったので、Javaを使ってない人を想定したプレゼンでしたが、実際会場のほとんどがJavaメインではなかったようです。 for(int num : nums){ if(num > 10) continue; sum += num * 2; } というコードが、NetBeansの「関数操作を使用」というリファクタリングで sum = nums.stream().filter((num) -> !(num > 10)).map((num) -> num * 2).reduce(sum, Integer::sum); になったところがハイライト。 ここまでできるとは思ってなかった。 そろそろJavaみなおしてもええんやで from なおき きしだ

    JAWS-UG三都物語で「そろそろJavaみなおしてもええんやで」というプレゼンしました - きしだのHatena
  • JavaFXでSeleniumっぽいものを作る - きしだのHatena

    JavaFX、SeleniumのAdvent Calendar11日目です。 JavaFX Advent Calendar 2013 - Adventar Selenium Advent Calendar 2013 - Adventar 両方に対応できるネタとして、JavaFXでSeleniumっぽいものを作ってみました。というか、以前ためしに作ってみたものを、現状のライブラリで動くように作りなおした感じ。 ソースはこっちに。 https://github.com/kishida/advent2013fxselenium TesteeWebAppのほうはJava EE 7で作成したWebアプリケーションで、GlassFishとかで動きます。 Faces Flowsで画面フローを作っています。画面の流れを各画面から分離して、整理して記述できるのですごくいいですね。詳しいところはkikutar

    JavaFXでSeleniumっぽいものを作る - きしだのHatena
  • 今どきのJava Webフレームワークってどうなってるの? - きしだのHatena

    昨日のSeasar2のエントリについたコメントなどで、「とはいえ代わりに何つかうの?」みたいな話が出てたので、とりあえずJava EEのWebフレームワークについて簡単にまとめてみます。 Java SE 8+Java EE 7+lombokで書いていますが、基的なところはJava SE 7+Java EE 6でも大丈夫です。 なので、今どきとは書いてますが、基的には2009年12月のJava EE 6ということで、実はすでに4年近くたってます。 何も考えてない なんも難しいこと考えないなら、やっぱJSPが楽ですよね。 なんでも書けちゃう。 <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content=

    今どきのJava Webフレームワークってどうなってるの? - きしだのHatena
  • Javaのリフレクションをお勉強するスレ : IT速報

    1: 以下、名無しにかわりましてVIPがお送りします 2014/01/06 01:48:29 ID:/QmwZ/KV0 みんな俺にJavaプログラミング教えてくれーー 詳しい人教えて 2: 以下、名無しにかわりましてVIPがお送りします 2014/01/06 01:49:08 ID:szOCe4SK0 お洗濯ジャバジャバ 4: 以下、名無しにかわりましてVIPがお送りします 2014/01/06 01:49:54 ID:/QmwZ/KV0 >>2 洗濯のやり方は今度でいいです 3: 以下、名無しにかわりましてVIPがお送りします 2014/01/06 01:49:50 ID:n30FtDZ00 屋で入門書を買う おわり 5: 以下、名無しにかわりましてVIPがお送りします 2014/01/06 01:50:25 ID:/QmwZ/KV0 >>3 入門書とかいらねえwww使えねえだろ多分

    Javaのリフレクションをお勉強するスレ : IT速報
  • Struts後時代のJava EE/Javaモダン開発はどうあるべきか~JJUG CCC 2014 Springまとめリポート(前編) - @IT

    Javaユーザーグループは2014年5月18日、「JJUG Cross Community Conference 2014 Spring」を開催した。「JJUG Cross Community Conference」(以下、JJUG CCC)は毎年春と秋に開催されるカンファレンス。初心者向けからエキスパート向けまで、Java/JVMに少しでも関連すればいいという広いテーマでさまざまな講演が行われている。 今年は4トラック同時進行、合計25ものセッション、ハンズオンセミナーという規模で大いににぎわった。 そして最新仕様であるJava EE 7に準拠しているのは2014年5月現在「GlassFish」「WildFly」のみで、主流は多種多様なアプリケーションサーバーが対応しているJava EE 6とのことだ(楽天GlassFishを活用していることでも有名)。 エンタープライズ分野でJa

    Struts後時代のJava EE/Javaモダン開発はどうあるべきか~JJUG CCC 2014 Springまとめリポート(前編) - @IT
  • LL から Java に移行した人がはまりがちなこと - tokuhirom's blog

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

  • Java並行・並列・非同期処理チートシート

    Java 1.5以降では Executorsフレームワーク 利用を優先検討のこと。 遅延実行(タイマー) クラス / メソッド 概要 Since

    Java並行・並列・非同期処理チートシート
  • New Feature Of Java SE 8

    New Feature Of Java SE 8 1. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.1 2. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.2 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです 。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むこ とはできません。以下の事項は、マテリアルやコード、機能を提供することをコミッ トメント(確約)するものではないため、購買決定を行う際の判断材料になさらない で下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時 期については、弊社の裁量により決定されます。 Oracleは、米国オラクルコーポレ

    New Feature Of Java SE 8
  • 矢沢久雄の早わかりGoFデザインパターン(1) | 日経 xTECH(クロステック)

    今回は、パターンを1つだけ紹介します。「Mediatorパターン」です。GoFでは、それぞれのパターンの「目的]「背景」「効果」などが明示されています。私も、ちょっと真似をしてみましょう。複数のオブジェクトを組み合わせてプログラムの機能を実現するという目的において、オブジェクト間の関連がゴチャゴチャになってしまうという背景(問題)があり、Mediatorパターンの採用によって関連をキレイに整理できるという効果があります。説明だけでは、何のことだかわからないと思いますので、具体例をお見せしましょう。 図1[拡大表示](1)をご覧ください。これは、UML(Unified Modeling Language、ユーエムエル)と呼ばれる表記法で記述されたプログラムの設計図です。UMLでは、四角形の中に下線付きで名前を書いてオブジェクトを表し、関連のあるオブジェクトを矢印で結んで示します。ここで関連

    矢沢久雄の早わかりGoFデザインパターン(1) | 日経 xTECH(クロステック)
  • バカ向け言語 Scala - だらだらしてたいなぁ

    なぜScalaがバカ向けなのか。 ぼくの経験を元に、バカ向け言語と非バカ向け言語を比較しながら見て行きましょう 非バカ向け言語 C プログラマーとして最初に携わったのがC言語です。 それは以下のようなものでした。 何十ものファイルにまたがるグローバル変数 緻密な制御が必要であるにも関わらず、無秩序に取得/開放が行われているメモリー管理 このような複雑な構造を、ぼくのようなポケコン並の処理能力しか持たないバカに把握可能でしょうか。もちろん不可能です そこで、次のようなコーディングを心がけました。 グローバル変数を使わず、関数に引数を定義して渡す メモリーの取得/解放を同一ファイル内に限定する これで、メモリーや変数参照の影響範囲を限定し、ぼくのようなバカでも理解できるようになります。 ですが、わざわざそんな事をやらなくても全てを理解できるエリート様達は、 「なぜ引数で渡すんだ。グローバル変数

    バカ向け言語 Scala - だらだらしてたいなぁ