Skip to content

Instantly share code, notes, and snippets.

KUBOTA Yuji ykubota

  • Japan
View GitHub Profile
@ykubota
ykubota / Usage.md
Last active Mar 26, 2020
Get specified jdk8 version sources from openjdk repository
View Usage.md

Usage

bash get_specified_source.sh jdk8u77

Note: This script does not validate the input.

@ykubota
ykubota / execute.md
Last active Oct 27, 2015
Jigsaw jdeps/jlink demo's command
View execute.md
  • jdeps -M -s lib/*

  • jdeps -genmoduleinfo msrc lib/*

    • msrc//module-info.java
    • requires / exports / provides 修飾子
  • jdeps -R -cp lib/* lib/(what_you_want).jar

  • jdeps -s -R -cp lib/* lib/(what_you_want).jar

  • jdeps -s -ct -R -cp lib/* lib/(what_you_want).jar

  • jlink --help

  • jlink --modulepath $JMODS --addmods java.base --output yimage --exclude-files *.diz

@ykubota
ykubota / spec_2.0.patch
Created Oct 20, 2015
Bump to 2.0. (agent/mbean)
View spec_2.0.patch
This file has been truncated, but you can view the full file.
diff -r d284ec1e1226 Makefile.am
--- a/Makefile.am Wed Oct 14 10:43:58 2015 +0900
+++ b/Makefile.am Tue Oct 20 16:54:18 2015 +0900
@@ -26,14 +26,14 @@
install-exec-local:
$(mkdir_p) $(DESTDIR)/$(libexecdir)
$(mkdir_p) $(DESTDIR)/$(libexecdir)/lib
- $(INSTALL_DATA) $(ANALYZER_DIR)/THIRD_PARTY_README $(DESTDIR)/$(libexecdir)
- $(INSTALL_DATA) $(ANALYZER_DIR)/heapstats-analyzer.jar $(DESTDIR)/$(libexecdir)
@ykubota
ykubota / make.sh
Last active Oct 19, 2015
ThreadRecorder + DeadLock 検知を試してみる
View make.sh
sudo dnf install -y --enablerepo="*debug*" hg net-snmp net-snmp-devel gcc gcc-c++ binutils binutils-devel maven ant java-1.8.0-openjdk java-1.8.0-openjdk-devel java-1.8.0-openjdk-debuginfo
hg clone http://icedtea.classpath.org/hg/heapstats
cd heapstats/
./configure; make agent
sed -e "s/thread_record_enable=false/thread_record_enable=true/" agent/heapstats.conf > agent/heapstats_threadrecorder.conf
cd agent/test/deadlock
javac DLSample.java
java -agentpath:../../src/libheapstats.so=../../heapstats_threadrecorder.conf DLSample 5
View HelloWorld.scala
object HelloWorld {
def main(args: Array[String]) {
println("Hello, world!")
}
}
@ykubota
ykubota / Dump.java
Last active Sep 3, 2015
dump JavaFX Node struct to show all Java classes and css style classes.
View Dump.java
import javafx.scene.Node;
import javafx.scene.Parent;
// :
private void dump(Node n, int depth) {
for (int i = 0; i < depth; i++) System.out.print(" ");
System.out.println(n);
if (n instanceof Parent) for (Node c: ((Parent) n).getChildrenUnmodifiable()) dump(c, depth + 1);
}
// :
View StreamWithIndex.java
# streams: some indexable collection
IntStream.range(0, streams.size())
.forEach(index ->
some.process(
index,
streams.get(index)
)
);
@ykubota
ykubota / Readme.md
Last active Aug 29, 2015
JJUG CCC 2015 Spring、M-3 HeapStats: Javaトラブルシューティング ハンズオン の参加にあたっての前準備
View Readme.md

JJUG CCC 2015 Spring

M-3 HeapStats: Javaトラブルシューティング ハンズオン への参加にあたって

本セッションは前半は HeapStats についての通常セッション、後半はハンズオン形式で HeapStats を実際に使用して簡単なトラブルシューティングを行う形式になっています。後半のハンズオンセッションは大きく以下の内容を実施します。

  1. HeapStats agent を利用して情報収集。
  2. 講師が用意した HeapStats 出力ファイルを元に、HeapStats analyzer を利用して解析。

このため、後半のハンズオンに参加される方は、十分に充電したノート PC をご持参頂く必要があります。

View gist:e914aeb147cda7294a62
>IBMの@ashigeru
IBM さんや @ashigeru さんの資料でした。2資料です。ちなみにそれぞれ
http://www.ibm.com/developerworks/jp/websphere/library/java/j2ee_classloader/index.html
http://www.slideshare.net/ashigeru/classloader
です。
>YoungとOldは、参照があるかどうかの違い。不要になったタイミングでGCで回収される。
すみません、伝え方が悪かったようです。「参照がなくなったときに不要になる。不要になったタイミングでGCに回収される」です。主なYoungとOldの違いはオブジェクトの年齢で、参照云々は別の話でした。(参照され続けてオブジェクトが長生きしてたらYoungからOldへ移動する)
@ykubota
ykubota / run.sh
Last active Aug 29, 2015
Specify JVM options (-XX) by file.
View run.sh
java -XX:Flags=vm.option.txt XXX
You can’t perform that action at this time.