自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(211)
  • 收藏
  • 关注

原创 为什么MySQL不推荐使用uuid或者雪花id作为主键?

前言在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一,单机递增),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?本篇博客我们就来分析这个问题,探讨一下内部的原因。本篇博客的目录mysql程序实例 使用uuid和自增id的索引结构对比 总结案例https://docs.qq.com/doc/DSVF2dWNjU3RRVEp5一、mysql和程序实例..

2022-03-17 16:56:33 535

原创 数据库读写分离同步延时问题怎么解决?

数据库读写分离是很多公司绕不过去的一个发展阶段,从单体数据库,到主备模式,再到读写分离,分库分表。每一个阶段都能为我们解决一些问题,但也带来了新的挑战。本篇文章我们就主要研究一下数据库读写分离及其带来的问题如何解决。1 数据库架构的发展历程首先简单介绍一下数据库架构的发展历程,基本就是单体、主备、读写分离、分库分表,下面我们分别进行介绍。1.1 单体架构业务发展初期,数据库的压力相对较小,这时候使用单独一个库就可以。引出的问题:如果数据库出现故障,我们的业务就不能使用,只能说

2022-03-17 16:47:45 719

原创 初学驾到编程字符编程与乱码看完及会

编程入门之字符编码与乱码  ——“为什么服务器收到的请求或者打开的文本文件有时会乱码?”  ——“因为编码不对。”  ——“编码的本质是什么?为什么编码不对就会乱码?一段文本是如何在网络中传输后最终显示给用户的?Java String默认使用什么编码?”  ——“……”  乱码问题相信很多同学都有幸遇到过的,也解决过,但根据个人面试的经验,对该问题知其然亦知其所以然的同学,是少之又少的。故在这里做一下分享,以备在其他的面试中被问到:-)。  因为计算机已经发明很久了,“不要重复发明轮

2022-03-17 16:21:18 636

翻译 老公下班不回家,竟在公司硬肝这份2022最新大厂Java岗面试宝典

老公下班不回家,竟然在公司硬肝这份2020最新大厂Java岗面试宝典2022-03-16 20:14·马小聪前言过去2年我持续分享了BAT TMD为代表的大厂最新面试题目,特别是蚂蚁金服、天猫、淘宝、头条、拼多多等Java面试题目。过去2年,我已经成功的帮助了部分同学进入了大厂。2020开始,我依然会为大家带来最新的大厂现场面试专场题目,希望能帮助到更多的同学。回到正题,过完年后金三银四将正式到来,这是一个比较重要的涨薪季。我知道很多同学早已经提前未雨绸缪了,已经提前在开始准备了..

2022-03-17 16:05:25 243

原创 Java8很香但还是想升级到Java11,教你怎么从Java8升级到Java11

Java11的新特性1、更新支持到Unicode 10编码Unicode 10(version 10.0 of the Unicode Standard),Unicode是一个不断在演进的行业标准,Java一直在与它保持一致兼容。Java8已经更新了Unicode8.0-9.0,Java10更新后将达到16018个characters、18种blocks和10种scripts。2、将Http Client作为JDK标准发布、原来作为jdk补充的http类放在jdk.incubator.h

2022-03-02 21:44:46 1252

原创 Redis为什么那么快?

说起当前主流NoSql数据库非 Redis 莫属。因为它读写速度极快,一般用于缓存热点数据加快查询速度,大家在工作里面也肯定和 Redis 打过交道,但是对于Redis 为什么快,除了对八股文的背诵,好像都还没特别深入的了解。今天我们一起深入的了解下redis吧:高效的数据结构Redis 的底层数据结构一共有6种,分别是,简单动态字符串,双向链表,压缩列表,哈希表,跳表和整数数组,它们和数据类型的对应关系如下图所示:本文暂时按下不表,后续会针对以上所有数据结构进行源码级深入分析.

2022-03-02 19:23:30 147

原创 JavaScript 代码简洁之道

Async/Await 比起 Promises 更简洁

2022-02-28 22:13:35 182

原创 盘点7 个 GitHub 项目,果然永远滴神

