Play 2.4 taking much more time on first request while using DI

549 views
Skip to first unread message

Tushar Santoki

unread,
Jun 23, 2016, 8:54:43 AM6/23/16
to play-framework
I am using Play 2.4 with dependency injection and injected route generator. But on first request, it is taking 1200 ms and after that, it takes 20 ms for the requests to same route. After i debug it more, i found that on first request, it was loading about 1000 classes using java.lang.classLoader.loadClass(String) method.


[Loaded org.jboss.netty.handler.codec.frame.FrameDecoder from file:/Users/tushar7795/Reach/reach-api/reach-api-1.0.0/lib/io.netty.netty-3.10.5.Final.jar]
[Loaded org.jboss.netty.handler.codec.replay.ReplayingDecoder from file:/Users/tushar7795/Reach/reach-api/reach-api-1.0.0/lib/io.netty.netty-3.10.5.Final.jar]
[Loaded org.jboss.netty.handler.codec.http.HttpMessageDecoder from file:/Users/tushar7795/Reach/reach-api/reach-api-1.0.0/lib/io.netty.netty-3.10.5.Final.jar]
[Loaded org.jboss.netty.handler.codec.http.HttpRequestDecoder from file:/Users/tushar7795/Reach/reach-api/reach-api-1.0.0/lib/io.netty.netty-3.10.5.Final.jar]
[Loaded org.jboss.netty.handler.codec.replay.ReplayError from file:/Users/tushar7795/Reach/reach-api/reach-api-1.0.0/lib/io.netty.netty-3.10.5.Final.jar]
[Loaded org.jboss.netty.handler.codec.frame.TooLongFrameException from file:/Users/tushar7795/Reach/reach-api/reach-api-1.0.0/lib/io.netty.netty-3.10.5.Final.jar]
[Loaded org.jboss.netty.handler.codec.http.HttpChunk from file:/Users/tushar7795/Reach/reach-api/reach-api-1.0.0/lib/io.netty.netty-3.10.5.Final.jar]
[Loaded org.jboss.netty.handler.codec.http.HttpChunkTrailer from file:/Users/tushar7795/Reach/reach-api/reach-api-1.0.0/lib/io.netty.netty-3.10.5.Final.jar]
[Loaded org.jboss.netty.handler.codec.http.HttpMessageDecoder$State from file:/Users/tushar7795/Reach/reach-api/reach-api-1.0.0/lib/io.netty.netty-3.10.5.Final.jar]
[Loaded org.jboss.netty.handler.codec.http.HttpMessage from file:/Users/tushar7795/Reach/reach-api/reach-api-1.0.0/lib/io.netty.netty-3.10.5.Final.jar]
[Loaded org.jboss.netty.handler.codec.replay.ReplayingDecoderBuffer from file:/Users/tushar7795/Reach/reach-api/reach-api-1.0.0/lib/io.netty.netty-3.10.5.Final.jar]
[Loaded org.jboss.netty.handler.codec.replay.UnreplayableOperationException from file:/Users/tushar7795/Reach/reach-api/reach-api-1.0.0/lib/io.netty.netty-3.10.5.Final.jar]
[Loaded org.jboss.netty.handler.codec.oneone.OneToOneEncoder from file:/Users/tushar7795/Reach/reach-api/reach-api-1.0.0/lib/io.netty.netty-3.10.5.Final.jar]
[Loaded org.jboss.netty.handler.codec.http.HttpMessageEncoder from file:/Users/tushar7795/Reach/reach-api/reach-api-1.0.0/lib/io.netty.netty-3.10.5.Final.jar]
[Loaded org.jboss.netty.handler.codec.http.HttpResponseEncoder from file:/Users/tushar7795/Reach/reach-api/reach-api-1.0.0/lib/io.netty.netty-3.10.5.Final.jar]
[Loaded org.jboss.netty.util.CharsetUtil from file:/Users/tushar7795/Reach/reach-api/reach-api-1.0.0/lib/io.netty.netty-3.10.5.Final.jar]
[Loaded org.jboss.netty.util.CharsetUtil$1 from file:/Users/tushar7795/Reach/reach-api/reach-api-1.0.0/lib/io.netty.netty-3.10.5.Final.jar]
[Loaded org.jboss.netty.util.CharsetUtil$2 from file:/Users/tushar7795/Reach/reach-api/reach-api-1.0.0/lib/io.netty.netty-3.10.5.Final.jar]
[Loaded org.jboss.netty.buffer.ChannelBuffers from file:/Users/tushar7795/Reach/reach-api/reach-api-1.0.0/lib/io.netty.netty-3.10.5.Final.jar]
Full log: https://drive.google.com/file/d/0B9RhOuiwHT56NFhOOVNhUDBTdkE/view?usp=sharing
These are some of the classes which are being loaded on first request. How can i load these classes on application start up?

