摘要:
要想很好理解这三个上下文的关系,需要先熟悉spring是怎样在web容器中启动起来的。spring的启动过程其实就是其IoC容器的启动过程,对于web程序,IoC容器启动过程即是建立上下文的过程。 spring的启动过程: 首先,对于一个web应用,其部署在web容器中,web容器提供其一个全局的上 阅读全文
摘要:
1.什么叫beanfactory? spring使用BeanFactory来实例化、配置和管理对象,但是它只是一个接口,里面有一个getBean()方法。我们一般都不直接用BeanFactory,而是用它的实现类ApplicationContext,这个类会自动解析我们配置的applicationC 阅读全文
摘要:
(3) Spring的组成 ① Spring Core:核心容器,BeanFactory提供了组件生命周期的管理,组件的创建,装配,销毁等功能 SpringContext:ApplicationContext,扩展核心容器,提供事件处理、国际化等功能。它提供了一些企业级服务的功能,提供了JNDI,E 阅读全文
摘要:
一.对ThreadLocal的理解 ThreadLocal,很多地方叫做线程本地变量,也有些地方叫做线程本地存储,其实意思差不多。可能很多朋友都知道ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。 这句话从字面上看起来很容易理解,但是真正理解并不是那 阅读全文
摘要:
ssm框架与redis整合 阅读全文
摘要:
用jol工具 阅读全文
摘要:
本文介绍两种主线程等待子线程的实现方式,以5个子线程来说明: 1、使用Thread的join()方法,join()方法会阻塞主线程继续向下执行。 2、使用Java.util.concurrent中的CountDownLatch,是一个倒数计数器。初始化时先设置一个倒数计数初始值,每调用一次count 阅读全文
摘要:
1.多线程访问的共享资源存在线程安全问题, 无外乎访问两种共享资源。 1)多线程访问方法区数据。存在线程安全问题,通过加锁 2)多线程访问实例变量:被访问对象是单例时存在线程安全,被访问对象是多例时,是线程安全的。 来说说静态变量、实例变量、局部变量在多线程下的安全问题吧! (一)验证静态变量的线程 阅读全文
摘要:
1.局部变量的生命周期是在一个大括号内,即一个所处块结束。如循环体内定义的int j; 学过C++的同学都知道局部变量和全局变量的区别,局部变量的生命周期是从创建开始到所处的块结束就被回收,而全局变量的生命周期是从创建开始到程序结束。而在最近我在学习java的时候让我对局部变量在循环里的生命周期有了 阅读全文
摘要:
1.static只能修饰类的成员变量,不能修饰方法里的局部变量。 因为static是在类加载时候将成员变量存储进方法区的。 加载类的时候,是不去执行方法里的函数的。所以不会馆方法里的代码,自然就不会读取到static变量了。 如,这个代码就是错误的 2.new一个对象或者加载一个类的时候,是不是执行 阅读全文