• 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html
  • 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html

2019年01月8日的内容

服务框架的技术栈

1. 概述架构的改变,往往是因为业务规模的扩张。随着业务规模的扩张,为了满足业务对技术的要求,技术架构需要从单体应用架构升级到分布式服务架构,来降低公司的技术成本,更好的适应业务的发展。分布式服务架构的诸多优势,这里就不一一列举了,今天围绕的话题是服务框架,为了推行服务化,必然需要一套易用的服务框架,来支撑业务技术架构升级。2. 服务框架……

InnoDB如果没有主键或者随机主键真的很可怕吗?

没有主键真的可怕吗讨论这个问题之前,我们先大概说明一下InnoDB的一些行为。我们都知道每个InnoDB存储引擎表都有一个聚簇索引,在有主键的情况下,主键索引就是这个聚簇索引。MySQL官方文档(14.6.2.1 Clustered and Secondary Indexes)有说明:如果表没有主键,甚至都没有唯一键索引的话,InnoDB……

一千个不用 Null 的理由

港真,Null 貌似在哪里都是个头疼的问题,比如 Java 里让人头疼的 NullPointerException,为了避免猝不及防的空指针异常,千百年来程序猿们不得不在代码里小心翼翼的各种 if 判断,麻烦而又臃肿,为此 java8 引入了 Optional 来避免这一问题。下面咱们要聊的是 MySQL 里的 null,在大量的 M……

从程序员的角度深入理解MySQL

前言今天我将站在程序员的角度以MySQL为例探索数据库的奥秘!数据库基本原理我对DB的理解1、数据库的组成:存储 + 实例不必多说,数据当然需要存储;存储了还不够,显然需要提供程序对存储的操作进行封装,对外提供增删改查的API,即实例。一个存储,可以对应多个实例,这将提高这个存储的负载能力以及高可用;多个存储可以分布在不……

不得不告诉大家的 MySQL 优化“套路”

说起 MySQL 的查询优化,相信大家收藏了一堆奇技淫巧:不能使用 SELECT *、不使用 NULL 字段、合理创建索引、为字段选择合适的数据类型…..你是否真的理解这些优化技巧?是否理解它背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就显得尤为重要,希望本文能让你重新审视这……

Java后端开发面试问题总结(下4)

本文主要涉及下面10个【SSM】问题以及3个【操作系统】问题以及一些【其他】问题:SSM1、Spring有什么好处(特性),怎么管理对象的?2、什么是IOC?3、什么是DI?DI的好处是什么?4、什么是AOP,AOP的好处?5、AOP的实现原理:Spring AOP使用的动态代理。6、Spring……

惊!史上最全的select加锁分析(Mysql)

引言大家在面试中有没遇到面试官问你下面六句Sql的区别呢select * from table where id = ?select * from table where id < ?select * from table where id = ? lock in share modeselect * from table……

Java后端开发面试问题总结(下3)

本文主要涉及下面11个【JVM】问题以及22个【数据库】问题:JVM1、Java内存区域(注意不是Java内存模型JMM)的划分?2、新生代和老年代。对象如何进入老年代,新生代怎么变成老年代?3、新生代的GC和老年代的GC?4、对象在什么时候可以被回收,调用finalize方法后一定会被回收吗?……

优化 MySQL: 3 个简单的小调整

我并不期望成为一个专家级的 DBA,但是,在我优化 MySQL 时,我推崇 80/20 原则,明确说就是通过简单的调整一些配置,你可以压榨出高达 80% 的性能提升。尤其是在服务器资源越来越便宜的当下。警告没有两个数据库或者应用程序是完全相同的。这里假设我们要调整的数据库是为一个“典型”的 Web 网站服务的,优先考虑的是快速查询、良好的……

教你88秒插入1000万条数据到mysql数据库表

