12 2018 档案

摘要:BTrace是调试神器,可以通过自己编写的脚本,获取应用的一切调用信息。而不需要重启应用! Btrace 项目源码信息(你行你上~) 项目地址:http://github.com/btraceio/btrace 但是应用下载地址是: https://github.com/btraceio/btrac 阅读全文
posted @ 2018-12-26 17:32 阿牛20 阅读(2196) 评论(0) 推荐(0) 编辑
摘要:老生常谈,循环依赖!顾名思义嘛,就是你依赖我,我依赖你,然后就造成了循环依赖了!由于A中注入B,B中注入A导致的吗? 看起来没毛病,然而,却没有说清楚问题!甚至会让你觉得你是不清楚spring的循环依赖的! 那么,spring的循环依赖到底是啥玩意? 来看个循环依赖注入失败的例子: bean1: u 阅读全文
posted @ 2018-12-23 11:21 阿牛20 阅读(6571) 评论(0) 推荐(0) 编辑
摘要:反射是java的一个特性,这一特性也使得它给了广大的第三方框架和开发过者很大的想像空间。 通过反射,java可以动态的加载未知的外部配置对象,临时生成字节码进行加载使用,从而使代码更灵活!可以极大地提高应用的扩展性! 但是,除了停留在使用其华丽功能,我们还可以去看看其实现! 主要看两个方法的使用: 阅读全文
posted @ 2018-12-15 22:16 阿牛20 阅读(38449) 评论(1) 推荐(4) 编辑
摘要:都说hello world 很简单,应该能承受很大的请求压力,那么到底有多大?你知道吗?如果知道,那咱们就不继续了。如果不知道,我们来看一下! 1. 准备工作,快速建立一个基于springmvc的helloworld 1.1. 在pom.xml引入spring必须的包级日志组件 1.2. 添加一个 阅读全文
posted @ 2018-12-14 17:55 阿牛20 阅读(1472) 评论(0) 推荐(0) 编辑
摘要:Executors是一个线程池的工厂类,提供各种有用的线程池的创建,使用得当,将会使我们并发编程变得简单!今天就来聊聊这个工厂类的艺术吧! Executors只是Executor框架的主要成员组件之一,为java的异步任务调度执行提供了重要的入口! 在说Executors之前,还需要说一下另一个Ex 阅读全文
posted @ 2018-12-09 19:43 阿牛20 阅读(824) 评论(0) 推荐(0) 编辑
摘要:懒加载是一种加载方式,加载单例对象一般有两种方式,一是在启动时就立即创建好,另一种则是在需要用到的时候再去加载即懒加载。懒加载一般会针对单例场景,且一般是针对在加载消耗较大费时,且不一定会用到的场景。 好了,相信啥意思大家都明白!那么具体如何实现呢?其实挺有意思的! 方案1. 直接用懒加载实例进行判 阅读全文
posted @ 2018-12-09 11:21 阿牛20 阅读(1236) 评论(0) 推荐(0) 编辑
摘要:项目中常常使用mybatis配合spring进行数据库操作,但是我们知道,数据的操作是要求做到线程安全的,而且按照原来的jdbc的使用方式,每次操作完成之后都要将连接关闭,但是实际使用中我们并没有这么干。 更让人疑惑的点是,spring中默认使用单例形式来加载bean,而往往我们也不会改变这种默认, 阅读全文
posted @ 2018-12-05 19:03 阿牛20 阅读(9547) 评论(5) 推荐(4) 编辑
摘要:synchronized 和 volatile,是最基础的两个锁! volatile是轻量级锁,它在多核处理器开发中保证了共享变量的可见性。即当一个线程修改一个共享变量时,其他线程能够读到这个修改的值。它比syncronized使用和成本更低。 要说volatile的实现原理,就要先看一下cpu基本 阅读全文
posted @ 2018-12-04 09:22 阿牛20 阅读(1055) 评论(0) 推荐(0) 编辑
摘要:1. 锁介绍 java中锁是个很重要的概念,当然这里的前提是你会涉及并发编程。 除了语言提供的锁关键字 synchronized和volatile之外,jdk还有其他多种实用的锁。 不过这些锁大多都是基于AQS队列同步器。ReadWriteLock 读写锁就是其中一个。 读写锁的含义是,将读锁与写锁 阅读全文
posted @ 2018-12-03 16:38 阿牛20 阅读(1826) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示