1. 一个小众但不错的智能家居物联网项目2. 一个基于 vue 开发的可视化商城搭建平台3. 一个工具能为静态数据快速的生成可读的开放 API4. 该项目收集了很多优质的博客或者资讯5. 帮助你学习 Python 的开源项目,有很多小案例6. 如何直接在你当前浏览的网页上做笔记7. 一款开源的且酷炫好用的终端工具 :Tabby。01智能家居物联网项目今天,老逛推荐一个物联网项目:物美智能,如果你具备硬件、软件知识,这个项目肯定符合你的胃口。物美智能是一套软硬件结合的开

2022-02-28 21:37:31 1861

原创 与10年老java聊过后的启发

老话说的好,这人呐,一单在某个领域鲜有敌手了,就会闲得蛋疼。前几天我在上班摸鱼的时候认识了一位阿里 JAVA 开发大佬,在阿里工作了 10 年,因为本人天赋比较高,平时工作也兢兢业业,现在企业内有一定的地位。他说到了这个程度,也需要开始实现自我价值了,于是在知乎上开了一个账号,专门解答网友关于 Java 领域的问题。在我强烈要求下加了这位大佬好友,聊过之后很多平时工作上遇到的问题真是豁然开朗,不愧是经验丰富的老前辈。后来在我的软磨硬泡之下,找他搞到了了这份 “JAVA 高级核心知识深度解析”.

2022-02-28 20:33:50 161

原创 近两年大家因为 YYYY-MM-dd 被锤过了嘛?

每一年都有新人,即使是老人,也可能因为跳槽接手已经存在问题的系统,当然也可能没关注柒柒,没看过之前的推送 图片 ?不管什么原因,也许现在还有其他小伙伴正在修Bug的路上,所以,赶紧起床推一篇,聊聊这个问题吧。如果你正好碰到的,可以看看了解下原因,做好相应的处理;如果还没碰到的,最好也自查一下。如果你已经很了解这个,那么把这篇文章分享到朋友圈,也提醒下身边其他的同行朋友们吧,也许会炸出几个正在修Bug路上的兄弟事故现场我们先来写个单元测试,重现一下这个问题。测试逻辑:1、创建两个日期格式化

2022-02-28 16:57:06 137

原创 基于Javaweb实现的人脸识别考勤系统

人脸识别考勤系统使用说明书此系统是人脸识别考勤系统的后台管理系统,考勤数据从人脸识别机器上获取,自动识别员工信息记录考勤。系统基于JSP/SERVLET 来开发实现,开发工具采用IDEA 或ECLIPSE ,数据库采用MYSQL 数据库。Util 包中jdbcinfo.properties 文件进行数据库连接的相关配置修改。访问路径为:faceattendsystem 为发布的虚拟目录1. 进入主页,点击未登录。如下图:​2. 输入工号和密码,点击【登录】按钮。管理员默认工号是adm

2022-01-25 15:46:50 913 1

原创 SpringBoot3 版本有起飞前兆,最小依赖Java17

一直以来,Java8都是Java社区心头的痛。因为它代表着以稳定性为主的企业管理层,与拥抱变化为主的底层码农层之间的、爱的魔力拉锯战。不生!少生!成为各大厂心照不宣的选择。现在,这种平衡或将打破。因为Java届的霸主框架SpringBoot,选择了最小支持的Java lts版本,就是最新的Java17。坚信Java8成为永恒的同学,该用尿滋醒一下了。附怎么办?到底用不用新的版本,这其实并没有什么意义。有需求才有变化,为了追求升级而升级,那是脑残才干的事。当广大从业者,越来越了解到自己

2022-01-25 13:21:58 288

原创 新玩法,用Lambda重构设计模式

今天咱们讨论Lambda如何重构设计模式!关于设计模式众所周知,设计模式是一群大佬程序员将对程序设计的经验归纳总结起来的方案。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。本文不会对设计模式过度讲解,默认大家对设计模式有一定的了解(后面我会针对所有的设计模式单独进行讲解)Lambda重构设计模式接下来列举常用的几个设计模式,通过传统和lambda形式对比写法,让大家感受不一样的、Lambda版本的设计模式!简单工厂模式简单工厂模

