HashMap的扩容机制---resize() & 死循环的问题

1.8 与1.7 变化较大, http://www.cnblogs.com/RGogoing/p/5285361.html 学习内容: 1.HashMap<K,V>在多线程的情况下出现的死循环现象     当初学Java的时候只是知道HashM...

2017-03-22 15:34:32

阅读数:5456

评论数:3

Java虚拟机解析篇之---内存模型

今天闲来无事来,看一下Java中的内存模型和垃圾回收机制的原理,关于这个方面的知识,网上已经有很多现成的资料可以供我们参考,但是知识还是比较杂的,在这部分知识点中有一本书不得不推荐:《深入理解Java虚拟机》,现在已经是第二版了。这本书就从头开始详细介绍了Java整个虚拟机的模型以及Java的类文...

2017-03-03 17:49:05

阅读数:605

评论数:0

Linux常用系统管理命令(top、free、kill、df)

http://www.jb51.net/LINUXjishu/86334.html 一、 top 1.作用 top命令用来显示执行中的程序进程,使用权限是所有用户。 2.格式 top [-] [d delay] [q] [c] [S] [s] [i] [n] ...

2017-03-31 12:19:38

阅读数:597

评论数:0

Linux Swap交换分区介绍总结

Swap交换分区概念   什么是Linux swap space呢?我们先来看看下面两段关于Linux swap space的英文介绍资料:   Linux divides its physical RAM (random access memory) into chucks of mem...

2017-03-31 11:45:57

阅读数:297

评论数:0

轻松理解MYSQL MVCC 实现机制

1. MVCC简介 1.1 什么是MVCC MVCC是一种多版本并发控制机制。 1.2 MVCC是为了解决什么问题? 大多数的MYSQL事务型存储引擎,如,InnoDB,Falcon以及PBXT都不使用一种简单的行锁机制.事实上,他们都和MVCC–多版本并发控制来一起使用. 大家都应该知...

2017-03-31 11:26:47

阅读数:477

评论数:0

数据库ACID、隔离级别与MVCC

首先需要明确事务的概念:一组原子性的SQL查询,如果数据库引擎能够成功的对数据库应用该组查询的全部语句,那么就执行该组语句,否则所有语句都不执行。 事务有ACID四个特性,即: 原子性:一个事务是一个不可分割的最小工作单元,其操作要么全部成功,要么全部失败; 一致性:数据库总是从一个一致性状...

2017-03-31 11:25:56

阅读数:361

评论数:0

java为什么匿名内部类的参数引用时final?

https://www.zhihu.com/question/21395848

2017-03-30 17:24:16

阅读数:2485

评论数:0

分布式锁实现方案(REDIS,ZOOKEEPER,TAIR)

Zookeeper 1、原生ZK方案 Zookeeper中有一种节点叫做顺序节点,假如我们在/lock/目录下创建节3个点,ZooKeeper集群会按照提起创建的顺序来创建节点,节点分别为/lock/0000000001、/lock/0000000002、/lock/000000000...

2017-03-30 13:25:12

阅读数:6068

评论数:0

Redis学习笔记--Redis持久化

Redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化。redis支持四种持久化方式,一是 Snapshotting(快照)也是默认方式;二是Append-only file(缩写aof)的方式;三是虚拟内存方式;四是diskstore方式。下面...

2017-03-30 13:19:51

阅读数:285

评论数:0

Java和groovy相互调用

java interface Java代码   package groovy;      public interface IFoo {       public Object run(Object foo, Object bar);   }     ...

2017-03-28 18:21:28

阅读数:2552

评论数:0

JAVA与groovy脚本的结合使用

java执行groovy shell脚本 org.codehaus.groovy groovy-all 2.4.0-beta-1 添加groovy jar包支持 =============================================...

2017-03-28 17:35:01

阅读数:2267

评论数:0

ThreadPoolExecutor使用和思考(中)-keepAliveTime及拒绝策略

工作中多处接触到了ThreadPoolExecutor。趁着现在还算空,学习总结一下。   前记:   jdk官方文档(javadoc)是学习的最好,最权威的参考。文章分上中下。上篇中主要介绍ThreadPoolExecutor接受任务相关的两方面入参的意义和区别,池大小参...

2017-03-27 11:37:48

阅读数:418

评论数:0

ThreadPoolExecutor使用和思考(上)-线程池大小设置与BlockingQueue的三种实现区别

工作中多处接触到了ThreadPoolExecutor。趁着现在还算空,学习总结一下。   前记:   jdk官方文档(javadoc)是学习的最好,最权威的参考。文章分上中下。上篇中主要介绍ThreadPoolExecutor接受任务相关的两方面入参的意义和区别,池大小参数corePoo...

2017-03-27 11:15:38

阅读数:369

评论数:0

再聊线程池

引言 最近恰好在组内分享线程池,又看了看四年前自己写的线程池文章,一是感叹时光荏苒,二是感叹当时的理解太浅薄了,三是感叹自己这么多年依然停留在浅薄的理解当中,没有探究其实现,羞愧难当。遂把分享的内容整理出来,希望能够让读者对线程池有一个全新的认识。 池化 这里池化并不是深度学习中...

2017-03-27 11:10:46

阅读数:371

评论数:0

Java线程(篇外篇):线程本地变量ThreadLocal

首先说明ThreadLocal存放的值是线程内共享的,线程间互斥的,主要用于线程内共享一些数据,避免通过参数来传递,这样处理后,能够优雅的解决一些实际问题,比如hibernate中的OpenSessionInView,就是使用ThreadLocal保存Session对象,还有我们经常用Thread...

2017-03-27 10:23:49

阅读数:340

评论数:0

Java线程(十一):Fork/Join-Java并行计算框架

并行计算在处处都有大数据的今天已经不是一个新鲜的词汇了,现在已经有单机多核甚至多机集群并行计算,注意,这里说的是并行,而不是并发。严格的将,并行是指系统内有多个任务同时执行,而并发是指系统内有多个任务同时存在,不同的任务按时间分片的方式切换执行,由于切换的时间很短,给人的感觉好像是在同时执行。  ...

2017-03-24 21:32:24

阅读数:1123

评论数:1

Java线程(十):CAS

前言        在Java并发包中有这样一个包,java.util.concurrent.atomic,该包是对Java部分数据类型的原子封装,在原有数据类型的基础上,提供了原子性的操作方法,保证了线程安全。下面以AtomicInteger为例,来看一下是如何实现的。 [jav...

2017-03-24 19:56:03

阅读数:331

评论数:0

MySQL中merge表存储引擎用法

在Mysql数据库中,Merge表有点类似于视图。mysql的merge引擎类型允许你把许多结构相同的表合并为一个表。之后,你可以执行查询,从多个表返回的结果就像从一个表返回的结果一样。每一个合并的表必须有完全相同表的定义和结构。 Mysql Merge表的优点: A. 分离静态的和动态的...

2017-03-24 19:10:08

阅读数:394

评论数:0

Mysql分库分表方案

Mysql分库分表方案 1.为什么要分表: 当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。 mysql中有一种机制是表锁定和行锁定,是为了保证数据的完整性。表锁定表示你们都不能对这张表进行操作...

2017-03-24 19:08:13

阅读数:293

评论数:0

MySQL分库分表总结参考

单库单表 单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到。  单库多表  随着用户数量的增加,user表的数据量会越来越大,当数据量达到一定程度的时候对user表的查询会渐渐的变慢,从而影响整个DB的性能...

2017-03-24 19:06:17

阅读数:1065

评论数:0

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