Java学习录

关注公众号《Java学习录》学习Java进阶知识,获取免费技术干货:并发、搜索引擎、微服务、虚拟机、产品、支付、大数据、前端、数据库、架构设计、消息队列、数据结构、设计模式、存储、分布式、网络、面试题...

JVM系列文章汇总

JVM中运行时数据区中的堆、栈、方法区等区域的特性介绍 Java中class文件的组成结构 JVM的类加载生命周期介绍 Java堆、新生代老年代的特点、堆中的内存分配策略 JVM垃圾收集算法详解 JVM各个垃圾收集器的简单介绍及常用参数详解 JVM中的内存溢出\OOM的原因及解决方案 ...

2019-05-22 09:18:04

阅读数 31

评论数 0

Linux常用命令速查-汇总篇

Linux常用命令速查-用户管理Linux常用命令速查-文件管理Linux常用命令速查-系统监控Linux常用命令速查-网络管理Linux常用命令速查-定时任务Linux常用命令速查-Vim 推荐阅读 SpringCloud学习系列汇总 多线程面试必备基础知识汇总 Java集合源码...

2019-04-18 09:23:19

阅读数 1139

评论数 0

SpringCloud学习系列汇总

Spring Cloud常用组件使用汇总 使用SpringBoot2.0.3整合SpringCloud 服务注册与发现Eureka 自定义Eureka集群负载均衡策略 如何使用高可用的Eureka Feigin的使用及自定义配置 Hystrix使用 Hystrix仪表盘 路由器...

2019-04-15 10:37:10

阅读数 49

评论数 0

多线程面试必备基础知识汇总

多线程基本概念 同步和异步,线程和进程,并发和并行,临界资源,阻塞,死锁,饥饿,活锁,线程的并发级别 多线程内存模型 JMM的基本概念,主内存与工作内存的数据交互,多线程中的原子性、可见性、有序性,指令重排,volatile关键字 Hello,Thread 如何创建线程,线程的生命周期,...

2019-04-04 16:43:50

阅读数 30

评论数 0

RabbitMQ消息传递流程

两个新名词 本篇文章以上篇文章《Rabbit的基础概念》为基础,且在上篇文章的前提下又引入了两个新的概念: 连接( Connection) 我们知道绝大部分的通信都是基于网络协议的,其中TCP协议就是广为人知的一种协议,在RabbitMQ中,生产者和消费者与RabbitMQ的通信就是基于TCP连接...

2019-06-24 17:24:10

阅读数 21

评论数 0

阿里巴巴Java开发手册更新了!

自2017年,《阿里巴巴Java开发手册》发布,现已有超过260万位工程师下载及查阅手册,在数以千计的企业应用,手册成为受业界认可的开发规范。 昨天,《Java开发手册》再次更新,此次更新包含以下内容: 新增21条新规约 修改描述112处 完善若干处示例 ...

2019-06-21 16:14:33

阅读数 30

评论数 0

RabbitMQ集群安装

首先参考上一篇文章【CentsOS原生RabbitMQ安装过程】在两到三台机器上先安装单独的RabbitMQ节点 修改一下hostname 1 2 3 4 [root@rnode1 ~]# vim /etc/hosts 172.16.20.110 rnode...

2019-06-18 09:10:11

阅读数 42

评论数 0

CentsOS原生RabbitMQ安装过程

版本依赖问题 RabbitMQ安装时与Erlang的版本一定要保持以下的对应关系,否则会引发无法启动的问题 安装Erlang 下载Erlang依赖 1 wget http://erlang.org/download/otp_src_20.3.tar.gz...

2019-06-17 09:22:17

阅读数 50

评论数 0

初窥MySQL性能调优

本文涉及:MySQL自带的性能测试工具mysqlslap的使用及几个性能调优的方法 性能测试工具—mysqlslap mysqlslap是MySQL自带的一款非常优秀的性能测试工具。使用它可以 模拟多个客户端并发向服务器发出查询、更新等请求,然后输出简单的报告 可选参数 –engines...

2019-06-05 09:21:08

阅读数 39

评论数 0

MySQL架构与SQL执行流程

MySQL架构设计 下面是一张MySQL的架构图: 上方各个组件的含义如下: Connectors 指的是不同语言中与SQL的交互 Management Serveices & Utilities: 系统管理和控制工具 Connection Pool:连接池 管...

