JAVA関連のことを調べてみた2021年08月02日

JAVA関連のことを調べてみた2021年08月02日

TomcatとJerseyでトランザクション管理してみる

# はじめに

Tomcat + Jersey という構成の Web アプリケーションの動作を理解するために、[Tomcat Embed](https://mvnrepository.com/artifact/org.apache.tomcat.embed) を使って実験をしていきます。
いまどきこんな構成で開発を始めることは少ないかと思いますが、レガシーソフトウェアと戦う人たちの助けになれば幸いです。

## 関連記事の一覧(予定)

– [埋め込みTomcatでJerseyを動かしてみる](https://qiita.com/atti/items/fa3843f75c4bd669059a)
– [HK2でDIしてみる](https://qiita.com/atti/items/3f6f43c5168323344427)
– [BeanValidationで入力値検証してみる](https://qiita.com/atti/items/2267a4b52b033dfabcca)
– TomcatとJerseyでトランザクション管理してみる ← イマココ

## リポジトリ

http

元記事を表示

デザインパターン勉強会⑦Builder

はじめに

ZOOM勉強会の議事録です。
第7回はBuilderパターンです。

Builderパターン

オブジェクトの生成における呼び出すメソッドの順序と具体的な生成メソッドの分離をします。
分離することにより、オブジェクト生成の順序を使い回すことができます。
特に、コンストラクタの引数が多いときに有効です。

ビルダーパターンの役割は以下です。

  • Builder
  • 一つのBuilderに依存しないようにするインタフェース、建築材料を持っている

  • ConcreteBuilder
  • インスタンス生成時に使用するメソッドの具体的な実装

  • Director
  • 設計図のようにインスタンス生成時の順序を知っている、材料を組み上げる役割

  • Client
  • ビルダーパターンを利用してオブジェクトを生成するコード

今回はRefactoring.GuruのJ

元記事を表示

CodeSignal – firstNotRepeatingCharacterにチャレンジ

コーディングしなさすぎてコーディングを忘れたエンジニアがコーディングを思い出すためにコーティングします。
今回は、アメリカのコーデイング練習サイトCodeSignalの問題「firstNotRepeatingCharacter」を解いていきます。
サイトによると、この問題はAmazonの面接で出されたことがあるようです。

##問題
“abacabaed”のような文字列sが渡されるので、最初に出てくる重複していない文字を探します。
上の例だと、重複していないし最初に出てくるのでcが答えです。

もし重複している文字がない場合は、’_’を返します。

##考え方・解説
最初は単純に、文字を一つずつループして、もう一つループを回して他の文字と比較し、重複がない文字を探す方法が浮かびました。
しかしこの方法で回答すると、実行時間超過でテストが一部通りませんでした。

そこで、この解き方の無駄を探すと、それぞれのループで全ての文字をチェックしていたので、重複した文字を何度も比較してしまっていることに気づきました。
たとえば、文字列の中にaが1000回あれば、2回目のaでその文字は重複しているた

元記事を表示

【Java】新卒が初めてのコードレビューで受けた指摘5選

## はじめに

新卒でSIerのJavaプログラマとして働き始めて2ヶ月が経ちました。
忙しい中、自分の拙いコードを見てくださる先輩方には感謝しかありません。

今後同じ指摘を受けないように、コードレビューでの指摘をまとめようと思います。

## ①Nullぽを起こさないようにチェックを入れる。

“`Java
Customer customer = getCustomer(request);
System.out.println(“ようこそ、” + customer.getName() + “さん”);
“`

もしgetCustomerで顧客情報が取得できなかった場合、customerはnullとなり、getNameメソッドを呼び出す時点でヌルポが発生します。

Nullチェックするときは、CollectionUtils.isEmptyとか、StringUtils.isEmptyとかを使いましょう。

https://qiita.com/mtanabe/items/fdfd304e461fd50e10ff

https://qiita.com/mtanab

元記事を表示

Javaで経過日数を計算したい

Javaで経過日数を計算したい場合、もっともシンプルなのは`LocalDate`と`ChronoUnit`を利用するものです。

“`java
public static long diff(LocalDate localDate1, LocalDate localDate2) {
return ChronoUnit.DAYS.between(localDate1, localDate2);
}
“`

しかしライブラリや開発環境の都合上、`Date`や`Calendar`を利用せねばならないということもあります。この場合、`Date`や`Calendar`を`LocalDate`に変換してしまうのがもっともわかりやすいと思います。

“`java
public static long diff(Date date1, Date date2) {
LocalDate localDate1 = date1.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
LocalDate localDate

元記事を表示

文字列の出現回数を数えたい

特定の文字列の出現回数を数えたい場合、たとえばPythonだと

“`
$ python3
Python 3.8.5 (default, Jul 28 2020, 12:59:40)
[GCC 9.3.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>> “AABABAAAB”.count(“AB”)
3
“`

というように、非常に簡単に書けるのですが、Javaでは一工夫が必要になります。

“`java
public static int count(String string, String target) {
int i = -1;
int c = 0;
while ((i = string.indexOf(target, i+1))!=-1) c++;
return c;
}
“`

実際に使ってみると、次のようになります。

“`java
System.out.println(count(“AABABAAAB”,

元記事を表示

【俺的】COBOL→Java言語移行ガイド(導入)

## はじめに

__検証環境__
PC: MacBook Air(mid2020)
OS: macOS Big Sur 11.5.1
COBOL: GnuCOBOL 3.1.2.0
C: 12.0.5 (`gcc -dumpversion`の結果)

Javaのタグを付けましたが、今回はあまり関係ありません。

## COBOLからJavaへの移行について

COBOLが生まれてから60年以上たった今、COBOLを採用している企業の一部では、Javaなどオープン系言語へのマイグレーションが進みつつあります。
実際ググると、なぜマイグレーションが進んでいるのかはあちこちに書かれているのですが、自身で調べたことや考えを、勉強としてまとめてみようと思います。
また、別記事(後日)では、COBOLとJavaで書き方がどう変わるのかも書いてみようと思います。

## なぜCOBOLからJavaへの移行が進むのか

これにはいくつか理由があります。

### 1. COBOLの運用ができる人がいない

このご時世、入社していきなり「私COBOLできます!」なんて人は超超稀ではないでしょうか。自分

元記事を表示

@JvmStaticと@JvmFieldをobject(またはcompanion object)のフィールドに付与した場合の違いについて

基礎的な部分にはなりますが、一瞬迷ってしまうのでいろんなパターンを試してみました。

## JvmStaticアノテーション
・メソッドに付与すると、INSTANCE・Companionオブジェクトを経由せずアクセスできるようになる。
・フィールドに付与すると、getter/setterを作成してくれる。

## JvmFieldアノテーション
・メソッドに付与はできない。(構文エラーが出ます。)
・フィールドに付与すると、INSTANCE・Companionオブジェクトを経由せずアクセスできるようになる。

## 上記を踏まえて

とりあえず使ってみました。

適当なフィールドを持つクラスを作成。
JvmTestKotlinObject.ktの方はobjectキーワードで定義しているので、それ自体がシングルトン。
JvmTestKotlinClass.ktの方はclassキーワードで定義しcompanion objectを宣言しているので、シングルトンを内包しているクラスです。

“` JvmTestKotlinObject.kt
object JvmTestKotlinObj

元記事を表示

NLP4J – 構文解析した結果からキーワードを抽出する

[Index](https://qiita.com/oyahiroki/items/ba79a759c599d3459d29)

# 構文解析した結果からキーワードを抽出する例

「車が高速道路で急に停止した。エンジンから煙がもくもくと出た。」
という文から
「なにがどうした(名詞 … 動詞)」
の関係を抽出することにしてみます。

日本語話者であれば
「車が … 停止する」
「煙が … 出る」
という関係を見つけ出すことができると思います。これを自然言語処理で行ってみたいと思います。

ここでいう「キーワード」は「切り出したい意味のある文字列」です。

# 構文解析をする

構文解析のエンジンとして、構文解析器として著名な「Cabocha」を利用します。
NLP4JでCabochaを利用する方法については以下の記事で紹介しております。
[NLP4J – Java で構文解析(Cabochaを利用)](https://qiita.com/drafts/b6e68e1f4e3925dc6d6a)

Cabochaで処理を行った結果、以下のような係り受け解析の結果(=構文解析

元記事を表示

Java開発の技術用語

# Javaサーブレット
・webサーバー上(バックエンド)で動くJavaプログラム

“`サーブレットのコード(HelloWorld.java)
import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class HelloWorld extends HttpServlet {

public void doGet(HttpServletRequest request,

HttpServletResponse response)

throws ServletException,IOException {

response.setContentType(“text/html;charset=Shift_JIS”);

PrintWriter out=response.getWriter();

out.println(“”);

out.println(“Hell</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Java</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/natu_kumo_/items/1f9a6d1e25f038d571fe'>元記事を表示</a></div> <h3 id="outline__2_0_9"><a href='https://qiita.com/yuu1998/items/9bf1700e803a2f2cf4d5'>Java独習(第6章)</a></h3> <blockquote><p>この記事ではJava独習の第6章(コレクションフレームワーク)についてのまとめを行います。<br /> コンテンツは以下の通り<br /> <b>・コレクションフレームワークの基本<br /> ・リスト<br /> ・セット<br /> ・マップ<br /> ・スタック/キュー</b></p> <p>6-1 コレクションフレームワークの仕組み<br /> コレクション=オブジェクトの集合を表す仕組み<br /> 配列との違いは以下のようなものがあげられる<br /> ・既知のデータ構造やアルゴリズムを取り込むことができパフォーマンスが高い<br /> ・共通的な操作をインターフェイスとして定義しているのでデータ構造やアルゴリズムにとらわれず同じように操作可能<br /> Collectionのサブインターインターフェイスとして以下のようなものがある<br /> ・リスト(順序を持ち重複OK)-ArrayListとLinked List<br /> ・セット(重複NG)-hashSetとLinkedHashsetとTreeSet<br /> ・マップ(キーと値の組み合わせで管理)-HahsMapとTreeMap<br /> ・スタック/キュー(戦闘と末尾の追加や削除が可能)-ArrayDequeとLinkedList</p> <p>コレクションのインターフェイス化は<br /> <b><br /> インターフェ</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Java</div> <div class='tag-cloud-link'>メモ</div> <div class='tag-cloud-link'>Java入門</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/yuu1998/items/9bf1700e803a2f2cf4d5'>元記事を表示</a></div> <h3 id="outline__2_0_10"><a href='https://qiita.com/yyukawa/items/44ef24f51649e6c5e299'>Java再入門 第2回 モジュールシステムとクラスパス、Gradle</a></h3> <blockquote><p>Java 9に導入されたモジュールシステムについて、モジュールシステムの登場以前のクラスパスの世界を振り返りながら、Gradleを使っている場合の話も含めて整理してみようと思います。</p> <p># モジュールとは何か</p> <p>複数のパッケージを関連するもので固めてグループ化したものです。<br /> モジュールシステムによって以下が実現されました。</p> <p>– 依存関係の明確化: モジュール同士の依存関係を宣言するので、依存性をモジュール単位で検証できます。<br /> – 公開範囲の設定: モジュール内のパッケージは明示的にエクスポートされたもののみが他のモジュールからアクセスできます。</p> <p># モジュールシステムの登場以前のクラスパスの世界</p> <p>まずはモジュールシステムの登場以前のクラスパスの世界を確認しておこうと思います。<br /> 古い時代からある話なので、古いドキュメントを参照してみましょう。</p> <p>– [Java5の公式資料:クラスの検索方法](https://docs.oracle.com/javase/jp/1.5.0/tooldocs/findingclasses.html)<br /> – [Java5の公式資料:クラスパスの設定](ht</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Java</div> <div class='tag-cloud-link'>gradle</div> <div class='tag-cloud-link'>Java入門</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/yyukawa/items/44ef24f51649e6c5e299'>元記事を表示</a></div> <h3 id="outline__2_0_11"><a href='https://qiita.com/kaburankattara/items/cdc05a1db4a02afe8fe5'>Gradleでjavaをビルドする際、ユニットテストをスキップする方法</a></h3> <blockquote><p># 経緯<br /> 実装途中でも、検証環境で一部機能を確認したいことがあったので、<br /> ビルド時に実行されるユニットテストをスキップしてビルドを実行しました。</p> <p># 対応内容<br /> 普段実行しているgradle buildに「-x test」を付加してビルドを実行します。</p> <p>“`<br /> gradle build -x test<br /> “`</p> <p># 参考文献</p> <p>http://gradle.monochromeroad.com/docs/userguide/userguide_single.html </p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Java</div> <div class='tag-cloud-link'>gradle</div> <div class='tag-cloud-link'>spring-boot</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/kaburankattara/items/cdc05a1db4a02afe8fe5'>元記事を表示</a></div> <h3 id="outline__2_0_12"><a href='https://qiita.com/penguinsan/items/4b12cfcc395555f38f1a'>Redisを使って排他制御を行う(タイムアウト考慮版)</a></h3> <blockquote><p>:::note info<br /> この記事は以下の記事の続きです。先に前の記事を読むことをお勧めします。<br /> :::</p> <p>https://qiita.com/penguinsan/items/198cddec3552cb522a4c</p> <p>今回は前に投稿した上記記事の最後で指摘したロックがタイムアウトした場合に起こる問題を解消します。</p> <p># 1.仕組み</p> <p>簡易版での問題はロックのタイムアウト時間より処理が長くなってしまった場合、その長くなってしまった処理が最後に自分のロックしたものでないキーを削除してしまうことで意図せずロックが解除されてしまうということでした。</p> <p>なのでロックを解除する際に自分のかどうかを調べて、自分の獲得したロック出なかった場合は削除しないようにすれば解決します。</p> <p>## 1.1.NG例</p> <p>実は既に前回のプログラムでも自分の獲得したロックかどうかの値はUUIDとしてロックキーに対応する値として入れてあります。<br /> なので、ロックをリリースしている箇所[net.penguinsan.redis.MutexRedisService](https://github.com/penguinsa</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Java</div> <div class='tag-cloud-link'>Redis</div> <div class='tag-cloud-link'>排他制御</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/penguinsan/items/4b12cfcc395555f38f1a'>元記事を表示</a></div> <h3 id="outline__2_0_13"><a href='https://qiita.com/tamamura3/items/b262846d43ebc1acd754'>CodeSignal – firstDuplicateにチャレンジ</a></h3> <blockquote><p>コーディングしなさすぎてコーディングを忘れたエンジニアがコーディングを思い出すためにコーティングします。<br /> 今回は、アメリカのコーデイング練習サイトCodeSignalの問題「firstDuplicate」を解いていきます。<br /> サイトによると、この問題はGoogleの面接で出されたようです。</p> <p>##問題<br /> [2, 1, 3, 5, 3, 2]のような数値配列が渡されるので、左から見ていって最初に重複した数値を探します。<br /> 最初というのは、上の例なら、左から見ていくと3の重複が最初に検知できるので、答えは3です。</p> <p>たしかに2も重複していて、1個目の2は配列の冒頭で登場しますが、2個目の2が出てくる前に3の重複が見つかるので、答えは2ではありません。</p> <p>もし配列の中に重複した数値がなければ-1を返します。</p> <p>その他、配列をaとするとこんな制約があります。<br /> 1 ≤ a.length ≤ 10^5<br /> ⇨配列の要素数は1以上10,000以下<br /> 1 ≤ a[i] ≤ a.length<br /> ⇨配列内の数値は1以上、配列の要素数以下<br /> たとえば[2, 2]なら、配列の要素数は2なので、中の数値も2以下(1か2)になり</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Java</div> <div class='tag-cloud-link'>codesignal</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/tamamura3/items/b262846d43ebc1acd754'>元記事を表示</a></div> <h3 id="outline__2_0_14"><a href='https://qiita.com/Naabbb/items/c5a5a6cf0369806243ba'>自分用Webコンテンツコピペ</a></h3> <blockquote><p> “`jsp:index.jsp<br /> /*<br /> “`</p> <p>“`java:CreateControllers.java<br /> package controller;<br /> import java.util.HashMap;<br /> public class CreateControllers {<br /> public HashMap<String,"Name"Controller> newControllers(){<br /> HashMap<String,"Name"Controller> map = new HashMap<String,"Name"Controller>();<br /> “Name”Controller “name”Obj = new “Name”Controller();</p> <p> map.put(“action_param”, “name”Obj );</p> <p> return map;<br /> }<br /> }<br /> “`</p> <p>“`java:servlet.java<br /> package servlet;</p> <p>import java.io.IOException;<br /> import java.sql.SQLException;<br /> impor</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Java</div> <div class='tag-cloud-link'>JSP</div> <div class='tag-cloud-link'>controller</div> <div class='tag-cloud-link'>servlet</div> <div class='tag-cloud-link'>DAO</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/Naabbb/items/c5a5a6cf0369806243ba'>元記事を表示</a></div> <h3 id="outline__2_0_15"><a href='https://qiita.com/Erica_Lu/items/2a92ea9b8a4cc0a128fd'>Win10命令行快速安装JDK环境</a></h3> <blockquote><p>[TOC]<br /> ## #主要内容<br /> 用scoop包管理自动下载安装jdk,自动配置环境,一键安装(把里面命令跑一遍就行了)♂</p> <p>## #需要工具<br /> 1. Powershell(自带可)<br /> https://docs.microsoft.com/zh-cn/powershell/<br /> 2. 包管理命令行工具 Scoop (命令行安装)<br /> https://github.com/lukesampson/scoop</p> <p>## #安装包管理工具Scoop<br /> 1.配置Scoop本体安装路径<br /> ·(Win10)按下Crl+X,点击 **Windows Powershell** ,打开Powershell<br /> ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/99696/b7e824d7-3058-b475-89f7-3eb9344a1cee.png)<br /> · 然后执行下面步骤的代码配置 *Scoop命令行程序* 的安装路径</p> <p>“`<br /> $env:SCOOP=’D:\Applications\Scoop’ #修改这</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Java</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/Erica_Lu/items/2a92ea9b8a4cc0a128fd'>元記事を表示</a></div> <h3 id="outline__2_0_16"><a href='https://qiita.com/takaakitanaka_cre-co/items/347b5d5a019093bbf278'>SpringBootにおけるレイアウト</a></h3> <blockquote><p>## 本日の内容<br /> – レイアウト機能を用いて画面を構成するため必要な知識の備忘録<br /> – Thymeleafのレイアウト機能を用いて完成させる<br /> – 共通レイアウトとしてヘッダー、フッター、サイドバーを用意し、個別画面の内容を出力する<br /> – レイアウト機能を利用した画面は保守性、拡張性に優れている</p> <p>## 画面イメージ<br /> ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1715093/88ff2bc4-d581-8ec5-841d-9b0ec254697f.png)</p> <p># レイアウト画面について<br /> – レイアウトのhtmlにレイアウトとして使用するという宣言をする<br /> – ヘッダー、フッター、サイドバー、コンテンツのスペースを確保するイメージ</p> <p>“`html<br /> <!DOCTYPE html><br /> <html xmlns:th="http://www.thymeleaf.org" th:fragment="layout(body)"><br /> <head><br /> <meta charset="UTF-8"> <link th</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Java</div> <div class='tag-cloud-link'>HTML</div> <div class='tag-cloud-link'>Thymeleaf</div> <div class='tag-cloud-link'>spring-boot</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/takaakitanaka_cre-co/items/347b5d5a019093bbf278'>元記事を表示</a></div> <h3 id="outline__2_0_17"><a href='https://qiita.com/fredic092/items/22d794c9b42f8f177d90'>Javaの外部ライブラリーが動かない!</a></h3> <blockquote><p># Java初心者による備忘録</p> <p>Javaを独学している際に、躓いた点を記述しておきます。</p> <p>##外部ライブラリーの利用の注意点</p> <p>外部の*.jarファイルのライブラリーを利用したい\*.javaファイルと同じフォルダにコピーするだけでは利用できない。クラスパスの設定をしなくてはいけないからだ。さらに、クラスパスを指定する際に、\path\\*.jarのように\*.jarファイルを直接指定しないといけない。</p> <p>###クラスパスの指定</p> <p>1. javacやjavaコマンド実行時に -cpオプションとをつける。<br /> 2. 環境変数CLASSPATHに宣言する</p> </blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Java</div> <div class='tag-cloud-link'>Java入門</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/fredic092/items/22d794c9b42f8f177d90'>元記事を表示</a></div> <h3 id="outline__2_0_18"><a href='https://qiita.com/yuu1998/items/c4241cc3521d2e981d02'>Java独習(第5章前半)</a></h3> <blockquote><p>Java独習5章 -標準ライブラリ-<br /> <b><br /> ・ラッパークラス<br /> ・文字列の操作<br /> ・正規表現<br /> ・日付と時刻の表示<br /> ・ストリーム<br /> ・その他<br /> </b></p> <p>5-1 ラッパークラス<br /> <b>ラッパークラス=値に過ぎない基本型のデータを包み込んで(ラップして)オブジェクトとしての機能を付与するクラス</b><br /> 大体は小文字の頭を大文字にしただけ<br /> 違いのはchar(Character)とint(Integer)くらい<br /> しかし、一般的にはラッパークラスを使うときはコレクションに対して数値をセットするなどだけでまず基本型<br /> 基本型→ラッパークラスはボクシング(Boxing)という。逆はアンボクシング<br /> ボクシング</p> <p>“`<br /> Integer int_obj = 108;<br /> “`</p> <p>アンボクシング</p> <p>“`<br /> int i = int_obj;<br /> “`<br /> そもそもボクシング(2つ合わせてオートボクシング)は避けるべき</p> <p>数値から文字列変換</p> <p>“`<br /> Java<br /> System.out.println(Integer.parseInt(“108”)); //結果は108<br /> System.out.println(Double.pa</p></blockquote> </blockquote> <aside class='widget widget-post'> <div class='tag-cloud-link'>Java</div> <div class='tag-cloud-link'>メモ</div> <div class='tag-cloud-link'>Java入門</div> </aside> <div><a style='width:100%;' class='btn__link' href='https://qiita.com/yuu1998/items/c4241cc3521d2e981d02'>元記事を表示</a></div> </div> </section> <!-- 記事下シェアボタン --> <aside> <ul class="socialList"> <li class="socialList__item"><a class="socialList__link icon-facebook" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fmiofactor.com%2F2021%2F08%2F02%2Fpost-11690%2F&t=JAVA%E9%96%A2%E9%80%A3%E3%81%AE%E3%81%93%E3%81%A8%E3%82%92%E8%AA%BF%E3%81%B9%E3%81%A6%E3%81%BF%E3%81%9F2021%E5%B9%B408%E6%9C%8802%E6%97%A5" target="_blank" title="Facebookで共有"></a></li><li class="socialList__item"><a class="socialList__link icon-twitter" href="http://twitter.com/intent/tweet?text=JAVA%E9%96%A2%E9%80%A3%E3%81%AE%E3%81%93%E3%81%A8%E3%82%92%E8%AA%BF%E3%81%B9%E3%81%A6%E3%81%BF%E3%81%9F2021%E5%B9%B408%E6%9C%8802%E6%97%A5&https%3A%2F%2Fmiofactor.com%2F2021%2F08%2F02%2Fpost-11690%2F&url=https%3A%2F%2Fmiofactor.com%2F2021%2F08%2F02%2Fpost-11690%2F" target="_blank" title="Twitterで共有"></a></li><li class="socialList__item"><a class="socialList__link icon-line" href="http://line.naver.jp/R/msg/text/?JAVA%E9%96%A2%E9%80%A3%E3%81%AE%E3%81%93%E3%81%A8%E3%82%92%E8%AA%BF%E3%81%B9%E3%81%A6%E3%81%BF%E3%81%9F2021%E5%B9%B408%E6%9C%8802%E6%97%A5%0D%0Ahttps%3A%2F%2Fmiofactor.com%2F2021%2F08%2F02%2Fpost-11690%2F" target="_blank" title="LINEで送る"></a></li></ul> </aside> <!-- /記事下シェアボタン --> <!-- 記事下エリア[widget] --> <aside class="widgetPost widgetPost-bottom"><aside class="widget widget-post"><h2 class="heading heading-primary">タグ</h2><div class="tagcloud"><a href="https://miofactor.com/tag/%e3%81%9d%e3%81%ae%e4%bb%96/" class="tag-cloud-link tag-link-13 tag-link-position-1" style="font-size: 8pt;" aria-label="その他 (1個の項目)">その他</a></div> </aside></aside> <!-- /記事下エリア[widget] --> <!-- 関連記事 --> <aside class="related"><h2 class="heading heading-primary">関連する記事</h2><ul class="related__list"> <li class="related__item"> <a class="related__imgLink" href="https://miofactor.com/2020/05/27/post-5171/" title="Python関連のことを調べてみた2020年05月27日"> <img src="https://miofactor.com/wp-content/uploads/2019/10/python-150x150.png" alt="Python関連のことを調べてみた2020年05月27日" width="150" height="150" > </a> <h3 class="related__title"> <a href="https://miofactor.com/2020/05/27/post-5171/">Python関連のことを調べてみた2020年05月27日</a> <span class="icon-calendar">2020.05.27</span> </h3> <p class="related__contents">目次 1. 【1日1写経】Build a Stock Prediction Program【Daily_Coding_002】2. OpenCVの画像[…]</p> </li> <li class="related__item"> <a class="related__imgLink" href="https://miofactor.com/2022/04/26/post-18550/" title="PHP関連のことを調べてみた2022年04月26日"> <img src="https://miofactor.com/wp-content/uploads/2019/10/php-150x150.png" alt="PHP関連のことを調べてみた2022年04月26日" width="150" height="150" > </a> <h3 class="related__title"> <a href="https://miofactor.com/2022/04/26/post-18550/">PHP関連のことを調べてみた2022年04月26日</a> <span class="icon-calendar">2022.04.26</span> </h3> <p class="related__contents">目次 1. json_encode PHP 他言語に値を渡す2. str_replace str_ireplace preg_replace 文字列を[…]</p> </li> <li class="related__item"> <a class="related__imgLink" href="https://miofactor.com/2024/07/21/post-35240/" title="Ruby関連のことを調べてみた"> <img src="https://miofactor.com/wp-content/uploads/2019/10/ruby-150x150.png" alt="Ruby関連のことを調べてみた" width="150" height="150" > </a> <h3 class="related__title"> <a href="https://miofactor.com/2024/07/21/post-35240/">Ruby関連のことを調べてみた</a> <span class="icon-calendar">2024.07.21</span> </h3> <p class="related__contents">目次 0.1. [Ruby]代表的な例外クラスとその説明を洗い出してみた0.2. as_jsonとto_jsonの違いをまとめてみる0.3. 【Rub[…]</p> </li> </ul></aside> <!-- /関連記事 --> <!-- コメント --> <!-- /コメント --> <!-- PVカウンター --> <!-- /PVカウンター --> </main> <!-- /l-main --> <!-- l-sidebar --> <div class="l-sidebar"> <aside class="widget"> <div class="searchBox"> <form class="searchBox__form" method="get" target="_top" action="https://miofactor.com/" > <input class="searchBox__input" type="text" maxlength="50" name="s" placeholder="記事検索"><button class="searchBox__submit icon-search" type="submit" value="search"> </button> </form> </div></aside><aside class="widget"><h2 class="heading heading-widget">Category</h2> <ul> <li class="cat-item cat-item-1"><a href="https://miofactor.com/category/other/">OTHER</a> </li> </ul> </aside><aside class="widget"><h2 class="heading heading-widget">Back number</h2> <ul> <li><a href='https://miofactor.com/2024/09/'>2024年9月</a></li> <li><a href='https://miofactor.com/2024/08/'>2024年8月</a></li> <li><a href='https://miofactor.com/2024/07/'>2024年7月</a></li> <li><a href='https://miofactor.com/2024/06/'>2024年6月</a></li> <li><a href='https://miofactor.com/2024/05/'>2024年5月</a></li> <li><a href='https://miofactor.com/2024/04/'>2024年4月</a></li> <li><a href='https://miofactor.com/2024/03/'>2024年3月</a></li> <li><a href='https://miofactor.com/2024/02/'>2024年2月</a></li> <li><a href='https://miofactor.com/2024/01/'>2024年1月</a></li> <li><a href='https://miofactor.com/2023/12/'>2023年12月</a></li> <li><a href='https://miofactor.com/2023/11/'>2023年11月</a></li> <li><a href='https://miofactor.com/2023/10/'>2023年10月</a></li> <li><a href='https://miofactor.com/2023/09/'>2023年9月</a></li> <li><a href='https://miofactor.com/2023/08/'>2023年8月</a></li> <li><a href='https://miofactor.com/2023/07/'>2023年7月</a></li> <li><a href='https://miofactor.com/2023/04/'>2023年4月</a></li> <li><a href='https://miofactor.com/2023/03/'>2023年3月</a></li> <li><a href='https://miofactor.com/2023/02/'>2023年2月</a></li> <li><a href='https://miofactor.com/2023/01/'>2023年1月</a></li> <li><a href='https://miofactor.com/2022/12/'>2022年12月</a></li> <li><a href='https://miofactor.com/2022/11/'>2022年11月</a></li> <li><a href='https://miofactor.com/2022/10/'>2022年10月</a></li> <li><a href='https://miofactor.com/2022/09/'>2022年9月</a></li> <li><a href='https://miofactor.com/2022/08/'>2022年8月</a></li> <li><a href='https://miofactor.com/2022/07/'>2022年7月</a></li> <li><a href='https://miofactor.com/2022/06/'>2022年6月</a></li> <li><a href='https://miofactor.com/2022/05/'>2022年5月</a></li> <li><a href='https://miofactor.com/2022/04/'>2022年4月</a></li> <li><a href='https://miofactor.com/2022/03/'>2022年3月</a></li> <li><a href='https://miofactor.com/2022/02/'>2022年2月</a></li> <li><a href='https://miofactor.com/2022/01/'>2022年1月</a></li> <li><a href='https://miofactor.com/2021/12/'>2021年12月</a></li> <li><a href='https://miofactor.com/2021/11/'>2021年11月</a></li> <li><a href='https://miofactor.com/2021/10/'>2021年10月</a></li> <li><a href='https://miofactor.com/2021/09/'>2021年9月</a></li> <li><a href='https://miofactor.com/2021/08/'>2021年8月</a></li> <li><a href='https://miofactor.com/2021/07/'>2021年7月</a></li> <li><a href='https://miofactor.com/2021/06/'>2021年6月</a></li> <li><a href='https://miofactor.com/2021/05/'>2021年5月</a></li> <li><a href='https://miofactor.com/2021/04/'>2021年4月</a></li> <li><a href='https://miofactor.com/2021/03/'>2021年3月</a></li> <li><a href='https://miofactor.com/2021/02/'>2021年2月</a></li> <li><a href='https://miofactor.com/2021/01/'>2021年1月</a></li> <li><a href='https://miofactor.com/2020/12/'>2020年12月</a></li> <li><a href='https://miofactor.com/2020/11/'>2020年11月</a></li> <li><a href='https://miofactor.com/2020/10/'>2020年10月</a></li> <li><a href='https://miofactor.com/2020/09/'>2020年9月</a></li> <li><a href='https://miofactor.com/2020/08/'>2020年8月</a></li> <li><a href='https://miofactor.com/2020/07/'>2020年7月</a></li> <li><a href='https://miofactor.com/2020/06/'>2020年6月</a></li> <li><a href='https://miofactor.com/2020/05/'>2020年5月</a></li> <li><a href='https://miofactor.com/2020/04/'>2020年4月</a></li> <li><a href='https://miofactor.com/2020/03/'>2020年3月</a></li> <li><a href='https://miofactor.com/2020/02/'>2020年2月</a></li> <li><a href='https://miofactor.com/2020/01/'>2020年1月</a></li> <li><a href='https://miofactor.com/2019/12/'>2019年12月</a></li> <li><a href='https://miofactor.com/2019/11/'>2019年11月</a></li> <li><a href='https://miofactor.com/2019/10/'>2019年10月</a></li> </ul> </aside> </div> <!-- /l-sidebar --> </div> <!-- /l-wrapper --> <div class="categoryBox"> <div class="container"> <h2 class="heading heading-primary"> <span class="heading__bg u-txtShdw bgc-darkgray">OTHER</span>カテゴリの最新記事 </h2> <ul class="categoryBox__list"> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/19/post-36890/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/js-554x410.png" alt="JavaScript関連のことを調べてみた" width="554" height="410" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.19</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/19/post-36890/">JavaScript関連のことを調べてみた</a> </h2> </li> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/19/post-36891/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/java.jpg" alt="JAVA関連のことを調べてみた" width="540" height="270" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.19</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/19/post-36891/">JAVA関連のことを調べてみた</a> </h2> </li> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/19/post-36894/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/ios-554x410.png" alt="iOS関連のことを調べてみた" width="554" height="410" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.19</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/19/post-36894/">iOS関連のことを調べてみた</a> </h2> </li> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/19/post-36888/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/rails-725x410.png" alt="Rails関連のことを調べてみた" width="725" height="410" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.19</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/19/post-36888/">Rails関連のことを調べてみた</a> </h2> </li> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/19/post-36884/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/lambda.png" alt="Lambda関連のことを調べてみた" width="360" height="230" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.19</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/19/post-36884/">Lambda関連のことを調べてみた</a> </h2> </li> <li class="categoryBox__item"> <div class="eyecatch eyecatch-archive"> <a href="https://miofactor.com/2024/09/19/post-36886/"> <img src="https://miofactor.com/wp-content/uploads/2019/10/python-640x410.png" alt="Python関連のことを調べてみた" width="640" height="410" > </a> </div> <ul class="dateList dateList-archive"> <li class="dateList__item icon-calendar">2024.09.19</li> </ul> <h2 class="heading heading-archive "> <a class="hc-darkgray" href="https://miofactor.com/2024/09/19/post-36886/">Python関連のことを調べてみた</a> </h2> </li> </ul> </div> </div> <!-- schema --> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Article ", "mainEntityOfPage":{ "@type": "WebPage", "@id": "https://miofactor.com/2021/08/02/post-11690/" }, "headline": "JAVA関連のことを調べてみた2021年08月02日", "image": { "@type": "ImageObject", "url": "https://miofactor.com/wp-content/uploads/2019/10/python-640x410.png", "height": "410", "width": "640" }, "datePublished": "2021-08-02T11:50:07+0900", "dateModified": "2021-08-02T11:50:07+0900", "author": { "@type": "Person", "name": "editor" }, "publisher": { "@type": "Organization", "name": "f@ctor", "logo": { "@type": "ImageObject", "url": "", "width": "", "height":"" } }, "description": "目次 0.0.1. TomcatとJerseyでトランザクション管理してみる0.0.2. デザインパターン勉強会⑦Builder1. はじめに2. Builderパターン2.0.1. CodeSignal – firstNotRepeatingCharacterにチャレンジ2.0.2. 【Java】新卒が初めてのコードレビューで受けた指摘5選2.0.3. Javaで経過日数を計算したい […]" } </script> <!-- /schema --> <!--l-footer--> <footer class="l-footer"> <div class="container"> <div class="pagetop u-txtShdw"><a class="pagetop__link" href="#top">Back to Top</a></div> <div class="widgetFoot"> <div class="widgetFoot__contents"> </div> <div class="widgetFoot__contents"> <aside class="widget widget-foot"><h2 class="heading heading-footer">タグ</h2><div class="tagcloud"><a href="https://miofactor.com/tag/%e3%81%9d%e3%81%ae%e4%bb%96/" class="tag-cloud-link tag-link-13 tag-link-position-1" style="font-size: 8pt;" aria-label="その他 (1個の項目)">その他</a></div> </aside> </div> <div class="widgetFoot__contents"> </div> </div> <div class="copySns "> <div class="copySns__copy"> © Copyright 2024 <a class="copySns__copyLink" href="https://miofactor.com">f@ctor</a>. <span class="copySns__copyInfo u-none"> f@ctor by <a class="copySns__copyLink" href="http://fit-jp.com/" target="_blank">FIT-Web Create</a>. Powered by <a class="copySns__copyLink" href="https://wordpress.org/" target="_blank">WordPress</a>. </span> </div> </div> </div> </footer> <!-- /l-footer --> <script type="text/javascript" src="https://miofactor.com/wp-includes/js/comment-reply.min.js?ver=6.4.1" id="comment-reply-js" async="async" data-wp-strategy="async"></script> <script> function toggle__search(){ extra__search.className="l-extra"; extra__menu.className="l-extraNone"; menuNavi__search.className = "menuNavi__link menuNavi__link-current icon-search "; menuNavi__menu.className = "menuNavi__link icon-menu"; } function toggle__menu(){ extra__search.className="l-extraNone"; extra__menu.className="l-extra"; menuNavi__search.className = "menuNavi__link icon-search"; menuNavi__menu.className = "menuNavi__link menuNavi__link-current icon-menu"; } </script><script>Array.prototype.forEach.call(document.getElementsByClassName("css-async"),function(e){e.rel = "stylesheet"});</script> </body> </html>