2018/01/14 【Scala】学習メモ
Scalaの環境構築
OS: macOS
1Scalaのインストール
ターミナルにて
を実行
scala -versionを実行し、インストールできた確認
2sbtのインストール
sbtとは
ーscalaのビルドツール。
ーバージョン管理などもするらしい。
brew install sbt
REPL(リプル)
ーRead-eval-print-loop
ーscalaの実行環境
REPLから抜け出す方法
exitで抜け出せると思ったからできなかったため、やり方を調べる
:q
で抜けられるらしい。
PlayFrameworkのインストール
ーbrew install typesafe-activator
ーactivator new [プロジェクト名]
ーactivator run
ー作成したプロジェクト配下に移動し実行
ー初回は時間がかかる模様
2018/01/13 【Java】学習メモ
ーJavaの仮想環境
ー
ーOSに依存せずにJavaプログラムを実行することを可能にする機能。
ーOSごとに違うJVMを持つが、仮にWindowsでコンパイルして作成したクラスファイル(バイトコード)でも、Linuxで実行することが可能。
ーJavaはOSに依存せず実行可能な言語。
ーOSごとのネイティブコードに変換する。
Permanent領域
ー非ヒープ領域
ーヒープとはシステムが利用するメモリ領域
ークラスやメソッドなどの情報が格納される領域
New領域
ーヒープ領域
ーEden領域
ーオブジェクトがインスタンス化された時に利用する領域
ーFrom領域、To領域
ーEden領域のメモリが満たされた際、オブジェクトの退避に利用する領域
Old領域
ーヒープ領域
ーNew領域に格納されているオブジェクトで使用期間が長いものが格納される領域
ーOld領域がいっぱいになるとFull GCが起こる
ープログラムが確保したメモリ領域のうち、不要になった箇所を解放する機能
ーガーベジコレクションにシステムの動作が停止することがある
ーFull GC
ー使用可能なメモリが不足し、プログラムが動作しなくなる状態
Scavenge GC
ーNew領域のみに対し働くガーベジコレクション
Full GC
ーOld領域を含む全領域で働くガーベジコレクション
ー処理に時間がかかる
ーOld領域が多く使用されるほど、Full GCが起こる可能性が上がる。
ーオブジェクトの使い回しを増やさないようにすると回避できる?
ー新しいオブジェクトを大量に使う場合は、New領域を大きくする?
ーOld領域の使用を減らす狙い
2018/01/09 【Spring Boot】 学習メモ6
キャメル記法
ー各単語の1文字目だけを大文字にする
ー例)findByName