随笔分类 -  java基础

摘要:1.Redis支持的数据类型? 答:五种,在第一节redis相关的博客我就说过,String,Hash,List,Set,zSet,也就是我们的字符串,哈希,列表,集合,有序集合五种。结构图如下。 2.什么是Redis持久化?Redis有哪几种持久化方式?优缺点是什么? 答:Redis持久化主要分为 阅读全文
posted @ 2019-10-29 09:19 小菜技术 阅读(698) 评论(1) 推荐(1)
摘要:上几次说了redis的主从,哨兵,集群配置,但是内部的选举一直没说,先来简单说一下选举吧。 集群选举 redis cluster节点间采取gossip协议进行通信,也就是说,在每一个节点间,无论主节点还是从节点,他们之间都是存在相互通信的。例如你的redis端口号是6379,那么你的gossip协议 阅读全文
posted @ 2019-10-28 14:30 小菜技术 阅读(966) 评论(0) 推荐(3)
摘要:这次我们来简单说说分布式锁,我记得过去我也过一篇JMM的内存一致性算法,就是说拿到锁的可以继续操作,没拿到的自旋等待。 思路与场景 我们在Zookeeper中提到过分布式锁,这里我们先用redis实现一个简单的分布式锁,这里是我们一个简单的售卖减库存的小实例,剩余库存假设存在数据库内。 这样简单的实 阅读全文
posted @ 2019-10-28 08:21 小菜技术 阅读(787) 评论(1) 推荐(4)
摘要:上次我们搭建了Redis的主从架构,哨兵架构以及我们的集群架构,但是我们一直还未投入到实战中去,这次我们用jedis和springboot两种方式来操作一下我们的redis 主从架构 如何配置我上次已经讲过了,https://www.cnblogs.com/cxiaocai/p/11711377.h 阅读全文
posted @ 2019-10-25 08:10 小菜技术 阅读(4191) 评论(0) 推荐(2)
摘要:我们使用的redis,单机的绝对做不到高可用的,万一单机的redis宕机了,就没有备用的了,我们可以采用集群的方式来保证我们的高可用操作。 主从架构 大致就是这样的,一个主节点,两个从节点(一般两个就可以了) 主从工作原理 如果你为master配置了一个slave,不管这个slave是否是第一次连接 阅读全文
posted @ 2019-10-22 08:18 小菜技术 阅读(2949) 评论(1) 推荐(1)
摘要:上次我们简单的说了一下我们的redis的安装和使用,这次我们来说说redis为什么那么快和持久化数据 在我们现有的redis中(5.0.*之前的版本),Redis都是单线程的,那么单线程的Redis为什么还会有那么高的效率呢?因为它所有的数据都在内存中,所有的运算都是内存级别的运算,而且单线程避免了 阅读全文
posted @ 2019-10-21 07:59 小菜技术 阅读(1135) 评论(0) 推荐(0)
摘要:这次我们来说说我们的redis,在我们的redis的认知里,最熟悉的就是用redis作为缓存使用,还有我们的分布式session,其实还有很多redis的使用,还有redis的哨兵模式等等。 Redis(全称:Remote Dictionary Server 远程字典服务)是一个开源的使用ANSI  阅读全文
posted @ 2019-10-16 09:41 小菜技术 阅读(1040) 评论(0) 推荐(2)
摘要:这次我们来说一下我们的SpringBoot,现在SpringBoot已经成为趋势,在我这里我用三篇文章的形式来讲清楚我们的SpringBoot,大致分为,第一篇讲搭建,基本使用,第二篇三方集成,自动装配原理,第三篇,将main方法启动原理,总结史上最全的SpringBoot注解及其含义。后面有机会再 阅读全文
posted @ 2019-10-12 16:47 小菜技术 阅读(891) 评论(1) 推荐(2)
摘要:上几次博客,我说了一下Zookeeper的简单使用和API的使用,我们接下来看一下他的真实场景。 一、分布式集群管理✨✨✨ 我们现在有这样一个需求,请先抛开Zookeeper是集群还是单机的概念,下面提到的都是以Zookeeper集群来说的。 1. 主动查看线上服务节点 2. 查看服务节点资源使用情 阅读全文
posted @ 2019-10-11 16:03 小菜技术 阅读(1290) 评论(0) 推荐(3)
摘要:说一下mysql比较宏观的面试,具体咋写sql的这里就不过多举例了。后面我还会给出一个关于mysql面试优化的试题,这里主要说的索引和B+Tree结构,很少提到我们的集群配置优化方案。 1.索引是什么?有什么作用以及缺点 答:索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据 阅读全文
posted @ 2019-10-09 15:01 小菜技术 阅读(1809) 评论(3) 推荐(2)
摘要:我们上次大致说完了执行流程,也只是说了大致的过程,还有中间会出错的情况我们来处理一下。 统一异常处理 比如我们的运行时异常的500错误。我们来自定义一个类 将我们的类注入到我们的spring-mvc.xml内 我们让我们的代码运行时异常就可以跳转到我们的error页面上去了。 拦截器 还有我们常用的 阅读全文
posted @ 2019-10-08 14:01 小菜技术 阅读(282) 评论(0) 推荐(0)
摘要:做过web项目的小伙伴,对于SpringMVC,Struts2都是在熟悉不过了,再就是我们比较古老的servlet,我们先来复习一下我们的servlet生命周期。 servlet生命周期 1)初始化阶段 当客户端向 Servlet 容器发出 HTTP 请求要求访问 Servlet 时,Servlet 阅读全文
posted @ 2019-10-08 07:45 小菜技术 阅读(945) 评论(0) 推荐(2)
摘要:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。(百度百科)。ZooKeeper代码版本中,提供了 阅读全文
posted @ 2019-09-28 23:26 小菜技术 阅读(1166) 评论(1) 推荐(1)
摘要:今天我更新了一篇jvm垃圾回收的算法和垃圾回收器的内部逻辑,但是看的人不多啊......貌似大家还是比较喜欢看源码吧,毕竟实战要比理论用的多。 这篇文章不会详细的深入底层源码,只是基于注解和配置来说说我们的spring的使用,别小看基础,保证有你没用过的注解和配置,走起。我们先来建立一个maven项 阅读全文
posted @ 2019-09-22 19:51 小菜技术 阅读(2536) 评论(2) 推荐(1)
摘要:今天我们来说一下我们的mysql,个人认为现在的mysql能做到很好的优化处理,不比收费的oracle差,而且mysql确实好用。 当我们查询慢的时候,我会做一系列的优化处理,例如分库分表,加索引。那么我们底层的索引到底长什么样子呢?为什么可以快速的查询出来数据呢,我们下面来解读一下mysql的索引 阅读全文
posted @ 2019-08-18 00:02 小菜技术 阅读(843) 评论(0) 推荐(0)
摘要:说到JMM大家一定很陌生,被我们所熟知的一定是jvm虚拟机,而我们今天讲的JMM和JVM虚拟机没有半毛钱关系,千万不要把JMM的任何事情联想到JVM,把JMM当做一个完全新的事物去理解和认识。 我们先看一下计算机的理论模型,也是冯诺依曼计算机模型,先来张图。 其实我们更关注与计算机的内部CPU的计算 阅读全文
posted @ 2019-08-08 13:39 小菜技术 阅读(566) 评论(1) 推荐(0)
摘要:1、Q:java三个特性都有什么,分别来谈一谈。 A:继承:继承后子类自动拥有了父类的属性和方法,但特别注意的是,父类的私有属性和构造方法并不能被继承。好处可以代码复用,减少代码量 封装:封装也称为信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被 阅读全文
posted @ 2019-06-29 16:55 小菜技术 阅读(172) 评论(0) 推荐(0)
摘要:1、Q:ArrayList 和 LinkedList 有什么区别? A:ArrayList查询快!LinkedList增删快。ArrayList是基于索引的数据接口,它的底层是数组。空间占用相对小一些 LinkedList是链表结构,LinkedList比ArrayList更占内存,因为Linked 阅读全文
posted @ 2019-06-25 22:45 小菜技术 阅读(212) 评论(0) 推荐(0)
摘要:上一篇,我们说了一下线程和Map,或许那些太抽象,不太好理解,也不太方便记忆,我们这次说一些简单的。 1、Q:java的基本数据类型有哪些? A:四种整数类型(byte、short、int、long) byte:8 位,用于表示最小数据单位,如文件中数据,-128~127 short:16 位,很少 阅读全文
posted @ 2019-06-25 17:02 小菜技术 阅读(111) 评论(0) 推荐(0)