タグ

Javaに関するjaguaのブックマーク (15)

  • A categorized list of all Java and JVM features since JDK 8 to 21

    A categorized list of all Java and JVM features since JDK 8 to 21 Last updated on 2023/09/22 to include changes up to JDK 21. This article is also available in Chinese by Alex Tan. Since the release of version 8, up to version 21, Java is shaped by 232 JDK Enhancement Proposals (JEPs) and many more smaller updates, each of which brings some improvement to the platform. This page is a categorized a

    A categorized list of all Java and JVM features since JDK 8 to 21
    jagua
    jagua 2019/02/22
  • 標準出力もプログラムの動作を致命的に変えるという話 - Qiita

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

    標準出力もプログラムの動作を致命的に変えるという話 - Qiita
    jagua
    jagua 2019/02/02
  • 段階的に理解する Java 例外処理 - Qiita

    はじめに 例外処理の問題は Java コードレビューでの頻出指摘事項である。この記事で述べる通り、Java の例外処理において守るべき基的なルールはそれほど複雑ではない。だが、たとえ職務経歴上は経験年数の長い Java プログラマであっても、適切な例外処理を実装できないケースは残念ながらよく観測される。さらに経験年数が短い Java プログラマにおいては言わずもがなである。 なぜ不適切な例外処理が広くはびこっているのか。そこには大きく分けて三つの要因が考えられる。まず、Java 言語仕様において例外機構 (特に検査例外) に歴史的事情による混乱があり、プログラマに過度の自由が与えられていることである。次に、アプリケーションを開発するだけでなく実際に運用してみない限り、不適切な例外処理の弊害に気づけないことである。最後に、適切な例外処理を学ぶためのコンパクトにまとまった資料が世に存在しない

    段階的に理解する Java 例外処理 - Qiita
    jagua
    jagua 2019/01/06
  • Javaにおけるインタフェースの使い道を今一度考える - Qiita

    はじめに Javaのアドベントカレンダーに登録したはいいけれど特に新しい知見とかが思いつかなかったのでこれは知見の整理です。 これは宗教的なことわりなのですが、この記事では"interface"を全て「インタフェース」と表記します、ご了承ください。 鉞はご自由にお投げください。 インタフェースとは 文法的な部分は探せばどこにでも怪しい記事が転がっているので今更説明はしませんが、要素は確認しておきましょう。 インタフェースもクラスと同様に型として提供できる インタフェースを実装しているクラスはインタフェースの持つメソッドを全て定義していることが保証される メソッドのデフォルト実装(Java8以降)は提供できるがインスタンスは生成できない 語弊を恐れずに一言で言うと、特定のメソッドを持った型を定義できるものがインタフェースと考えていいでしょう。 1. ライブラリの外部公開する型として使用する

    Javaにおけるインタフェースの使い道を今一度考える - Qiita
    jagua
    jagua 2018/05/15
  • JavaでもDockerでマルチステージビルド - Qiita

    最小のNode.jsのDockerイメージを目指すスレでNode.jsのマルチステージビルドをやったので、今度はJavaでもマルチステージビルドをやってみます。 Javaは大学1年の授業で書いたっきりで17年ぐらいまともに書いてないし、当時はIntelliJ IDEAはおろか、Eclipseもなくて、NEWS上のEmacsじゃなくてMuleでコードを書いた記憶あります。世間ではVisual Age for Javaとか、シマンテックとかボーランドのIDEとか、Visual J++の時代でしたね。BeOSで動かない言語はこの世に存在しない言語と思っていました。Gradleはかなり良い感じですね(CMakeに比べて)。 src/main/java以下がコード置き場のルートらしいので、その下のhelloパッケージとしてコードをおきます。

    JavaでもDockerでマルチステージビルド - Qiita
  • Java Generics Hell Advent Calendar 2017 - Adventar

    地獄より愛をこめて

    Java Generics Hell Advent Calendar 2017 - Adventar
    jagua
    jagua 2018/05/15
  • golang と Generics と吾 - Qiita

    吾はGoでGenericsがないことに関してはわりと肯定的な立場ではあるのだが、流石に「golang と Generics と私 」の記事の例はどうかと思ったので、畳み込みfold関数を例にGenericsが解決する問題を例示してみようと思う。 なぜfoldかというと、 List<T> の要素を加算して集約する処理を書くなら普通はfoldで実装するし、foldがあればmapもfilterも実装できるので。 javaで畳み込み Stream APIで用意されてるreduceで一発です List<Integer> list = Arrays.asList(1, 2, 3); // listの加算とか畳み込みで一発ですよ int result = list.stream().reduce((a, b) -> a + b).get();

    golang と Generics と吾 - Qiita
  • Big Sky :: golang と Generics と私

    以下の記事は Java について触れていますが、Java を dis っている訳でもありませんし、冗長に見える例を意図的に使っています。 最近 Twittergolang に Generics が無い事についてずいぶんと盛り上がったのですが、僕の意見をこのブログにも書いておこうと思います。 golang に多相が無いのはアレだとか開発者の怠慢だみたいな話はだいたい他の言語を覚えた人から出る感想で、静的型付言語である golang を見ると確かにそう見えるかもしれない。ただ golangJava や他の言語と違って Duck Type を採用している。 — Vim芸人 (@mattn_jp) March 7, 2017 スクリプト言語の多くに多相が求められないのと同じ様に golang を深く触る人達から多相が欲しいという意見がそれほど出ないのは golang の型が Duck

    Big Sky :: golang と Generics と私
  • 録音データをリアルタイムにJNIで処理する最もシンプルなサンプル - Qiita

    Androidにて、録音したデータをリアルタイムに処理する方法について書かれた記事が見つからなかったので書きます。ポイントはリアルタイムですのでJNIを使用します。 先に、今回作成したサンプルの画面(説明を加えたもの)を出しておきます。 リアルタイムに取得した入力データに対して、スライダーの設定値分だけ乗算した結果を返す、というシンプルなサンプルです。 そして、プログラムにおいてもJNIで処理する場合の最もシンプルなサンプルになっていると思います。 以下で説明していきます。 プロジェクトの作成 現在のAndroid Studioのバージョン(2.2.1)では、プロジェクト名の設定を行う画面で、「Include C++ Support」というチェックボックスが表示されていると思いますので、このチェックボックスをオンにします。 (SDK Managerで、CMakeとNDKはインストールしてお

    録音データをリアルタイムにJNIで処理する最もシンプルなサンプル - Qiita
  • JavaのプロダクトをKotlinに移行してみた話 - Qiita

    この記事は Retty Advent Calendar 6日目です。 昨日は圭さん(@r4-keisuke)のAthenaを早速試してみたでした。 最近、巷ではにわかにKotlin人気が高まっていますね。 でもなぜか、KotlinといえばAndroid開発というイメージがあって、あんまり他のプロダクトをKotlinで書く話は聞かないような感じがしています。 Rettyでは、一部でJava製の内部APIが動いているのですが、社内Androidエンジニアに触発されてここ数ヶ月でKotlin化を進めてきました。Kotlin化して良かったことや、気をつけたいことなどをざっくり書きたいと思います。 Kotlin化することを決めた理由 何かの言語で書かれたプロダクトを別の言語に書き換える作業は、一般的には非生産的でかつ時間のかかる作業ですので、書き換えをするにはそれなりの理由が必要です。今回の移行では

    JavaのプロダクトをKotlinに移行してみた話 - Qiita
  • 拙訳 JUnit 5 User Guide - Qiita

    この記事はJava Advent Calendar 2016の 22 日目です。昨日はcactaceaeさんの「MySQL on Fusion-IOのパフォーマンスを引き出すバッチパターン」でした。 タイトルの通り、JUnit 5 Users Guideの拙訳です。 最初はJUnit 5を使って何か面白い記事が書けないかと考えていましたが、なかなか記事を書く時間を取れなかったため、ユーザガイドの中途半端な翻訳で場を凌ぐことにしました。始めの3章しか書けていませんが、近いうちに最後まで仕上げたいと思います。 所々「こう書いた方が読み易いかなー?」と考えながら訳していったため、原文とは対応が取れていないところがあります。ご容赦ください。 また、「これは英語のままの方がわかり易いかも…?」と思いながらも日語に無理やり翻訳した部分が多々ありますので、改善のアドバイスなどいただけると幸いです。 1

    拙訳 JUnit 5 User Guide - Qiita
  • AndroidのfindViewByIdでよくやるキャストとNullチェックをスッキリなコードにしてみた - Qiita

    この記事はJava言語をつかったAndroidアプリの開発に関する記事です。 もうすでにDataBindingやButter Knifeでスッキリしている方は不要な話かもしれません。 findViewById周りでいろいろと面倒ですよね。 returnがNullableなのでLint様の指摘対応したり、キャスト書いたり。 ※一時的にfindViewByIdが@Nullable指定されていたためこんな実装が必要でした。(2018/07/22追記) キャストの括弧の位置とか微妙にめんどいです。 そこでそこらへんをスッキリさせてみたいとおもいまーす。 Android3分クッキング。 Activityをスッキリ3分クッキング ↓Before /** この内容は古くなっています **/ @Override protected void onCreate(Bundle savedInstanceSta

    AndroidのfindViewByIdでよくやるキャストとNullチェックをスッキリなコードにしてみた - Qiita
  • 物理サーバを選定する際のポイント – Eureka Engineering – Medium

    Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.

    物理サーバを選定する際のポイント – Eureka Engineering – Medium
  • JavaerからPythonistaになった時に失敗したこと - Qiita

    初めに これはPyCon JP Advent Calendar 2016の12/2担当記事です。 ほかにも面白い記事があるので、興味がある方はぜひ。 ところどころJavaを記述しているところがあるけれど、久々だから間違ってるかもしれないので、そこは雰囲気で察しながら読んでいただけると幸い。 目的 件名にもある通り、これを読んだ人がJavaer→Pythonistaへの移行をスムーズに行えるように、私が経験した失敗を共有しようと思う。 自己紹介 PyCon JP 2017のメンバー。 PyCon関連での活動でいえば、2015ではトークをしたり、2016ではLTしたりしている。 第一回Python Boot Camp講師もした。 Twitterアカウントは@horobi_gengar 今までの経緯 件名の件について、必要だと思うので簡単に今まで開発で使ってきた言語の説明を最初に。 順番 在籍期

    JavaerからPythonistaになった時に失敗したこと - Qiita
  • Java基礎文法最速マスター - いろいろ解析日記

    Javaの文法一覧です。他の言語をある程度知っている人はこれを読めばJavaの基礎をマスターしてJavaを書くことができるようになっています。簡易リファレンスとしても利用できると思いますので、これは足りないと思うものがあれば教えてください。 1. 基礎 classの作成 プログラムはclassに記述します。たとえばSampleという名前のclassを作る場合、Sample.javaファイル内に次のように書きます。 public class Sample { } mainメソッドの作成 プログラムはclass内のmainメソッドの先頭から実行されます。mainメソッドは次のように書きます。 public class Sample { public static void main( String[] args ) { // 処理を書く } } System.out.printlnメソッド 文

    Java基礎文法最速マスター - いろいろ解析日記
    jagua
    jagua 2012/08/09
  • 1