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

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

SpringMVCの大きな流れ

# SpringMVCの大きな流れ
– 最も一般的な例として、@Controller + Forward の場合の流れは以下の通りである。

![스크린샷 2023-11-25 15.21.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3567846/7637da54-83c8-cb9a-9c75-612fda3c357e.png)

1. Browerからurlリクエストを送る。
2. **DispatcherServlet**がRequestを受け、**HandlerMappingに転送**する。
3. **HandlerMapping**で**urlが一致するメソッドを見つけてDispatcherServletに返却**する。
– MapでUrl(Key)とメソッド(Value)をmappingさせておいて保存している。
4. **DispatcherServlet**でどのような種類のHandlerAdapterが呼び出すことができるかを確認し、該当**Handler

元記事を表示

java 2次元配列

# はじめに
2次元配列に1次元配列を格納しようとしたが、理解できていない事が分かった。
忘れてもすぐに思い出せるよう分かった事をまとめた。
(メモリの番地が格納されている事がポイントだと思います。)

## イメージ
例えば 2行3列の配列 int mat[][] = new int[2][3]; を作成した場合
3列の配列が2つ作成され、それぞれの先頭の番地がmat[0]、mat[1]に格納される。
別の見方をするとmat[0]には、1行目の先頭の番地が格納されている。
(例の1行目はmat[0][0]、mat[0][1]、mat[0][2])

## lengthの結果
mat.lengthは、行数を表す。
mat[0].lengthは、0行目の列数を表す。

## サンプルコード
~~~2jigen.java
//2次元配列の初期化
char test[][] = {{‘a’,’b’,’c’,’d’},{‘e’,’f’,’g’,’h’}};
char toTest[][] = {{‘1′,’2′,’3′,’4’},{‘5′,’6′,’7′,’8’}};

//t

元記事を表示

日本語プログラミング言語 なでしこ Java C# で整数カウントアップ実行時間を仲良く競

# はじめに
日本語プログラミング言語 なでしこ とJava C# とで整数カウントアップの反復実行時間を仲良く競い合わせてみます。コンソール出力は意外と重い処理なので、いったん素の処理でどんなものなのか検証します。

## この記事内容の作業環境
Windows11 Pro 22H2
VSCode(Visual Studo Code) 1.78.2
java Eclipse Adoptium jdk-20.0.2.9-hotspot
C# 10 dotnet-sdk-6.0.404-win-x64
nadesiko version 1.588 for Windows
CPU Intel(R) Core(TM) i3-5005U 2.00 GHz

## この記事内容の保証
※この記事の実行結果は参考情報です。実行環境に大きく依存します。

# お題のソースコード
#### Java
“`Java:main.java
import java.lang.System;
/**
* プログラム型
*/
class Program
{
/**
* メイン
* @pa

元記事を表示

【精選10問】B – Card Game for Twoを解いた

下のコードでWAになったので、後ほど修正します。。。
# 問題
https://atcoder.jp/contests/abc088/tasks/abc088_b

# メモ
sortで並び替えてから大きい順に2人にカードを割り振って、最後に差を出力した。

# 回答

昇順Ver
~~~java:Main.java
import java.util.Arrays;
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
int aScore = 0;
int bScore = 0;
int[] cards = new int[N];

for (int i=0;i

元記事を表示

日本語プログラミング言語 Mind Java C# で関数を介した整数カウントアップ実行時間を仲良く競う

# はじめに
日本語プログラミング言語 Mind とJava C# とで関数呼び出しを介した整数カウントアップの反復実行時間を仲良く競い合わせてみます。いわゆるファンクションコールのオーバーヘッドとはどんなものなのかを切り分けます。前回の単純な整数カウントアップで驚異的?な結果をたたき出したJavaの結果が気になります。

## この記事内容の作業環境
Windows11 Pro 22H2
VSCode(Visual Studo Code) 1.78.2
java Eclipse Adoptium jdk-20.0.2.9-hotspot
C# 10 dotnet-sdk-6.0.404-win-x64
Mind Version 8.07 for Windows
CPU Intel(R) Core(TM) i3-5005U 2.00 GHz

## この記事内容の保証
※この記事の実行結果は参考情報です。実行環境に大きく依存します。

# お題のソースコード
#### Java
“`Java:main.java
import java.lang.System;
import jav

元記事を表示

