该文被密码保护。 阅读全文
posted @ 2017-03-20 14:56 编程小白菜 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 近日,业务上要求要对一块缓存进行高效率的读写。一开始采用了读写锁的设计,后来发现单个线程单次需要进行成千上万次的读,导致了过多的加解锁的开销,效率实在不敢恭维。加锁的主要原因是多线程先判断再操作导致判定失效问题,最近一直在考虑如何进行免锁设计,结合之前看过的final内存语义,设计了一个没有锁的实现 阅读全文
posted @ 2017-03-02 17:11 编程小白菜 阅读(509) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2017-02-20 15:19 编程小白菜 阅读(1) 评论(0) 推荐(0) 编辑
摘要: mysql中的in语句是把外表和内表作hash 连接,而exists语句是对外表作loop循环,每次loop循环再对内表进行查询。exists与in性能的好坏不能一概而论,要根据表的大小,索引来决定。 一. 如果查询的两个表大小相当,那么用in和exists差别不大。 如果两个表中一个较小,一个是大 阅读全文
posted @ 2017-02-17 11:43 编程小白菜 阅读(520) 评论(0) 推荐(0) 编辑
摘要: 1.如果一个对象没有与其相连的GC ROOT,一定会被回收吗? 这个对象并非是非死不可的,这时他只是处于死缓阶段,要真正宣告一个对象的死亡,至少要经历两次标记过程:如果对象在进行可达性分析后发现并没有与GCROOT想连接,那它会被第一次标记并且进行一次筛选,筛选的条件是此对象是否有必要执行final 阅读全文
posted @ 2017-02-14 17:16 编程小白菜 阅读(137) 评论(0) 推荐(0) 编辑
摘要: Q:NIO是非阻塞的。但调用的selector.select()方法会阻塞。这和NIO非阻塞岂不是矛盾了? A:非阻塞指的是 IO 事件本身不阻塞,但是获取 IO 事件的 select 方法是需要阻塞等待的.区别是阻塞的 IO 会阻塞在 IO 操作上, NIO 阻塞在事件获取上,没有事件就没有 IO 阅读全文
posted @ 2017-02-13 16:54 编程小白菜 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 1.简介 适配器模式:适配器模式(英语:adapter pattern)有时候也称包装样式或者包装。将一个类的接口转接成用户所期待的。一个适配使得因接口不兼容而不能在一起工作的类工作在一起,做法是将类别自己的接口包裹在一个已存在的类中。 代理模式:代理模式的定义:为其他对象提供一种代理以控制对这个对 阅读全文
posted @ 2017-02-12 14:56 编程小白菜 阅读(641) 评论(0) 推荐(0) 编辑
摘要: 1.简单工厂模式 工厂模式定义了一个创建对象的接口,但由子类来决定要实例化的类是哪一个,工厂方法让类把实例化推迟到子类。 常常听到做开发的同事说,工厂方法让子类决定要实例化的类是哪一个,这里所谓的‘’决定‘,并不是指模式允许子类本身在运行时做决定,而是值在编写创建者类时,不需要知道实际创建的产品是哪 阅读全文
posted @ 2017-02-12 14:31 编程小白菜 阅读(267) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2017-02-09 14:08 编程小白菜 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 一. Windows+WebSphere+Jprofiler9 我们自己的windows机器监控本地的WebSphere,应该为服务器配置监控代理,供Jprofiler连接使用,具体步骤如下: 1.文件准备 首先在 http://www.ej-technologies.com/products/jp 阅读全文
posted @ 2017-02-09 11:06 编程小白菜 阅读(943) 评论(0) 推荐(0) 编辑