JAVA関連のことを調べてみた2023年10月04日

JAVA関連のことを調べてみた2023年10月04日

必要なポート 8080 はすでに使用中です。解決方法

eclipse Tomcat再起動

必要なポート 8080 はすでに使用中です。サーバーはすでに別のプロセスで稼働中であるか、システム・プロセスがそのポートを使用中である可能性があります。このサーバーを起動するには、他のプロセスを停止するか、ポート番号を変更する必要があります。

上記のエラーメッセージが表示され実行されない。
文章の通り8080 はすでに使用中とのこと。
自社の研修時に何回もこのメッセージが表示されていたことを思い出す。
出るたびにポート番号変更してたっけ、、

ChatGPT様にご相談

## 1. ポートの使用状況確認:

“`python
lsof -i :8080
“`
このコマンドは、8080 ポートを使用しているプロセスの情報を表示します。もし何も表示されない場合、そのポートは使用されていない可能性があります。

## 2. プロセスの強制終了:
ポートが他のプロセスによって使用されている場合、そのプロセスを終了させることで解放できます。以下は、プロセスを終了させるコマンドの例です。
“`python
kill -9
“`

元記事を表示

JTReg実行備忘録[Ubuntu 22.04]

# おねがい
この記事を参考にして実行に失敗した方は後学のためにコメントをいただけますと幸いです。
質問にもお答えできる限りお答えしますので是非コメントを残してください。

# 環境
OS : Ubuntu 22.04.3 LTS

