Why do you need a thread context class loader to complete the external implementation of SPI calls?

how does SPI break the parental delegation model through the thread context class loader? Can"t a class loaded by one class loader access a class loaded by another class loader? If one classloader can access another classloader"s class, you don"t need the thread context classloader mechanism, right?
Why do you need a thread context classloader implementation to call methods of an external implementation class? Can"t you call it directly? If you do not use the thread context class loader to load, it is directly loaded by the application class loader, and then directly new () an implementation class, is it not possible to implement the call?

in addition, if it is necessary to use a thread context classloader to implement such a call to an external implementation, why can the thread context classloader make such a call? What is the principle?

stackOverflow:
The thread context classloader is the current classloader for the current thread. An object can be created from a class in ClassLoaderC and then passed to a thread owned by ClassLoaderD. In this case the object needs to use Thread.currentThread (). GetContextClassLoader () directly if it wants to load resources that are not available on its own classloader.

what is the specific meaning of this paragraph?

Java classes implemented by SPI are typically loaded by the application class loader (Application ClassLoader). The startup class cannot find the implementation class for SPI because it only loads the core library (the implementation class for SPI is provided by a third party). It (what does it mean here? Nor can it be proxied to the application class loader, because it (what does it mean here? Is also the parent class of the application class loader (what do you mean? What is the parent class of the application class loader? The parent delegate model will hand it over to the startup class to load So at this time we have to "break" this "parental delegation model".

Feb.28,2021

what do you mean by spi? What is the full name or Chinese name?


https://blog.csdn.net/weixin_.

MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1b37e2e-40658.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1b37e2e-40658.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?