自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在遇到阿里面试官之前,我以为Mysql事务很简单

前言迎面走来了一个风尘仆仆的身穿格子衫的男子,手里拿着一个MacBook Pro,看着那稀少的发量,和那从容淡定的眼神。我心里一颤,我去,这是架构师,架构师来面我技术面,我心里顿时不淡定了,表面很稳实则心里慌得一批。果然,他手里拿着我的简历,快速的扫了一下,然后用眼角余光看了一下我,上来就开问。Mysql事务简介「面试官:」 看你简历上说精通Mysql优化方法,你先来说说你对Mysql的事务的了解吧。我心里喜了一下,这个简单啊,哥我可是北大(背大)的,再来面试之前,早就有准备的,二话不说,上去就

2020-07-07 21:38:34 381

原创 编程语言决定程序员性格,你的性格有没有被带偏?

人的性格非常容易受到周遭环境影响,据说,编程环境也会影响一个人的性格哦,某种语言用久了,性格都会和编程语言的特点挂钩。快来看看你的性格有没有被带偏吧!1.Python程序员的特征,性格特征:懒(就一个字)!让Python程序员越来越懒的罪魁祸首与Python语言的特性有很大关系,Python语法优雅、功能强大、开发效率高,而且最接近自然语言,基本上不用考虑语法细节,程序员可不就越来越“懒”了么!他们信奉极简主义,对复杂的代码嗤之以鼻;以前追求高速运行,现在追求一字千金;喜欢使用苹果产品,遇事想得多做

2020-08-03 16:41:03 472

原创 阿里技术岗招聘专家给求职者的10条建议

前阵子,我和阿里的薪酬福利专家M同学聊了一下午,M同学做了9年薪酬,和我们吐槽了很多薪酬方面的现象,也道出了少有人关注的薪酬逻辑和常识。这一次,我又找了一位阿里技术岗位的招聘专家T同学,从他的视角中,我们来看一下金三银四的招聘旺季下,10条求职的黄金规律。可以说每一条都很有深度。1、很多时候,HR不要你,不是因为你水平的问题,也不是因为你专业技能的问题。而是HR自己对自己没信心,HR没把握你这样的候选人,会不会踏实地在部门内做事。HR觉得你够聪明,够优秀,但不敢用你,因为他们担心花了很大的精力去培养

2020-08-03 16:31:16 505

原创 深度揭秘,中国程序员们的生活现状!

如果没有程序员,整个虚拟世界都会消失不见。全中国7亿多网民,再也不能愉快滴发自拍,看视频,打游戏,甚至连打电话都成了一种幻想。绝大部分电子设备都会变成废铁,人类的生活将完全倒退到70多年以前。程序员贡献了自己的聪明才智,但他们当中的大部分人都时刻承担着超出常人的压力,付出了常人难以忍受的高强度劳动。程序员注定是不被理解的那群人吗?不,我想用几个漫画小故事和大家说:如果你是程序员,那每一天将会怎样度过。昨天程序员圈子又出了一个大新闻,之前就有粉丝给我留言问996是什么,当一部分程序员已经习惯99

2020-08-03 16:19:01 756

原创 阿里、京东、美团的一些基础面试题,你会吗?

最近有很多朋友去目前主流的大型互联网公司面试(阿里巴巴、京东、美团、滴滴),面试回来之后会发给我一些面试题。有些朋友轻松过关,拿到offer,但是有一些是来询问我答案的。其实本来真的没打算写这篇文章,主要是自己得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来。自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容基本上忘得一干二净,所以写这篇文章其实是很有难度的。但是,最近问我的人实在是太多了,为了避免重复回答,给自己省点力气,干脆就在这里统一回复了。 说实

2020-08-03 16:04:34 232

原创 总结一些IT项目经理的管理方法与经验