Will Sargent

unread,
Jun 23, 2016, 9:04:40 AM6/23/16
to play-fr...@googlegroups.com
Are you running it in development mode ("run"), or in production mode ("dist", then running the script)? 

Will.

--
You received this message because you are subscribed to the Google Groups "play-framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to play-framewor...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/play-framework/d5cec522-7264-42a9-8184-ac2ee55f74bd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Tushar Santoki

unread,
Jun 23, 2016, 9:25:22 AM6/23/16
to play-framework
running in production mode

Tushar Santoki

unread,
Jun 23, 2016, 9:46:32 AM6/23/16
to play-framework
More details:
  • Using default application loader
  • to initiate Graylog, extended GlobalSettings and overrided onStartUp method
  • Using InjectedRoutesGenerator
  • controller is Singleton

Igmar Palsenberg

unread,
Jun 24, 2016, 3:04:19 AM6/24/16
to play-framework
 
Are you running it in development mode ("run"), or in production mode ("dist", then running the script)? 

We are also seeing this in prod mode. Apps take like 2 - 3 mins to bootup. 



Igmar

Christian Schmitt

unread,
Jun 24, 2016, 5:56:23 AM6/24/16
to play-framework

Tushar Santoki

unread,
Jun 24, 2016, 7:02:42 AM6/24/16
to play-framework
No, i didn't changed http request handler. I am using default http request handler and my play version is 2.4.6.

Christian Schmitt

unread,
Jun 24, 2016, 7:10:41 AM6/24/16
to play-framework
> The http request handler that Play uses if none is configured is one that delegates to the legacy GlobalSettings methods. This may have a performance impact as it will mean your application has to do many lookups out of Guice to handle a single request. If you are not using a Global object, then you don’t need this, instead you can configure Play to use the default http request handler

Thats what I meant. Actually you should avoid the GlobalSettings.

Tushar Santoki

unread,
Jun 26, 2016, 1:49:09 PM6/26/16
to play-framework
I removed GlobalSettings, code was working fine. Then i configure play to use the default http request handler. But it is giving error. 
[error] p.c.s.n.PlayDefaultUpstreamHandler - Exception caught in Netty

Tushar Santoki

unread,
Jun 26, 2016, 3:02:48 PM6/26/16
to play-framework
Working fine after adding 

play.server.provider = "play.core.server.NettyServerProvider" to configuration. But, it is still loading 750 classes on first request. 

Mariot Chauvin

unread,
Jun 27, 2016, 5:17:15 AM6/27/16
to play-fr...@googlegroups.com
Hi Tushar,

Loading of classes (and more generally cold-start) and impact on latency is a well known problem for jvm applications.
The proper way to solve it is to not let your application receive genuine/real requests before all classes have been loaded and your app is fully warmed up.
If you are interested I can share how to achieve this on AWS platform,

Mariot
 

--
You received this message because you are subscribed to the Google Groups "play-framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to play-framewor...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



This e-mail and all attachments are confidential and may also be privileged. If you are not the named recipient, please notify the sender and delete the e-mail and all attachments immediately. Do not disclose the contents to another person. You may not use the information for any purpose, or store, or copy, it in any way.  Guardian News & Media Limited is not liable for any computer viruses or other material transmitted with or as part of this e-mail. You should employ virus checking software.
 
Guardian News & Media Limited is a member of Guardian Media Group plc. Registered Office: PO Box 68164, Kings Place, 90 York Way, London, N1P 2AP.  Registered in England Number 908396


Tushar Santoki

unread,
Jun 27, 2016, 5:45:19 AM6/27/16
to play-framework
Hi Mariot, 

