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