关闭

JUC源码分析3-原子变量-AtomicIntegerFieldUpdater/AtomicLongFieldUpdater/AtomicReferenceFieldUpdater

如果我们系统中已经有某个类的变量定义为volatile了,现在为了保证对这个变量的原子性操作,就可以尝试使用这几个类,举个栗子: import sun.reflect.Reflection; public class AtomicFieldIncr { //这里最好是public volatile,不要加final、static //修饰符最好也不要为protected,pr...
阅读(698) 评论(0)

JUC源码分析2-原子变量-AtomicIntegerArray/AtomicLongArray/AtomicReferenceArray

JUC针对数组元素的原子封装,先看AtomicIntegerArray。 private static final Unsafe unsafe = Unsafe.getUnsafe(); //arrayBaseOffset获取数组首个元素地址偏移 private static final int base = unsafe.arrayBaseOffset(int[].class); //shif...
阅读(344) 评论(0)

JUC源码分析1-原子变量-AtomicInteger/AtomicBoolean/AtomicLong/AtomicReference

记录学习中的一些东西,防止以后遗忘,参考了很多别人的文章,感谢之! 多线程并发操作时,对普通变量++或--不具有原子性,每次读取的值都不一样,看代码: import java.util.concurrent.atomic.AtomicInteger; public class Incr { public AtomicInteger a = new AtomicInteger...
阅读(581) 评论(0)

Protostuff序列化

这几天在看rpc框架的东西,一哥们写的轻量级rpc框架(http://my.oschina.net/huangyong/blog/361751?fromerr=NpC3phqY)实现,写的rpc很不错,就跟着撸了遍代码,里面用到的序列化工具是protostuff,之前我们项目供应商接口用的xml,没用过protostuff,拿过来研究下,写个demo示例,以后再需要的话,也可以拿过来用。 常用的...
阅读(1754) 评论(0)

Java并发编程:线程池的使用

转自:http://www.cnblogs.com/dolphin0520/p/3932921.html ,线程池的使用,哎,苦逼的coder,学无止境 awaitTermination():用于等待子线程结束,再继续执行下面的代码 Java并发编程:线程池的使用   在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:   如...
阅读(219) 评论(0)

spring的bean获取项目根目录

昨天碰见个问题,maven打包多模块的web项目。将spring的bean配置在远程调度系统,调度系统通过发送调度命令到本地,本地通过线程池调用spring的bean。在service模块打包的jar中,我需要保存一些文件到本地,因为不是通过web调用,所以获取不到项目根目录,当时也没想到有什么好办法。所以就直接保存到系统目录,代码做预判,目录不存在就新建,在window下,创建目录都没有问题,但...
阅读(1387) 评论(0)

ConcurrentHashMap、synchronized与线程安全

转自:http://blog.csdn.net/sadfishsc/article/details/42394955 最近做的项目中遇到一个问题:明明用了ConcurrentHashMap,可是始终线程不安全 除去项目中的业务逻辑,简化后的代码如下: [java] view plain copy public class Test...
阅读(195) 评论(0)

Timing wheel

本来在看netty5的源码,后来里面使用timewheel实现定时任务,就了解下是什么玩意,转载3篇文章: http://www.cppblog.com/Solstice/archive/2011/05/04/145691.html这篇理论讲的不错,c++的实现 http://blog.csdn.net/mindfloating/article/details/8033340 java实现...
阅读(598) 评论(0)

NoSuchMethodError

转自:http://www.cnblogs.com/xiaoMzjm/p/4566672.html?utm_source=tuicool&utm_medium=referral,不错,虽然没解决问题,但是也提供了不错的思路。 最近接手新项目,项目一跑,NoSuchMethodError蹦出来了,好不容易解决了,换一个电脑,NoSuchMethodError又蹦出来了,干脆,总结下遇到NoSu...
阅读(345) 评论(0)

jQuery插件开发

以前看到的一篇文章,不错http://www.cnblogs.com/Wayou/p/jquery_plugin_tutorial.html 要说jQuery 最成功的地方,我认为是它的可扩展性吸引了众多开发者为其开发插件,从而建立起了一个生态系统。这好比大公司们争相做平台一样,得平台者得天下。苹果,微软,谷歌等巨头,都有各自的平台及生态圈。 学会使用jQuery并不难...
阅读(329) 评论(0)

java注解的Inherited

在学习netty5.0源码时,发现没有了之前的in-outbound的概念,而是通过AdapterAbstractChannelHandlerContext中skipFlags来区分的。skipFlags又是通过解析channelhandler类中方法的skip注解来获的。 后来就研究了下java注解的继承关系,发现有没有Inherited元注解,加在类还是方法上还是有些区分的。 看下元注解I...
阅读(651) 评论(0)

java位操作符

用在哪里: 1.状态标识:n多状态需要区分,当然可以直接用枚举0、1、2这样子标识,但是用1 2.标识选择项:前台界面n多下拉框选择项,最后你可以用一个位操作全部放在一个字段标识。 以下转自:http://www.blogjava.net/zhaomingchao/articles/298318.html 二进制负数以它正值的补码形式表达 补码:反码+1等于补码 比如:...
阅读(212) 评论(0)

一分钟掌握Spring中bean的生命周期

转自:http://itlab.idcquan.com/Java/configure/850745.html ,写的挺好的,我就不写了  Spring 中bean 的生命周期短暂吗?     在spring中,从BeanFactory或ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean的别名只能维持一个实例,而不是每次都产生一个新的对象使用S...
阅读(420) 评论(0)

Mysql中的MVCC

转自:http://blog.csdn.net/chen77716/article/details/6742128 ,mvcc跟以前理解的不一样,转载学习 Mysql到底是怎么实现MVCC的?这个问题无数人都在问,但google中并无答案,本文尝试从Mysql源码中寻找答案。   在Mysql中MVCC是在Innodb存储引擎中得到支持的,Innodb为每行记录都实现了三个...
阅读(215) 评论(0)

IO - 同步,异步,阻塞,非阻塞 (亡羊补牢篇)

转自:http://blog.csdn.net/historyasamirror/article/details/5778378 当你发现自己最受欢迎的一篇blog其实大错特错时,这绝对不是一件让人愉悦的事。 《 IO - 同步,异步,阻塞,非阻塞 》是我在开始学习epoll和libevent的时候写的,主要的思路来自于文中的那篇link 。写完之后发现很多人都很喜欢,我还是非...
阅读(208) 评论(0)

select、poll、epoll之间的区别总结[整理]

转自:http://www.cnblogs.com/Anker/p/3265058.html,写的非常好,了解下 select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自...
阅读(223) 评论(0)

一个Java NIO问题引发的思考

转自:http://www.seflerzhou.net/post-25.html 问题背景: 最近在测试环境遇到大量的这种错误: java.io.IOException: 文件已存在 at sun.nio.ch.EPollArrayWrapper.epollCtl(Native Method) at sun.nio.ch.EPollArrayWr...
阅读(2338) 评论(0)

高性能IO模型浅析

转自:http://www.cnblogs.com/fanzhidongyzby/p/4098546.html 服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型。 (2)同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBL...
阅读(228) 评论(0)

IO基础入门之I/O多路复用技术

在I/O编程过程中,当需要同时处理多个客户端接入请求时,可以利用多线程或者I/O多路复用技术进行处理。I/O多路复用技术通过把多个I/O的阻塞复用到同一个select的阻塞上,从而使得系统在单线程的情况下可以同时处理多个客户端请求。与传统的多线程/多进程模型比,I/O多路复用的最大优势是系统开销小,系统不需要创建新的额外进程或者线程,也不需要维护这些进程和线程的运行,降底了系统的维护工作量,节省了...
阅读(263) 评论(0)

Redis 一致性hash

Redis 一致性hash 1. 一致性hash的相关理论知识. * http://www.cnblogs.com/haippy/archive/2011/12/10/2282943.html * http://blog.csdn.net/cywosp/article/details/23397179/ 2. 还是写一下对一致性hash算法好坏的四个定义 * 平衡性(Balanc...
阅读(485) 评论(0)
139条 共7页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:73119次
    • 积分:1468
    • 等级:
    • 排名:千里之外
    • 原创:62篇
    • 转载:76篇
    • 译文:1篇
    • 评论:16条
    最新评论