- 博客(13)
- 资源 (2)
- 收藏
- 关注
原创 synchronized的实现用了自旋锁还是互斥锁?
这两个完全不是相同的概念互斥锁,一般的synchronized,ReentrantLock就是互斥锁,ReentrantReadWriteLock中的写锁也是互斥锁,读锁不是互斥锁。当线程需要获取锁的时候,而此时锁不可用,该线程就需要等待,这个等待该如何实现呢?1、用循环不断的轮询锁的状态,锁可用的时候就退出。这就是自旋锁,众所周知,这样里面基本不做什么事情的循环是非常耗CPU
2016-01-27 11:30:55 2363
原创 Spring之FactoryBean
首先要分辨BeanFactory 与 FactoryBean的区别, 两个名字很像,所以容易搞混BeanFactory: 以Factory结尾,表示它是一个工厂类,是用于管理Bean的一个工厂FactoryBean:以Bean结尾,表示它是一个Bean,不同于普通Bean的是:凡是实现了FactoryBean接口的Bean,根据该Bean的Id从BeanFactory中获取的实际上
2016-01-26 11:13:26 336
原创 数据库分表、分库及读写分离的基本概念
最近因为项目原因一直在研究分表、分库和读写分离。本来打算直接使用一款开源产品,但作者只开源了一部分,无奈只好自己动手丰衣足食了。分库、分表常用策略:1.平均进行分配。2.按照权重进行分配且均匀轮询。3.按照业务进行分配。4.按照一致性hash算法进行分配。分表又分为单库分表(表名不同)和多库分表(表名相同),不管使用哪种策略都还需要使用路由技术。读写分离
2016-01-21 14:52:44 2476 1
原创 Java中getResourceAsStream的用法
首先,Java中的getResourceAsStream有以下几种: 1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。2. Class.getClassLoad
2016-01-20 15:51:15 673
转载 Java解析XML汇总(DOM/SAX/JDOM/DOM4j/XPath)
【目录】一、【基础知识——扫盲】二、【DOM、SAX、JDOM、DOM4j简单使用介绍】三、【性能测试】四、【对比】五、【小插曲XPath】六、【补充】关键字:Java解析xml、解析xml四种方法、DOM、SAX、JDOM、DOM4j、XPath【引言】目前在Java中用于解析XML的技术很多,主流的有DOM、SAX
2016-01-20 11:00:15 385
转载 XStream和Dom4j的区别
对于搞技术的人来说,xml文件的处理应该并不陌生吧,先总述下,个人感觉XStream在处理XML文件和JavaBean对象互转时比较好,dom4j对常用的xml配置文件操作比较好点;首先,Dom4j 处理xml应该是公认的易操作、高效率,特别是对读取和修改xml文件中内容 也提供了丰富的API接口,但是在dom4j在处理XML文件和JavaBean对象互转时,会有些小麻烦,特别是 XML 文件的内
2016-01-20 10:59:28 734
转载 权重轮询调度算法(WeightedRound-RobinScheduling)-Java实现2
权重轮询调度算法(WeightedRound-RobinScheduling)-Java实现 ----参考Nginx中负载均衡算法实现与上一遍博客 http://www.cnblogs.com/huligong1234/p/3819979.html 中实现方式不同,这里主要参考这篇文章的实现: Nginx 负载均衡-加权轮询
2016-01-19 16:13:34 659
转载 权重轮询调度算法(WeightedRound-RobinScheduling)-Java实现
1 import java.math.BigInteger; 2 import java.util.ArrayList; 3 import java.util.HashMap; 4 import java.util.List; 5 import java.util.Map; 6 import java.util.Map.Entry; 7 8 /** 9 * 权重
2016-01-19 16:12:36 827
转载 每天进步一点点——五分钟理解一致性哈希算法(consistent hashing)
转载请说明出处:http://blog.csdn.net/cywosp/article/details/23397179 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正
2016-01-13 18:50:18 339
转载 Spring3.0 AOP 详解
一、什么是 AOP。AOP(Aspect Orient Programming),也就是面向切面编程。可以这样理解,面向对象编程(OOP)是从静态角度考虑程序结构,面向切面编程(AOP)是从动态角度考虑程序运行过程。二、AOP 的作用。常常通过 AOP 来处理一些具有横切性质的系统性服务,如事物管理、安全检查、缓存、对象池管理等,AOP 已经成为一种非常常用的解决方
2016-01-12 13:38:48 302
转载 Spring 事务机制详解
Spring事务机制主要包括声明式事务和编程式事务,此处侧重讲解声明式事务,编程式事务在实际开发中得不到广泛使用,仅供学习参考。Spring声明式事务让我们从复杂的事务处理中得到解脱。使得我们再也无需要去处理获得连接、关闭连接、事务提交和回滚等这些操作。再也无需要我们在与事务相关的方法中处理大量的try…catch…finally代码。我们在使用Spring声明式事务时,有一个非常重要的概
2016-01-11 16:45:10 235
原创 java实现深复制:clone()及序列化
[java] view plaincopyJAVA实现深复制: clone()方法及序列化 Java语言取消了指针的概念,导致了许多程序员在编程中常常忽略了对象与引用的区别。Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,常常要应用clone()方法来复制对象。比如函数参数类型是自定义的类时,此时便是引用传递而不是值传递。以下是一个小例子:
2016-01-07 10:46:49 644
转载 数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。水平切分数据库,可以降低单台机器的负载,同时最大限度的降低了了宕机造成的损失。通过负载均衡策略,有效的降低了单台机器的访问负载,降低了宕机
2016-01-04 16:59:43 415
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人