JVM å
ååæå·¥å
· MAT çæ·±åº¦è®²è§£ä¸å®è·µââè¿é¶ç¯(转载)
åæä½è
ï¼https://juejin.cn/user/1275089220539869
åæä½è
å
¬ä¼å·ï¼ Qçå客ã
åæé¾æ¥ï¼https://juejin.cn/post/6911624328472133646
æ¬ç³»åå
±ä¸ç¯æç« ï¼ æ¬ææ¯ç³»å第2ç¯ââè¿é¶ç¯ï¼è¯¦ç»è®²è§£ MAT åç§å·¥å
·çæ ¸å¿åè½ãç¨æ³ãéç¨åºæ¯ï¼å¹¶å¨å
·ä½å®æåºæ¯ä¸è®²è§£å¸®å¤§å®¶å¦ä¹ å¦ä½é对åç±»å
åé®é¢ã
- ãJVM å
ååæå·¥å
· MAT çæ·±åº¦è®²è§£ä¸å®è·µââå
¥é¨ç¯ã ä»ç» MAT 产ååè½ãåºç¡æ¦å¿µãä¸å
¶ä»å·¥å
·å¯¹æ¯ãQuick Start æåã
- ãJVM å
ååæå·¥å
· MAT çæ·±åº¦è®²è§£ä¸å®è·µââè¿é¶ç¯ã å±å¼å¹¶è¯¦ç»è®²è§£ MAT åç§å·¥å
·çæ ¸å¿åè½ãç¨æ³ãåºæ¯ï¼å¹¶å¨å
·ä½å®æåºæ¯ä¸è®²è§£å¸®å¤§å®¶å æ·±ä½ä¼ã
- ãJVM å
ååæå·¥å
· MAT çæ·±åº¦è®²è§£ä¸å®è·µââé«é¶ç¯ã æ»ç»å¤æå
åé®é¢çç³»ç»æ§åææ¹æ³ï¼å¹¶éè¿ä¸ä¸ªç»¼åæ¡ä¾æå大家ç宿è½åã
JVM å
ååæå·¥å
· MAT çæ·±åº¦è®²è§£ä¸å®è·µââå
¥é¨ç¯(转载)
åæä½è
ï¼https://juejin.cn/user/1275089220539869
åæä½è
å
¬ä¼å·ï¼ Qçå客ã
åæé¾æ¥ï¼https://juejin.cn/post/6911624328472133646
JVM å
ååæå¾å¾ç±å¢éè¾èµæ·±çå妿¥åï¼æ¬ç³»åéè¿3ç¯æç« ï¼æ·±åº¦è§£æå¹¶å¸®å©è¯»è
å
¨é¢æ·±åº¦ææ¡ MAT çä½¿ç¨æ¹æ³ãå³ä½¿æ²¡æ JVM å
ååæçå®è·µç»éªï¼ä¹è½å¿«éæä¸ºå
ååæé«æï¼
æ¬ç³»åå
±ä¸ç¯æç« å¦ä¸ï¼ æ¬ææ¯ç¬¬ä¸ç¯å
¥é¨ç¯ï¼
- ãJVM å
ååæå·¥å
· MAT çæ·±åº¦è®²è§£ä¸å®è·µââå
¥é¨ç¯ã ä»ç» MAT 产ååè½ãåºç¡æ¦å¿µãä¸å
¶ä»å·¥å
·å¯¹æ¯ãQuick Start æåã
- ãJVM å
ååæå·¥å
· MAT çæ·±åº¦è®²è§£ä¸å®è·µââè¿é¶ç¯ã å±å¼å¹¶è¯¦ç»ä»ç» MAT çæ ¸å¿åè½ï¼å¹¶å¨å
·ä½å®æåºæ¯ä¸è®²è§£å¸®å¤§å®¶å æ·±ä½ä¼ã
- ãJVM å
ååæå·¥å
· MAT çæ·±åº¦è®²è§£ä¸å®è·µââé«é¶ç¯ã æ»ç»å¤æå
åé®é¢çç³»ç»æ§åææ¹æ³ï¼å¹¶éè¿ä¸ä¸ªç»¼åæ¡ä¾æå大家ç宿è½åã
Spring-frameworkæºç åæï¼å
ï¼refreshæ¹æ³
refreshæ¹æ³æ¯Springå®¹å¨ææ ¸å¿çæ¹æ³
- æ¦æ¬äºSpringåå§åbeançæ´ä¸ªçå½å¨æ
- çå½å¨æçåè°
- AOP
- Springè§£å³å¾ªç¯ä¾èµçä¸çº§ç¼å
Spring-frameworkæºç åæï¼äºï¼IOC容å¨åå§å
Spring IOC å®¹å¨ å¨åå§åæ¶ä¸»è¦å以ä¸ä¸ä»¶äºï¼
BeanDefinition çResourceå®ä½
BeanDefinition çè½½å
¥åè§£æ
BeanDefinition å¨å®¹å¨ä¸ç注å
Spring-frameworkæºç åæï¼ä¸ï¼ç»ä¸èµæºå è½½
å
³äºç»ä¸èµæºåèµæºå è½½çç¥
å®ç½å¯¹äº org.springframework.core.io.Resource ç䏿®µè¯´æï¼ https://docs.spring.io/spring-framework/docs/5.2.7.RELEASE/spring-framework-reference/core.html#resources-introduction
Javaâs standard java.net.URL class and standard handlers for various URL prefixes, unfortunately, are not quite adequate enough for all access to low-level resources. For example, there is no standardized URL implementation that may be used to access a resource that needs to be obtained from the classpath or relative to a ServletContext. While it is possible to register new handlers for specialized URL prefixes (similar to existing handlers for prefixes such as http:), this is generally quite complicated, and the URL interface still lacks some desirable functionality, such as a method to check for the existence of the resource being pointed to.
ããSpringâs Resource interface is meant to be a more capable interface for abstracting access to low-level resources.
ããå¨ Java ä¸ï¼å°ä¸åæ¥æºçèµæºæ½è±¡æ java.net.URL ï¼å³ç»ä¸èµæºå®ä½å¨ï¼Uniform Resource Locatorï¼ï¼ç¶åéè¿æ³¨åä¸åç handler ( URLStreamHandler )æ¥å¤çä¸åæ¥æºçèµæºç读åé»è¾ï¼ä¸è¬ handler çç±»å使ç¨ä¸ååç¼ï¼åè®®ï¼ Protocol ï¼æ¥è¯å«ï¼å¦âfile:ââhttp:â âjar:âçï¼ç¶è URL 没æé»è®¤å®ä¹ç¸å¯¹ Classpath æ ServletContext çèµæºç handler ï¼è½ç¶å¯ä»¥æ³¨åèªå·±ç URLStreamHandler æ¥è§£æç¹å®ç URL åç¼ï¼åè®®ï¼ï¼ æ¯å¦âclasspath:âï¼ç¶èè¿éè¦äºè§£ Url çå®ç°æºå¶ï¼å®ç°ä¹æ¯è¾å¤æï¼èä¸ Url 乿²¡ææä¾ä¸äºåºæ¬çæ¹æ³ï¼å¦æ£æ¥å½åèµæºæ¯å¦åå¨ãæ£æ¥å½åèµæºæ¯å¦å¯è¯»çæ¹æ³ã å è Spring 对å
¶å
é¨ä½¿ç¨å°çèµæºå®ç°äºèªå·±çæ½è±¡ç»æ ï¼ Resource æ¥å£å°è£
åºå±èµæºï¼ï¼ãSpringæºç 深度解æ 第äºçãï¼ç¥å¾®ä¿®æ¹ï¼ç¶åéè¿ ResourceLoader æ¥å£æ¥å®ç° Resource çå è½½çç¥ï¼ä¹å³æ¯æä¾äºç»ä¸çèµæºå®ä¹åèµæºå è½½çç¥çæ½è±¡ãéè¿ä¸åçç¥è¿è¡çææèµæºå è½½ï¼é½å¯ä»¥è¿åç»ä¸çæ½è±¡ç»å®¢æ·ç«¯ï¼å®¢æ·ç«¯å¯¹èµæºå¯ä»¥è¿è¡çæä½ï¼åç± Resource æ¥å£è¿è¡çå®ï¼å
·ä½å¦ä½å¤çï¼å交ç±ä¸åæ¥æºçèµæºå®ç°ç±»æ¥å®ç°ã
Resource ï¼æä¾ç»ä¸çèµæºå®ä¹æ½è±¡ï¼çå®äºå¯¹èµæºå¯ä»¥è¿è¡çå¤çæä½ãä¾å¦ï¼æä»¶èµæºï¼ FileSystemResource ï¼ ã Classpath èµæºï¼ ClassPathResource ï¼ã URL èµæºï¼ UrlResource ï¼ã InputStream èµæºï¼ InputStreamResource ï¼ ãByte æ°ç»ï¼ ByteArrayResource ï¼ç ã
ResourceLoader ï¼æä¾ç»ä¸çèµæºå è½½çç¥æ½è±¡ï¼è¿åç»ä¸ç Resource èµæºæ½è±¡ç»å®¢æ·ç«¯ã