Java HotSpot仮想マシンの汎用オプション

## -Xmixed
ホット・メソッドのJITコンパイルとバイトコードのインタプリタ実行を両方も有効にする。
## -Xint
ホット・メソッドのJITコンパイルは無効になり、すべてのバイト・コードがインタプリタによって実行される。
## -Xcomp
バイトコードのインタプリタ実行は無効になり、すべてのコードがJITコンパイルによって実行される。
## コマンド確認
– defaultがmixed mode
“`
C:\Users\XXXXX>java -version
java version “11.0.17” 2022-10-18 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.17+10-LTS-269)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.17+10-LTS-269, mixed mode)
“`
– -Xint
“`
C:\Users\XXXXX>java -Xint -version
java version “11.0.17” 2022-1

元記事を表示

Spring BootとGridDBを使ったリアルタイムイベントトラッキング

## イベントトラッキングサービスの定義

今日のデジタル環境において、ユーザーイベントを追跡・分析することは、ユーザー行動に関する洞察を得たり、パフォーマンスを最適化したり、パーソナライズされたユーザー体験を提供するために極めて重要です。

イベントとは、ウェブサイトやモバイルアプリ上でユーザーのアクションをトリガーとして発生するインタラクションのことです。これには、ボタンのクリックからニュースレターへの登録、製品の購入まで、あらゆるものが含まれます。イベントページビュー自体がイベントです。

Event Tracking Serviceを利用することで、企業はイベントが発生するとそれを捕捉して処理することができ、最新のインサイトを得ることができます。これにより、企業は新たなトレンドに迅速に対応し、リアルタイムで問題を特定し、データ駆動型の意思決定を即座に行うことができます。

この記事では、Spring BootとGridDBを使ってリアルタイムイベント追跡サービスを実装する方法を紹介します。

## 機能要件

技術的な詳細に入る前に、Event Tracking Service

元記事を表示

UMLの読み方(初心者用)

# はじめに
Javaを学習し始め、色々な本を手にするとUMLが良くつかわれていることに気づく。本によってはUMLの解説があるが、解説なしでUMLを使う本もあり、UML図を見て「これ、どういう意味だっけ?」を解決するために、私が学習していく中でよく使うUMLの基本をまとめてみた。学習中に出てこなかった内容は記載していないので、UMLのすべては載っていません。
私自身が初心者のため誤っている箇所があると思います。誤りに気付いた箇所があれば教えていただけると幸いです。

## クラス図
![クラス図2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3569317/1bfeae42-9305-1102-eedb-327b6a1946aa.png)

## クラス間の関連
![クラス図全体.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3569317/daa4c7bc-31ec-5219-3bc0-abdfdf56a0a9.

元記事を表示

GradleプロジェクトのJava17 -> 21にしたときにハマった

# 背景
ある個人開発のJava(Gradle)プロジェクトをJava17 -> 21に引き上げると、プロジェクトから魑魅魍魎が発生してしまいました。
これを解消すべく、以下を試していきました。

私の環境はIntelliJのCommunity版を使用しております。

# やったこと
## build.gradleのsourceCompatibilityを21に引き上げ
“`gradle
java {
sourceCompatibility = ’21’
}
“`

これだけだと、Gradleタスク実行時に
“`
エラー: 21は無効なソース・リリースです
“`
が発生しました。

## IntelliJのGradle設定変更
Ctrl + Alt + Sで設定を開き、「ビルド、実行、デプロイ」-> 「ビルドツール」 -> 「Gradle」のGradle JVMを21に変更。
しかしこれでも以下が発生した。
“`
Execution failed for task ‘:compileJava’.
> java.lang.NoSuchFie

元記事を表示

日本語プログラミング言語 なでしこ Java C# でHello World実行時間を仲良く競う

# はじめに
日本語プログラミング言語 なでしこ とJava C# とで「Hello World」コンソール出力の反復実行時間を仲良く競い合わせてみます。

## この記事内容の作業環境
Windows11 Pro 22H2
VSCode(Visual Studo Code) 1.78.2
java Eclipse Adoptium jdk-20.0.2.9-hotspot
C# 10 dotnet-sdk-6.0.404-win-x64
nadesiko version 1.588 for Windows
CPU Intel(R) Core(TM) i3-5005U 2.00 GHz

## この記事内容の保証
※この記事の実行結果は参考情報です。実行環境に大きく依存します。

