1.1Tomcat 1.2JVM 1.3Mysql 2.1Springcloud 2.2Springboot 2.3

1.1Tomcat 1.2JVM 1.3Mysql 2.1Springcloud 2.2Springboot 2.3

Java 1.1tomcat 1.2JVM 1.3Mysql 2.1SpringCloud 2.2SpringBoot 2.3Dubbo 4.1Spring 4.2SpringMVC 4.3MyBatis 5.1 5.2 5.3 ๅग़ ᩒრ ​ 1.1tomcat 1tomcat 1. JVM -Xms<size> JVM - Xmx<size> JVM 80% catalina.bat JAVA_OPTS='-Xms256m- Xmx512m' 256MB512MB 2.DNS webIP IPDNS IP DNS DNS server.xml enableLookups Tomcat4 <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"port="80" minProcessors="5"maxProcessors="75"enableLookups="false"redire ctPort="8443" acceptCount="100"debug="0"connectionTimeout="20000" useURIValidationHack="false"disableUploadTimeout="true"/> Tomcat5 <Connectorport="80"maxThreads="150"minSpareThreads="25" maxSpareThreads="75"enableLookups="false"redirectPort="8443" acceptCount="100"debug="0"connectionTimeout="20000" disableUploadTimeout="true"/> 3. Con nector Tomcat Java CPU Tomcat4 minProcessors maxProcessors minProcessors 51 5 maxProcessors maxProcessors web server Windows2000Linux1000 Tomcat5 maxThreads Tomcat Tomcat acceptCount connnection Timeout 0 30000 minSpareThreadsTomcat maxSpareThreads Tomcat socket web 2comcat tomcat server.xml <Connector/> minProcessors 10 maxProcessors 75 acceptCount maxProcessors 100 enableLookups truefalse false connectionTimeout 0 30000 maxProcessorsacceptCount web server Windows2000Linux1000tomcat5 <Connectorport="8080" maxThreads="150"minSpareThreads="25"maxSpareThreads="75" enableLookups="false"redirectPort="8443"acceptCount="100" debug="0"connectionTimeout="20000" disableUploadTimeout="true"/> 3tomcat java.lang.OutOfMemoryError:Java heap space JAVA 1 Heap size TOMCAT_HOME/bin/catalina.sh setJAVA_OPTS=-Xms32m-Xmx512m 2 java-Xms32m-Xmx800m className JAVAclassName Eclispe Eclipse->run-arguments VM arguments -Xms32m- Xmx800m Eclilpse VMarguments -Xms32m-Xmx800m java.lang.OutOfMemoryError:PermGen space PermGen space Permanent Generation space , , JVMClassMeta,ClassLoader PermGen space ,(Instance)Heap , GC(Garbage Collection) PermGen space CLASS, PermGen space ,webJSP preco mpile WEB APP jar, jvm(4M) MaxPermSize TOMCAT_HOME/bin/catalina.sh “echo"Using CATALINA_BASE:$CATALINA_BASE"” JAVA_OPTS="-server-XX:PermSize=64M-XX:MaxPermSize=128m jar tomcat/shared/lib jar java.lang.OutOfMemoryError:Java heap space Heap size JVMjavaJVM .JVM Heap size (-Xms) 1/64 (-Xmx) 1/4JVM -Xmn-Xms-Xmx Heap size Young Generation TenuredGeneraion JVM98GC Heap size 2 Heap Size 80 - Xms -Xmx -Xmn 1/4 -Xmx Heap size TOMCAT_HOME/bin/catalina.sh “echo"Using CATALINA_BASE:$CATALINA_BASE"” JAVA_OPTS="-server-Xms800m-Xmx800m-XX:MaxNewSize=256m" 1G java jvm JAVA_OPTS="-server-Xms800m-Xmx800m-XX:PermSize=64M- XX:MaxNewSize=256m-XX:MaxPermSize=128m- Djava.awt.headless=true" webtomcat myeclipsetomcattomcat TOMCAT_HOME/bin/catalina.bat set JAVA_OPTS=-server-Xms2048m-Xmx4096m-XX:PermSize=512M- XX:MaxPermSize=1024M-Duser.timezone=GMT+08 set JAVA_OPTS=-Xmx1024M-Xms512M-XX:MaxPermSize=256m myeclipse Myeclipse->preferences->myeclipse->servers->tomcat- >tomcat×.×->JDK Optional Java VM arguments - Xmx1024M-Xms512M-XX:MaxPermSize=256m myeclipseTomcat "ava.lang.OutOfMemoryError:Java heap space" Myeclipse->preferences->myeclipse>servers->tomcat- >tomcat×.×->JDK Optional Java VM arguments -Xmx1024M-Xms512M- XX:MaxPermSize=256m 4tomcat {tomcat_home}/conf/web.xml listingsfalse <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> 5Tomcat tomcat tomcat conf server.xml <host/> <Context path="/hello" docBase="D:/eclipse3.2.2/forwebtoolsworkspacehello/WebRoot"deb ug="0" privileged="true"> </Context> Context web webapps conf Catalina localhost xml xml <Context path="/hello"docBase="D:eclipse3.2.2forwebtoolsworksp aceheloWebRoot" debug="0"privileged="true"> </Context> 3 path URL XML 23 : tomcat tomcat war 6Tomcat Tomcat web : • web.xml jsp Servlet tomcat jvm • CPU • CPU • -Xmx-Xms-XX:MaxPermSize full GC • • Nginxcssjs tomcat gziptomcat Nginx gzip 300kbkb • tomcatNginx tomcatsession nginx+tomcat+memcachedweb • tomcat tomcat7conf/server.xml dns <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" redirectPort="8443" maxThreads="500" minSpareThreads="20" acceptCount="100" disableUploadTimeout="true" enableLookups="false" URIEncoding="UTF-8"/> 1.2JVM 1Java Java 7 1 . • • • Class 2 . Class .: • Class . • : • • 3 . Java public static int value=123;//value0 123 4 . 5 . java 6. 7. 2java • • static • . class final • RAM • new Java , • 1.Java Perm Gen space ? JVM JVM 3JVMClass Java Class JVM JVM .class Java ClassLoader new JVM class.forName() JVM JVM Java .class Java JVM • class • 3 • class • • • 4GC ? GC? GC (GabageCollection) Java GC Java 5 Java Java JVM 6 ?( GC ) : 1 . “”, . A B B A AB 2 . () : GC Roots GC Roots Java GC Roots : • • • • JNI GC Root . GC Root finalize() finalize() finalize() F-Queue Finalize() finalize() F-Queue GC F-Queue ” ” 7 2 Java C++ Java Java “”"" 8?? ? GC GC GC (heap) ” ”” ” GC “ ”GC System.gc() GC Java GC 9Java Java Java GC : import java.io.IOException; public class GarbageTest { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub try { gcTest(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("has exited gcTest!"); System.in.read(); System.in.read(); System.out.println("out begin gc!"); for(int i=0;i<100;i++) { System.gc(); System.in.read(); System.in.read(); } } private static void gcTest() throws IOException { System.in.read(); System.in.read(); Person p1 = new Person(); System.in.read(); System.in.read(); Person p2 = new Person(); p1.setMate(p2); p2.setMate(p1); System.out.println("before exit gctest!"); System.in.read(); System.in.read(); System.gc(); System.out.println("exit gctest!"); } private static class Person { byte[] data = new byte[20000000]; Person mate = null; public void setMate(Person other) { mate = other; } } } Java : Java java ( map ) Java ( null ): public class Stack { private Object[] elements=new Object[10]; private int size = 0 ; public void push(Object e){ ensureCapacity(); elements[size++] = e; } public Object pop(){ if( size == 0) throw new EmptyStackException(); return element s[--size]; } private void ensureCapacity(){ if(elements.length == size){ Object[] oldElements = elements; elements = new Object[2 * elements.length+1]; System.arraycopy (oldElements,0, elements, 0, size); } } } 10 : K G public class Bad{ public static Stack s=Stack(); static{ s.push(new Object()); s.pop(); // s.push(new Object()); // } } static Stack 100 100 Stack 100 ! : HashSet HashSet contains HashSet HashSet 10 Person p=new Person(“”); 11System.gc() Runtime.gc() ? JVM JVM 12finalize() ? (finalization) ? (garbage colector) finalize() Java filalize() finalize() ? Java JNI(Java Native Interface) non-Java (C C++) finalize() 13 null ? 14(DGC)?? DGC RMI DGC RMI DGC 15(serial)(throughput) ? ( 100M ) 16 Java ? 17 Java Minor GC Major GC • Eden • • Eden Minor GC Minor GC Eden Gc ; Full GC/Major GC GC Minor GC Full GC Minor GC 18JVM ? (Full GC) : Java 8 native 19Java ? - : : 1. ; 2. GC : 1:1 8:1:1 Eden Survior Eden Eden Eden Survivor (java ) - : - ; : 20? : • (BootstrapClassLoader)Java Java • (extensions class loader): Java Java Java • (system class loader): Java (CLASSPATH) Java Java ClassLoader.getSystemClassLoader() • java.lang.ClassLoader 21? 3Mysql 1SpringCloud 1 Spring Cloud? Spring cloud Spring Boot Spring Spring cloud Task 2 Spring Cloud ? Spring Boot • - • - • - • -- • - • -Devops 3?Spring Cloud ? Eureka Eureka Eureka 4? 5 Hystrix?? Hystrix ​ 9 1000. hystrix Hystrix Fallback employee-consumer employee-consumer ​ employee-producer Hystrix 6 Hystrix ?? employee-consumer Hystrix ​ firstPage method() Hystrix firtsPage ​ 7 Netflix Feign?? Feign RetrofitJAXRS-2.0 WebSocket java Feign http apis employee-consumer employee- producer REST REST • • URL • REST 1. @Controller 2. public class ConsumerControllerClient { 3. 4. @Autowired 5. private LoadBalancerClient loadBalancer; 6. 7. public void getEmployee() throws RestClientException, IOExc eption { 8. 9. ServiceInstance serviceInstance=loadBalancer.choose("employ ee-producer"); 10. 11. System.out.println(serviceInstance.getUri()); 12. 13. String baseUrl=serviceInstance.getUri().toString(); 14. 15. baseUrl=baseUrl+"/employee"; 16. 17. RestTemplate restTemplate = new RestTemplate(); 18. ResponseEntity<String> response=null; 19. try{ 20. response=restTemplate.exchange(baseUrl, 21. HttpMethod.GET, getHeaders(),String.class); 22. }catch (Exception ex) 23. { 24. System.out.println(ex); 25. } 26. System.out.println(response.getBody()); 27. } NullPointer Netflix Feign Netflix Ribbon Feign 8 Spring Cloud Bus?? : Spring Cloud Config Spring Cloud Config GIT Employee Config Module Eureka ​ GIT Eureka Eureka / url Employee Producer1 8080 http:// localhost:8080 / refresh Employee Producer2 http:// localhost:8081

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    127 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us