spring loads the corresponding xml file through the resource loader, uses the reader to read the file in the resource loader into the reader, parses the corresponding XML file element in the reading process, converts the XML file element into the BeanDefinition defined by Spring, and registers the corresponding BeanDefinition in the registry.The data structure of BeanDefinition contained in the registry has not been processed and cannot get the bean object we want.
CGLIB Introduction and Principle (Some Excerpts from Network)
1. What is CGLIB?
CGLIB is a powerful and high-performance code generation package.It provides proxies for classes that do not implement interfaces and a good supplement for JDK's dynamic proxies.You can usually use Java's dynamic proxy to create a proxy, but CGLIB is a good choice when the class you want to proxy does not implement an interface or for better performance.
javassist Introduction A Better Example: http://yucaifu1989.iteye.com/blog/1850500
Better Document: http://blog.csdn.net/u011425751/article/details/51917895
javassist is an open source Java bytecode operating tool that mainly modifies and processes compiled class files. Here I have written a simple explanation. Please see the official documents of www.javassist.com for more details.
Proactive Test Example 1. First download jar from the official websiteThere are examples in http://jboss-javassist.github.io/javassist/.
2. Similarly, use jd-gui to open the jar to be modified and find the class name and method name to be modified.
javassist Basic Functions Javassist is a dynamic class library that can be used to check, "dynamic" modifications and create Java classes.Its function is similar to jdk's own reflection function, but it is more powerful than reflection function.
Important Classes ClassPool：javassist's class pool. using the ClassPool class, you can track and control the classes you operate. its working method is very similar to JVM class loader.CtClass： CtClass provides methods for checking class data (such as fields and methods) and adding new fields, methods and constructors to classes, as well as changing classes, parent classes and interfaces.
Alibaba Cloud https://mirrors.aliyun.com/pypi/simple/China University of Technology https://pypi.mirrors.ustc.edu.cn/simple/Douban https://pypi.douban.com/simple/Tsinghua University https://pypi.tuna.tsinghua.edu.cn/simple/
"statistical trap" When I knew this book, I heard the captain suggest reading this book in the daily team training when I was a freshman in the debate team. I always said I wanted to read it before. As a result, I pushed it all the way. Now I finally calm down and read this book.After reading it, I felt quite a lot, and I always thought about when to write something like what I've learned after reading it.
Interrupt: for communication between the equipment and Central Processor.Typical examples are service requests, task completion reminders, etc.For example, we are familiar with the clock interrupt, hard disk read-write service request interrupt. The occurrence of interrupt is independent of whether the system is in user state or kernel state, and only depends on one flag bit (interrupt enable bit) in the EFLAGS register.We are familiar with sti, cli two instructions are
Interrupt is external interrupt, which refers to interrupts from outside the processor and memory, including I/O interrupts from I/O devices, external signal interrupts, clock interrupt caused by various timers, debugging interrupts caused by breakpoints set in debugging programs, etc. Traps are internal interrupts, which mainly refer to interrupts generated inside the processor and memory.It includes various errors caused by program operation.Softirqs is a signal communication method used to simulate hard