Our servers are also on AWS. It would be really helpful if you can share solution with me. My email is tksa...@gmail.com

Regards,
Tushar Santoki

Christian Schmitt

unread,
Jun 27, 2016, 7:28:42 AM6/27/16
to play-framework
Actually that won't happen on Play 2.5:

[main] [debug] c.g.i.i.BytecodeGen - Loading class controllers.Assets FastClass with sun.misc.Launcher$AppClassLoader@7adf9f5f
[main] [debug] c.g.i.i.BytecodeGen - Loading class controllers.FileController FastClass with sun.misc.Launcher$AppClassLoader@7adf9f5f
...
[main] [info] p.c.s.NettyServer - Listening for HTTP on /0:0:0:0:0:0:0:0:9000
[Hikari housekeeper (pool HikariPool-0)] [debug] c.z.h.p.HikariPool - Before cleanup    pool HikariPool-0 stats (total=10, active=0, idle=10, waiting=0)
[Hikari housekeeper (pool HikariPool-0)] [debug] c.z.h.p.HikariPool - After cleanup     pool HikariPool-0 stats (total=10, active=0, idle=10, waiting=0)
[application-akka.actor.default-dispatcher-4] [debug] i.n.b.AbstractByteBuf - -Dio.netty.buffer.bytebuf.checkAccessible: true
[application-akka.actor.default-dispatcher-4] [debug] i.n.u.i.JavassistTypeParameterMatcherGenerator - Generated: io.netty.util.internal.__matchers__.io.netty.handler.codec.http.HttpObjectMatcher
[netty-event-loop-4] [debug] i.n.u.Recycler - -Dio.netty.recycler.maxCapacity.default: 262144
[netty-event-loop-4] [debug] i.n.u.i.Cleaner0 - java.nio.ByteBuffer.cleaner(): available
[application-akka.actor.default-dispatcher-4] [debug] c.ApplicationController - Remote Address: 127.0.0.1
[application-akka.actor.default-dispatcher-7] [info] f.LoggingFilter - GET / took 81ms and returned 200
[Hikari housekeeper (pool HikariPool-0)] [debug] c.z.h.p.HikariPool - Before cleanup    pool HikariPool-0 stats (total=10, active=0, idle=10, waiting=0)
[Hikari housekeeper (pool HikariPool-0)] [debug] c.z.h.p.HikariPool - After cleanup     pool HikariPool-0 stats (total=10, active=0, idle=10, waiting=0)
[application-akka.actor.default-dispatcher-9] [debug] a.s.i.i.InputStreamPublisher - No more bytes available to read (got `-1` from `read`)
[application-akka.actor.default-dispatcher-9] [debug] a.s.i.i.InputStreamPublisher - No more bytes available to read (got `-1` from `read`)
[application-akka.actor.default-dispatcher-9] [debug] a.s.i.i.InputStreamPublisher - No more bytes available to read (got `-1` from `read`)
[application-akka.actor.default-dispatcher-9] [debug] a.s.i.i.InputStreamPublisher - No more bytes available to read (got `-1` from `read`)
[application-akka.actor.default-dispatcher-8] [debug] a.s.i.i.InputStreamPublisher - No more bytes available to read (got `-1` from `read`)
[application-akka.actor.default-dispatcher-9] [debug] a.s.i.i.InputStreamPublisher - No more bytes available to read (got `-1` from `read`)
[application-akka.actor.default-dispatcher-9] [debug] a.s.i.i.InputStreamPublisher - No more bytes available to read (got `-1` from `read`)

I just stripped everything between, but the class loading happens before it listens on the socket. didn't test 2.4 tough.

Mariot Chauvin

unread,
Jun 27, 2016, 7:56:53 AM6/27/16
to play-fr...@googlegroups.com
Hi Tushar,

So here is the idea:
  • When your application start, you send custom requests to your application you can do it in a specific actor for instance. I will recommend to send your requests sequentially (not in parallel). Of course these requests should not have side effects so either:

    • you send only GET requests
    • you add specific logic (?warmup=true) to ignore them at the layer that manager the side effects (code the write to DB or analytics)
  • When you warmup is finished only you ELB application healthcheck start to reply 200
If you do that and have a ASG with a classic deployment (double the ASG, kill old instance reducing ASG by one each time), then your application will be warmed up before starting to reply to any real requests and you will not suffer from latency spikes at the application start.

