
Java多线程编程-(3)-从一个错误的双重校验锁代码谈一下volatile关键字
在Java多线程编程-(2)中提及到了一段使用Synchronized关键字实现的单利模式–双重校验锁,代码如下:
慧眼的小伙伴,已经发现了其中的问题,并给…

MySQL存储引擎MyISAM与InnoDB区别总结整理
1、MySQL默认存储引擎的变迁
在MySQL 5.1之前的版本中,默认的搜索引擎是MyISAM,从MySQL 5.5之后的版本中,默认的搜索引擎变更为Inno…

使用快照和AOF将Redis数据持久化到硬盘中
前言
我们知道Redis是一款内存服务器,就算我们对自己的服务器足够的信任,不会出现任何软件或者硬件的故障,但也会有可能出现突然断电等情况,造成Redis服务…

Redis简介以及和其他缓存数数据库的区别
Redis简介
Redis 是一个开源的内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。
它支持多种类型的数据结构,如字符串(Strings),散…

使用Spring Session和Redis解决分布式Session跨域共享问题
前言
对于分布式使用Nginx+Tomcat实现负载均衡,最常用的均衡算法有IP_Hash、轮训、根据权重、随机等。不管对于哪一种负载均衡算法,由于Nginx…

大型网站应用之海量数据和高并发解决方案总结一二
一、网站应用背景
开发一个网站的应用程序,当用户规模比较小的时候,使用简单的:一台应用服务器+一台数据库服务器+一台文件服务器,这样的话完全可以解决一部分问题…

简要分析ZooKeeper基本原理及安装部署
一、ZooKeeper 基本概念
1、ZooKeeper 是什么?
Zookeeper官网地址: http://zookeeper.apache.org/
Zo…
MySQL开发规范与使用技巧总结
命名规范
1.库名、表名、字段名必须使用小写字母,并采用下划线分割。
a)MySQL有配置参数lower_case_table_names,不可动态更改,Lin…
为什么Java中1000==1000为false而100==100为true?
这是一个挺有意思的讨论话题。
如果你运行下面的代码
Integer a = 1000, b = 1000;
System.out.println(a == b)…
在一个千万级的数据库查寻中,如何提高查询效率?
在一个千万级的数据库查寻中,如何提高查询效率?
1、数据库设计方面:
A. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by …

Java虚拟机值对象访问以及如何使用对象的引用(2)
对象访问在 Java 语言中无处不在,是最普通的程序行为,但即使是最简单的访问,也会却涉及 Java 栈、 Java 堆、方法区这三个最重要内存区域之间的关联关…