# お題のソースコード
#### Java
“`Java:main.java
import java.lang.System;
/**
* プログラム型
*/
class Program
{
/**
* メイン
* @param args 引数
*/
public s

元記事を表示

【Java】稼働率<->年間停止時間を相互に変換する

# はじめに

職場で非機能要件をまとめる際に「稼働率99%って、年間停止時間がどれ位だっけ?」という話になりました。
1年間で365日ということは、稼働率99%だとざっくり3日強ではないかという予測は立てられますが、正確な年間停止時間をパッと言える人はほとんどいないと思います。

そこで「稼働率から年間停止時間を求める処理」と、逆に「年間停止時間から稼働率を求める処理」を書いてみました。

# 作成したコード

* 可用性を表すAvailabilityクラスには2つコンストラクタを用意しており、引数がdoubleの時は稼働率、intの時は年間停止時間を受け取るという形にしました。
* そのため、稼働率->年間停止時間の変換処理だけが必要であれば、引数がintのコンストラクタは不要となります。
* 後から思ったのですが、「稼働率クラス」と「年間停止時間クラス」に分けて、それぞれで変換処理を持たせた方が自然だったかもしれません。
* 他にももっとスッキリ書ける方法があるかもしれませんが、久々にJavaを触ったのでこれが限界でした…

“`java:Availability.

元記事を表示

初めてのJavaアプリ製作から3週間の今

## あらすじ
IT業界未経験のおじさんが9月からJavaを学んで最近アプリを作り始めました。

## 現在の状況

思った以上にアプリ製作楽しめています。
記事を書くより製作に時間を使いたいと思う程に。

現在の完成度は、最低限の機能の実装は完了したという状況です。
### ログイン画面

### メイン画面
【精選10問】B – Some Sumsを解いた

# 問題
https://atcoder.jp/contests/abc083/tasks/abc083_b

# メモ
精選10問の5問目。全探索の問題。結構簡単に解けた。
と思ったら、100以上の数値を考えていなかった。
10^4まであるようなので、100だけどうにかしてもしょうがない。
地道に組みたくなかったので調べてみた。
%10の使い方間違えてた。

# 回答

~~~java:Main.java
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
int A = scan.nextInt();
int B = scan.nextInt();
int allSum = 0;

