それが僕には楽しかったんです。

ミドルウェアとかやってます

Java

JVM における G1GC とヒープの雑な話

はじめに ヒープと GC の基本 ヒープの構造 雑な GC の基本 G1GC 概要 仕組み Young 領域に対する GC コンカレントサイクル 混合 GC Major GC が実行される可能性のある場合 おわりに 参考文献 はじめに どうも、けんつです。GW は特に何もせず映画とチェス…

Java で利用できるオプションをバージョン別で比較してくれるサービスを作った話

2021/07/12 VPS が MariaDB ビルド用サーバに化けたのでサイトを運用していないです はじめに 作ったもの 対象となるオプションたち UnlockDiagnosticVMOptions UnlockExperimentalVMOptions 改善したい 余談 おわりに はじめに 言語のバージョンを変更する…

Springboot アプリケーションのデプロイ準備を考える

はじめに 準備すること 環境別の properties を用意する dev 環境を整える jar と resources を固める 番外編: redis でちょっとハマった おわりに はじめに 最近趣味で Springboot アプリケーションを作っていてデプロイ準備が地味に面倒だったので備忘録と…

JIT コンパイラのコンパイラスレッド、コード最適化について

はじめに コンパイラのスレッド コードの最適化 インライン化 エスケープ分析 おわりに はじめに 今回は前回の内容に引き続きJIT コンパイラについての話。割と薄くなる予定。 コンパイラスレッドとか最適化とかそのあたり。 Java パフォーマンスには、 JVM …

JIT コンパイラのコードキャッシュ

はじめに コードキャッシュとそのチューニング コードキャッシュとは コードキャッシュの確認 コードキャッシュが圧迫された場合の挙動 単純なチューニング コンパイル時の基準 コンパイルプロセスを理解する 非最適化について entrant ではないコード zombi…

Java のJIT コンパイルについて

はじめに JIT コンパイルとは JIT コンパイルによる効果を確かめる JIT コンパイルの動作 クライアントコンパイルとサーバコンパイル トレードオフの存在 階層型コンパイル おわりに 参考文献 はじめに 今回は Java の JIT コンパイルについて。 Java パフォ…

Hadoopを使ってみた

はじめに インフラに興味をもってから、その中でも特に分散システムや分散並列処理に興味を持ったので有名な分散処理フレームワークであるHadoopを使ってみる。 今回は以下の記事を参考にして自分のUbuntu 16.04上で動かす。 Apache Hadoop 2.5.0 セットアッ…

Oracle Code Japan Tour in Sapporoに行ってきた

はじめに Oracle Code Japan TourがSapporoにくるとのことで初めて情報系のイベントに参加してみた。 というわけで実際に得た情報をあれこれまとめてみた。すごいメモのような感じになっているので間違ってたらコメントなどくれると嬉しい。 Feed Back from …

日本語版NetBeans8.2をUbuntuにいれてみた

なぜかNetBeansをいれることになった 友達曰く、「NetBeansが英語なのとプロジェクトを開けない」とのことで実際に検証してみた。 普段はVSCodeかVimとsbtでScala,Javaしか書かない人間のUbuntuにはそんな便利なもの入ってるわけもなく 実際に導入しながらそ…

遺伝的アルゴリズムとその応用

遺伝的アルゴリズム ~Genetic Algorithm~ 遺伝的アルゴリズム(Genetic Algorithm)とは、近似解を探索するアルゴリズム。 主にランダム性を持って要素を変化させる。進化的アルゴリズムの一つでもある。このアルゴリズムはデータを遺伝子として表現し、一つ一…

Javaオブジェクトのライフサイクル管理

はじめに javaではnewを使うことで簡単にオブジェクトを生成できるが プログラムの規模が大きくなると、オブジェクトの生成から消滅までの管理が複雑化してしまうオブジェクトのライフサイクルを適切に管理するには以下のようなやり方がある・変数のスコープ…

java【数値】

まずは、数値の中で比較的扱う頻度の高い整数の話から 1.整数 数学の世界には正の数にも負の数にも無限大までありますが プログラミングの世界には整数といえど限りがあります そしてjavaには整数を扱う5つのデータ型が存在し、それぞれ範囲が設定されてい…

java【文字列】

プログラミングにおいて、文字列を操作出来るようになるとかなり出来ることの幅が広がると言われるほど文字列を扱うことは重要である そのことを踏まえて、javaで文字列を扱うとはどういうことかまとめてみる まず第一に、扱う文字列をどう定義するか。 1.St…

javaにおけるオブジェクトの同一性と等値性

これは大抵のコンパイルを必要とする言語でよくある?やつ javaではString型の比較で==演算子を使うと正しく評価されないという 初心者向けの入門書によく書いているあれ ざっくり言えば ==は同一性を指す つまりオブジェクトが同じかどうか じゃあ、等値性…

わざわざ記事にするほどではないjavaの型についてのお話

javaで型についてちょっとしたお話 javaでは型をプリミティブ型と参照型と大きく二分できる プリミティブ型はオブジェクトではなく 逆に参照型はオブジェクトである しかし、プリミティブ型をオブジェクトして扱いたい時がどうしてもある そういう時はラッパ…

java8でソケットを使う

今回はjava8でソケットを使ってみる ずっとCの話だったりして全くjavaの話は載せていなかったけど 自分が使う言語の中で一番使えるのはjavaっていう事実 ソケットで通信を扱うってどうやんの? これがわかればあとは単純なコード書きだけ ソケットを使う通信…