自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Apple_Boy的博客

吃苹果的程序员

  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

转载 分布式锁机制原理以及三种实现方式介绍

很多小伙伴在学习Java的时候,总是感觉Java多线程在实际的业务中很少使用,以至于不会花太多的时间去学习,技术债不断累积!等到了一定程度的时候对于与Java多线程相关的东西就很难理解,今天需要探讨的东西也是一样的和Java多线程相关的!做好准备,马上开车!学过Java多线程的应该都知道什么是锁,没学过的也不用担心,Java中的锁可以简单的理解为多线程情况下访问临界资源的一种线程同步机制。在学...

2020-02-17 14:50:34 770

原创 一文清晰讲解Redis缓存和数据库双写一致性问题

文章目录1、更新完数据库再更新缓存(不使用)这么做引发的问题有两个2、先删除缓存再更新数据库那么,如何解决呢?采用延时双删+设置超时时间3、更新完数据库再删除缓存(推荐)这种情况不存在并发问题么?如何解决?方案一:方案二:总结:双删延时+设置超时时间异步淘汰缓存更多Redis相关问题查看博文:Redis面试常见问题大综合首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取...

2020-02-17 12:46:26 11249 1

原创 Redis宕机怎么办?哨兵机制?

宕机: 宕机是计算机术语,口语里面我们简单的把停掉机器叫做down机,转换为汉字是“宕机”,但很多人都叫做“当机”/“死机”。简单来说就是服务器停止服务。redis一般在企业中做分布式缓存,可以大大的减小高并发的开销。企业中如果只有一台redis,肯定会造成数据丢失,无法挽救redis集群: 两台为一组,一台主机一台备机 ,平时主机工作,备机不工作 ,备机每隔几秒就会给主机发送一个ping ,...

2020-02-15 12:40:57 4466

原创 你不知道的RocketMQ 消息重试机制