我用到的数据库为,mysql数据库5.7版本的首先自己准备好数据库表其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下:com.mysql.jdbc.PacketTooBigException: Packet for query is too large (42……

分库分表后,如何部署上线?

前言我们先来讲一个段子面试官:“有并发的经验没?”应聘者:“有一点。”面试官:“那你们为了处理并发,做了哪些优化?”应聘者:“前后端分离啊,限流啊,分库分表啊。。”面试官:”谈谈分库分表吧?”应聘者:“bala。bala。bala。。”面试官心理活动:这个仁兄讲的怎么这么像网上的博客抄的,容我再……

Java HashMap源码分析

本文从 Hash 方法开始,通过分析源码,深入介绍了 JDK 不同版本中 HashMap 的实现。HashMap 简介HashMap 主要用来存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一。JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存……

记一次 MySQL 删库的数据恢复

昨天因为不可描述的原因,数据库直接被 drop database删除。在第一时间停止数据库服务和Web服务,备份MySQL数据目录下的所有文件之后,开始走上数据恢复之路。第一次干这种事,各种不得法。因为我们既没有备份,也没有开启binlog,连innodb_file_per_tabe_也没有。一番折腾后向万能的朋友圈求救,朋友给了两个链接,……

深入理解Mysql——锁、事务与并发控制

本文对锁、事务、并发控制做一个总结,看了网上很多文章,描述非常不准确。如有与您观点不一致,欢迎有理有据的拍砖!mysql服务器逻辑架构每个连接都会在mysql服务端产生一个线程(内部通过线程池管理线程),比如一个select语句进入,mysql首先会在查询缓存中查找是否缓存了这个select的结果集,如果没有则继续执行 解析、优化、执行的……

部署MySQL主从复制与读写分离

一、实验坏境1.一台CentOS 7作为客户端测试,对应的地址为:192.168.80.1202.一台CentOS 7作为Amoeba前端代理服务器,对应的地址为:192.168.80.1103.一台CentOS 7作为mysql主服务器,对应的地址为:192.168.80.1004.两台CentOS 7分别作为mysql从服务器,对……

一文看懂 MySQL 高性能优化技巧实践

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情,希望文章的这些优化技巧对你有用。最近公司项目添加新功能,上线后发现有些功能的列表查询时间很久。原因是新功能用到旧功能的接口,而这些旧接口的 SQL 查询语句关联5,6张表且编写……

【MySQL索引】使用教程

关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型网站单日就可能会产生几十万甚至几百万的数据,没有索引查询会变的非常缓慢。还是以WordPress来说,其多个数据表都会对经常被查询的字段添加索引,……

为什么MySQL数据库索引选择使用B+树?

在进一步分析为什么MySQL数据库索引选择使用B+树之前,我相信很多小伙伴对数据结构中的树还是有些许模糊的,因此我们由浅入深一步步探讨树的演进过程,在一步步引出B树以及为什么MySQL数据库索引选择使用B+树!学过数据结构的一般对最基础的树都有所认识,因此我们就从与我们主题更为相近的二叉查找树开始。一、二叉查找树(1)二叉树简介:二叉查……

什么影响了MySQL性能

影响性能的一些常见因素服务器硬件服务器系统数据库存储引擎MyISAM:可以很好的利用内存,但不支持事务,表级锁InnoDB:事务级存储引擎,完美支持行级锁以及事务ACID特性数据库参数配置数据库表结构设计和SQL语句执行效率数据库的版本CPU资源和可用内存大小在服务器硬件中,最容易影……

10分钟让你明白MySQL是如何利用索引的

一、前言在MySQL中进行SQL优化的时候,经常会在一些情况下,对MySQL能否利用索引有一些迷惑。譬如:MySQL 在遇到范围查询条件的时候就停止匹配了,那么到底是哪些范围条件?MySQL 在LIKE进行模糊匹配的时候又是如何利用索引的呢?MySQL 到底在怎么样的情况下能够利用索引进行排序?今天,我将会用一个模型,……

高性能 MySQL 笔记

MySQL架构和历史MySQL逻辑架构第一层处理网络连接等, 比如链接认证授权等第二层是 MySQL 的核心, 用来解析优化 SQL 语句, 设计缓存, 以及各种函数的实现, 包括存储过程, 触发器, 视图等第三层包括存储引擎, 负责具体数据的存取, 服务器通过 API 和存储引擎通信, 存储引擎只执行来自上层的请求……

什么是 binlog?

引言为什么写这篇文章?大家当年在学MySQL的时候,为了能够迅速就业,一般是学习一下MySQL的基本语法,差不多就出山找工作了。水平稍微好一点的童鞋呢还会懂一点存储过程的编写,又或者是懂一点索引的创建和使用。但是呢,基本上大家都忽略了对底层知识的学习。为什么呢?因为工作中很少用到嘛。然后呢,市面上流传的大部分这种底层的知识,又比较偏运维,研……

MySQL 常见错误 ERROR 1044

从供应商那边接手一个MySQL数据库(数据库版本为5.7.21 MySQL Community Server (GPL)),在创建账号时遇到了“ERROR 1044 (42000): Access denied for user ‘root’@’localhost’ to database xxx”错误,如下所示mysql&g……

浅谈Java中15种锁的分析比较

在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类,介绍的内容如下:公平锁 / 非公平锁可重入锁 / 不可重入锁独享锁 / 共享锁互斥锁 / 读写锁乐观锁 / 悲观锁分段锁偏向锁 / 轻量级锁 / 重量级锁自旋锁上面是很多锁的名词,这些分类并不是全是指锁的状……

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00