GrepCodeがサービス終了?していた
オンラインでコード参照先として使わせてもらってお世話になっていたGrepCodeが、サービス終了していたっぽい話。
サービス終了のニュースと代わりのサービス
最近はほとんどブログを書かなくなって、ネットの話題にも疎いのですが、久しぶりにGrepCodeを使ってみようと思ったら、 503 Service Unavailable になっていました。
一時期、記事をGrepCodeに多分に依存して書いていたので、デッドリンクが大量にできてしまいました...。
ググってみると、以下の記事が。
GrepCode Is Down! What's Next? - DZone Open Source
https://dzone.com/articles/grepcode-is-down-whats-next
これは2018/8/21に投稿されたもので、この記事によると、3ヶ月ほど前からサービスが利用不可になっていて、おそらくもう復活しないだろう、そして、GrepCodeの代わりに、有志によってzGrepCodeというサービスが立ち上げられたとのことです。
zGrepCodeは、利用者が少ないからなのか、データが少ないからなのか、システムが優れているからなのかはわかりませんが、本家GrepCodeよりも軽快で使いやすそうです。GrepCodeは便利でしたが、重かったのがちょっと難点でしたから。
なので、今後はzGrepCodeを使ってみるのが良さげです。
もしくは、Javaのコードなら直接OpenJDKのソースにリンクするという手もあります。 こちらの場合は、リリースとリリースの間のコミットが見られるメリットはありますが、クラス間をリンクで飛んだりはできません。
リンクを張ってみる
GrepCodeは、以前書いたJavaThreadの話で多用していたので、その時のリンクを一部差し替えて1みます。
どのリンクがどのサイトのものかは、ドメインのところで見分けてください。
java.lang.ref.Finalizer
バージョンがバラバラですが、だいたい同じはず。
java/lang/ref/Finalizer.java:189
(openjdk8 b132) - GrepCode Class Source
http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8-b132/java/lang/ref/Finalizer.java#189
(503)
https://zgrepcode.com/java/openjdk/10.0.2/java.base/java/lang/ref/finalizer.java#L-225
Signal Dispatcher
今度は、Javaクラスではなく、VM(hotspot)のソースコードを参照してみます。
こちらは、GitHubにリンクしていた分なので、GrepCodeには無かったですが、zGrepCodeにも無いです。
os.cpp:320
(openjdk-mirror/jdk7u) - GitHub
https://github.com/openjdk-mirror/jdk7u-hotspot/blob/master/src/share/vm/runtime/os.cpp#L320
https://hg.openjdk.java.net/jdk10/jdk10/hotspot/file/5ab7a67bc155/src/share/vm/runtime/os.cpp#l434
終わりに(感想)
久しぶりにJDKのソースコードを読んだりしました、もはや懐かしいレベルに久しぶり。
Javaからはだいぶ遠ざかっていたものの、仕事上縁があるし、いい機会なので、JDK10を勉強しておこうかなと思いました。
(おわり)
-
元記事は差し替えを予定していません。↩