Skip to content

Instantly share code, notes, and snippets.

View joakime's full-sized avatar

Joakim Erdfelt joakime

  • Webtide, LLC
  • McAllen, TX
View GitHub Profile
@joakime
joakime / JettyMetricsListener.og
Created July 8, 2020 19:43
Example of output of DebugWebAppMetricsListener / DebugServletMetricsListener
/home/joakim/java/jvm/openjdk-8/bin/java -javaagent:/home/joakim/java/idea-IC-192.6603.28/lib/idea_rt.jar=34775:/home/joakim/java/idea-IC-192.6603.28/bin -Dfile.encoding=UTF-8 -classpath /home/joakim/java/jvm/openjdk-8/jre/lib/charsets.jar:/home/joakim/java/jvm/openjdk-8/jre/lib/ext/cldrdata.jar:/home/joakim/java/jvm/openjdk-8/jre/lib/ext/dnsns.jar:/home/joakim/java/jvm/openjdk-8/jre/lib/ext/jaccess.jar:/home/joakim/java/jvm/openjdk-8/jre/lib/ext/localedata.jar:/home/joakim/java/jvm/openjdk-8/jre/lib/ext/nashorn.jar:/home/joakim/java/jvm/openjdk-8/jre/lib/ext/sunec.jar:/home/joakim/java/jvm/openjdk-8/jre/lib/ext/sunjce_provider.jar:/home/joakim/java/jvm/openjdk-8/jre/lib/ext/sunpkcs11.jar:/home/joakim/java/jvm/openjdk-8/jre/lib/ext/zipfs.jar:/home/joakim/java/jvm/openjdk-8/jre/lib/jce.jar:/home/joakim/java/jvm/openjdk-8/jre/lib/jsse.jar:/home/joakim/java/jvm/openjdk-8/jre/lib/management-agent.jar:/home/joakim/java/jvm/openjdk-8/jre/lib/resources.jar:/home/joakim/java/jvm/openjdk-8/jre/lib/rt.jar:/home/joakim/
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Jetty :: Websocket :: Parent 10.0.0-SNAPSHOT:
[INFO]
[INFO] Jetty :: Websocket :: Parent ....................... SUCCESS [ 1.778 s]
[INFO] Jetty :: Websocket :: Core :: Common ............... SUCCESS [ 3.921 s]
[INFO] Jetty :: Websocket :: Core :: Client ............... SUCCESS [ 0.813 s]
[INFO] Jetty :: Websocket :: Core :: Server ............... SUCCESS [ 0.724 s]
[INFO] Jetty :: Websocket :: Core :: Tests ................ SUCCESS [ 25.068 s]
[INFO] Jetty :: Websocket :: org.eclipse.jetty.websocket :: API SUCCESS [ 0.486 s]
[INFO] Jetty :: Websocket :: org.eclipse.jetty.websocket :: Util SUCCESS [ 2.385 s]
package net;
import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Collection;
import java.util.Collections;
import java.util.Enumeration;
graph {
BLOCKING -> BLOCKED [ label="write/flush/close" ];
BLOCKING -> READY [ label="setWriteListener" ];
BLOCKED -> BLOCKING [ label="onWriteComplete" ];
READY -> PENDING [ label="write/flush/close" ];
READY -> UNREADY [ label="onWriteComplete" ];
PENDING -> ASYNC [ label="onWriteComplete" ];
ASYNC -> READY [ label="isReady=true" ];
PENDING -> UNREADY [ label="isReady=false" ];
}
package jetty.http2;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletRequestWrapper;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/* ----- Output on OSX -----
/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/bin/java "-javaagent ...(snip)...
path A1: å.log - exists:true
path A2: å.log - exists:true
Files.isSameFile(pathA1, pathA2): true
------ */
package unicode;
/* --- results of running this ---
NFD = "å"
NFD.length = 2
NFD.toCharArray().length = 2
NFD.getBytes(UTF-8).length = 3
NFD.codePointCount() = 2
codepoint[ 0] is 0x0061 [a] (is_letter) (is_java_identifier_start) (is_java_identifier_part)
codepoint[ 1] is 0x030a [̊] (is_java_identifier_part)
NFD = "å"
package invoke;
import java.lang.invoke.MethodType;
import java.lang.reflect.Method;
public class MethodTypeDemo
{
public interface Foo
{
Object decorate(Object object);
@joakime
joakime / ModuleLocationDemo.java
Created June 20, 2019 17:36
Using Java 9+ module system for class location
package modules;
import java.lang.module.Configuration;
import java.lang.module.ModuleReference;
import java.lang.module.ResolvedModule;
import java.net.URI;
import java.net.URL;
import java.security.CodeSource;
import java.security.ProtectionDomain;
import java.util.Optional;
public static void main(String args[]) {
// Is "SCIOnStartupListener" the best name?
ServletContextHandler context = new ServletContextHandler();
ServletContainerInitializer corpSci = new MyCorporateSCI();
ServletContainerInitializer websocketSci = new JavaxWebSocketServletContainerInitializer();
// Typical usage
context.addEventListener(new SCIOnStartupListener(corpSci, websocketSci));