项目经理在大作业中担任的角色,既有项目参与者,又有共同承担的项目经理的任务。项目经理不一定需要很强的开发能力,只要能有效的调动团队。但是良好的开发背景会让你很容易和员工沟通。项目经理需要具备以下几个能力理解力 - 每个人背景不同,工作不同,思维方式不同,不是任意的两个人都可以顺利沟通的,而你就是那个沟通的桥梁。沟通的前提是理解力,作为一个项目经理应该能充分理解每个团队成员的状态,态度,对问题的看法等等等等,应该是整个团队中最了解每个人的人。沟通能力 - 理解了之后就是传达和沟通,是否能游刃有余的说

2020-08-03 15:56:32 2014

原创 八年Java程序员分享自己的职业规划,你该如何选择自己的发展方向

Java程序员你是否有了明确的职业发展规划?就现在经济大环境而言,很不乐观,Java程序员的日子也很不好过,无论是还在找工作的、还是已经入职多年、哪怕做到项目经理技术经理的,压力都异常巨大,似乎处处充满危机。但是,仔细分析一下,出路还是有的,甚至解决温饱、过上有房有车没贷款的生活也是很可能的。首先,在如今这个浮躁的社会,大多数人的心态也是浮躁的,只要你能潜下心来,深入研究某个技术,有了一技之长,温饱问题肯定就可以先解决了。1、 走向架构师对于任何一个Java开发人员来说,架构师都是一个令人向往的角色。

2020-07-23 17:48:01 518

原创 2020 阿里最新面试题,掌握这些轻松拿offer

阿里巴巴不用我多说了吧,旗下有阿里云、蚂蚁金服、菜鸟网络、支付宝等都属阿里旗下,以上这些企业面试题都不太一样,但是面试流程基本上是差不多的,今天我主要说一下Java后端方向岗位。面试开始会让自我介绍,主要业务架构和技术架构两部分。业务架构一般不会深究,但要面试官听明白,并且一般面试官会顺着问是如何根据这些业务去设计技术架构的。阿里面试题1、多个线程同时读写,读线程的数量远远大于写线程,你认为应该如何解决并发的问题?你会选择加什么样的锁?2、JAVA的AQS是否了了解,它是干嘛的?3、除了sync

2020-07-23 17:35:25 231

原创 程序员年初裸辞,至今没找到工作

4月初裸辞,找了近2个多月的工作了,至今还没找到,感觉心好慌,不知道该怎么办了?”裸辞多久找不到工作,心态会崩?找不到工作的时候压力很大,有人说自信会很受打击,还有人说会很绝望,是人生的低谷……尽管很多时候我们自己知道,我不是找不到工作,只是找不到理想中的好工作。但这也不能改变你的空白期正在一天一天变长,不妥协的那份坚定正在一天一天动摇的事实。那么,找不到工作的时候,你会降低标准吗?求职过程中,哪些条件不能降低呢?前程无忧网友“大兵锐克”分享了下面这些观点:一、不能降行业对于职场新人而言,总感

2020-07-23 16:49:33 601

原创 Java程序员不接私活如何达到20K月薪

跳槽,对于已经就业的程序员来说绝对不是一个陌生的词汇,在工作的前4年,小渡鼓励大家跳槽,建议经历2-3家公司。因为每个公司对技术的侧重点都不同,对开发流程控制都不一样,所需要的技术性人才自然不一样。比如外包公司,要的是一个代码狂人,高效率工作是核心要素;规模较小的公司,要的是一个全能型的程序员,最好能设计分析,能写代码,还能部署;而互联网大厂,则需要的是一个技术扎实,有潜力的人。如果不转换思维模式,在一家公司呆久了,很可能就模式化,多经历两家公司,对程序员很有益!找工作的同时还可以强制自己学东西,而且

2020-07-23 16:41:23 387

原创 五年Java开发面经分享,注意这些细节让你offer拿到手软