前回の[JTRegビルド](https://qiita.com/tabatad/items/a05f3a6fb1bab327e9c9)の続きになります。

# 手順

## 1. Gtest資材ダウンロード
“`
$ cd ~/work
$ git clone -b release-1.8.1 https://github.com/google/googletest
“`

## 2. JDKのリビルド
“`
$ cd ~/work/jdk17
$ bash configure –with-jtreg=$JT_HOME –with-gtest=/home/tabatad/work/googletest
$ make clean
$ make images
“`

## 3. テスト実行
テストの起動に失敗した。
“`
$ make run-t

元記事を表示

SDKMANを使って Java17をインストール

普段Javaを使ったりしないが、なんだかんだ3ヶ月ぐらいごとに 必要としていつもいつも思った以上に時間がかかっているため、今回メモを残すことにしました。

まず、Javaを直接システムに使うと後で管理色々と面倒なので Package Managerにお任せしたい。

そのためSDKMANを利用!

## 1. SDKMANをインストール

https://sdkman.io/usage

最初SDKMANがインストールもしていないので [公式ガイドの通りインストール](https://sdkman.io/install)する。

“`zsh
# インストール
curl -s “https://get.sdkman.io” | bash
# PATHなどを設定する
source “/Users/ignacio/.sdkman/bin/sdkman-init.sh”
# 確認
sdk version
“`

注意: もし curl 56 recv failure とか出たら 別のネットワークに切り替えた方がいい。これはSDKMANのせいではなく、おそらくそのネットワークの設定が何か関わ

元記事を表示

JTRegビルド備忘録[Ubuntu 22.04]

# おねがい
この記事を参考にしてビルドに失敗した方は後学のためにコメントをいただけますと幸いです。
質問にもお答えできる限りお答えしますので是非コメントを残してください。

# 環境
OS : Ubuntu 22.04.3 LTS

前回の[JDKビルド](https://qiita.com/tabatad/items/de0530f0c84be6c93acb)の続きになります。

# 手順

## 1. 資材ダウンロード
“`
$ cd ~/work
$ git clone git@github.com:openjdk/jtreg.git
“`

## 2. ビルド実行
“`
$ bash make/build.sh –jdk $JAVA_HOME
“`

## 3. 成果物確認
“`
$ ./build/images/jtreg/bin/jtreg -version
jtreg 7.3.1-dev+0
Installed in /home/tabatad/work/jtreg/build/images/jtreg/lib/jtreg.jar
Running on pl

元記事を表示

CheerpJのJavaからブラウザベースへの移行が、エンタープライズJavaアプリケーション向けリモート・デスクトップ・ソリューションを凌駕する理由

![My-project-1-1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3486144/0dfbce83-bccc-09f9-4bae-b3abab4c3b90.jpeg)
[]()
現在のめまぐるしい世界では、アプリケーションへのリモート・アクセスは必需品となっており、ユーザーはどこからでも、どのデバイスからでもソフトウェアやデータにアクセスできるようになっている。Javaアプリケーションへのリモートアクセスに関しては、[JavaからJavaScriptとWebAssemblyへのコンパイラであるCheerpJと](https://leaningtech.com/cheerpj/)、Citrixのようなリモート・デスクトップ・ソリューションの2つがよく使われる選択肢です。このブログ記事では、CheerpJがデスクトップJavaアプリケーションにアクセスするための優れた選択肢である理由を探ります。

**1 – インストールの手間なし**
リモートデスクトップソリューションと比較してCheerp

元記事を表示

JDKビルド備忘録[Ubuntu 22.04]

# おねがい
この記事を参考にしてビルドに失敗した方は後学のためにコメントをいただけますと幸いです。
質問にもお答えできる限りお答えしますので是非コメントを残してください。

# 環境
OS : Ubuntu 22.04.3 LTS

# ビルド対象JDK
– openjdk jdk17(Public archive)

https://github.com/openjdk/jdk17

# 手順
## 1. 資材ダウンロード
“`
$ mkdir ~/work
$ cd ~/work
$ git clone git@github.com:openjdk/jdk17.git
“`

## 2. ビルド用JDK配備
※すでにjavaコマンドが使えるなら不要
“`
$ cd /usr/local/lib
$ sudo wget https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_x64_linux_hotspot_16.0.2_7.tar.gz
$

元記事を表示

Javaで「指定した位置に文字列を挿入する」の動作を確認してみた

# 概要

Javaで「指定した位置に文字列を挿入する」の動作を確認してみました。以下のページを参考にしました。

https://www.javadrive.jp/start/stringbuilder/index2.html

# 実装

以下のファイルを作成しました。
“`JSample2_1.java
class JSample2_1{
public static void main(String[] args){
StringBuilder sb = new StringBuilder();
sb.append(“ABC”);
sb.append(“DEF”);
System.out.println(sb.toString());

sb.insert(2, “XYZ”);
System.out.println(sb.toString());
}
}
“`

以下のコマンドを実行しました。
“`
$ javac JSample2_1.java
$ java JSample2_1
ABCDEF
ABXYZCDEF

元記事を表示

MacBookでtreebagを動かす方法

大学の講義でjavaアプリケーションの[treebag](https://people.cs.umu.se/drewes/treebag/)をMacBookで動作させる際に少し詰まったのでメモとして記事を作成しました。

### 結論 cmdで java -jar treebag.jarで動作した
cmdでtreebag.jarをダウンロードした場所に移動し、以下のコマンドで動作した。
“`shell
$ java -jar treebag.jar
“`
jarファイルの実行方法を忘れてましたね。

### Windowsではクリックしていくだけで動作する
Windowsではエクスプローラのtreebag.jarをダブルクリックで起動させてworksheetを読み込めば、基本的には動作する。(treebagの[Manual](https://people.cs.umu.se/drewes/treebag/treebag-manual.pdf))

### Macではクリックするだけでは動作しない
“`
Parsing of ‘/Users/**/Desktop/workshee

元記事を表示

【JAVA入門】サーブレット、JSPについて簡潔説明

## サーブレット
 Javaプログラムを使用してWebアプリケーションを開発するための技術です。サーブレットは、クライアントからのHTTPリクエストを受け取り、処理し、HTTPレスポンスをブラウザに返します。

##### サーブレットコンテナ
 サーブレットは、サーバー上で実行される特別な環境で動作します。この環境は「サーブレットコンテナ」と呼ばれ、HTTPリクエストの受信からサーブレットの呼び出し、HTTPレスポンスの送信までを管理します。代表的なサーブレットコンテナには、Apache Tomcat、Jetty、IBM WebSphereなどがあります。

## JSP
 サーブレットと同じ、サーバサイドプログラムの技術です。サーブレットクラスの代わりにJSPファイルを使用します。
 JSPはHTML内にJavaコードを埋め込むことができ、サーバーサイドで実行されます。

##### JSP実行の仕組み
 JSが初めてアクセスされた時、JSPサーブレットが自動で生成され、自動でコンパイルされる。クラスファイルを実行するとオブジェクトが生成されてブラウザに出力される。2回目以降のア

元記事を表示

【Java入門】各用語を簡単に解説(コンストラクタ,継承,インターフェース,static,例外の説明)

## はじめに

 javaの基本用語である『コンストラクタ,継承,インターフェース,static,例外』について目的・特徴・書き方に分けて簡単に説明します。javaの研修や後輩に教えるときなど簡潔に説明しなくてはいけないと時にお使いください。

## コンストラクタ
 クラスからオブジェクトを作成する際に呼び出される特殊なメソッドです。

#### ・目的
**1\. オブジェクトの初期化**

 クラスのインスタンス(オブジェクト)を作成する際に、そのオブジェクトの初期化を行います。
 コンストラクタは、オブジェクトがどのように初期化されるかを定義します。

**2\. メンバ変数の設定**

 コンストラクタを使用して、オブジェクトのメンバ変数(インスタンス変数)に初期値を設定できます。

#### ・特徴
* コンストラクタの名前はクラスの名前と同じであり、戻り値型を指定しません。コンストラクタは戻り値を持たないため、voidも指定しません。

* 複数のコンストラクタを定義できます。これをオーバーロードと呼びます。異なる引数リストを持つ複数のコンストラクタを定義することで、オ

元記事を表示

Javaで「格納されている文字列の長さを変更する」の動作を確認してみた

# 概要

Javaで「格納されている文字列の長さを変更する」の動作を確認してみました。以下のページを参考にしました。

https://www.javadrive.jp/start/stringbuilder/index9.html

# 実装

以下のファイルを作成しました。
“`JSample9_1.java
class JSample9_1{
public static void main(String[] args){
StringBuilder sb = new StringBuilder();

sb.append(“ABCDEF”);
System.out.println(“[” + sb.toString() + “]”);
System.out.println(sb.length());

sb.setLength(3);
System.out.println(“[” + sb.toString() + “]”);
System.out.println(sb.length());

sb.setL

元記事を表示

ANN: Dogelog Player for Java

It has been already 2 years since we started a new Prolog system. This new Prolog systems is 100% written in Prolog, including the I/O and the runtime compiler. We managed to adress the JavaScript and the Python target.

![doge_java.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/416192/660baa00-53a8-4848-8508-02fec62cd6fd.png)

We now completed a new target, namely Java. This target is different since in contrast to JavaScript and Python, the Java programming language is a type

元記事を表示

[AWS] Amazon Textractの実装と機能

# AWSのAmazon Textractの概要と機能

## 概要
Amazon Textractは、AWSのクラウドベースの光学文字認識(OCR)サービス。このサービスは、印刷された文書や手書きのメモ、テーブルなどの情報を構造化されたデータに抽出し、機械的な処理や分析に利用することができる。Amazon Textractは、文字や単語の位置情報、テーブルのセルや行の情報などを抽出するため、精度の高い結果を提供する。

## 機能
以下に、Amazon Textractの主な機能を示します。

1. テキスト抽出: イメージファイルやPDFなどの文書から、文字の情報を抽出し、手書きの文字や印刷された文字に対しても高い精度で認識が可能。
2. テーブル抽出: テキストベースで構成された表やグリッドの情報を抽出し、テーブル内のセル、行、列の情報を構造化した形式で提供する。
3. フォーム抽出: フォームの情報(氏名、住所、電話番号など)を自動的に抽出し、複数のフォーム項目を一括で処理することができる。
4. 関連画像抽出: 文書に関連する画像を検出し、抽出することができる。画像内のオブジ

元記事を表示

スッキリわかるJava入門 実践編 第3版 まとめ – part7 -さまざまなファイル形式

# はじめに
こんにちは ◤●ㅅ●◥ノ

今回は代表的なデータフォーマットとその操作方法について学びました!

## 第7章 さまざまなファイル形式
### 1.データフォーマット
複数のデータについてどのような形式や順序で保存するかを定めたルール
→ __データフォーマット__
複数のデータをファイルに保存したり、ネットワークを経由して遠隔地に伝送する場合に役立つ
ファイル内のデータ構造→ファイルフォーマット
メッセージのデータ構造→メッセージフォーマットor電文フォーマット

### 2.CSV形式
複数のデータをカンマで区切って順に格納するデータフォーマット形式
→ __CSV__ と呼ばれている

書き込み…各データの合間にカンマ記号を出力する
読み込み…基本的に1文字ずつ読み進めながらカンマかどうかを判断する

### 3.プロパティファイル形式
CSV形式のカンマ区切りやスペース区切りでは力不足な場合
→Javaでは __プロパティファイル形式__ を用いる

形式には次のようなルールに従って、データをキーと値のペアで格納する
:star: プロパティファイル形式の

元記事を表示

EclipseのCheckStyleで【cannot initialize module JavadocMethod – Property ‘scope’ does not exist】

# 環境
| 名称 | バージョン |
|:-:|:-:|
| Eclipse | 4.28.0 |
| Checkstyleプラグイン | 10.7.0 |
| Spring Boot | 3.1.4 |

# 問題
Eclipseで、数年前に作成されたCheckstyleを適用したら、エラーになった。
Checkstyle execution failed due to an internal error.

Eclipseのログには以下が出力されていた。
cannot initialize module TreeWalker – cannot initialize module JavadocMethod – Property ‘scope’ does not exist, please check the documentation

※{ワークスペースのディレクトリ}/.metadata/.log

# 解決方法
`cannot initialize module JavadocMethod – Property ‘scope’ does not exist`と言われているの

元記事を表示

FileWriter

“`java
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class FileOutputExample {
public static void main(String[] args) {
// 出力先のファイルパス
String filePath = “output.txt”;

try {
// FileWriterとBufferedWriterを使用してファイルに書き込み
FileWriter fileWriter = new FileWriter(filePath);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);

// 書き込むテキスト

元記事を表示

java配列の添字の最大値

# 配列の添字の最大値
processing4で配列の添字に大きな値を入れるとエラーになるので、限界を探す。

以下のコードは文法エラーが起きない
“`java
int[] array = new int[2147483647];
“`
しかし、以下のコードは文法エラーが起きる

“`java
int[] array = new int[2147483648];
//The literal 2147483648 of type int is out of range
“`

この数字はint型の最大値であり、32bit(もしくは4Byte)精度の最大値ともいえる。
(2^32)/2 = 2147483648
(マイナスも使うから半分)

だが、実行してみると、エラーになる。
“`java
int[] array = new int[2147483647];
//OutOfMemoryError: You may need to increase the memory setting in Preferences.
“`
エラーにならない最大値は、2小さい214748364

元記事を表示

tWAS 9.0 と Db2 で DataSourceを使う

# 目的
tWAS 9.0と、Db2 で環境を構築してDataSourceをテストします。

# Gitレポジトリ
用意したGitレポジトリをクローンします。

“`
git clone https://github.com/pdprof/db-connections
cd db-connections/derby-docker/
“`

# Db2イメージのビルド

Libertyと、Db2, MySQL, Derbyのイメージをビルドします。localhost 以外の docker を動かしているホストのIPアドレスをACCESS_HOSTに指定します。今回はDb2を使用します。

“`
export ACCESS_HOST=172.17.0.1
# export ACCESS_HOST=`hostname` # hostnameコマンドで返す値でアクセスできる場合
# export ACCESS_HOST=host.containers.internal # liberty から dbサーバーへの接続を podmanのホスト経由でする場合
./setup-docker.sh

元記事を表示

javaのコレクションについてのアウトプット

# 今日から、学んだことをアウトプットしていこ~^^!
今日学んだことは、Javaの**コレクション**について!
まずは、自分の認識したことを書き記していきます^^

# コレクションとは?
コレクションとは、「複数のデータをまとめる方法」だと認識しています^^!
コレクションには大きく分けて3つの種類があります!

一つ目は、「ArrayList」などの、情報を順序通りに並べて格納する**List(リスト)**
二つ目が、「HashSet」などの、複数の情報を重複なく格納する**Set(セット)**
三つ目が、「HashMap」などの、情報をペアで格納する**Map(マップ)**

# List(リスト)について
Listとは、配列などのように情報を順番通りに格納する方法で、中でもArrayListは、格納する要素の追加や削除が簡単^^♪

ArrayListのコード↓
**ArrayList<インスタンスの型名> 変数名 = new ArrayList<インスタンスの型名>();**

コード例↓
動物の名前を格納した例
“`
ArrayList animals

元記事を表示

【簡単設定】IntellijでSpringBoot(Java) + Gradle + MySQL + Doma2のプロジェクトを作る

# はじめに

SpringBoot + MySQLでアプリを作る際、DBにアクセスするときに使用するORマッパーはいつもSpring Data JPAをだったのですが、個人的に使いにくいなと感じることが多かったんです。。。
しかし、[Doma2](https://doma.readthedocs.io/en/2.9.0/)というORマッパーが良いという事を聞き、今回使ってみようと思いました。
その際、初期設定あたりで色々つまづいたところがあったので、今回はそこを中心に執筆しようと思います。(Controller, Serviceの実装は省きます。)

GradleでDoma2を導入する記事がなかなか少なかったので、参考になれば幸いです!!
※本当はkotlinでしたかったのですが、つまづいたのでJavaで解説します(笑)

## 環境
SpringBoot 2.7.16
Java 11
MySQL 8.0.32
IntelliJ IDEA 2021.3.2

SpringBootのプロジェクトは事前に[Spring Initializr](https://start.spring.i

元記事を表示

OTHERカテゴリの最新記事