タグ

Javaに関するkenyuyのブックマーク (71)

  • Javaで最低限おさえておいてほしいクラス・インタフェース35 - 2024年版 - きしだのHatena

    ま、このくらい知っておいてもらわないと&とりあえずこんだけ知ってればだいたいの処理が書けるクラス・インタフェースをまとめてみました。2024年版。 詳しく知りたい人は「プロになるJava」を! java.lang.Class java.lang.Exception <- new java.lang.Integer java.lang.Object <- new java.lang.Runnable java.lang.String java.lang.System java.lang.Thread java.nio.file.Files <- new java.nio.file.Path <- new java.io.InputStream java.io.InputStreamReader java.io.BufferedReader java.io.OutputStream java.

    Javaで最低限おさえておいてほしいクラス・インタフェース35 - 2024年版 - きしだのHatena
    kenyuy
    kenyuy 2024/05/17
  • タイムスタンプの精度を落とすときは切り捨てろ - methaneのブログ

    とあるプロジェクトでナノ秒からミリ秒への変換で四捨五入してきた人がいて、時刻を扱うときは保存精度未満は切り捨てるべきというのが常識になっていないなーと思ったので。 2023-10-01 を、何年か表示する時に、2024年に丸める人はいないだろう。 13:45 が何時か表示する時も、13時と表示するだろう。(口頭で何時?と聞かれたら14時と答えるかもしれないけれど) つまり、ある精度で表した時刻は、実際には次のような半開区間を示しているのである。 2023-01-01 00:00:00 <= 2023年 < 2024-01-01 00:00:00 13:45:00.000 <= 13:45 < 13:46:00.000 そして、そう決めたからには一貫して同じように、指定精度未満は切り捨てというルールを維持しなければならない。秒以下は四捨五入で、とかやってはいけないのだ。 一貫しないと何が問題

    タイムスタンプの精度を落とすときは切り捨てろ - methaneのブログ
  • スレッドセーフな実装について - A Memorandum

    前回 blog1.mammb.com について書いたのでついでにスレッドセーフについても書いとこ。 レースコンディションとは スレッドセーフ化 複合アクション 複合アクションをスレッドセーフにする レースコンディションとは Javaではスレッドを比較的簡単に扱うことができますが、その利用にはいろいろと注意しなければならないことがあります。スレッドは簡単に扱えますが、スレッドの安全性を確保しつつ実行性能を得るのは難しいトピックの一つです。 以下のクラスはスレッドセーフではありません。 public class NotThreadSafe { private long nextLong; public long getNextLong() { return ++nextLong; } } getNextLong()の呼び出しは、複数スレッドからの呼び出しタイミングにより、正しい結果が得られなく

    スレッドセーフな実装について - A Memorandum
  • プログラミング言語をすぐに試せる「プレイグラウンド」まとめ。2024年版

    新しいプログラミング言語やライブラリ、フレームワークを学ぶには、実際にそれらを試して挙動などを見てみることが大事ですが、実行環境を用意するのは手間がかかります。 そこで役立つのが、いわゆる「プレイグラウンド」と呼ばれる、Webブラウザでプログラミング言語やライブラリ、フレームワークをすぐに試すことができるサービスです。 主要なプログラミング言語の公式サイトには、実際にその言語をすぐに試せるプレイグラウンドが用意されていることも多く、また公式サイト以外にもネット上にはさまざまなプレイグラウンドがあります。 プレイグラウンドを使えば、気軽にいろんなプログラミング言語やライブラリ、フレームワークを試せます。 この記事ではそうしたプレイグラウンドをまとめてみました。ここで紹介したプレイグラウンドの他にも、あなたのお気に入りのプレイグラウンドがあればX/Twitterやブックマークのコメント、メール

    プログラミング言語をすぐに試せる「プレイグラウンド」まとめ。2024年版
  • 継承はなんでダメ? - まめめも

    「オブジェクト指向の継承を使うな」という主張が広まっているようです。なんでダメになったんでしょうか。 インターネットで見かけた「継承はダメ」という主張をいくつか眺めて、友人と議論しつつ、考えてみました。 「コードが読みにくくなる」 継承があると、メソッド呼び出しが実際にどのメソッド定義を呼び出すのか字面でわからない。 デバッガを使って、親クラスのメソッドに飛んだり、子クラスに飛んだりするのを追いかけないと行けない。 つらい。という主張。 めっちゃわかる。わかるんですが、これは「高度に共通化されたコードは読みにくい」という一般的な側面がかなり大きいような。 たとえば継承の代わりに高階関数を使うと、関数呼び出しがどのクロージャに飛ぶか字面でわからなくなる。 ひどいとコールバック地獄になって何が何やらになります。 継承がことさらにまずい理由を想像すると、すべてのメソッド呼び出しがポリモーフィック

    継承はなんでダメ? - まめめも
  • モダンブラウザで動作するWebAssemblyベースのJVM「CheerpJ 3.0」が登場

    Leaning Technologiesは2024年2月1日(米国時間)、モダンブラウザで動作するWebAssemblyベースのJava仮想マシン(JVM)である「CheerpJ 3.0」の提供を開始したと発表した。 CheerpJ 3.0は、Java 8との幅広い互換性を持ち、Javaアプリケーション、アプレット、ライブラリ、Java Web Start/JNLPアプリケーションを、プラグインなしでブラウザで実行するためのランタイム環境を提供する。 JavaバイトコードをJavaScriptに変換するJITJust-In-Time)コンパイラと、OpenJDKに基づくJava SE 8(Java Platform, Standard Edition 8)ランタイムという2つのコンポーネントの組み合わせで、いずれもC++で書かれており、Cheerpを使ってWebAssemblyJava

    モダンブラウザで動作するWebAssemblyベースのJVM「CheerpJ 3.0」が登場
  • XWiki - The Advanced Open Source Enterprise and Application Wiki (XWiki.org)

  • 【超初心者向け】DBUnit超入門 - Qiita

    はじめに 今回は、プログラム開発では大活躍!単体テストで使用できるフレームワーク、「DBUnit」の使い方を紹介します。 DBUnitとは、Javaで使用するテスティングフレームワークの一つなのですが、筆者が勉強した感じでは、記事が古かったり、それだけで完全に事足りるwebが少ないように見受けられたので、筆者の備忘と、この記事をご覧いただいた方への共有も兼ねて、こちらにまとめておきます。 参考としてwebに資料を記載いただいている優しい方も、たくさんいらっしゃるんですけどねorz 1. DBUnitとは 先にも記載しましたが、DBUnitとは、Javaプログラムのテスティングフレームワークの一つです。 テスティングフレームワークと聞くと、XUnitを想像されるかと思います。 今回の対象はJavaで実装したプログラムですから、よく使用するのはJUnitですが、DBUnitもJUnitと一緒に

    【超初心者向け】DBUnit超入門 - Qiita
  • JavaFX: JavaFXスタート・ガイド リリース8 - 目次

    Oracle | Hardware and Software, Engineered to Work Together

  • JavaFX 2 TableViewを使うメモ

    サンプルプログラムの作成 JavaFXのドキュメント「Using JavaFX UI Controls(英語)」の13章 Table View にあるチュートリアルを参考に、少し応用を加えたものを作成します。 NetBeansで新規プロジェクトを作成 NetBeansの[ファイル]メニュー>[新規プロジェクト]を選択し、カテゴリ[JavaFX]から[JavaFX FXMLアプリケーション]を選択します。 プロジェクト名:TableSample FXML名:TableSample とし、あとはデフォルトのままで作成します。生成されたプロジェクトツリーを次に示します。 シーンビルダーで画面レイアウト作成(TableSample.fxml) プロジェクトツリー上でTableSample.fxml をダブルクリックすると、シーンビルダーが起動し、雛形の画面が表示されます。 左側ペインの階層を見ると

  • JavaFXでのコンボボックスの使い方メモ : officina_hideのblog

    JavaFXでのコンボボックスの使い方についてメモをまとめた。 ・コンボボックスの指定 ComboBox<String> selectCombo = new ComboBox<String>(); ※総称型なので、とりあえずは<string>とする。<?>で何でもOKとすることも出来るが、これは避けたい。 ・項目の挿入①一括して指定する場合。ObservableList(監視可能なリスト)として一括登録する場合 ObservableList<String> item = FXCollections.observableArrayList(    "test1",    "test2");ComboBox<String> selectCombo = new ComboBox<String>(item); コントロールに追加する場合 selectCombo.getItems().addAll(

    JavaFXでのコンボボックスの使い方メモ : officina_hideのblog
  • mybatis – MyBatis 3 | Java API

    前章までで、設定方法と SQL マップの書き方は学びました。MyBatis Java API は、今までの努力が実を結ぶところです。この章を読めば、JDBC と比べると、MyBatis によってコードが大幅に単純化され、クリーンで理解しやすくメンテナンスも容易な状態を保つことができるということが分かると思います。 ディレクトリ構造 Java API の説明に入る前に、ディレクトリ構造に関するベストプラクティスを理解しておくことが重要です。MyBatis は柔軟で、基的にファイルは好きな場所に配置することができますが、多くのフレームワークと同様に推奨される構成があります。 典型的なアプリケーションのディレクトリ構造を見てみましょう。 /my_application /bin /devlib /lib <-- MyBatis *.jar ファイルはここに配置します。 /src /org/my

    kenyuy
    kenyuy 2023/11/16
  • javaFX Sqliteデータベースを作る

    データベースファイルの保存は管理しやすい場所でかまいませんが、ここでは設定を、以下のコードのように 「c:/SQLite/sample.DB」とすることにします。 「Sqlite」はプログラムの実行と同時に指定されたデータベースファイルの存在を、判断してくれます。 もしファイルが存在しない場合は、指定のファイルを自動生成してくれます。 ただし条件があり、テーブルを作成するコードに ”if not exists”文の挿入は必須になります。 SqliteDB.java package sample.DB; import java.sql.*; import javax.sql.rowset.CachedRowSet; import javax.sql.rowset.RowSetFactory; import javax.sql.rowset.RowSetProvider; public cla

  • 【JavaFX】Oracleに接続して取得したデータをコンボボックスに設定する | ドラブロ – let bygones be bygones –

    ライブラリの追加Oracle からデータを取得するために、ライブラリを追加します。 パッケージ・エクスプローラーからプロジェクトを右クリックし、「プロパティ」を開きます。 外部 JARの追加「Javaのビルドパス」メニューを選択し、「ライブラリー」タブを表示、 「外部 JAR の追加」ボタンをクリックします。 外部ファイルの選択ファイル選択ダイアログが表示されるので、 Oracle のインストールディレクトリから対象のファイルが格納されているフォルダを開きます。 デフォルト(Oracle 11g XE)の場合は次の場所に格納されています。

    【JavaFX】Oracleに接続して取得したデータをコンボボックスに設定する | ドラブロ – let bygones be bygones –
  • その例外、いつキャッチするの?

    はじめに 最近、若手のコードレビューをしていて例外の使い方を教える機会があったので、ブログの方にもまとめたいと思います。今回はバッチ編。オンラインだとまた少し違う観点があると思います。また、言語はJavaを前提していますが考え方は例外機構をもつ言語ならあまり変わりません。 TL;DR 例外は原則キャッチしない。バッチは速やかに殺せ 個別箇所でログを出さずに必要な業務情報はExceptionを入れ子にして乗せる 長いバッチのためにはスキップもやむなし 原則、例外はキャッチしない JavaにはErrorとExceptionが存在し、OutOfMemoryErrorとかプログラム上ではどうしようもないものがエラー、ファイルが存在しない(FileNotFoundException)とかプログラム側でハンドリングするもの、と教科書では習うと思います。なのでException系はキャッチするものと、と

    その例外、いつキャッチするの?
  • JavaFX CSSリファレンス・ガイド

    目次 概要 CSSおよびJavaFXシーングラフ Scene、Parent、SubSceneの各スタイルシート ネーミング規則 CSSパブリックAPI 継承 @ルール 例 パーサーの警告について 制限事項 タイプ 継承 <boolean> <string> <number> & <integer> <size> <length> <percentage> <angle> <duration> <point> <color-stop> <uri> <effect> <font> <paint> <color> ステージ javafx.stage PopupWindow ノード javafx.scene Group Node Parent Scene javafx.scene.image ImageView javafx.scene.layout AnchorPane BorderPane D

    JavaFX CSSリファレンス・ガイド
  • JavaVM監視・解析ツール HeapStatsを使ってみた | Casley Deep Innovations株式会社 技術ブログ

    こんにちは!SI部の満石です。 以前、仕事JRockit Flight Recorder(現在OracleJDKに付属しているJava Flight Recorderの元になったもの)を使ったことがあり、最近出てきたHeapStatsにも興味があって使ってみたのでご紹介します。 HeapStatsとは NTT OSSセンタが開発したOSS(Open Source Software)であり、HeapStatsの日語Wikiには以下のとおりに書かれています。 HeapStats とは、JavaVM のヒープやGC状況を監視する軽量なツールで、エラーの兆候を検知してSNMPのようなリアルタイムなアラートを発します。生成するログはかなり小さいもので、GUIツールで解析することができます。HeapStatsは、次の二つのプログラムで構成されます: エージェント(agent) – JavaVMの情

    JavaVM監視・解析ツール HeapStatsを使ってみた | Casley Deep Innovations株式会社 技術ブログ
  • JavaFXプログラム集

    JavaFX使いかた JavaFXを使って服の3Dシュミレーションアプリを作っています。 Java 楽天 Swingは使ってきましたがFXは初めてなので、作りながら覚え書きを作ってゆきます。 JavaFX楽天 の用途別プログラムを載せています 地形シミュレーション  2020-07-06 10:26:44 JavaFXを使って土地が水に削られる様子をシミュレートしてみました。 AnimationTimerとTimelineの違い  2020-03-16 14:34:57 JavaFXでアニメーションを描画するために入れる割込み、AnimationTimerとTimelineのサンプルサンプルプログラムです。 フリーソフトに広告  2020-01-20 08:37:43 PC上で動く自作のフリーソフト、従来はシェアウエアという形で課金が一般的でしたが、広告を挿入して収益を出す方法を考えました

    JavaFXプログラム集
  • H2 Databaseを組込みモードで使ってみたメモ : mwSoft blog

    H2とはあだ・・・いや、なんでもない。組み込みとしてもサーバとしても使えるJava製データベース。 組み込みで使うSQLというとSQLiteがメジャーだけど、JavaScalaのプログラムに組み込む場合はH2を見かけることもけっこうある。 速度面もそれなりに良い感じだったり、同時アクセスに対してもそれなりに対処できるようなので、ちょっとしたDB操作を伴うScalaのアプリを作ろうとした際に利用できそうに見える。 とりあえず公式サイトからダウンロードできる。 http://www.h2database.com/html/main.html ライセンスはMozillaとEclipseのライセンスが使えるらしい。 JavaなのでMavenでも落とせる。この辺りは導入が楽でいい。SQLiteも同じ感じで導入できるけど。 <dependency> <groupId>com.h2database</

  • Javaのユニットテスト・ライブラリ・ツールまとめ - Qiita

    #テストの必要性 以前のシステム開発と言えば、ウォーターフォールのような要件から設計、実装、テストのような徐々に作業を細分化し最後にテストを行う手法が主流、というかSierとかでは基今でもこの手法が多いはず。 しかし、現在はアジャイル開発の普及にともない、TDD、BDDに代表されるようなテスト重視の開発スタイルが増加している。 その中で実際テストコードを書いてみようとすると、Javaではテストフレームワークやツール、ライブラリ等が多数あり、どれを選択すべきか悩みどころになってくる。 ここではそれらを整理するため、Javaのテストコードを書くときに必要な情報をまとめておきます。 #どれを使うか・・・ 個人的には、どれを使いうかと考えた時に以下に注意している。 簡単、シンプル テストコードをするために、時間がかかり過ぎたり、可読性が低下したり、ロジックがあまり複雑になるようなものは避ける。

    Javaのユニットテスト・ライブラリ・ツールまとめ - Qiita