先来总结下程序员跳槽的原因:钱没给够:没涨薪、涨薪太慢、自己提升太快,面试市场价高于当前薪资太多加粗样式职业发展:项目太简单、技术太旧、缺乏领导机会、并发不够心受委屈:恶心的领导、恶心的制度、恶心的产品经理加班太猛:身体扛不住,或者没有自己的生活时间(996的互联网文化)其它:归属感、同事的圈子、福利、技术氛围跳槽注意事项:自己先想清楚自己要什么:我的长期的职业规划是什么?我为什么要离职?我理想的跳槽公司是什么样的公司?充分准备多投几家多面试理性选择1、 尽量不要讲假话(容易露馅).

2020-07-23 16:32:30 469

原创 学会这8 种单例模式写法,面试再也不慌

1. 单例模式常见问题为什么要有单例模式单例模式是一种设计模式,它限制了实例化一个对象的行为,始终至多只有一个实例。当只需要一个对象来协调整个系统的操作时,这种模式就非常有用.它描述了如何解决重复出现的设计问题,比如我们项目中的配置工具类,日志工具类等等。如何设计单例模式 ?1.单例类如何控制其实例化2.如何确保只有一个实例通过一下措施解决这些问题:private构造函数,类的实例话不对外开放,由自己内部来完成这个操作,确保永远不会从类外部实例化类,避免外部随意new出来新的实例。该实例通

2020-07-17 21:50:05 162

原创 Java程序员都会用到的开源工具

本文主要介绍Java程序员应该在2018年学习的一些基本和高级工具。如果你是一位经验丰富的Java开发人员,拥有5到10年的经验,你可能对这些工具很熟悉,但如果不是,现在就是是开始学习这些工具的好时机。Java世界中存在许多工具,从Eclipse,NetBeans和IntelliJ IDEA等著名的IDE开始到Java开发人员应该知道的JVM分析和监视工具,如JConsole,VisualVM,Eclipse Memory Analyzer等。尽管如此,在本文中,我将重点介绍适用于各种Java开发人员的

2020-07-17 15:56:56 178

原创 关于IoC 和 AOP的几个问题

什么是 IoCIoC (Inversion of control )控制反转/反转控制。它是一种思想不是一个技术实现。描述的是:Java 开发领域对象的创建以及管理的问题。例如:现有类 A 依赖于类 B传统的开发方式 :往往是在类 A 中手动通过 new 关键字来 new 一个 B 的对象出来使用 IoC 思想的开发方式 :不通过 new 关键字来创建对象,而是通过 IoC 容器(Spring 框架) 来帮助我们实例化对象。我们需要哪个对象,直接从 IoC 容器里面过去即可。从以上两种开发方式的对

2020-07-17 15:29:42 275

原创 阿里、百度、美团都在用的‘高并发系统设计’;秒杀、抢红包、12306抢票等高并发场景难点解析

