摘要:
一. 什么是循环依赖? 循环依赖其实就是循环引用,也就是两个或者两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。如下图: 注意,这里不是函数的循环调用,是对象的相互依赖关系。循环调用其实就是一个死循环,除非有终结条件。 Spring中循环依赖场景有: (1)构
阅读全文
posted @ 2019-07-22 17:04
一中晴哥威武
阅读(23672)
推荐(3)
摘要:
Spring中主要用到的设计模式有工厂模式和代理模式。 IOC:Inversion of Control控制反转,也叫依赖注入,通过 sessionfactory 去注入实例;IOC就是一个生产和管理bean的容器就行了,原来需要在调用类中new的东西,现在都是通过容器生成,同时,要是产生的是单例的
阅读全文
posted @ 2019-07-18 11:39
一中晴哥威武
阅读(1689)
推荐(0)
摘要:
从运行的打印结果我们可以看到T1和T2各自获得了a和b锁,并且互相在尝试获取对方手里的锁,但在等待对方释放锁的过程中谁也不让出已获得的锁,谁都没有赢,则形成了死锁
阅读全文
posted @ 2019-07-18 10:23
一中晴哥威武
阅读(193)
推荐(0)
摘要:
Jersey是一个RESTFUL请求服务JAVA框架,与常规的JAVA编程使用的struts框架类似,它主要用于处理业务逻辑层。 与springmvc 的区别: jersey1.X的版本是sun公司提供的独立的jar包,在2.X版本中,已经将jersey融合到JavaSE中,在javax.ws.rs
阅读全文
posted @ 2019-07-12 16:02
一中晴哥威武
阅读(4224)
推荐(0)
摘要:
第一步 :线程池判断核心线程池里的线程是否都在执行任务。如果不是,则创建一个新的工作线程来执行任务。如果核心线程池里的线程都在执行任务,则执行第二步。 第二步 :线程池判断工作队列是否已经满。如果工作队列没有满,则将新提交的任务存储在这个工作队列里进行等待。如果工作队列满了,则执行第三步。 第二步
阅读全文
posted @ 2019-07-11 14:55
一中晴哥威武
阅读(1995)
推荐(0)
posted @ 2019-07-11 14:13
一中晴哥威武
阅读(2080)
推荐(0)
摘要:
先用top定位最耗cpu的java进程 例如: 12430工具:top或者 htop(高级)方法:top -c 显示进程运行详细列表键入 P (大写P),按照cpu进行排序 然后用top -p 12430 -H 定位到最耗cpu的线程 的ID 例如:12483工具:top方法:top -Hp 186
阅读全文
posted @ 2019-07-11 11:28
一中晴哥威武
阅读(1266)
推荐(0)
摘要:
java线程之间的控制,使用Semaphore 实现 互斥 下面我们通过Semaphore来实现一个比较好的互斥操作: 输出结果:
阅读全文
posted @ 2019-07-11 11:18
一中晴哥威武
阅读(1039)
推荐(0)
摘要:
开发中遇到并发的问题一般会用到锁,Synchronized存在明显的一个性能问题就是读与读之间互斥;ReadWriteLock是JDK5中提供的读写分离锁。读写分离锁可以有效地帮助减少锁竞争,以提升系统的性能。 ReadWriteLock管理一组锁,一个是只读的锁,一个是写锁。Java并发库中Ree
阅读全文
posted @ 2019-07-11 10:39
一中晴哥威武
阅读(1884)
推荐(0)
摘要:
1、成员变量(全局变量)是可以不经初始化的,在类加载过程的准备阶段即可给它赋予默认值,但局部变量使用前需要显示赋予初始值,javac不是推断不出不可以这样做,而是没有这么做,对于成员变量而言,其赋值和取值访问的先后顺序具有不确定性,对于成员变量可以在一个方法调用前赋值,也可以在方法调用后进行,这是运
阅读全文
posted @ 2019-07-10 17:41
一中晴哥威武
阅读(1585)
推荐(0)