随笔分类 -  JAVA技术

这里和大家分享一些我的学习感悟,希望大家批评指正。
摘要:近日,业务上要求要对一块缓存进行高效率的读写。一开始采用了读写锁的设计,后来发现单个线程单次需要进行成千上万次的读,导致了过多的加解锁的开销,效率实在不敢恭维。加锁的主要原因是多线程先判断再操作导致判定失效问题,最近一直在考虑如何进行免锁设计,结合之前看过的final内存语义,设计了一个没有锁的实现 阅读全文
posted @ 2017-03-02 17:11 编程小白菜 阅读(518) 评论(0) 推荐(0)
摘要:1.简单工厂模式 工厂模式定义了一个创建对象的接口,但由子类来决定要实例化的类是哪一个,工厂方法让类把实例化推迟到子类。 常常听到做开发的同事说,工厂方法让子类决定要实例化的类是哪一个,这里所谓的‘’决定‘,并不是指模式允许子类本身在运行时做决定,而是值在编写创建者类时,不需要知道实际创建的产品是哪 阅读全文
posted @ 2017-02-12 14:31 编程小白菜 阅读(278) 评论(0) 推荐(0)
摘要:转自:http://www.cnblogs.com/JSONBEAN/p/6364038.html 长期以来都在写SSM框架的项目,却未能深入理解框架的搭建原理,而只是浅薄的理解前辈的架构,然后不断套用,项目做过几个,但框架的内涵却没有把握。小编打算今天从SpringMVC的依赖分析做起,一步步进行 阅读全文
posted @ 2017-02-04 10:18 编程小白菜 阅读(1213) 评论(0) 推荐(0)
摘要:最近在学习tomcat源码,算是把tomcat的整个流程梳理通了。 从上图来看,tomcat把模块化使用到了极致,配合组件生命周期的管理,让代码看起来结构清晰,而且很容易进行业务扩展。 1.上图的接口Sever,Service,Connector,Container…..都是一个组件接口,这些组件的 阅读全文
posted @ 2017-02-04 10:11 编程小白菜 阅读(1970) 评论(0) 推荐(0)
摘要:转自:http://blog.csdn.net/udbnny/article/details/5870076 先了解AOP的相关术语:1.通知(Advice):通知定义了切面是什么以及何时使用。描述了切面要完成的工作和何时需要执行这个工作。2.连接点(Joinpoint):程序能够应用通知的一个“时 阅读全文
posted @ 2017-01-23 16:02 编程小白菜 阅读(2463) 评论(0) 推荐(0)
摘要:从List中删除元素,不能通过索引的方式遍历后删除,只能使用迭代器。 错误的实现 错误的实现方法 public class Demo { public static void main(String... args) { List<String> data = new ArrayList<Strin 阅读全文
posted @ 2017-01-23 15:12 编程小白菜 阅读(385) 评论(0) 推荐(0)
摘要:之前的一段时间一直在学习设计模式相关知识,学习一段时间后发现,设计模式不能算是知识点,其仅仅是一种思想,我们应该在日常的开发设计中潜移默化的应用这种思想,而不是为了模式而模式。言归正传,今天我想来叨叨策略模式和状态模式。 先看看他们的UML图 两个模式的UML图基本上是相同的。 策略模式的Conte 阅读全文
posted @ 2017-01-22 10:04 编程小白菜 阅读(2334) 评论(0) 推荐(0)
摘要:在java开发过程中,final是大家常用的关键字,无非就是用来修饰类,方法和变量,来表名类不能被继承,方法不会被覆盖,变量不能被改变,悄悄的说一句,private方法也隐式的final。通过一段时间的学习,我想和大家分享一下final的内存语义。 在java并发编程的艺术中第三章这样描述过fina 阅读全文
posted @ 2017-01-08 18:09 编程小白菜 阅读(1409) 评论(0) 推荐(0)