ThreadLocal是什么? Threadlocal是线程变量 每个Thread线程内部都有一个Map。Map里面存储线程本地对象(key)和线程的变量副本(value)但...
ThreadLocal是什么? Threadlocal是线程变量 每个Thread线程内部都有一个Map。Map里面存储线程本地对象(key)和线程的变量副本(value)但...
Reentrantlock是jdk提供的可重入锁的实现,它分为非公平锁和公平锁。公平锁是那个线程等待锁时间最长,那个就获得锁。非公平锁是那个抢到锁,锁就归哪一个。 Reent...
有一个逻辑希望事务提交后才去执行,具体实现如下 afterCommit 调用带有@Transaction的save方法 web 调用后会报错 查询资料发现:当#afterCo...
广义的 IOC IoC(Inversion of Control) 控制反转,即“不用打电话过来,我们会打给你”。 两种实现: 依赖查找(DL)和依赖注入(DI)。 IOC...
一.红黑树规则 每个节点要么是红色,要么是黑色。 根节点必须是黑色 红色节点不能连续(也即是,红色节点的孩子和父亲都不能是红色)。 对于每个节点,从该点至null(树尾端)的...
乱吹
曾国藩怎样戒色?一个笨办法,可常人难以做到“自律”这个词往往被人与成功挂钩,似乎成功者就必然要有自律这个基础。当然,我们在总结成功者的时候都会用锦上添花的春秋笔法选择性地去分析,实际上,在芸芸众生的实际生活当中,“自...
阿里巴巴代码规范:【强制】线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避...
一段代码 执行结果会是什么呢? wait data .....init prepareinit end程序会一直在init end中等待,并且不会打印====success ...
BeanFactoryPostProcessors beanFactoryPostProcessors接口是spring提供给外部的一个扩展点,让我们能参与到spring b...
装饰模式的定义与特点 通常情况下,扩展一个类的功能会使用继承方式来实现。但继承具有静态特征,耦合度高,并且随着扩展功能的增多,子类会很膨胀。如果使用组合关系来创建一个包装对象...
需求 前端向后台发起请求时,希望某些请求需要校验token,某些请求不需要校验token,而只要在方法上加上注解的,系统会自动的去校验token参数。同时,希望系统能自动的根...
在软件开发过程中有时需要创建一个复杂的对象,这个复杂对象通常由多个子部件按一定的步骤组合而成。例如,计算机是由 OPU、主板、内存、硬盘、显卡、机箱、显示器、键盘、鼠标等部件...
需求 设想现有这样的需求,程序需要接收不同的命令CMD,然后根据命令调用不同的处理类Handler。很容易就会想到用Map来存储命令和处理类的映射关系。 由于项目可能是多个成...
pull的两种方法 rebase merge 可以看到merge下拉代码的提交记录很乱,这让人很难看的懂。而rebase下拉的代码提交的记录很规整,给人极度舒适。所以在mas...
适配器模式(Adapter Pattern):将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类...
优点 最优雅的实现方式. 系统内存 中该类只存在一个对象,节省了系统资源,对于一些需要频繁创建销毁的对象,使用单例模式可以提高系统性能。 缺点 当想实例化一个单例类的时候,必...
优点 解释器模式是一种类行为型模式,其主要优点如下。扩展性好。由于在解释器模式中使用类来表示语言的文法规则,因此可以通过继承等机制来改变或扩展文法。容易实现。在语法树中的每个...
观察者模式 观察者模式的实际应用场景存在问题:每次创建订单需要加新功能(如新的通知方式),则要修改原有的类,难以维护违背设计模式的原则1.单一职责:订单保存功能,杂糅了消息通...