2022-01-24 14:56:04 2574

原创 为什么ConcurrentHashMap是线程安全的?

ConcurrentHashMap 是 HashMap 的多线程版本,HashMap 在并发操作时会有各种问题,比如死循环问题、数据覆盖等问题。而这些问题,只要使用 ConcurrentHashMap 就可以完美解决了,那问题来了,ConcurrentHashMap 是如何保证线程安全的?它的底层又是如何实现的?接下来我们一起来看。JDK 1.7 底层实现ConcurrentHashMap 在不同的 JDK 版本中实现是不同的,在 JDK 1.7 中它使用的是数组加链表的形式实现的,而数组又分为:大

2022-01-24 13:33:50 4973

原创 看一遍就理解:group by 详解

前言大家好,我是捡田螺的小男孩。日常开发中,我们经常会使用到group by。亲爱的小伙伴,你是否知道group by的工作原理呢?group by和having有什么区别呢?group by的优化思路是怎样的呢?使用group by有哪些需要注意的问题呢?本文将跟大家一起来学习,攻克group by~使用group by的简单例子 group by 工作原理 group by + where 和 group by + having的区别 group by 优化思路 group by 使

2022-01-24 13:30:31 350

原创 聊一聊Redis的锁

为什么要用锁我待过的一家k12教育公司,我们当时有个业务场景是这样的。业务这边要给学生排课,偶尔会反馈学生的课时明明充足的但是却提示课时不足,等再刷新一遍页面却发现学生的课时已经不够了。更可怕的是,偶尔会有学生的课时被扣成负数(公司被白嫖课时)。再比如下面这个例子上面的这俩个问题都是并发给我们的业务带来的问题。解决这个问题的核心就是,同一时间只能允许有一个请求来对这些敏感(重要)的数据进行读写操作。所以这个时候就要使用到分布式锁来限制程序的并发执行。setnx有哪些问题我们先来看看用Re

2022-01-23 15:11:38 1302

原创 深入理解Redis哨兵模式原理

上文介绍了redis复制原理的原理,它解决了Redis数据备份的问题,master节点发生故障后不能自动选举出新的主节点,需要人工将slave节点设置成主节点,效率低下,不能实现自动故障转移,Redis官方提供了一个高可用解决方案Sentinel。一、Redis sentinel是什么?Redis Sentinel是Redis的官方高可用性解决方案。Redis Sentinel为Redis提供高可用性。实际上,这意味着使用Sentinel可以创建一个Redis集群,在没有人为干预的情况下抵抗某些类型

2022-01-23 15:03:40 185

原创 springboot整合Nginx实现负载均衡反向代理

一、百度百科Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。Nginx是一款轻量级的web服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行。其特点是占有内存少,并发能力强,事实

2022-01-23 14:05:35 789 1

原创 JVM加载机制详解

一. 类加载子系统类加载子系统负责从文件系统或是网络中加载.class文件,class文件在文件开头有特定的文件标识。 把加载后的class类信息存放于方法区,除了类信息之外,方法区还会存放运行时常量池信息,可能还包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射); ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定; 如果调用构造器实例化对象,则该对象存放在堆区;1.1 类加载器ClassLoader角

2022-01-22 15:05:17 685

原创 SPRING INTEGRATION - 集群选主、分布式锁

集群通常是有多个相同的实例,但对于定时任务场景,只希望有一个实例工作即可,如果这个实例挂了,其他实例可以顶替。这个问题的方案则是集群选主,一个集群中,只有一个LEADER,由LEADER负责执行定时任务工作。当LEADER被取消时,会在剩下的实例中再选LEADER。持有分布式锁的实例则是LEADER。SPRING INTEGRATION JDBC则已提供相关功能。pom.xml<dependency><groupId>org.springframe...

2022-01-22 14:06:24 548

原创 Java 多线程 : JUC 并发工具原理

