JAVA関連のことを調べてみた

JAVA関連のことを調べてみた

build.xmlにXmaxerrsオプションを追加したい

# はじめに
Antを使っているプロジェクトで一時的に大量のエラーが表示される状況下において、そのエラー内容を見たいというケースがありました。
ビルド実行時に「もっと見たければ-Xmaxerrsオプションを付けてね!」と教えてはくれるのですが、Antが下火なこともありbuild.xmlで指定する方法がすぐには見つけられなかったので、備忘録としてメモしておきます。

# build.xmlでの指定方法
`javac`要素の子要素として`compilerarg`を記述すれば良いだけです。
“`xml:build.xml






“`

# 参考サイト
– [Anatomy of a simple Ant build.xml file](https://bedr

元記事を表示

文字列チェック

“`java
public class StringChecker {
public static void main(String[] args) {
String[] testInputs = {
“Example@123”, // 大文字, 小文字, 数字, 記号 – 4種類
“EXAMPLE123”, // 大文字, 数字 – 2種類
“example123”, // 小文字, 数字 – 2種類
“Example”, // 大文字, 小文字 – 2種類
“123456”, // 数字のみ – 1種類
“example!”, // 小文字, 記号 – 2種類
“EXAMPLE@”, // 大文字, 記号 – 2種類
“123!@”, // 数字, 記号 – 2種類

元記事を表示

Java memo

~~~Java
public class MainServiceTest {
private SubService subService;
private MainService mainService;

@BeforeEach
public void setUp() {
subService = Mockito.mock(SubService.class);
mainService = new MainService(subService);
}

@Test
public void testExecuteCallsPerformActionTwiceWithDifferentReturnValues() {
// 1回目の呼び出しは0を返し、2回目の呼び出しは1を返すように設定
when(subService.performAction()).thenReturn(0).thenReturn(1);

int[] results = mainSe

元記事を表示

Javaで「配列の宣言と配列の作成」の動作を確認してみた

# 概要

Javaで「配列の宣言と配列の作成」の動作を確認してみました。
以下のページを参考にしました。

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

# 実装

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

result[0] = 75;
result[1] = 88;
result[2] = 82;

for (int i = 0 ; i < 3 ; i++){ System.out.println(result[i]); } } } ``` 以下のコマンドを実行しました。 ``` $ javac JSample2_1.java $ java JSample2_1 75 88 82 ``` # まとめ 何かの役に立てばと。

元記事を表示

VSCodeでdocker-composeを使用しSpringBoot×PostgreSQLで開発しよう!

# はじめに
SpringBootとPostgreSQLの開発環境をdockerで動くようにし、
Hello Worldを表示させるところまでを解説します。
今回はGradleを使用し、vscode上でリモートコンテナに接続して実行という形になっています。
eclipse等を使用せず、vscodeで開発したい!という方向けになっています。
DBの初期データ等は用意していないので、ご自身の作成したいアプリに合わせて用意してください。

# 環境
| 環境| バージョン |
|:-:|:-:|
| Docker | 20.10.17 |
| Openjdk | 17 |
| Spring Boot | 3.1.0 |
| Gradle | 3.6.3 |

# ディレクトリ構成

下記では今回のディレクトリ構成を示しています。
“`
current/
├ .devcontainer/
├ devcontainer.json
├ docker-compose.yml
├ SpringProje

元記事を表示

Java チートシート

# 基本構文
“`java
// クラス宣言
public class MyClass {
// メンバ変数
int myVar;

// コンストラクタ
public MyClass(int var) {
this.myVar = var;
}

// メソッド
public void myMethod() {
System.out.println(“Hello, World!”);
}

// メインメソッド
public static void main(String[] args) {
MyClass obj = new MyClass(10);
obj.myMethod();
System.out.println(“myVar: ” + obj.myVar);
}
}
“`

# 変数とデータ型
“`java
int myInt = 10; // 整数型
double myDouble

元記事を表示

ScalaでVirtual Threadを雑に試してみる

# TL;DR

内部でスリープするようなFutureのインスタンスを、
Java 21のVirtual ThreadおよびPlatfrom Threadから作成し、
処理にかかった時間を出してみました。

# Platfrom Thread

まずは`scala.concurrent.ExecutionContext.Implicits.global`を使って、
1秒スリープするFutureのインスタンスを50個作ってみました。

結果はコメントに記載の通り7726msかかりました。

“`scala
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.duration.Duration
import scala.concurrent.{Await, Future}

object Main extends App {
val start = System.currentTimeMillis()

val futures = (1 to 50).map { _ =

元記事を表示

Javaで「switch文を使った条件分岐」の動作を確認してみた

# 概要

Javaで「switch文を使った条件分岐」の動作を確認してみました。
以下のページを参考にしました。

https://www.javadrive.jp/start/if/index4.html

# 実装

以下のファイルを作成しました。
“`JSample4_1.java
class JSample4_1{
public static void main(String[] args){
int[] classcode = {1,3,2};
String[] name = {“鈴木”,”本田”,”遠藤”};

for (int i = 0; i < 3; i++){ System.out.print(name[i] + "さんは"); switch(classcode[i]){ case 1: System.out.println("Aクラスです"); break; case 2: System.out.println("B

元記事を表示

SonarQubeさんに怒られたら

# まえがき

## この記事に記載されている内容
SonarQubeは大変便利なツールです。
しかし解析結果の見方や検知されたIssueの内容が分からず無視してしまったり、
あまり理解せずにとりあえず直すという対応をしてしまったりしたことはないでしょうか?

この記事ではIssueの検知結果の確認にフォーカスして以下の内容を記載します。

– SonarQubeの解析結果の確認の仕方
– 検知されたIssueの表示のされ方
– SonarQubeが提供してくれる情報の確認の仕方
– 検知されたIssueがなぜ指摘されているのか調べる方法

SonarQubeさんに怒られたら、
めんどくさいなぁと思うのではなく
その内容を血肉に変えてレベルアップしましょう◎

# SonarQubeとは
SonarSource社が開発する、様々な言語に対応したソースコードの品質管理ツールです。

https://www.sonarsource.com/products/sonarqube/

ソースコードを静的解析し、以下のような処理を実施します。

– バグの検知
– 脆弱性の検知

元記事を表示

Javaの値をJavaScriptで使用する方法

# やりたいこと
JavaScriptでJavaの値を使用する。
フレームワークはSpringBootで、thymeleafを使用する。

# 使用例
バックエンドであるJavaでデータベースの値を得て、JavaScriptがその値を参照したいとき。

# 実践例
“`HomeController.java
@GetMapping(“/home”)
public String view(Model model) {
model.addAttribute(“キー名”, 値);
return “home”;
}
“`
キー名を指定してJavaScriptで使用したい値をmodelに格納する。キー名は任意。
“`home.html