前言“秒杀活动”、“抢红包”、“微博热搜”、“12306抢票”、"共享单车拉新"等都是高并发的典型业务场景,那么如何解决这些业务场景背后的难点问题呢?秒杀系统中,QPS达到10万/s时,如何定位并解决业务瓶颈?明星婚恋话题不断弓|爆微博热搜,如何确保系统不宕机?共享单车充值活动,如何保证不超卖?…**同一时间、海量用户的高频访问对任何平台都是难题,但可喜的是,虽然业务场景不同,设计和优化的思想却是万变不离宗。**如果你掌握了高并发系统设计的核心技术点(缓存、池化、异步化、负载均衡、队列、降级熔

2020-07-06 21:23:17 763

原创 彻底搞懂Java继承,看着一篇就够了

遇到认真的读者是作者的一种幸运,真的,上一篇接口推送后,有好几个读者留言说,“二哥,你有一处内容需要修正,应该是接口中不能有 private 和 protected 修饰的方法。”说实话,看到这样的留言,我内心是非常欣慰的,因为你投出去的一块石头在水面上激起了一串美丽的涟漪。在 Java 中,一个类可以继承另外一个类或者实现多个接口,我想这一点,大部分的读者应该都知道了。还有一点,我不确定大家是否知道,就是一个接口也可以继承另外一个接口,就像下面这样:public interface OneInterf

2020-07-06 20:46:46 304

原创 新同事用策略模式把if else给“优化“了

前言我想大家肯定都或多或少的看过各种“策略模式”的讲解、布道等等,这篇文章就是来好好“澄清”一下策略模式,并尝试回答以下的问题:1.策略模式是如何优化业务逻辑代码结构的?2.杀鸡焉用宰牛刀?就是几个if else场景我需要用到策略模式?!3.有没有什么更好的代码结构来实现策略模式的吗?策略模式是如何优化业务逻辑代码结构的?要回答这个问题,我们还得先扒一扒策略模式的定义,从定义着手来理解它策略模式的教科书定义它的定义很精简:一个类的行为或其算法可以在运行时更改。我们把它降维到代码层面,用人话翻

2020-07-05 21:42:49 153

原创 学会Mybatis Plus代码生成器,你就是时间管理大师

1. 前言对于写Crud的老司机来说时间非常宝贵,一些样板代码写不但费时费力,而且枯燥无味。经常有小伙伴问我,胖哥你怎么天天那么有时间去搞新东西,透露一下秘诀呗。好吧,今天就把Mybatis-plus的代码生成器分享出来,让你也成为一个优秀的时间管理大师。2. 基本依赖以Spring Boot和MySQL为例,你需要下面这些依赖:<!-- lombok 如果不使用 需要修改代码生成器的相关配置 --><dependency> <groupId>or.

2020-07-05 21:27:21 213

原创 面试官:你知道什么是线程池的线程复用原理吗?

前言前两天和粉丝聊天的时候,粉丝问了我一个挺有意思的问题,说他之前在面试的时候被问到线程池的线程复用原理,当时我跟他简单的说了一下,没想到过了几天又来问我这个问题了,说他最近又被问到了这个问题…想了想,干脆写篇文章把这个东西讲清楚吧,满满的干货都放在下面了1.什么是线程复用?在线程池中,通过同一个线程去执行不同的任务,这就是线程复用。假设现在有 100 个任务,我们创建一个固定线程的线程池(FixedThreadPool),核心线程数和最大线程数都是 3,那么当这个 100 个任务执行完,都只会使用

2020-07-03 22:00:25 424

原创 你必须会的Java基础题

前言你的Java基础怎么样?不少同学会说:“我Java基础还不错!”你的基础真的可以吗?不妨试着看看我文章中的题,如果你都能答对,那我只能对你说:同学,你的基础确实不错,给你点赞!前几天翻阅资料看到了不少之前看过的Java基础题,虽然确实很基础,但也有不少的“坑”,接下来,我们进入主题,会做的同学们就当是巩固知识点,不会的同学们要认真学习,这些可是最基础的知识!float f=3.4;是否正确?答:不正确。因为3.4 是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down

2020-07-03 21:50:03 251

原创 如何用Java虚拟机实现synchronized?

在 Java 程序中,我们可以利用 synchronized 关键字来对程序进行加锁。它既可以用来声明一个 synchronized 代码块,也可以直接标记静态方法或者实例方法。当声明 synchronized 代码块时,编译而成的字节码将包含 monitorenter 和 monitorexit指令。这两种指令均会消耗操作数栈上的一个引用类型的元素(也就是 synchronized 关键字括号里的引用),作为所要加锁解锁的锁对象。public void foo(Object lock) { s

2020-07-03 21:37:54 93

原创 2020已过半,开始备战下半年秋招,分享蚂蚁Java岗面试题80+

前言也许会有人感叹某些人的运气比较好,但是他们不曾知道对方吃过多少苦,受过多少委屈。某些时候就是需要我们用心去发现突破点,然后顺势而上,抓住机遇,那么你将会走向另外一条大道,成就另外一个全新的自我。就目前大环境来看,面试的难度比往年高很多。一个明显的感受:今年的面试,无论一面还是二面,都很考验Java程序员的技术功底。Java1.多个线程同时读写,读线程的数量远远⼤于写线程,你认为应该如何解决并发的问题?你会选择加什么样的锁?2.JAVA的AQS是否了解,它是⼲嘛的?3.除了synchroni

2020-06-30 22:33:09 243

转载 SQL 查询总是先执行SELECT语句吗?你们都错了!

前言很多 SQL 查询都是以 SELECT 开始的。不过,最近我跟别人解释什么是窗口函数,我在网上搜索”是否可以对窗口函数返回的结果进行过滤“这个问题,得出的结论是”窗口函数必须在 WHERE 和 GROUP BY 之后,所以不能”。于是我又想到了另一个问题:SQL 查询的执行顺序是怎样的?好像这个问题应该很好回答,毕竟自己已经写了上万个 SQL 查询了,有一些还很复杂。但事实是,我仍然很难确切地说出它的顺序是怎样的。SQL 查询的执行顺序于是我研究了一下,发现顺序大概是这样的。SELECT 并不

2020-06-30 21:45:40 123

原创 你知道为什么大多数SpringBoot开发者更喜欢Undertow,而不是Tomcat吗?

前言在SpringBoot框架中,我们使用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat。同时,SpringBoot也支持Undertow容器,我们可以很方便的用Undertow替换Tomcat,而Undertow的性能和内存使用方面都优于Tomcat,那我们如何使用Undertow技术呢?本文将为大家细细讲解。SpringBoot中的Tomcat容器SpringBoot可以说是目前最火的Java Web框架了。它将开发者从繁重的xml解救了出来,让开发者在

2020-06-30 21:33:50 317

原创 阿里面试官:分别说说微信和淘宝扫码登录背后的实现原理?

1、引言扫码登录这个功能,最早应该是微信的PC端开始搞,虽然有点反人类的功能(不扫码也没别的方式登录),但不得不说还是很酷的。下面这张图,不管是IM开发者还是普通用户,应该很熟悉:于是,搞IM产品的老板和产品经理们,从此又多了一个要抛给程序员们的需求——“为什么微信有扫一扫登录,而我们的没有?”。好吧,每次只要是微信有的功能,IM程序员们想甩锅,难度就有点大了,毕竟老板们都都会想当然认为,微信有的“我”的IM产品里也得有。既然无法回避,那就只能老老实实搞懂技术原理,然后自已使劲撸吧。本文将简要

2020-06-30 21:22:57 171

原创 二本本科生,十面阿里路

前言1.项目方面参考意义不大,所有问题均未涉及2.笔者技术水平有限,可能面试难度较低,如果对您没有帮助,请见谅3.2次HR面就不放了,看到大家的面经都没谈到HR面,担心写出来可能会承担不必要的风险。4.感谢 CBU 和 CRO 的所有面试官, 特别是CBU一面的小姐姐, 在我尚未经历几次面试的时候给了我特别多后续准备和发展的建议, 也感谢两位内推人的积极跟进~CBU一面2.20(46min)1.项目相关介绍,没太大参考性就不写了~2.String 为什么不可变, 处于什么考虑3.Strin

2020-06-29 22:51:50 121

原创 Java开发三年,竟然连动态注册bean都不知道?

干货点:看完该篇文章我们可以了解到为何要动态注册bean、动态注册bean的方式、注册和实例化的区别、spring是什么时候实例化bean的。描述:前阵子在给项目写组件的时候研究了下spring组件拓展流程,其中遇见了动态注册bean的操作,对于长期使用spring容器管理bean的同学来说动态注册bean应该是活久见系列,为此打算以组件中使用到的方式讲讲动态注册方面的相关解说。应用场景在自定义组件的时候,需要自定义命名空间注册器,其中需要提供一个配置解析器ConfigDefinitionPars

2020-06-29 22:17:08 253

原创 Java程序员3轮6小时面试,成功拿到百度offer

今天分享的是一位5年工作经验的Java工程师在帝都的面试经验总结,看看这些互联网公司都爱问些什么题,希望对大家的面试有指导意义。从事Java开发也有5年经验了,4月初自己的开启面试经历之旅,前后应该20天左右,主面互联网公司,一二线大公司或者是融资中的创业公司都面试过,也拿了几个offer,其中包括奇虎360、字节跳动等。首先不同面试官面试风格一定不同,这里是我总结这些天面试Java开发过程中的大多数问题,综合分类有Java基础,框架,多线程,网络通信,数据库以及设计模式,算法等几个模块。一名3年工

2020-06-29 21:59:26 989

原创 HashMap面试题中的夺命二十一问!

1:HashMap 的数据结构?A:哈希表结构(链表散列:数组 + 链表)实现,结合数组和链表的优点。当链表长度超过 8 时,链表转换为红黑树。transient Node<K,V>\[\] table;2:HashMap 的工作原理?HashMap 底层是 hash 数组和单向链表实现,数组中的每个元素都是链表,由 Node 内部类(实现 Map.Entry 接口)实现,HashMap 通过 put & get 方法存储和获取。存储对象时,将 K/V 键值传给 put()

2020-06-29 21:17:21 254

原创 Spring面试题:打底50道,应该至少答对30个(附答案)

作为一个Java程序员,Spring没得商量,对我们是必须会的,而且很重要,几乎我们大多项目都用得它,作为一个优质且生态系统非常全面的框架,不仅在使用上很给力,源码也有很大的学习价值。小编给大家整理了50道面试题,或者说50个知识点,可以先收藏起来了????。1.Spring框架?Spring框架是由于软件开发的复杂性而创建的,Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事。从简单性、可测性和松耦合性角度而言,绝大部分Java应用都可以用Spring。2.Spring的整

2020-06-28 22:19:40 201

原创 十道泛型面试题,你答得上来吗?

问题一:为什么需要泛型?答:使用泛型机制编写的代码要比那些杂乱的使用Object变量,然后再进行强制类型转换的代码具有更好的安全性和可读性,也就是说使用泛型机制编写的代码可以被很多不同类型的对象所重用。问题二:从ArrayList的角度说一下为什么要用泛型?答:在Java增加泛型机制之前就已经有一个ArrayList类,这个ArrayList类的泛型概念是使用继承来实现的。public class ArrayList { private Object[] elementData;

2020-06-28 21:59:04 1918

原创 程序员的自我修养之线程与栈

这篇文章是介绍一下线程与栈相关的话题,文章比较长,主要会聊聊下面这些话题:进程与线程的本质区别,线程与内存共享Linux pthread 与 Guard 区域Hotspot 线程栈的 Guard 区域实现原理你可能没有怎么听说过的 Yellow-Zone、Red-ZoneJava StackOverflowError 的实现原理为了讲清楚线程与栈的关系,我们要从进程和线程之间的关系讲起,接下来开始第一部分。第一部分:老生常谈之进程线程网上很多文章都说,线程比较轻量级 lightweigh

2020-06-28 21:22:03 415

原创 JAVA线程池,看完这一篇再也不怕面试被问了

1.什么是线程池线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位,我们的程序最终都是由线程进行运作。在Java中,创建和销毁线程的动作是很消耗资源的,因此就出现了所谓“池化资源”技术。线程池是池化资源技术的一个应用,所谓线程池,顾名思义就是预先按某个规定创建若干个可执行线程放入一个容器中(线程池),需要使用的时候从线程池中去取,用完之后不销毁而是放回去,从而减少了线程创建和销毁的次数,达到节约资源的目的。2.为什么要使用线程池2.1 降低资源消耗前

2020-06-28 15:20:00 125

原创 聊聊数据库和缓存一致性的几种实现方式

缓存是互联网高并发系统里常用的组件,由于多增加了一层,如果没有正确的使用效果可能适得其反,诸如“缓存是删除还是更新?”,“先操作数据库还是先操作缓存?”都是些老生常谈的话题,今天我们就来聊一聊缓存与数据库的双写一致性的解决方案。Cache Aside Pattern在一开始先科普下最经典的缓存+数据库读写的模式,就是 Cache Aside Pattern。读的时候,先读缓存,缓存没有的话,就读数据库,然后取出数据后放入缓存,同时返回响应。更新的时候,先更新数据库,然后再删除缓存。为什么是删除

2020-06-28 14:42:59 201

原创 你知道跨域的原理与解决方法吗?

背景在最近的项目中,遇到这样一个场景:合作方开发H5页面并部署在合作方的服务器上,但页面中嵌入了我方的SDK,SDK会直接调用我方的接口,如下图:但是控制台中却会收到如下报错:Access to XMLHttpRequest at 'http://example1.com/test' from origin 'http://example2.com' has been blocked by CORS policy: Response to preflight request doesn't pass

2020-06-27 17:50:45 347

原创 教你用mysql做定时备份任务

简介在生产环境上,为了避免数据的丢失,通常情况下都会定时的对数据库进行备份。而Linux的crontab指令则可以帮助我们实现对数据库定时进行备份。首先我们来简单了解crontab指令,如果你会了请跳到下一个内容mysql备份。本文章的mysql数据库是安装在docker容器当中,以此为例进行讲解。没有安装到docker容器当中也可以参照参照。contab定时任务使用crontab -e来编写我们的定时任务。0 5 * * 1 [command]前面的5个数字分别代表分、时、日、月、周,后面的

2020-06-27 17:35:06 272 1

原创 Redis高可用系列中的持久化 AOF和RDB,你真的懂吗?

Redis高可用概述在介绍Redis高可用之前,先说明一下在Redis的语境中高可用的含义。我们知道,在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999% 等等)。但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供正常服务(如主从分离、快速容灾技术),还需要考虑数据容量的扩展、数据安全不会丢失等。在Redis中,实现高可用的技术主要包括持久化、复制、哨兵和集群,下面分别说明它们的作用,以及解决了什么样的问

2020-06-24 16:58:09 118

原创 Java 线程不安全分析,同步锁和Lock机制,哪个解决方案更好

线程不安全线程不安全的问题分析:在小朋友抢气球的案例中模拟网络延迟来将问题暴露出来;示例代码如下:public class ImplementsDemo { public static void main(String []args) { Balloon balloon = new Balloon(); new Thread(balloon, "小红").start(); new Thread(balloon, "小强").start();

2020-06-24 16:32:02 265

原创 HashMap面试宝典

前言本文源码分析基于jdk1.8版本(持续更新中)1、HashMap数据结构与工作原理这是基础中的基础,这个都不能掌握,面试大概率要翻车。源码自己看,这里讲流程。在Jdk1.8中,HashMap数据结构是数组+链表+红黑树,数组也叫做hash表,每条链表也叫做桶(bucket),红黑树是为了提高查询效率。1、存放元素的时候会先根据key的hash值去计算元素下标,如果这个下标没有元素,就创建一个Node节点放进去;2、如果数组下标有数据,先判断key是否相同,相同的话替换元素的value;不同

2020-06-23 22:05:53 161

原创 一篇文章搞定 Nginx 限流配置

1、限流算法令牌桶算法令牌桶算法算法思想是:令牌以固定速率产生,并缓存到令牌桶中;令牌桶放满时,多余的令牌被丢弃;请求要消耗等比例的令牌才能被处理;令牌不够时,请求被缓存。漏桶算法漏桶算法算法思想是:水(请求)从上方倒入水桶,从水桶下方流出(被处理);来不及流出的水存在水桶中(缓冲),以固定速率流出;水桶满后水溢出(丢弃)。这个算法的核心是:缓存请求、匀速处理、多余的请求直接丢弃。相比漏桶算法,令牌桶算法不同之处在于它不但有一只“桶”,还有个队列,这个桶是用来存放令牌的,

2020-06-23 21:54:36 161

空空如也

空空如也

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

TA关注的人

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