mutao.net

いわゆる雑記。

Java

log4j2の脆弱性についてのポエム

災害レベルの脆弱性に出会ったので記念?に書く。 ゼロデイ脆弱性だし、日本は金曜日だし最悪なタイミングでした。 logging.apache.org Base CVSS Score: 10.0 と文句なしの満点。 loggerにこのレベルの脆弱性があるとは考えもしてなかった。 www.lunasec.io…

MySQL8系への移行に備える

MYSQL8系を使用するにはSpring で使われているMySQL Connector/Jをアップデートする必要があります。 今回はちょっと詰まってしまったところがあるのでメモ。 MySQLのEOL https://www.oracle.com/us/support/library/lifetime-support-technology-069183.pdf…

gccコマンド

Linuxを使っているとgccコマンドというのをよく目にする。 実際良くわかっていなかったのでメモする。 まず、GCCとは GNU Compiler Collectionの略でC,C++,Goなどのコンパイラコレクションとのこと。 linuxize.com gccコマンドはGNU C Compilerの実行ファイ…

Java並列処理実装について

軽くJavaの並列処理の実装について調べてみたのでメモしておく。 Javaのスレッド Javaのスレッドはカーネルスレッドと結びついている。 基本的には1coreあたり1スレッドしか動作できないためスレッドを切り替えて動作することになる。 このスレッドの切り替…

GraalVM②

Graalは言語間で呼び出しができるらしいのでお試しテスト JavaScript -> Java Javaの配列をJavaScriptの配列に入れてみるテスト $ js > const array = new(Java.type("int[]"))(2) > array[1] = 1 1 記法全然わからないけどうまくいったみたい Ruby いれてみ…

micronaut入門

micronaut https://micronaut.io/index.html JVMベースのフルスタックフレームワーク Java Groovy Kotlin をサポートしているみたい とにかく高速で起動できて、メモリ消費率がかなり少ないみたい 入門 公式Docを見ながら入門してみる SDKMANで簡単にinstall…

GraalVM

なんでやったの JavaのJITコンパイラとどれぐらい速度が違うのか検証したい。 Java(TM) SE Runtime Environment 18.9 (build 11.0.3+12-LTS) ユニバーサルJVMだからJavaのmoduleをPythonで作るとかできるらしい。 JakartaEE勉強のための一環 メイン機がWindo…

JDKのあれこれ

Oracle JDKライセンスの有償化 リリースサイクル変更にともない、Oracle JDK の運用には有償サポートが必要になると発表された。 c.f. https://www.oracle.com/technetwork/jp/articles/java/ja-topics/jdk-release-model-4487660-ja.html これによって「Jav…

Javaの用語わけわかんない

Java開発をしていると聞きなれない単語がでてくるのでここにまとめる Java API Java SE (J2SE) Java EE (J2EE) Java ME (J2ME) 名称 内容 JavaSE(J2SE) Java Platform Starndard EditionJavaの仮想マシン(JVM)など標準的なものが入った「セット」のこと …

Java Silver SE8 合格メモ

合否結果 正答率94%で合格。 受けてみて 参考書はいわゆる黒本のみでいい。 巻末の模擬試験問題が優秀。テストで変数名だけ違うような問題がでてくる。 各章の練習問題やるより、巻末の模擬試験を何度も往復して暗記するだけで合格できるのでは、と思うくら…

ポリモーフィズムを使った問題の落とし穴

参照型のクラスにないメソッドは使うことができず、コンパイルエラーとなる。 public class A { public void hello() { System.out.println("Hello!"); } } public class B extends A { public void test() { System.out.println("Test!"); } } public class…

配列型の変数宣言と初期化

正しい変数宣言と初期化(インスタンス化) 変数宣言 int[] array; int array[]; //2次元型 int[][] array; int array [][]; int[] array[]; //3次元型(これも大丈夫) int[][] array[]; インスタンスの生成と代入 int[] array = new int[3]; int[] array = n…

staticイニシャライザ

クラスを利用するときに一度だけ呼び出される初期化ブロック オブジェクトの初期化時ではなく、クラス自身の初期化時に実行される 複数のstaticイニシャライザが定義されている場合はコードに書かれた順序で事項される JVMによって自動的に実行されるメソッ…

String.replaceメソッド

String.replace 文字列を置き換えるためのメソッド 文字列の置き換えは、その文字列の先頭から最後まで再帰的に行われる replaceメソッドは char型 と CharSequence型の因数を2つ受け取るメソッドが提供されている public String replace (char oldchar, cha…