线程初始化 —— 源码解析
Thread#init()
方法代码片段
Thread parent = currentThread(); |
说明:优先使用线程初始化传入的threadGroup;其次是System SecurityManager的threadGroup;最后才是parent Thread的threadGroup。
Thread#init()
方法代码片段
Thread parent = currentThread(); |
说明:优先使用线程初始化传入的threadGroup;其次是System SecurityManager的threadGroup;最后才是parent Thread的threadGroup。
《MySQL是怎样运行的 —— 从跟上理解MySQL》—— 第三章
由于计算机存储的是二进制数据,因此如果需要存储字符串,需要建立字符和二进制数据的映射关系。这个过程,需要搞清楚:
在Java线程中,通过一个整形变量priority
来控制优先级,优先级的范围是[1, 10]
,在线程创建的时候,可以通过Thread#setPriority(int)
方法来修改优先级,默认优先级是5,优先级高的线程分配的CPU时间片的数量要多于优先级低的线程。
《MySQL是怎样运行的 —— 从跟上理解MySQL》—— 第二章
对于MySQL而言,无论是服务器相关的程序(比如mysqld
、mysql_safe
)还是客户端相关的程序(比如mysql
、mysqladmin
),在启动的时候基本上都可以指定启动选项,这些启动选项可以在命令行中指定,也可以在配置文件中指定。
以下内容以mysqld
为例,阐述指定启动选项的格式。
记住了核心组件,工作原理也就顺理成章可以推导出来了。
DispatcherServlet
:核心中央处理器,负责接收请求、分发,并给予客户端相应HandlerMapping
:处理器映射器,根据URL去匹配查找能处理的Handler
,并会将请求涉及到的拦截器和Handler
一起封装HandlerAdapter
:处理器适配器,根据HandlerMapping
找到的Handler
,适配执行对应的Handler
Handler
:请求处理器,处理实际请求的处理器ViewResolver
:视图解析器,根据Handler
返回的逻辑视图
/
视图,解析并渲染真正的视图,并传递给DispatcherServlet
相应客户端