自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (2)
  • 收藏
  • 关注

转载 数据库分库分表策略

作为一种数据存储层面上的水平伸缩解决方案,数据库Sharding技术由来已久,很多海量数据系统在其发展演进的历程中都曾经历过分库分表的Sharding改造阶段。简单地说,Sharding就是将原来单一数据库按照一定的规则进行切分,把数据分散到多台物理机(我们称之为Shard)上存储,从而突破单机限制,使系统能以Scale-Out的方式应对不断上涨的海量数据,但是这种切分对上层应用来说是透明的,多个

2016-08-25 16:29:55 2496

转载 Java HashMap的hash算法

HashMap 中hash table 定位算法: Java代码  int hash = hash(key.hashCode());  int i = indexFor(hash, table.length);  其中indexFor和hash源码如下: Java代码  /**  * Applies a supplemen

2016-08-25 10:22:07 1278 1

转载 Java HashMap的hash函数实现

Hashmap是一种非常常用的、应用广泛的数据类型,最近研究到相关的内容,就正好复习一下。网上关于hashmap的文章很多,但到底是自己学习的总结,就发出来跟大家一起分享,一起讨论。 1、hashmap的数据结构 要知道hashmap是什么,首先要搞清楚它的数据结构,在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构

2016-08-25 10:15:55 2188

原创 Java ReentrantLock(重入锁)带来的改变

前言ReentrantLock称为重入锁,它比内部锁synchronized拥有更强大的功能,它可中断、可定时,JDK5中,在高并发的情况下,它比synchronized有明显的性能优势,在JDK6中由于jvm的优化,两者差别不是很大。synchronized原语和ReentrantLock在一般情况下没有什么区别,但是在非常复杂的同步应用中,请考虑使用ReentrantLock,特别

2016-08-24 11:03:32 468

原创 JVM调优(五)对一个web项目的调优

调优前调优过程

2016-08-23 13:51:38 814

原创 JVM调优(四)常用调优方案

将新对象预留到新生代由于Full GC的成本要远远高于Minor GC,因此尽可能的将对象分配在新生代是一项明智的选择。 大部分情况下,jvm会尝试在eden区域分配对象,但是因为空间紧张等问题,很可能不得不将部分年轻对象提前向老年代压缩。因此,可以为程序分配一个合理的新生代空间,以最大限度避免新对象直接进入老年代的情况。一般来说,当survivor区的空间不够,或者占用量达到50%时

2016-08-23 10:37:46 511

原创 JVM调优(三)垃圾收集

前言垃圾收集器要处理的基本问题是:哪些对象需要回收?何时回收这些对象?如何回收这些对象?回收算法复制算法(copying)标记-压缩算法(mark-compact)

2016-08-22 17:22:59 276

原创 JVM调优(二)JVM内存分配参数

设置最大堆内存-Xmx参数指定。最大堆是新生代和老年代的大小之和的最大值,他是java应用程序的堆上限。使用-Xmx可以设置系统的最大堆。设置最小堆内存使用-Xms可以设置系统的最小堆空间,也就是jvm启动时,所占据的操作系统的内存大小。设置新生代设置持久代设置线程栈

2016-08-22 16:29:12 387

原创 JVM调优(一)虚拟机的内存模型

Java字节码是运行在JVM虚拟机上的,同样的字节码使用不同的JVM参数运行,其性能表现可能各不一样。

2016-08-22 10:14:27 515

原创 关于volatile和cas

cas描述:CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。这个旧的预期值是什么意思?V是内存值,B是要程序即将要存入内存的值,但这个旧的预期值A,是什么意思,程序如何知道预期值?一个线程间共享的变量,首先在主存中会保留一份,然后每个线程的工作内存也会保留一份副本。这里说的预期值,就是线程保留的副本。当该

2016-08-18 14:16:55 1492

原创 HTTP初探

http连接实际上就是tcp连接和一些使用连接的规则

2016-08-17 12:52:18 835

好用的线程dump分析工具

好用的线程dump分析工具

2022-01-21

oracle数据库迁移

oracle的字符集介绍和设置,oracle导用户时的空表设置,oracle导出导入用户全过程详细介绍。

2013-12-02

空空如也

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

TA关注的人

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