上一页 1 2 3 4 5 6 7 8 9 10 ··· 14 下一页
  2016年10月27日
摘要: 拦截器的实现原理很简单,就是动态代理,实现AOP机制。当外部调用被拦截bean的拦截方法时,可以选择在拦截之前或者之后等条件执行拦截方法之外的逻辑,比如特殊权限验证,参数修正等操作。 但是最近在项目中要在一个事务中跨数据源进行操作。数据库跨源就不在这里说了,可以自行百度。 这里出现的问题就是,如果我 阅读全文
posted @ 2016-10-27 15:00 little fat 阅读(254) 评论(0) 推荐(0) 编辑
  2016年10月21日
摘要: spring自带缓存、自建缓存管理器等都可解决项目部分性能问题。结合Ehcache后性能更优,使用也比较简单。 在进行Ehcache学习之前,最好对Spring自带的缓存管理有一个总体的认识。 这篇文章不错:https://www.ibm.com/developerworks/cn/opensour 阅读全文
posted @ 2016-10-21 15:33 little fat 阅读(18752) 评论(0) 推荐(1) 编辑
摘要: 概述 Spring 3.1 引入了激动人心的基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(例如 EHCache 或者 OSCache),而是一个对缓存使用的抽象,通过在既有代码中添加少量它定义的各种 annotation,即能够达到缓存方法的返回对象的 阅读全文
posted @ 2016-10-21 15:32 little fat 阅读(311) 评论(0) 推荐(1) 编辑
  2016年10月11日
摘要: 两个月前使用过hbase,现在最基本的命令都淡忘了,留一个备查~ hbase(main)> whoami hbase(main)> whoami hbase(main)> whoami hbase(main)> whoami hbase(main)> whoami hbase(main)> list 阅读全文
posted @ 2016-10-11 14:27 little fat 阅读(139) 评论(0) 推荐(0) 编辑
  2016年9月21日
摘要: Java把内存分成两种,一种叫做栈内存,一种叫做堆内存 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。 阅读全文
posted @ 2016-09-21 17:27 little fat 阅读(1407) 评论(0) 推荐(0) 编辑
摘要: 作者: Jason Guo 背景介绍 Kafka简介 Kafka是一种分布式的,基于发布/订阅的消息系统。主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,并保证即使对TB级以上数据也能保证常数时间的访问性能 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的 阅读全文
posted @ 2016-09-21 16:09 little fat 阅读(3822) 评论(0) 推荐(0) 编辑
  2016年9月13日
摘要: 字段 允许值 允许的特殊字符 秒 0-59 , - * / 分 0-59 , - * / 小时 0-23 , - * / 日期 1-31 , - * ? / L W C 月份 1-12 或者 JAN-DEC , - * / 星期 1-7 或者 SUN-SAT , - * ? / L C # 年(可选 阅读全文
posted @ 2016-09-13 10:29 little fat 阅读(2420) 评论(0) 推荐(0) 编辑
  2016年9月7日
摘要: 更新:在一次和一位专家的交谈中,他对一下代码能否能够成功同步,给予了否定的答案, 他的理由是”以构造函数的成员变量作为synchronized的锁,在多线程的情况下,每一个线程都持有自己私有变量的锁,这个锁的地址能一样吗?怎么 可能成功同步?这是最错误的写法!“,哎呀妈,说实话,当时我都被惊了一下, 阅读全文
posted @ 2016-09-07 10:56 little fat 阅读(14038) 评论(6) 推荐(3) 编辑
  2016年9月6日
摘要: 一、同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据。 从结果发现,这样的输出值明显是不合理的。原因是两个线程不加控制的访问Foo对象并修改其数据所致。 如果要保持结果的合 阅读全文
posted @ 2016-09-06 17:44 little fat 阅读(518) 评论(0) 推荐(0) 编辑
摘要: 1.BlockingQueue定义的常用方法如下 抛出异常 特殊值 阻塞 超时 插入 add(e) offer(e) put(e) offer(e,time,unit) 移除 remove() poll() take() poll(time,unit) 检查 element() peek() 不可用 阅读全文
posted @ 2016-09-06 16:47 little fat 阅读(1906) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 14 下一页