Hope this help,

Mariot







For more options, visit https://groups.google.com/d/optout.

Tushar Santoki

unread,
Jun 27, 2016, 8:20:36 AM6/27/16
to play-framework
@Christian, 

try to run application in deployment mode with -J-verbose:class option and check if [Loaded some class] appears in log. 

Regards,
Tushar Santoki 

Christian Schmitt

unread,
Jun 27, 2016, 9:24:03 AM6/27/16
to play-framework
of course it will load some, but that will be done anyway. I mean if you instanciate a class it will load it. the class won't be loaded before but that is not a guice mechanism. That is the normal Class loading mechanism. Also if you turn on `-J-verbose:class` your request will be extremly slow, caused by the fact that the logging is synchronous so your request will be as slow as it could print everything to your console. but as you've seen my request took 80 ms. and that was cold. Turning on -J-verbose:class makes it slow, yes. but that's caused by the fact that my stdout is way slower than the classloading.

Christian Schmitt

unread,
Jun 27, 2016, 10:04:38 AM6/27/16
to play-framework
And here just for completness, this is a Application without Guice at all it's a Play 2.6-SNAPSHOT application which uses Compile time DI, it only contains a Single Controller which prints Hello World:

%PARSER_ERROR[coloredLevel] p.c.s.NettyServer - Listening for HTTP on /0:0:0:0:0:0:0:0:9000
[Loaded com.typesafe.netty.HandlerPublisher$ChannelSubscription$1 from file:/Users/schmitch/projects/schmitch/play/play-guice-free/target/universal/stage/lib/com.typesafe.netty.netty-reactive-streams-1.0.6.jar]
[Loaded play.core.server.NettyServer$$anonfun$2 from file:/Users/schmitch/projects/schmitch/play/play-guice-free/target/universal/stage/lib/com.typesafe.play.play-netty-server_2.11-2.6.0-SNAPSHOT.jar]
[Loaded play.core.server.ProdServerStart$$anonfun$start$1 from file:/Users/schmitch/projects/schmitch/play/play-guice-free/target/universal/stage/lib/com.typesafe.play.play-server_2.11-2.6.0-SNAPSHOT.jar]
[Loaded java.lang.ApplicationShutdownHooks from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.lang.ApplicationShutdownHooks$1 from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.lang.Shutdown from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.lang.Shutdown$Lock from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.nio.channels.spi.AbstractInterruptibleChannel$1 from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded sun.nio.ch.NativeThread from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.nio.channels.ReadableByteChannel from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.nio.channels.WritableByteChannel from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.nio.channels.ByteChannel from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.nio.channels.ScatteringByteChannel from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.nio.channels.GatheringByteChannel from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.nio.channels.SocketChannel from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded sun.nio.ch.SocketChannelImpl from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded io.netty.channel.socket.DuplexChannel from file:/Users/schmitch/projects/schmitch/play/play-guice-free/target/universal/stage/lib/io.netty.netty-transport-4.0.36.Final.jar]
[Loaded io.netty.channel.socket.SocketChannel from file:/Users/schmitch/projects/schmitch/play/play-guice-free/target/universal/stage/lib/io.netty.netty-transport-4.0.36.Final.jar]
[Loaded io.netty.channel.nio.AbstractNioByteChannel from file:/Users/schmitch/projects/schmitch/play/play-guice-free/target/universal/stage/lib/io.netty.netty-transport-4.0.36.Final.jar]
[Loaded io.netty.channel.socket.nio.NioSocketChannel from file:/Users/schmitch/projects/schmitch/play/play-guice-free/target/universal/stage/lib/io.netty.netty-transport-4.0.36.Final.jar]
[Loaded io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe from file:/Users/schmitch/projects/schmitch/play/play-guice-free/target/universal/stage/lib/io.netty.netty-transport-4.0.36.Final.jar]
[Loaded io.netty.channel.socket.SocketChannelConfig from file:/Users/schmitch/projects/schmitch/play/play-guice-free/target/universal/stage/lib/io.netty.netty-transport-4.0.36.Final.jar]
[Loaded io.netty.channel.socket.nio.NioSocketChannel$NioSocketChannelUnsafe from file:/Users/schmitch/projects/schmitch/play/play-guice-free/target/universal/stage/lib/io.netty.netty-transport-4.0.36.Final.jar]
[Loaded io.netty.channel.FileRegion from file:/Users/schmitch/projects/schmitch/play/play-guice-free/target/universal/stage/lib/io.netty.netty-transport-4.0.36.Final.jar]
[Loaded io.netty.channel.socket.DefaultSocketChannelConfig from file:/Users/schmitch/projects/schmitch/play/play-guice-free/target/universal/stage/lib/io.netty.netty-transport-4.0.36.Final.jar]
[Loaded io.netty.channel.socket.nio.NioSocketChannel$NioSocketChannelConfig from file:/Users/schmitch/projects/schmitch/play/play-guice-free/target/universal/stage/lib/io.netty.netty-transport-4.0.36.Final.jar]
[Loaded java.net.Socket from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded sun.nio.ch.SocketAdaptor from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.net.StandardSocketOptions from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.net.SocketOption from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.net.StandardSocketOptions$StdSocketOption from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded sun.nio.ch.SocketChannelImpl$DefaultOptionsHolder from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded sun.nio.ch.ExtendedSocketOption from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded sun.nio.ch.ExtendedSocketOption$1 from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded sun.net.ExtendedOptionsImpl from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.lang.invoke.LambdaMetafactory from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.lang.invoke.LambdaForm$DMH/1216523596 from java.lang.invoke.LambdaForm]
[Loaded java.lang.invoke.LambdaForm$MH/277710783 from java.lang.invoke.LambdaForm]
[Loaded java.lang.invoke.LambdaForm$BMH/1719143085 from java.lang.invoke.LambdaForm]
[Loaded java.lang.invoke.BoundMethodHandle$SpeciesData$1 from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.lang.invoke.BoundMethodHandle$Factory$1 from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.util.concurrent.ConcurrentHashMap$ReservationNode from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded jdk.internal.org.objectweb.asm.FieldVisitor from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded jdk.internal.org.objectweb.asm.FieldWriter from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.lang.invoke.BoundMethodHandle$Species_LL from __JVM_DefineClass__]
[Loaded sun.reflect.UnsafeStaticObjectFieldAccessorImpl from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.lang.invoke.LambdaForm$BMH/341328237 from java.lang.invoke.LambdaForm]
[Loaded java.lang.invoke.LambdaForm$BMH/1754569766 from java.lang.invoke.LambdaForm]
[Loaded java.lang.invoke.BoundMethodHandle$Species_L3 from __JVM_DefineClass__]
[Loaded java.lang.invoke.LambdaForm$BMH/480227040 from java.lang.invoke.LambdaForm]
[Loaded java.lang.invoke.BoundMethodHandle$Species_L4 from __JVM_DefineClass__]
[Loaded java.lang.invoke.LambdaForm$BMH/111347694 from java.lang.invoke.LambdaForm]
[Loaded java.lang.invoke.AbstractValidatingLambdaMetafactory from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.lang.invoke.InnerClassLambdaMetafactory from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.security.AccessController$1 from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.security.AllPermissionCollection from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.lang.invoke.MethodHandleInfo from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.lang.invoke.InfoFromMemberName from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.lang.invoke.TypeConvertingMethodAdapter from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.lang.invoke.InnerClassLambdaMetafactory$ForwardingMethodGenerator from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded sun.net.ExtendedOptionsImpl$$Lambda$1/1475488086 from sun.net.ExtendedOptionsImpl]
[Loaded java.lang.invoke.InnerClassLambdaMetafactory$1 from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded java.lang.invoke.LambdaForm$MH/1263402976 from java.lang.invoke.LambdaForm]
[Loaded java.lang.invoke.LambdaForm$MH/1431248144 from java.lang.invoke.LambdaForm]
[Loaded jdk.net.SocketFlow$Status from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded jdk.net.SocketFlow from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded sun.nio.ch.SocketOptionRegistry from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded sun.nio.ch.SocketOptionRegistry$RegistryKey from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded sun.nio.ch.SocketOptionRegistry$LazyInitialization from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
[Loaded sun.nio.ch.OptionKey from /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/rt.jar]
Reply all
Reply to author
Forward
0 new messages