文章目录一、Producer端重试二、 Consumer端重试1、Exception2、Timeout其他理解死信的业务处理方式消息重试分为两种:Producer发送消息的重试 和 Consumer消息消费的重试。一、Producer端重试Producer端重试是指: Producer往MQ上发消息没有发送成功,比如网络原因导致生产者发送消息到MQ失败。部分源码解析: /** ...

2020-02-14 13:41:57 11320 3

原创 RabbitMQ解决消费者补偿幂等问题(重复消费问题)

文章目录如何合适选择重试机制消费者如果保证消息幂等性,不被重复消费如果消费者 运行时候 报错了package com.toov5.msg.SMS;import org.springframework.amqp.rabbit.annotation.RabbitHandler;import org.springframework.amqp.rabbit.annotation.RabbitLi...

2020-02-14 13:04:59 1244

原创 你了解过浏览器常用快捷键吗?

文章目录快捷键标签和窗口快捷键:地址栏相关快捷键:网页快捷键:快捷键平常其实我们可以使用快捷键来快捷使用浏览器的功能,以下是我日常浏览使用的360浏览器的快捷键,主要是备份方便,也用习惯了,当然涉及到开发还是用google!标签和窗口快捷键:打开新窗口:Ctrl+N打开新标签:Ctrl+T打开文件:Ctrl+O在后台新标签中打开链接:Ctrl+点击链接、鼠标中键(或鼠标滚轮)点击链接...

2020-02-12 13:59:02 634

转载 99%的人不知道的github的丧心病狂的技巧

文章目录寻找Demo寻找资源+源码寻找数据+爬虫awesome+xxx结束语寻找Demo比如说我最近做的是一个实验的项目的一个小模块,需要被去吧某一国家的语言翻译成中文,如果我自己去写一个调用api的翻译程序估计得个一两天时间,为了能抽出时间更更公众号文章/看看书充充电等,我直接去github搜一下 谷歌翻译按照以下三点来进行选择:我会的语言java/pythonstar星星数(一般...

2020-02-11 10:39:47 463

转载 github超详细入门级图文教程,让你在github大显身手

文章目录前言准备工作了解github提交leetcode确认提交同步更新github计算机的肯定都听过github,那么我们看到了一个项目,如何对这个项目做出自己的贡献呢,看完这篇文章,帮你快速上手,纯图文,丢掉那烦人的命令行操作前言本文采用详细图文,简单易懂,帮你快速上手使用github,摆脱那些对新手不友好的命令行操作,纯web操作!准备工作注册github账号,百度找教...

2020-02-11 10:36:43 1046 2

转载 你真的会高效的在GitHub搜索开源项目吗?

文章目录1. 明确搜索仓库标题、仓库描述、README2. 明确搜索 star、fork 数大于多少的3. 明确搜索仓库大小的4. 明确仓库是否还在更新维护5. 明确搜索仓库的 LICENSE6. 明确搜索仓库的语言7.明确搜索某个人或组织的仓库GitHub的流行, GitHub在开源世界的受欢迎程度自不必多言。再加上今天,GitHub官方又搞了个大新闻:私有仓库也改为免费使用,这在原来可是需...

2020-02-11 10:19:34 507

原创 Redis面试常见问题大综合

文章目录一、项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?面试官心理分析面试题剖析项目中缓存是如何使用的?为什么要用缓存?高性能高并发用了缓存之后会有什么不良后果?二、redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发?面试官心理分析面试题剖析redis 和 memcached 有啥区别?redis 支持复杂...

2020-02-10 11:44:25 1865

原创 消息队列面试常见问题大综合

文章目录一、为什么使用消息队列?消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么优点和缺点?面试官心理分析面试题剖析为什么使用消息队列解耦异步削峰消息队列有什么优缺点Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点?二、如何保证消息队列的高可用?面试官心理分析面试题剖析RabbitMQ 的高可用性单机模式普通集群模式...

2020-02-09 17:17:02 3521

原创 如何正确复制CSDN文章到自己的博客

CSDN博客中有很多优秀的文章,为了便于之后浏览,习惯复制到自己的博客收藏。怎样直接复制粘贴全文?解决方法参考:https://jingyan.baidu.com/article/0964eca24e159c8285f53618.html1、csdn 文章页面,打开浏览器开发者工具2、找到文章正文对应的 html 元素 (含 "article_content"标签头)3、在该元素源代码上...

2020-02-09 14:43:06 7150 6

转载 深入理解java虚拟机(全章节完整)

文章目录走近JavaJDK、JRE与JVM之间的关系:内存溢出的问题及解决jvm可视化监控工具Java的发展java技术体系Java虚拟机Sun Classic VMExact VMHotSpot VMKVMJRockitJ9DavikMicrosoft JVMAzul VM Liquid VMTaobao VMJava虚拟机的内存管理程序计数器虚拟机栈本地方法栈Java堆方法区运行时常量池对象的...

2020-02-09 14:19:04 20754 4

转载 《MySQL技术内幕 InnoDB存储引擎 第2版》学习笔记

文章目录第1章 MySQL体系结构和存储引擎1.1 定义数据库和实例1.2 MySQL体系结构1.3 MySQL存储引擎1.3.1 InnoDB存储引擎1.3.2 MyISAM存储引擎1.3.3 其他储存引擎1.4 各存储引擎之间的比较1.5 连接MySQL第2章 InnoDB存储引擎2.1 InnoDB存储引擎概述2.2 InnoDB存储引擎的版本2.3 InnoDB体...

2020-02-09 13:51:27 633

转载 MySQL技术内幕思维导图

文章目录1. Innodb存储引擎2. Innodb文件3. Innodb表4. Innodb事务5. innodb索引与算法6. Innodb锁1. Innodb存储引擎2. Innodb文件3. Innodb表4. Innodb事务5. innodb索引与算法6. Innodb锁...

2020-02-09 13:49:24 489 1

转载 读书笔记之MySQL技术内幕

文章目录前言第一章.MySQL体系结构和存储引擎第二章.InnoDB存储引擎InnoDB体系架构Checkpoint技术Master ThreadInnoDB关键特性第三章.文件第四章.表第五章.索引和算法第六章.锁第七章.事务前言本文内容基本摘抄自《MySQL技术内幕 InnoDB存储引擎》,以供复习之用,没有多少参考价值。想要更详细了解请参考原书。第一章.MySQL体系结构和存储引擎数...

2020-02-09 13:47:31 378

转载 《MySQL技术内幕:InnoDB存储引擎》读书笔记

文章目录一、Mysql体系结构和存储引擎1. 概念:2. 体系结构:3. Mysql表存储引擎:二、InnoDB存储引擎1. InnoDB体系架构:2. 内存3. master thread4. 关键特性:插入缓冲、两次写、自适应哈希索引三. 表1. InnoDB存储引擎表类型 :2. InnoDB逻辑存储结构:3. InnoDB物理存储结构 :4. 约束四、索引与算法(重要)4.1 InnoDB...

2020-02-09 13:45:00 464

转载 《大型网站技术架构》读书笔记系列

一、此书到底何方神圣?《大型网站技术架构:核心原理与案例分析》通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web安全、系统发布、运维监控等在内的大型网站开发全景视图。本书不仅适用于指导网站工程师、架构师进行网站技术架构设计,也可用于指导产品经理、项目经理、测试...

2020-02-09 13:37:33 408

转载 大型分布式电商系统架构演进史?

文章目录概述作者简介一、大型分布式网站架构技术1、大型网站的特点2、大型网站架构目标3、大型网站架构模式4、高性能架构5、高可用架构6、可伸缩架构7、可扩展架构8、安全架构9、敏捷性10、大型架构举例二、大型电商网站系统架构演变过程1、最开始的网站架构2、应用、数据、文件分离3、利用缓存改善网站性能4、使用集群改善应用服务器性能5、数据库读写分离和分库分表6、使用CDN和反向代理提高网站性能7、使...

2020-02-09 13:35:12 660

转载 深入理解Java虚拟机—读书笔记

文章目录第一部分 走进Java一、走进Java第二部分 自动内存管理机制二、内存区域和内存溢出异常1、运行时数据区2、HotSpot虚拟机对象探秘3、OutOfMemoryError异常三、垃圾收集器和内存分配策略1、对象已死吗?如何确定对象是否还“活着”2、垃圾回收算法3、HotSpot算法实现4、垃圾收集器5、内存分配和回收策略四、虚拟机性能监控与故障处理工具1、jps2、jstat。监视J...

2020-02-09 13:25:51 635

原创 每个程序员都该知道的五大定律

文章目录墨菲定律Knuth 定律North 定律Conway 定律琐碎定律(帕金森琐碎定律)结论定律-或称法则,可以指导我们并让我们在同伴的错误中学习。这篇文章中,我将介绍我每次设计或实现软件时出现在我脑海的五大定律。其中有些和开发有关,有些和系统组织有关。它们可以帮助你成为合格的软件工程师。墨菲定律“凡是可能出错,就一定出错。”这条定律来源于 Edward Murphy —— 一名航...

2020-02-08 14:55:12 487

转载 外行人都能看懂的SpringCloud,错过了血亏!

一、前言只有光头才能变强认识我的朋友可能都知道我这阵子去实习啦,去的公司说是用SpringCloud(但我觉得使用的力度并不大啊~~)…所以,这篇主要来讲讲SpringCloud的一些基础的知识。(我就是现学现卖了,主要当做我学习SpringCloud的笔记吧!)当然了,我的水平是有限的,可能会有一些理解错的的概念/知识点,还请大家不吝在评论区指正啊~~SpringCloud GitH...

2020-02-05 23:17:07 832

原创 高并发架构解析

前言高并发经常会发生在有大活跃用户量,用户高聚集的业务场景中,如:秒杀活动,定时领取红包等。为了让业务可以流畅的运行并且给用户一个好的交互体验,我们需要根据业务场景预估达到的并发量等因素,来设计适合自己业务场景的高并发处理方案。在电商相关产品开发的这些年,我有幸的遇到了并发下的各种坑,这一路摸爬滚打过来有着不少的血泪史,这里进行的总结,作为自己的归档记录,同时分享给大家。服务器架构业务从...

2020-02-05 23:02:04 1040

原创 RabbitMQ应用场景和其他MQ比较

1.背景RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现。2.应用场景2.1异步处理场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法有两种1.串行的方式;2.并行的方式(1)串行方式:将注册信息写入数据库后,发送注册邮件,再发送注册短信,以上三个任务全部完成后才返回给客户端。 这有一个问题是,邮件,短信并不是必须的,它...

2020-02-05 22:38:27 1558

转载 如何优雅的设计Java异常

导语异常处理是程序开发中必不可少操作之一,但如何正确优雅的对异常进行处理确是一门学问,笔者根据自己的开发经验来谈一谈我是如何对异常进行处理的。由于本文只作一些经验之谈,不涉及到基础知识部分,如果读者对异常的概念还很模糊,请先查看基础知识。异常的类别正如我们所知道的,java中的异常的超类是java.lang.Throwable(后文省略为Throwable),它有两个比较重要的子类,j...

2020-02-05 22:36:37 1233 2

转载 JAVA开发常用工具包

一个有经验的Java开发人员特征之一就是善于使用已有的轮子来造车。《Effective Java》的作者Joshua Bloch曾经说过:“建议使用现有的API来开发,而不是重复造轮子”。在本文中,我将分享一些Java开发人员应该熟悉的最有用的和必要的库和API。顺便说一句,这里不包括框架,如Spring和Hibernate因为他们非常有名,都有特定的功能。本文总结了日志、JSON解析、单测、X...

2020-02-05 22:33:57 943

原创 Java项目开发的生命周期

项目的生命周期项目意向 --甲方项目可行性分析项目立项–甲方项目招投标–甲乙方项目的开发周–项目经理a.需求规范(做什么)–需求调研(和客户沟通:将客户的业务语言–软件语言)业务怎么分析?用例分析:谁 做什么业务流分析:(可以采用excel等工具,将具体的业务流大致描绘出来)卡业务就诊业务管理流业务数据流分析:分析每个业务涉及到的表(字段...

2020-02-05 22:26:08 1486

原创 Java项目开发规范

1.命名规范:所有标识都只能用ASCII字母、数字和下划线类名是一个名词,采用大小写混合的方式,每个单词的首字母大写 如:NeeKe方法名是一个动词或动词词组,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写,如setNeeKeName(String neekeName)变量名第一个字母大写,任何中间单词的首字母大写。要简短顾名思义,便于记忆,如:nee...

2020-02-05 22:06:49 399

原创 Java项目开发流程

1.项目启动阶段:项目描述项目目标项目实施:项目调研(业务调研,技术调研,编写项目调研报告)工作量评估(注册/登录:3天,房屋管理:5天…)风险评估(技术风险,管理风险)项目里程碑阶段(采用瀑布式:项目启动阶段,需求分析阶段,系统设计阶段,编码实现与测试阶段–(采用迭代开发思路:进行每一个功能迭代开发,每一个功能迭代作为一个"项目"开发,涉及"功能需求、设计、实现"),验收和关闭...

2020-02-05 22:03:21 1602

原创 JDBC批量处理数据之分段批量提交以及异常处理

首先来说批量处理数据的优点:代码优化,提高程序执行性能降低了java程序代码(客户端)和数据库之间的 网络通信的次数。大数据量的插入问题:(jdbc,hibernate,ibatis)每次只插入一条和数据库交互多次(很耗时间)批量插入和数据库只交互一次(内存溢出)解决办法:分段批量插入(推荐)jdbc批量处理数据是通过PreparedStatement对象的 ...

2020-02-05 21:41:55 3441

原创 解读MVC和JavaWeb的经典三层结构

MVC:模型:处理业务逻辑 视图:展现界面,向用户呈现相关的数据 控制器:对请求进行处理,负责请求转发**处理过程:**首先控制器接收用户的请求,调用相应的模型来进行业务处理,并返回数据给控制器。控制器调用相应的视图将数据回显给客户。**比如登录功能来说:**首先前端界面可以通过表单提交或者a链接(传参url)或者ajax的方式发送一个请求,接着控制器接受到这个请...

2020-02-05 21:36:38 2353

原创 利用8421码进行进制之间的转换

1.8421码及特点    8421码是中国大陆的叫法,8421码是BCD代码中最常用的一种。在这种编码方式中每一位二值代码的1都是代表一个固定数值,把每一位的1代表的十进制数加起来,得到的结果就是它所代表的十进制数码。2.通过8421码的方式进行二进制和十进制的相互转换3.二进制到八进制的简易方式60的二进制111100转换为八进制:4.二进制到十六...

2020-02-05 21:31:41 14013

Java版俄罗斯方块(源码+exe/无需安装环境+带音乐+超好看UI)

Java版本百分百可直接运行exe文件+源码,不用安装java任何环境!!带音乐+超好看UI!! 博客链接:https://blog.csdn.net/belongtocode/article/details/105979473

2020-05-07

空空如也

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

TA关注的人

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