如果有人问你数据库的原理,叫他看这篇文章 http://blog.jobbole.com/100349/ 文章把知识链都给串起来,对数据库做一个概述. 合并排序 阵列.树和哈希表 B+树索引概述 数据库的全局概述 基于成本的优化概述,特别专注了联接运算 缓冲池管理概述 事务管理概述…
前言 HashMap 源码和底层原理在现在面试中是必问的.因此,我们非常有必要搞清楚它的底层实现和思想,才能在面试中对答如流,跟面试官大战三百回合.文章较长,介绍了很多原理性的问题,希望对你有所帮助~ 目录 本篇文章主要包括以下内容: HashMap 的存储结构 常用变量说明,如加载因子等 HashMap 的四个构造函数 tableSizeFor()方法及作用 put()方法详解 hash()方法,以及避免哈希碰撞的原理 resize()扩容机制及原理 get()方法 为什么HashMap链表会…
废话不多说,就说一句:在 JFinal 中集成 EhCache,可以提高系统的并发访问速度. 可能有人会问 JFinal 是什么,EhCache 是什么,简单解释一下. JFinal 是一个基于Java 语言的极速 Web 开发框架,用起来非常爽,谁用谁知道.EhCache 是一个纯 Java 的进程内缓存框架,具有快速.精干的特点,用起来非常爽,谁用谁知道. JFinal 本身已经集成了 EhCache 这个缓存插件,但默认是没有启用的.那怎么启用呢? 请随我来. 01.在 pom.xml 中…
前言 提到ZooKeeper,相信大家都不会陌生.Dubbo,Kafka,Hadoop等等项目里都能看到它的影子.但是你真的了解 ZooKeeper 吗?如果面试官让你给他讲讲 ZooKeeper 是个什么东西,你能回答到什么地步呢? 我会用两个篇幅介绍ZooKeeper ,第一篇是概念性的认识,这篇你会得到 ZooKeeper 是什么,ZooKeeper 设计的目标,ZooKeeper 能做什么和ZooKeeper 基本的概念.第二篇我会从实战出发,安装ZooKeeper,写一些ZooKeep…
01.前言 Emoji 在我们生活中真的是越来越常见了,几乎每次发消息的时候不带个 Emoji,总觉得少了点什么,似乎干巴巴的文字已经无法承载我们丰富的感情了.对于我们开发者来说,如何将 Emoji 存入 MySql 数据库或者取出来,就变成了一种必须掌握的技能了. Emoji 是一种图形符号,能够很直观地反应出某种文字含义.它让我想起远古时代的象形文字. Emoji 其实是一个日语词(えもじ),E 表示"絵",moji 表示"文字":连在一起就是"絵文字…
原创文章,转载请务注明出处 OOP三大基本特性 封装 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的属性和方法只让可信的类操作,对不可信的进行信息隐藏. 继承 继承是指这样一种能力,它可以使用现有的类的所有功能,并在无需重新编写原来类的情况下对这些功能进行扩展. 多态 多态指一个类实例的相同方法在不同情形有不同的表现形式.具体来说就是不同实现类对公共接口有不同的实现方式,但这些操作可以通过相同的方式(公共接口)予以调用. OOD七大原则 面向对象设计(OOD)有七大原则(是的,你没看错…
本文转自http://blog.csdn.net/gs80140/article/details/51496925 一直对zookeeper的应用和原理比较迷糊,今天看一篇文章,讲得很通透,分享如下: 场景一 有这样一个场景:系统中有大约100w的用户,每个用户平 均有3个邮箱账号,每隔5分钟,每个邮箱账需要收取100封邮件,最多3亿份邮件需要下载到服务器中(不含附件和正文).用20台机器划分计算的压力,从 多个不同的网路出口进行访问外网,计算的压力得到缓解,那么每台机器的计算压力也不会很大了.…
本文翻译自Coding-Geek文章:< How does a relational database work>. 原文链接:http://coding-geek.com/how-databases-work/#Buffer-Replacement_strategies 先翻译快速缓存章节.兴许有时间再翻译其他章节. 翻译内容在原文的文件夹: 一.数据管理器 数据查询器运行查询操作,从数据表中获取数据.它向Data Manger发送请求,获取数据.当中存在2个问题: 关系型数据使用事物模型.…
前言 上篇文章介绍了 HashMap 源码后,在博客平台广受好评,让本来己经不打算更新这个系列的我,仿佛被打了一顿鸡血.真的,被读者认可的感觉,就是这么奇妙. 然后,有读者希望我能出一版 ConcurrentHashMap 的解析.所以,今天的这篇文章,我准备讲述一下 ConcurrentHashMap 分别在JDK1.7和 JDK1.8 的源码.文章较长,建议小伙伴们可以先收藏再看哦~ 说一下为什么我要把源码解析写的这么详细吧.一方面,可以记录下当时自己的思考过程,也方便后续自己复习翻阅:另一…
在再有人问你Java内存模型是什么,就把这篇文章发给他.中我们曾经介绍过,Java语言为了解决并发编程中存在的原子性.可见性和有序性问题,提供了一系列和并发处理相关的关键字,比如synchronized.volatile.final.concurren包等. 在<深入理解Java虚拟机>中,有这样一段话: synchronized关键字在需要原子性.可见性和有序性这三种特性的时候都可以作为其中一种解决方案,看起来是“万能”的.的确,大部分并发控制操作都能使用synchronized来完成. 海…