- 博客(5)
- 收藏
- 关注
原创 浏览器输入URL地址到显示页面的流程
1.输入URL:用户在浏览器中输入URL,例如http://www.baidu.com,http为协议,www.baidu.com为域名。2.查找URL对应的IP地址查询浏览器缓存,浏览器一般都会缓存DNS记录一段时间,不同浏览器保存的时候不一样,如果找到则直接返回对应的IP地址,找不到进行第二步;查找本地hosts文件,如果本地hosts文件中有记录,则返回对应的IP地址,如果找不到进行第三步;前面两步都是在客户端本地进行查找,从第三步起就要依靠网络查找了,查找路由器的DNS缓存,3.建立
2021-04-10 01:57:13 1504
原创 SpringMVC运行原理解析
运行原理:Http请求:客户端请求提交到前端控制器DispatcherServlet;DispatcherServlet收到请求调用HandlerMapping处理器映射器,获得该Handler配置的所有相关的对象(包括一个Handler处理器对象、多个HandlerInterceptor拦截器对象),最后以HandlerExecutionChain对象的形式返回;DispatcherServlet 根据获得的Handler,选择一个合适的HandlerAdapter,HandlerAdapter
2021-04-08 22:43:24 106
原创 Mybatis运行原理解析
前言:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。mybatis的功能构架:API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就
2021-04-08 22:23:53 167
原创 synchronize解释
一、前言并发编程中的三大特性:原子性:一个或者多个操作,要么全部执行,要不全都不执行;而且执行中途不能被中断,如果被中断,则要进行回滚。可见性:多个线程共同访问共享变量时,如果此时有某个线程修改了此变量,其他线程中的该变量的缓存会立刻失效,并且重新从内存中缓存修改后的值。有序性:程序执行代码的顺序,共享内存模型(JMM)允许编译器和处理器提高执行效率,对代码执行的顺序进行调整和优化,在单线程的情况下,指令重排不会影响执行的结果,但是多线程的情况下,可能会出现不一样的结果。synchronize
2021-04-03 21:22:11 1170
原创 volatile解释
前言并发编程中的三大特性:原子性:一个或者多个操作,要么全部执行,要不全都不执行;而且执行中途不能被中断,如果被中断,则要进行回滚。可见性:多个线程共同访问共享变量时,如果此时有某个线程修改了此变量,其他线程中的该变量的缓存会立刻失效,并且重新从内存中缓存修改后的值。有序性:程序执行代码的顺序,共享内存模型(JMM)允许编译器和处理器提高执行效率,对代码执行的顺序进行调整和优化,在单线程的情况下,指令重排不会影响执行的结果,但是多线程的情况下,可能会出现不一样的结果。synchronize 关
2021-04-03 20:48:45 312 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人