一 . 前言趁着有空 , 赶紧把之前欠的债还上 . 这是多线程一阶段计划的最后一篇 , 后续多线程会转入修订和深入阶段 . 彻底吃透多线程.二. 工具介绍之前说 AQS 的时候曾经提到过这几个类 , 这几个类有一些各自的特点 , 很符合特定的场景 , 之前在生产上用的还挺舒服.我们一般使用的并发工具有四种 :CyclicBarrier : 放学一起走允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point) 让一组线程到达一个屏障时被阻塞,直到最

2022-01-22 13:51:44 106

原创 crzZEDDHSi

crzZEDDHSi 测试

2022-01-21 14:31:28 45

原创 JavaWeb——什么是Session及Session的用法

1.什么是Session 当用户请求来自应用程序的 Web页时,服务器会给每一个用户(浏览器)创建一个Session对象; 在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器==独占==的session中; 当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去,默认情况下,只要浏览器没有关闭,这个Session就一直存在。 Session可以理解为一个抽象概念,即会话,会话用于记录一个用户在我们网站上的一些

2022-01-21 13:16:42 1561

原创 深入理解Redis集群主从复制原理

一、首先思考一个问题,为什么redis性能这么高还需要分布式方案?1、实现更高性能:高并发应用,单机性能会有影响,需要更多redis服务器分担压力,实现负载均衡2、实现高可用:如果单机,防止宕机/硬件故障3、实现可扩展:单机内存和硬件有限制,实现横向扩展冗余或者分片存储实现如上特性。二、主从复制-replication配置和Kafka,Mysql,Rocketmq一样,redis支持集群部署,集群节点有master和slave之分,主节点是master,从节点是slave(最新叫副本

2022-01-21 13:11:47 380

原创 年薪30wJava岗需要掌握什么?看完我悟了

前言一份月薪30K的java开发岗位工作要求是怎样的呢?面试都会问到哪些呢?任职要求:1、计算机或相关专业本科(或以上)学历,具备3年以上Java服务端开发经验,熟悉常用的Java开源框架,如熟悉Spring、SpringMVC、SpringBoot、Hibernate、MyBatis等,了解其原理和实现机制;2、擅长Java Web服务开发,熟悉掌握各种Web应用开发模式,具有丰富的高并发、大数据系统的设计、研发、调试经验者优先;3、精通Java及面向对象设计开发,熟悉常见设计模式.

2022-01-20 19:28:03 341

原创 数据结构上篇 - 线性数据结构

本篇文章属于数据结构连载篇的其中之一,共分为上中下三篇。上篇主要介绍线性数据结构数组、链表、栈、队列;中篇介绍树和图;下篇介绍复合数据结构哈希表、跳表等。希望大家持续关注,谢谢。1 简单介绍我们所说的数据结构主要是指数据在内存中的存储结构,即程序运行时,我们通过将数据存入不同的容器,通过操作容器内的数据,以完成我们的业务逻辑。数据结构在物理结构上一般分为顺序结构和链式结构。所有的数据结构,本质是不是顺序结构就是链式结构,要么就是复合结构。 顺序结构(在内存中是连续的地址空间) .

2022-01-20 15:58:32 612

原创 羡慕,非科班硕士应届生面试阿里斩获25k

前言Java学习如逆水行舟,不进则退。小编一路自学过来,踩过很多坑,吃过很多苦。现在回想起来,当初要是能有一个完整的「学习路线」让我按图索骥就好了。思来想去,决定总结一份学习路线来帮助正在路上或者准备出发的Java新手。该路线图右侧为「主路线」,需循序渐进,步步为营;左侧为「辅助路线」,需贯穿始终,熟练掌握。建议做好时间规划,不断地提高自己的学习效率,学习过程中尽量把手机调至静音给自己一个安静的学习环境和氛围。同时,巧妇难为无米之炊,一条学习新知识的一般方法为先看视频学基础,

2022-01-20 14:01:08 147

原创 MySQL 如何保证强一致性(InnoDB引擎解析)

1. MySQL 基础架构前面写过几篇 MySQL 的文章,大多是对一些基础概念的讲解,当我想去了解存储引擎的时候发现不知从何下手,或者说不知道如何开头,回头想想好像对 MySQL 的基础架构还不是特别熟悉,所以本文尽管是介绍 InnoDB 存储引擎,但也会大致讲解一下 MySQL 的基础架构。先看这样一张图(网上找的):可以看出 MySQL 最上层是连接组件。下面服务器是由连接池、管理工具和服务、SQL 接口、解析器、优化器、缓存、存储引擎、文件系统组成。看的懂吗?看不懂。没事,咱翻译

2022-01-20 13:42:49 2429

原创 面试官:你这Java基础可以阿

注明:这是一个励志老哥给我分享的个人经历,发本文的目的是为了让大家可以参考他的学习经历,提高自己的能力!当然人外有人天外有天,大神也别打我!再次说明,我只是为了能够帮助迷茫的兄弟们!接下来以他的第一视角为大家讲述他的经历。可能故事有点长,大家是想听故事还是直接听我讲我学了什么,怎么学习的。好吧,进入实验室的过程我就不细说了,最后选了两个人,一个就是我!!进去的第一个项目是做一个javase的桌面项目,我和同伴负责的是写界面。当时就觉得有机会写真正项目就已经很开心了,根本不考虑写什么,就算

2022-01-20 13:37:54 402

原创 日常开发中常遇到的一些问题和思考

一、常见的集合删除元素问题:使用for循环匹配某个元素,然后删除,猜猜下面代码输出的会是什么?List<String> list = new ArrayList<>(); list.add("淘宝"); list.add("淘宝"); list.add("掘金"); for(String item : list) { if("淘宝".equals(item)) { list.remove(item);

2022-01-20 13:27:25 320

原创 【再学一次系列】Lambda方法引用,你一定能搞懂

哈喽大家好,我是卡诺,一名致力于成为全栈的全粘工程师!通过前面两章「Lambda必知必会」、「Lambda内置函数式接口」的讲解相信大家对Lambada已经有了比较深刻的认识,通过Lambda确实可以简化我们的代码,但在使用的过程中我们可能会遇到这样一个问题,对于存在的方法Lambda应该怎么使用呢?对于这个问题本章我们继续探讨Java8的另一个功能方法引用。方法引用方法引用,指重复使用已有的方法定义,在这里表现为通过已有的方法创建Lambda表达式,让代码拥有更好的可读性。如果对这里有疑问,莫

2022-01-20 13:24:27 411

原创 面试了一位4年Java的程序员,张口就要35K,还什么都不会...

最近看了很多简历,很多候选人年限不小,但是做的都是一些非常传统的项目,想着也不能通过简历就直接否定一个人,何况现在大环境越来 越难,大家找工作也不容易,于是就打算见一见。在沟通中发现,由于年限不小,他们的定位基本都是高级及以上,毕竟,年限摆在那里,面个中级也不体面。面试时我打算聊点基础的,先打开一下话题,结果发现对于一些开发中很基本的问题,比如:Git的分支你们是怎么管理的? 接口保证幂等性是基本的要求,那么幂等性你们是怎么做的? 你们有用@Transactional来控制事务是吧,那么能不

2022-01-19 16:59:14 157 1

原创 MySQL 到 ADB PostgreSQL 实时数据同步实操分享

摘要:很多 DBA 同学经常会遇到要从一个数据库实时同步到另一个数据库的问题,同构数据还相对容易,遇上异构数据、表多、数据量大等情况就难以同步。我自己亲测了一种方式,可以非常方便地完成 MySQL 数据实时同步到ADB PostgreSQL,跟大家分享一下,希望对你有帮助。本次 MySQL 数据实时同步到 ADB PostgreSQL大概只花了几分钟就完成。使用的工具是 Tapdata Cloud,这个工具是永久免费的。@[TOC](MySQL 到 ADB PostgreSQL 实时数据同步实操分享

2022-01-19 16:55:58 196

原创 Linux 常用的zip压缩和解压命令详解

前言  嗨,大家好,又与大家见面了,感谢大家在2021年的陪伴,让我们在2022年继续一路前行。相信很多小伙伴在使用Linux系统中经常对文件进行或者文件夹进行操作,不像在Windows中可以使用可视化的工具对文件和文件夹进行压缩和解压操作,那么本次与大家一起学习Linux下zip和unzip的压缩和解压命令,并熟悉常用的参数介绍。常用命令  相信很多对于有一定Linux基础的小伙伴,常用的压缩有:zip、unzip、tar、gzip、bzip2等常用的命令,下面开始zip和unzip使用方法和

2022-01-19 16:53:52 4131

原创 关于 Java 的可变参数你真的了解吗

可变参数方法的定义首先看下可变参数方法在代码上是如何定义的,如下所示:public static void method1(Integer id, String... names) { System.out.println("id:" + id + " names:" + names.length);}通过上面的示例,我们可以看出在定义方法时,在最后一个形参类型后加上三点…,就表示该形参可以接受多个相同类型的参数值,多个参数值被当成数组传入。这里我们需要注意几个点:可变参..

2022-01-19 14:37:37 595

原创 “他”靠这份GitHub star过万的1121页图解算法成功杀进字节跳动

前两天收到读者喜报,说是进字节了和他交流了一下他的学习心得,发现他看的资料也是我之前推荐过的算法进阶指南,这里推荐给大家,github star 可是过万哦!质量非常高!这份算法笔记与其他的不同,均是用图解,gif 的方式来针对常见的题型进行详细的说明,非常的浅显易懂!有了这份笔记的总结,对校招和社招的算法刷题帮助之大不言而喻,果断收藏了简单介绍一下这份笔记比如判断环的入口位置,画了一张图,配以简单的文字描述让大家看完瞬间豁然开朗!比如很多读者表示不了解递归的概念,结果文

2022-01-19 14:11:58 58

原创 其实 MySQL 中的 like 关键字也能用索引

索引上不要使用函数运算。 使用覆盖索引避免回表。 当然,凡事有个度,用哪一种策略也要结合具体的项目来定,不能为了 SQL 优化而抛弃了业务。今天,松哥在前文的基础上,再来和大家分享一条索引规则,一起来学习下。我们常说,MySQL 中的 like 要慎用,因为会全表扫描,这是一件可怕的事!不过呢,也看情况,有的 like 其实也能用索引: 有的时候 like 用索引效率很高,有的时候 like 虽然用了索引效率却低的可怕。我们一起来分析下。1. 最左匹配原则我还是举个例...

2022-01-19 13:34:00 559

原创 跨行应届生凭借这份“Java技术成神手册”竟成功拿下年薪56Woffer

引言:如何成为一个合格的架构师?相信这个问题很多小伙伴都思考过,每个人心中都有一个不同的答案首先,架构师从来都不是只看书就可以看出来的,也需要日积月累的实践+经验。其次,架构的前期需求分析与建模非常重要,多思考未来可能的扩展。最后,最好有一定的代码规范甚至是洁癖。要用严格的标准来要求自己,是否当上架构师其实没差,无非就是希望自己成为团队核心得到更多的认可而已。当然最好的方式就是在工作中不断地积累和提升自己的经验和丰富自己的思维!今天给大家分享出一份“Java架构师技术成神手.

2022-01-18 19:01:21 430

原创 我以订披萨为例,给对象详细讲了Java设计模式的3种工厂模式

摘要:工厂模式是将实例化对象的代码提取出来,放到一个类中统一管理和维护,达到和主项目的依赖关系的解耦。从而提高项目的扩展和维护性。本文分享自华为云社区​​《【Java设计模式】用披萨订购案例详细讲解三种工厂模式》​​,作者:我是一棵卷心菜。一、使用传统方法类图步骤概括步骤一:创建一个Pizza抽象类public abstract class Pizza { public String name; public abstract void prepare(...

2022-01-18 14:57:01 269

原创 超硬核总结,一举拿下Redis数据库

一、百度百科redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新

2022-01-18 13:46:33 95

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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