抽象クラスとインターフェースの違い
どこかの記事で読んだものがわかりやすかったのでめも。
※どこだったかは忘れた
抽象クラス = 「is - a」関係
[iPhone] is a [携帯電話] [Android スマホ] is a [携帯電話]
インターフェース = 「has - a」関係
[携帯電話] has a [メール機能] [携帯電話] has a [通話機能]
Javaだと言語的に同じような使い方ができることがあるけど、
概念的に使い分けるのがお作法だということですな
Failed to destroy end point associated with ProtocolHandler ["http-nio-8080"]
Tomcatさんが起動しない!
ログ(catalina.out)を見たらいろいろげろげろ
25-Jun-2015 15:15:05.026 SEVERE [main] org.apache.coyote.AbstractProtocol.destroy Failed to destroy end point associated with ProtocolHandler ["http-nio-8080"] java.lang.NullPointerException at org.apache.tomcat.util.net.NioEndpoint.releaseCaches(NioEndpoint.java:303) at org.apache.tomcat.util.net.NioEndpoint.unbind(NioEndpoint.java:479) at org.apache.tomcat.util.net.AbstractEndpoint.destroy(AbstractEndpoint.java:818) at org.apache.coyote.AbstractProtocol.destroy(AbstractProtocol.java:532) at org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1023) at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305) at org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:588) at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305) at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:859) at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305) at org.apache.catalina.startup.Catalina.start(Catalina.java:629) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485) 25-Jun-2015 15:15:05.026 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["ajp-nio-8009"] 25-Jun-2015 15:15:05.027 SEVERE [main] org.apache.coyote.AbstractProtocol.destroy Failed to destroy end point associated with ProtocolHandler ["ajp-nio-8009"] java.lang.NullPointerException at org.apache.tomcat.util.net.NioEndpoint.releaseCaches(NioEndpoint.java:303) at org.apache.tomcat.util.net.NioEndpoint.unbind(NioEndpoint.java:479) at org.apache.tomcat.util.net.AbstractEndpoint.destroy(AbstractEndpoint.java:818) at org.apache.coyote.AbstractProtocol.destroy(AbstractProtocol.java:532) at org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1023) at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305) at org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:588) at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305) at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:859) at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305) at org.apache.catalina.startup.Catalina.start(Catalina.java:629) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)
/usr/local/tomcat8/conf/server.xml
→ Contextでデプロイされていない資産があると起こるみたい