2019-05-31 09:13:06

阅读数 521

评论数 1

MySQL索引失效及使用索引的优缺点

本文所有实验基于MySQL5.7.21,实验将会用到Explain工具,不了解的同学可参考此文章:MySQL性能优化神器Explain详解 联合索引失效 先创建一个包含三个字段的联合索引,索引顺序如下: 由以下三张图的key_len字段我们可以得出三个索引的长度分别为:title长303,a...

2019-05-29 09:15:17

阅读数 29

评论数 0

MySQL性能优化神器Explain

本文涉及:MySQL性能优化神器Explain的使用 简介 虽然使用Explain不能够马上调优我们的SQL,它也不能给予我们一些调整建议,但是它能够让我们了解MySQL 优化器是如何执行SQL 语句的 通过Explain,我们可以分析出以下结果: 表的读取顺序 数据读取操作的操作类型...

2019-05-28 09:14:41

阅读数 370

评论数 0

MySQL调优之数据类型选择原则

本文涉及:高可用数据库设计时数据类型的选择原则 在进行数据库设计时,如果能够选择最恰当的数据类型就可以为后期的数据库调优打好最坚实的基础 选择数据类型的原则 更小的通常更好 例如存储订单状态字段很多时候使用0、1、2表示使用tinyint类型存储就够了,没必要搞个int、long甚至va...

2019-05-27 09:23:25

阅读数 13

评论数 0

MySQL里默认的几个库是干啥的?

本文涉及:MySQL安装后自带的4个数据库:information_schema、 performance_schema、sys、mysql的作用及其中各个表所存储的数据含义 information_schema information_schema是mysql自带的一个信息数据库,其保存着...

2019-05-24 09:16:46

阅读数 34

评论数 0

MySQL常用sql语句大全

创建数据库 1 create database dbname; 删除数据库 1 drop database dbname; 选择数据库 1 use dbna...

2019-05-23 09:16:12

阅读数 31

评论数 0

微服务监控神器Prometheus的安装部署

本文涉及:如何在k8s下搭建Prometheus+grafana的监控环境 基本概念 Prometheus提供了容器和云原生领域数据搜集、存储、处理、可视化和告警一套完整的解决方案,最初时是由SoundCloud公司开发的。自2012年开源以来社区成员就不断递增。如今的Prometheus已...

2019-05-23 09:07:52

阅读数 85

评论数 0

Java虚拟机是怎么new的对象?

本文涉及:Java中的new命令之后发生的事 类加载检查 java虚拟机在遇到一条 new 指令时,首先会检查是否能在常量池中定位到这个类的符号引用,并且是否已被加载过、解析和初始化过。如果没有,那必须先执行类加载过程 类加载的相关知识可参考:JVM的类加载机制 分配内存 在类加载检查...

2019-05-14 09:19:06

阅读数 28

评论数 0

缓存淘汰、缓存穿透、缓存击穿、缓存雪崩、数据库缓存双写一致性

缓存淘汰 为什么需要缓存淘汰?你需要缓存30G的数据,但是Redis本身只能使用10G的内存,那你就得做个取舍了,毕竟鱼与熊掌不可兼得。为了利益最大化肯定要保留最重要的10个G。 Redis本身提供了6中缓存淘汰策略,以下属性表示允许使用的最大内存 1 s...

2019-04-29 09:13:08

阅读数 59

评论数 0

Redis常用命令、5种数据类型的内部编码实现以及实用场景

◆ 全局命令 ◆ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 flush db # 清除当前数据库的所有keys flush all # 清除所有数据库的所有keys keys * ...

2019-04-28 00:15:57

阅读数 40

评论数 0

分布式系统下的哈希一致性算法设计

本文涉及:普通哈希算法存在的问题,分布式系统的哈希一致性算法,哈希一致性算法中的数据倾斜问题 我们知道,在分布式系统中当数据量无法使用单机进行存储时,最简单粗暴的方法就是水平扩展:加机器,搞集群。 然而所有的集群模式都会面临一个数据存放的问题:即一个集群有多台机器,我们怎么知道这次的数据应该...

2019-04-25 17:29:39

阅读数 39

评论数 0

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