8 张图理解 Java

一图胜千言,下面图解均来自Program Creek 网站的Java教程,目前它们拥有最多的票选。如果图解没有阐明问题,那么你可以借助它的标题来一窥究竟。
1、…

Java多线程编程-(3)-从一个错误的双重校验锁代码谈一下volatile关键字

在Java多线程编程-(2)中提及到了一段使用Synchronized关键字实现的单利模式–双重校验锁,代码如下:

慧眼的小伙伴,已经发现了其中的问题,并给…

简要分析ZooKeeper基本原理

最近一直有小伙伴私信我,问一些关于Zookeeper的知识,下边关于的Zookeeper的知识整理了一下,一起学习一下。
一、ZooKeeper 基本概念

1…

MySQL存储引擎MyISAM与InnoDB区别总结整理

1、MySQL默认存储引擎的变迁
在MySQL 5.1之前的版本中,默认的搜索引擎是MyISAM,从MySQL 5.5之后的版本中,默认的搜索引擎变更为Inno…

使用快照和AOF将Redis数据持久化到硬盘中

前言

我们知道Redis是一款内存服务器,就算我们对自己的服务器足够的信任,不会出现任何软件或者硬件的故障,但也会有可能出现突然断电等情况,造成Redis服务…

Redis简介以及和其他缓存数数据库的区别

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

ELK Stack之Beats简介

Beats 是ELK Stack技术栈中负责单一用途数据采集并推送给Logstash或Elasticsearch的轻量级产品。
Filebeat
Filebea…

使用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虚拟机之垃圾收集器(5)

一、关于Java垃圾回收的简介
(1)Java 内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭;栈中的栈帧随着方法…

Java虚拟机值对象访问以及如何使用对象的引用(2)

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

Git的核心概念

文章内容来自自己的理解 和 https://git-scm.com/book/en/v2 。
本文不是Git使用教学篇,而是偏向理论方面,旨在更加深刻的理解Gi…

Java性能优化之字符串优化处理

1.String对象
String对象是java中重要的数据类型,在大部分情况下我们都会用到String对象。其实在Java语言中,其设计者也对String做…