for (int i=1;i<=N;i++) { int n = i; int sum = 0

元記事を表示

日本語プログラミング言語 プロデル Java C# で整数カウントアップ実行時間を仲良く競う

# はじめに
日本語プログラミング言語 プロデル とJava C# とで整数カウントアップの反復実行時間を仲良く競い合わせてみます。コンソール出力は意外と重い処理のようで、いったん素の処理でどんなものなのかなと。

## この記事内容の作業環境
Windows11 Pro 22H2
VSCode(Visual Studo Code) 1.78.2
java Eclipse Adoptium jdk-20.0.2.9-hotspot
C# 10 dotnet-sdk-6.0.404-win-x64
Produire Version 2.0.1197 for Windows
CPU Intel(R) Core(TM) i3-5005U 2.00 GHz

## この記事内容の保証
※この記事の実行結果は参考情報です。実行環境に大きく依存します。

# お題のソースコード
#### Java
“`Java:main.java
import java.lang.System;
/**
* プログラム型
*/
class Program
{
/**
* メイン
* @p

元記事を表示

【精選10問】B – Coinsを解いた

# 問題
https://atcoder.jp/contests/abc087/tasks/abc087_b

# メモ
戦線10問の4問目。全探索の問題。
枚数で回して組み合わせた。

# 回答

~~~java:Main.java
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
int b = scan.nextInt();
int c = scan.nextInt();
int x = scan.nextInt();
int cnt = 0;
int sum = 0;

for (int i=0;i<=a;i++) { for (int j=0;j<=b;j++) { for (int k=0;k<=c;k++) { sum = i*500 + j*100 + k*50

元記事を表示

日本語プログラミング言語 プロデル Java C# でHello World実行時間を仲良く競う

# はじめに
日本語プログラミング言語 プロデル とJava C# とで「Hello World」コンソール出力の反復実行時間を仲良く競い合わせてみます。

## この記事内容の作業環境
Windows11 Pro 22H2
VSCode(Visual Studo Code) 1.78.2
java Eclipse Adoptium jdk-20.0.2.9-hotspot
C# 10 dotnet-sdk-6.0.404-win-x64
Produire Version 2.0.1197 for Windows
CPU Intel(R) Core(TM) i3-5005U 2.00 GHz

## この記事内容の保証
※この記事の実行結果は参考情報です。実行環境に大きく依存します。

# お題のソースコード
#### Java
“`Java:main.java
import java.lang.System;
/**
* プログラム型
*/
class Program
{
/**
* メイン
* @param args 引数
*/
publi

元記事を表示

【Java】SpringBootで美容院の予約管理システムを作成してみた

# SpringBootを使用して美容院の予約管理システムを作ってみました
ProになるJavaというテキスト内で、SpringBootを使用したアプリケーションの作成の項目があり、学習したことの復習のため今回のシステムを作ってみようと思いました。
コード内に間違いや推奨されない書き方もあるかもしれないですが、とりあえず動くものを作ろうということで作成に踏み切りました。
まず、制作するにあたってどんな機能を作るべきなのかということを箇条書きでざっとまとめることをしました。

## 主に実装したい機能
・予約の登録(2日前まで)、確認、変更、取消
・名前、住所、メールアドレス、電話番号、希望メニューをDBにデータを格納
・各日付の予約ページにてDBから予約情報を出力し、空いている時間を見ることが可能
・予約完了時に10桁の予約番号を発行、トップページから予約番号を入力することで予約内容を確認することが可能
・予約完了、変更、取消手続き完了時に登録されているメールアドレスに確認メールを送信

個人的なこだわりとしては予約ページから予約可能か否かを一目で分かるようなものが作れたらなと考えてい

元記事を表示

ABC329A~Fの解答[Java]

## はじめに
今回はFまで解けたのでそれをそのまま載せようと思います。

なお、僕のライブラリは[提出結果](https://atcoder.jp/contests/abc329/submissions?f.Task=&f.LanguageName=Java&f.Status=AC&f.User=viral)よりご確認ください。
では、見ていきましょう。

## A – Spread
問題文は[こちら](https://atcoder.jp/contests/abc329/tasks/abc329_a)

char型配列として受け取って空白区切りで出力しました。
“`A.java
final class Main {

private static final boolean autoFlush = false;
private static final SimpleScanner sc = new SimpleScanner( System.in );
private static final SimpleWriter out = new SimpleWriter( Sys

元記事を表示

日本語プログラミング言語 Mind Java C# で整数カウントアップ実行時間を仲良く競う

# はじめに
日本語プログラミング言語 Mind とJava C# とで整数カウントアップの反復実行時間を仲良く競い合わせてみます。コンソール出力は意外と重い処理のような気もしてきましたので、いったん素の処理でどんなものなのか知ってみたくなりました。

## この記事内容の作業環境
Windows11 Pro 22H2
VSCode(Visual Studo Code) 1.78.2
java Eclipse Adoptium jdk-20.0.2.9-hotspot
C# 10 dotnet-sdk-6.0.404-win-x64
Mind Version 8.07 for Windows
CPU Intel(R) Core(TM) i3-5005U 2.00 GHz

## この記事内容の保証
※この記事の実行結果は参考情報です。実行環境に大きく依存します。

# お題のソースコード
#### Java
“`Java:main.java
import java.lang.System;
/**
* プログラム型
*/
class Program
{
/**
*

元記事を表示

JavaベースのCAPプロジェクトをMTAでデプロイする

## 目的
JavaベースのCAPプロジェクトをMTAでデプロイする方法について確認します。

## 背景
CAPの[チュートリアル](https://developers.sap.com/mission.cap-java-app.html)では、manifest.ymlを使用してサービス部分のみデプロイする方法が紹介されていました。しかし、移送を考えるとDBモジュールやその他のサービスインスタンスも同時にデプロイできるよう、MTAを使ったほうがよいです。

“cap java mta”などで検索すると、以下の記事やGitHubリポジトリがありました。
– https://blogs.sap.com/2023/09/06/deploy-a-java-based-cap-with-frontend-into-btp/
– https://github.com/SAP-samples/cloud-cap-samples-java/tree/main

これらの記事にはmta.yamlファイルの設定については書かれているものの、mta.yamlをどうやって作成するかについては書かれていません

元記事を表示

OTHERカテゴリの最新記事