自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

淘宝技术这十年,完整最终确认版

淘宝技术这十年,完整最终确认版,很强大,很牛!pdf

2015-12-31

Java中23种经典设计模式(附代码)

设计模式是java初级工程师迈向高级工程师最重要的一步

2013-08-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除