自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(44)
  • 收藏
  • 关注

原创 算法太TM重要了!navicat查看mysql版本

为什么要公开这些面试题?原因一:身边从事 Java 开发的人员越来越多,我的表弟表妹们,朋友的表弟表妹们,朋友的朋友的表弟表妹们,每次问我要相同的面试复习材料,已经让我疲于应付,索性整理出来,直接发链接给他们。原因二:节省招聘双方彼此的时间,有些来公司面试人,无论是有几年工作经验的还是刚毕业的,就连这些最基础的面试题都搞不定,这确实让人很遗憾。常言道“一屋不扫何以扫天下”,也是同样的道理,如果连基础的概念都搞不明白,又怎么让面试官相信你能写出高质量的程序呢?与其浪费彼此的时间,还不如花点时间把自己的基础

2021-05-27 21:52:21 135

原创 简述java的反射机制和使用场景,冲刺7天拿下Offer!

说明Java生鲜电商平台中由于采用了微服务架构进行业务的处理,买家,卖家,配送,销售,供应商等进行服务化,但是不可避免存在分布式事务的问题。业界有很多的解决方案,对此我相信大家都百度一下子就有很多,但是我巨人大哥想说的是:微服务架构中应当尽量避免分布式事务。下面就是来讨论下,分布式事务中主要聚焦于强一致性和最终一致性的解决方案。第一章 成局在胸一一用工具对 SQL 整体优化第二章 风驰电掣一一有效缩短SQL 优化过程第三章规蹈矩一一如何读懂SQL 执行计划第四章 运筹幢幢一一左右 SQL执

2021-05-27 21:50:51 152

原创 程序员进阶!面向大型企业的java开发平台

前言这些算法,都是小编一点一点看的大佬们的方法,自己积累的.如果有什么描述的不对的地方还望大佬赐教多交流才能进步,加油,冲冲冲!!!Part 1微服务架构设计概述1.1 传统应用架构的问题1.2 微服务架构是什么1.3 微服务架构有哪些特点和挑战1.4 如何搭建微服务架构Part 2微服务开发框架2.1 Spring Boot 是什么2.2 如何使用Spring Boot框架2.3 Spring Boot生产级特性Part 3微服务网关3.1 Node.js 是

2021-05-27 21:47:54 505

原创 程序员进阶!mysql怎么导入sql文件

前言从接触编程就开始使用 Git 进行代码管理,先是自己玩 Github,又在工作中使用 Gitlab,虽然使用时间挺长,可是也只进行一些常用操作,如推拉代码、提交、合并等,更复杂的操作没有使用过,看过的教程也逐渐淡忘了,有些对不起 Linus 大神。出来混总是要还的,前些天就遇到了 Git 里一种十分糟心的场景,并为之前没有深入理解 Git 命令付出了一下午时间的代价。先介绍一下这种场景,我们一个项目从 N 版本升到 A 版本时引入了另一项目的 jar 包,又陆续发布了 B、C 版本,但在 C 版

2021-05-27 21:47:09 138

原创 程序员中年危机:下列哪些不是java的简单数据类型

前言很多程序员都会担心35岁的职业危机,而数据也显示,40岁以上的程序员几乎不存在,大都转了管理岗,余下的只能被迫离职或者转行。然而,太久待在舒适区,可能连小公司的面试,都很难通过了。程序员是最需要将终生学习贯彻到底的职业,一旦停止学习,离被淘汰,也就不远了。程序员工作都很忙,所以最好能在空闲的时候看看大厂的面试题,这些面试题的作用可能会超出你的想象:学习前辈的面试方法和经验检测自己的技术能力,培养自己的职业危机感学习更多的技术,锻炼对技术的敏锐度了解大厂面试的重难点,为自己的工作提供相应的经

2021-05-24 23:36:21 537

原创 硬核!java制作小游戏代码

前言:首先介绍一下我的同学,专科毕业应用电子技术专业,已经毕业快两年了。因为专业的原因工作一年觉得没什么发展前途就想转行,身为他的“好基友”,他觉得我这个工作挺好的,就咨询了我一下,经过的严厉拒绝下(各种诱惑下),还是阻挡不了他。随后他报名了北大某鸟进行培训,进行了为期半年的Java程序员速成加工。因为年前结束培训他准备年后面试,谁知遇到这个大疫情,一直拖到了5月份。随后进行了长达2个月的面试历程。谁知昨天聊天的时候这个狗贼竟然通过了面试,而且还是12K,可把我羡慕坏了(我才11K),经过拜师才知道是他

2021-05-24 23:34:53 582

原创 真牛皮!java音视频服务器开发

前言高并发,几乎是每个程序员都想拥有的经验。原因很简单:随着流量变大,会遇到各种各样的技术问题,比如接口响应超时、CPU load升高、GC频繁、死锁、大数据量存储等等,这些问题能推动我们在技术深度上不断精进。我们知道,高并发代表着大流量,高并发系统设计的魅力就在于我们能够凭借自己的聪明才智设计巧妙的方案,从而抵抗巨大流量的冲击,带给用户更好的使用体验。这些方案好似能操纵流量,让流量更加平稳得被系统中的服务和组件处理。并发编程共享模型篇并发编程概览进程与线程Java线程共享模型之管程共享模

2021-05-24 23:34:10 589

原创 真是经典中的经典!javajdk安装包

前言随着k8s 作为容器编排解决方案变得越来越流行,有些人开始拿 Docker 和 k8s进行对比,不禁问道:Docker 不香吗?k8s 是kubernets的缩写,’8‘代表中间的八个字符。其实 Docker 和 k8s 并非直接的竞争对手,它俩相互依存。Docker 是一个容器化平台,而 k8s 是 Docker 等容器平台的协调器。1. static 和 final 的用法static 的作用从三个方面来谈,分别是静态变量、静态方法、静态类。静态变量:声明为 static 的静

2021-05-24 23:33:25 259

原创 程序员如何解决中年危机?java工程师职业规划怎么回答

前言继续总结吧,没有面试就继续夯实自己的基础,前阵子的在面试过程中遇到的各种问题陆陆续续都会总结出来分享给大家,这次要说的也是面试中被问到的一个高频的问题,我当时其实没答好,因为很早之前是看过springboot启动过程的源码,但是时间隔得有点久了(两年多没用过springboot),所以当时也没答好。这次好好总结这部分知识。一. 为什么使用spring cloud alibaba很多人可能会问,有了spring cloud这个微服务的框架,为什么又要使用spring cloud alibaba这个框

2021-05-21 19:59:15 139

原创 程序员如何技术划水,java源码解读

前言不知道你们发现没有,在很多互联网公司基本上都是80后,90后居多,很少还有超过40岁的程序员。可能很多人心里都有一个疑问,那就是这些40多岁的程序员都干嘛去了呢?创业显然只是极少数的人,至于管理岗,一个公司也不过几个人而已,更多的人显然已经不再从事这个行业了,难道真的只能提前退休了吗?面试进大厂必问知识点内容细节见真知:计算向数据移动、而非数据向计算移动redis的5大Value类型解析redis实现活跃用户/用户统计redis实现秒杀/抢购redis实现排行榜/评论列表redis实现推

2021-05-21 19:58:31 84

原创 程序员如何应对中年危机,java写爬虫没python好吗

前言对Java开发的知识点进行深入的学习,并打算做成系列,先从基础常用的重点**(面试点)**知识开始,后续会陆续扩展,加油!涉及到底层的可能代码块会多点,但要学习底层不看代码看啥?代码说明一切!!!放心,基本上每句代码都会写上注释。若有不对请指出!二、回顾整理阿里面试题基本就这样了,还有一些零星的问题想不起来了,答案也整理出来了。自我介绍JVM如何加载一个类的过程,双亲委派模型中有哪些方法?HashMap如何实现的?HashMap和ConcurrentHashMap区别, Concur

2021-05-21 19:57:47 203

原创 真香定律!自学c语言还是java

前言Mysql的锁机制确实非常重要,所以在这里做一个全面的总结整理,便于以后的查阅,也分享给大家。Mysql的锁机制还是有点难理解的,所以这篇文章采用图文结合的方式讲解难点,帮助大家理解,讲解的主要内容如下图的脑图所示,基本涵盖了Mysql锁机制的所有知识点。本文脑图一面1. 二叉搜索树和平衡二叉树有什么关系,强平衡二叉树(AVL 树)和弱平衡二叉树2. B 树和 B+树的区别,为什么 MySQL 要使用 B+树3. HashMap 如何解决 Hash 冲突4. epoll 和 poll

2021-05-21 19:54:07 94

原创 真的醉了!java学多长时间可以找工作

前言当前我们都会说SpringBoot是Spring框架对“约定优先于配置理念的最佳实践的产物,一个典型的SpringBoot应用本质上其实就是一个基于Spring框架的应用,而如果大家对Spring框架已经了如指掌,那么,在我们一步步揭开SpringBoot微框架的面纱之后,大家就会发现“阳光之下,并无新事”。至于Spring Boot的一些用途、特色、支持的开发语言,以及它的学习前景,网络上有各种各样的博文对此有过解释,在这里我就不多说了,Springboot的重要性不言而喻。下面我们就通过一份阿里

2021-05-21 19:52:40 103

原创 真服了!java对象在内存中如何存储

前言Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架。提供了完善的认证机制和方法级的授权功能。是一款非常优秀的权限管理框架。它的核心是一组过滤器链,不同的功能经由不同的过滤器。这篇文章就是想通过一个小案例将Spring Security整合到SpringBoot中去。要实现的功能就是在认证服务器上登录,然后获取Token,再访问资源服务器中的资源。基本知识1.学会分析源码程序员每天都和代码打交道。经过数年的基础教育和职业培训,大部分程序员都会「写」代码,或者至少会抄

2021-05-20 18:53:01 263

原创 看完直接怼产品经理!java特效视频

前言阿里巴巴,作为国内互联网公司的Top,算是业界的标杆,有阿里背景的程序员,也更具有权威性。作为程序员,都清楚阿里对于员工要求有多高,技术人员掌握的技术水平更是望尘莫及。所以,大厂程序员的很多经验也都值得我们借鉴和学习,在一定程度上确实能够帮助我们“走捷径”。今天,我们要分享的是,Alibaba技术官丢出来的SpringCloud微服务实战笔记,这份笔记让人看了不得不爱,目前在GitHub的热度已经标星81.6k了,由此可见同行们对这份文档的认可程度,这也意味着对我们的学习和技术提升有很大的帮助。

2021-05-20 18:50:06 102

原创 看完我工资从12K变成了20K!java核心编程豆瓣

前言SQL 语句执行慢的原因是面试中经常会被问到的,对于服务端开发来说也是必须要关注的问题。在生产环境中,SQL 执行慢是很严重的事件。那么如何定位慢 SQL、慢的原因及如何防患于未然。接下来带着这些问题让我们开启本期之旅!01. 基础架构:一条SQL查询语句是如何执行的?MySQL 的逻辑架构图02. 日志系统:一条SQL更新语句是如何执行的?之前你可能经常听DBA同事说,MySQL可以恢复到半个月内任意一秒的状态,惊叹的同时,你是不是心中也会不免会好奇,这是怎样做到的呢?03. 事

2021-05-20 18:49:22 99

原创 看完不会的来打我!java创建文件夹为什么会拒绝访问

前言今天逛论坛,看到了一位35岁的老程序员发的博文,看完内容后我又活了,35岁挑战华为社招,竟然凭实力在半个月内经历4轮面试后成功拿到了offer,不得不佩服这位大哥,35岁还这么强我们这些后辈还怕啥!当然重要的是这位程序员大佬最后总结的华为4轮面试所有的面试题和需要注意的事情。所以结合这个老哥面试问的问题和最近华为最新的面试题,重新整理了一下近期华为的面试题,满满干货,分享给大家。第1大技能:程序设计和开发数据结构和算法:常用数据结构,排序,检索等面向对象编程、设计模式,掌握建模语言和

2021-05-20 18:48:38 444

原创 这些面试官常问的开发面试题你都掌握好了吗?理论+实战双管齐下!

前言要相信,你现在所有的努力和付出都会在将来的某一天回报给你!首先阿里巴巴作为国内互联网行业的领头羊,培养了一代又一代的IT技术人才,很多想进阿里这些互联网大厂的程序员看中的不仅仅是高薪+丰厚的福利待遇,同样也看中了学习氛围以及人脉圈子,这些资源在你以后对你来说都将是一笔财富。如果你想进大厂,一定是要求自身技术栈能达到企业的需求甚至超过企业的需求,关于技术如何提升的问题,一直以来都备受关注,IT行业发展的很快,程序员要保持不断学习,因此,就算是相同起点的人,经过几年的工作或学习,会迅速拉开极大的差

2021-05-19 22:24:49 146

原创 这些细节在Java面试上要注意了!看这篇文章准没错!

前言Dubbo用起来就和EJB、WebService差不多,调用一个远程的服务(或者JavaBean)的时候在本地有一个接口,就像调用本地的方法一样去调用,它底层帮你实现好你的方法参数传输和远程服务运行结果传回之后的返回,就是RPC的一种封装当然,这个只是Dubbo的最基本的功能,它的特点是:它主要是使用高效的网络框架和序列化框架,让分布式服务之间调用效率更高。采用注册中心管理众多的服务接口地址,当你想调用服务的时候只需要跟注册中心询问即可,不用像使用WebService一样每个服务都得记录好接口

2021-05-19 22:24:05 75

原创 这个回答让我错失offer!你不懂还不学?

前言最近老是收到小伙伴的私信问我能不能帮忙整理出一份JVM相关的面试题出来,说自己在大厂去面试的时候这一块问的是特别多的,每次自己学的时候每次都学不到重点去。这不他来了,一份详细的JVM面试真题给大家整理在下方了!内容介绍这是一本程序员面试宝典!书中对IT名企代码面试各类题目的最优解进行了总结,并提供了相关代码实现。针对当前程序员面试缺乏权威题目汇总这一痛点,本书选取将近200道真实出现过的经典代码面试题,帮助广 大程序员的面试准备做到万无-一失。 “刷”完本书后,你就是“题王”!本书采用题目+

2021-05-19 22:23:21 101

原创 还在等机会?java泛型擦除反射为什么能拿到

说明Java生鲜电商平台中由于采用了微服务架构进行业务的处理,买家,卖家,配送,销售,供应商等进行服务化,但是不可避免存在分布式事务的问题。业界有很多的解决方案,对此我相信大家都百度一下子就有很多,但是我巨人大哥想说的是:微服务架构中应当尽量避免分布式事务。下面就是来讨论下,分布式事务中主要聚焦于强一致性和最终一致性的解决方案。一、一面 1小时40几分钟,基本会的被问完了1.介绍项目,考虑没考虑过服务器挂了怎么办这里应该是考查系统架构2.面向对象特性3.怎么理解多态4.接口和抽象类的区别

2021-05-19 22:21:10 90

原创 踩坑了!企业java开发必备技术

前言MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简单、优雅。本文主要讲述MyBatis的架构设计思路,并且讨论MyBatis的几个核心部件,然后结合一个select查询实例,深入代码,来探究MyBatis的实现。为什么阿里巴巴的持久层抛弃hibernate,采用MyBatis框架?原因大概有以下4点:尤其是需要处理大量数据或者大并发情况的网站服务,这也阿里选择MyBatis的原因。MyBatis整体架构不多讲,先看目录图MyBatis源码笔记文档第1部

2021-05-19 22:18:58 101

原创 阿里Java研发岗二面:java如何定义一个数组

前言在大数据、高并发的系统中,为了突破瓶颈,会将系统进行水平扩展和垂直拆分,形成独立的服务。每个独立的服务背后,可能是一个集群在对外提供服务。这就会碰到一个问题,整个系统是由多个服务(子系统)组成的,数据需要在各个服务中不停流转。如果数据在各个子系统中传输时,速度过慢,就会形成瓶颈,降低整个系统的性能。从而就形成了以Kafka为中心的解决方案!因为阅读Kafka源码重要性就不言而喻,今天小编就分享一份拼多多Kafka的源码笔记,现已面向大众全面开源!(为了不影响大家的阅读体验,免费获取方式放在了文末!)

2021-05-18 19:51:26 84

原创 阿里Java开发手册!Redis成神之路电子版教程已问世

前言作为一个有丰富经验的微服务系统架构师,经常有人问我,“应该选择RabbitMQ还是Kafka?”基于某些原因, 许多开发者会把这两种技术当做等价的来看待。的确,在一些案例场景下选择RabbitMQ还是Kafka没什么差别,但是这两种技术在底层实现方面是有许多差异的。不同的场景需要不同的解决方案,选错一个方案能够严重的影响你对软件的设计,开发和维护的能力。这篇文章会先介绍RabbitMQ和Apache Kafka内部实现的相关概念。紧接着会主要介绍这两种技术的主要不同点以及他们各自的优缺点,最后我

2021-05-18 19:49:58 132

原创 阿里+头条+腾讯等大厂Java面试题分享,技术详细介绍

一、前言Redis 提供了5种数据类型:String(字符串)、Hash(哈希)、List(列表)、Set(集合)、Zset(有序集合),理解每种数据类型的特点对于redis的开发和运维非常重要。备注: 按照分析顺序,本节应该说道有序集合对象了,但是考虑到有序集合对象的底层实现中使用到了跳跃表结构,避免在分析有序集合时造成突兀,所以本节先来看看 redis 中跳跃表结构的具体实现。一、对象的实例化1.创建对象的方式new:最常见的方式(本质是构造器)变形1 : Xxx的静态方法变形

2021-05-18 19:45:33 74

原创 走进Java架构!2021年Java高级面试题总结

前言SQL 语句执行慢的原因是面试中经常会被问到的,对于服务端开发来说也是必须要关注的问题。在生产环境中,SQL 执行慢是很严重的事件。那么如何定位慢 SQL、慢的原因及如何防患于未然。接下来带着这些问题让我们开启本期之旅!top1:Spring Cloud微服务实战基础知识微服务构建: Spring Boot服务治理: Spring Cloud Fur eka客户端负载均衡: Spring Cloud Ribbon服务容错保护: Spring Cloud Hystrix声明式服务调

2021-05-17 21:09:59 162

原创 贼好用的Java学习路线集合,2021华为Java高级面试题及答案

开头设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。在项目中合理地运用设计模式可以完美地解决很多问题,每种模式在现实中都有相应的原理来与之对应,每种模式都描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是设计模式能被广泛应用的原因。高并发架构消息队列搜索引擎缓存分库分表读写分离设计高并发系统高并发架构部分内容缓存:Redis高可用:高并发系统设计:

2021-05-17 21:06:19 70

原创 费时6个月成功入职阿里,技术总监都拍手叫好

前言大家在面试的时候不同程度会被问到JVM的垃圾回收,看面试官水平,有些就背个书就行,比如GC的工作原理,有哪些GC算法和回收器,分别优点和缺点等等,有些面试官估计自己也就背书水平,都没个追问;有些面试官就能追问,一追问就歇菜,比如低延迟的垃圾回收器有哪些以及其原理,跨代引用及解决方案,三色标记及漏标问题处理,等等。还是那句话,虽然都是些理论的问题,但是在实际开发过程中真的能遇到这些问题来解决实际问题,所以多多了解JVM的实现原理总没有错,既能抗极限面试,又能在适时的时候帮忙解决实际问题,得到领导和.

2021-05-17 21:05:35 536

原创 谁说漂亮女程序猿就不能拿大厂Offer了?我就不信你还听不明白了!

Spring依赖注入常见java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我们程序员,而控制反转是指new实例工作不由我们程序员来做而是交给spring容器来做。一面(技术面:算法+

2021-05-17 21:04:07 72

原创 一篇文章教你搞定计算机网络面试,面试题+笔记+项目实战

前言字节跳动面试算法那是行业出了名的厉害。人狠话不多,上来就是一套算法“组合拳”,如果你不“抗揍”的话,连面试的机会都没有了。面试字节跳动,拼多多这种大厂肯定躲避不了算法题的,相信面试过的小伙伴都知道,不管在现场面还是视频面肯定都会被问到算法,难度是要比笔试的时候容易些的。不多扯,如果你是应届毕业生、学了一年多Java的知识或者是工作多年想回顾复习算法,我想你应该具备这些知识。这篇文档内容我花了一个多星期的时间来详解描述,经过不断的修改最终整理出这份精美的PDF。一、Spring面试题1、Spr

2021-05-14 13:44:23 186

原创 一眼就能看懂的Java自学手册,下载量瞬秒百万

前言这期我想写很久了,但是因为时间的原因一直拖到了现在,我以为一两天就写完了,结果从构思到整理资料,再到写出来用了差不多一周的时间吧。你们也知道作者一直都是创作鬼才来的,所以我肯定不会一本正经的写,我想了好几个切入点,最后决定用一个完整的电商系统作为切入点,带着大家看看,我们需要学些啥,我甚至还收集配套视频和资料,暖男石锤啊,这期是呕心沥血之作,不要白嫖了。CAP原则在分布式系统要满足CAP原则,一个提供数据服务的存储系统无法同时满足:数据一致性、数据可用性、分区耐受性。C数据一致性:所有应用程

2021-05-14 13:43:39 62

原创 Java高级:java技术的架构主要包含几方面

前言很多同学想进大厂,特别是刚毕业的,以及工作年限短的,不要有任何侥幸心理,踏踏实实的把基础弄扎实了,这是你通往高薪之路的唯一正确姿势。首先从面试题做起~好了,不多说了,直接上正菜。京东一面凉经object的方法,7大方法synchronized方法讲解synchronized方法实现原理volatile关键字的原理锁的分类偏向锁讲解NoClassDefFoundError和ClassNotFoundException的区别追问,ClassNotFoundException是不是只

2021-05-13 01:59:15 378

原创 Java高级开发面试,mysql和什么语言一起学

前言多线程相对于其他 Java 知识点来讲,有一定的学习门槛,并且了解起来比较费劲。在平时工作中如若使用不当会出现数据错乱、执行效率低(还不如单线程去运行)或者死锁程序挂掉等等问题,所以掌握了解多线程至关重要。小编接下来会从基础概念开始到最后的并发模型由浅入深,讲解下线程方面的知识。一、硬核! 30张图解HTTP常见面试题在面试过程中。HTTP被提问的概率还是比较高的。小编我授集了5大类HTTP面试常问的题目,同时这5大类题跟HTTP的发展和演变关联性是比较大的,通过问答+图解的形式由浅入深的

2021-05-13 01:58:30 99

原创 java高级工程师面试问题大全及答案大全,后台开发JAVA岗

前言随着k8s 作为容器编排解决方案变得越来越流行,有些人开始拿 Docker 和 k8s进行对比,不禁问道:Docker 不香吗?k8s 是kubernets的缩写,’8‘代表中间的八个字符。其实 Docker 和 k8s 并非直接的竞争对手,它俩相互依存。Docker 是一个容器化平台,而 k8s 是 Docker 等容器平台的协调器。Spring Security观后感——手绘思维脑(供参考)Spring Security手绘思维脑图手绘的思维导图,是我自己根据自身的情况读完这

2021-05-13 01:57:46 1258

原创 Java高级工程师进阶学习:java布尔逻辑运算符有哪些

什么是自旋锁和互斥锁?由于CLH锁是一种自旋锁,那么我们先来看看自旋锁是什么?自旋锁说白了也是一种互斥锁,只不过没有抢到锁的线程会一直自旋等待锁的释放,处于busy-waiting的状态,此时等待锁的线程不会进入休眠状态,而是一直忙等待浪费CPU周期。因此自旋锁适用于锁占用时间短的场合。这里谈到了自旋锁,那么我们也顺便说下互斥锁。这里的互斥锁说的是传统意义的互斥锁,就是多个线程并发竞争锁的时候,没有抢到锁的线程会进入休眠状态即sleep-waiting,当锁被释放的时候,处于休眠状态的一个线程会再次获

2021-05-13 01:57:02 78

原创 Java高级工程师必备知识!2021Java高级面试题汇总解答

一道面试题让我们开门见山,直面主题:Dubbo 服务里面有个服务端,还有个消费端你知道吧?服务端和消费端都各有一个线程池你知道吧?那么面试题来了:一般情况下,服务提供者比服务消费者多吧。一个服务消费方可能会并发调用多个服务提供者,每个用户线程发送请求后,会进行超时时间内的等待。多个服务提供者可能同时做完业务,然后返回,服务消费方的线程池会收到多个响应对象。这个时候要考虑一个问题,如何将线程池里面的每个响应对象传递给相应等待的用户线程,且不出错呢?说到博客,大家会不由自主的地想到博客园,CSDN,Gi

2021-05-13 01:56:19 413

原创 java项目前面有个感叹号,真香系列

前言Dubbo用起来就和EJB、WebService差不多,调用一个远程的服务(或者JavaBean)的时候在本地有一个接口,就像调用本地的方法一样去调用,它底层帮你实现好你的方法参数传输和远程服务运行结果传回之后的返回,就是RPC的一种封装当然,这个只是Dubbo的最基本的功能,它的特点是:它主要是使用高效的网络框架和序列化框架,让分布式服务之间调用效率更高。采用注册中心管理众多的服务接口地址,当你想调用服务的时候只需要跟注册中心询问即可,不用像使用WebService一样每个服务都得记录好接口

2021-05-13 01:55:34 318

原创 Java面试:那些年我们一起踩过算法与数据结构的坑

前言kafka的外在表现很像消息系统,允许发布和订阅消息流,但是它和传统的消息系统有很大的差异:首先,kafka是个现代分布式系统,以集群的方式运行,可以自由伸缩其次,kafka可以按照要求存储数据,保存多久都可以第三,流式处理将数据处理的层次提示到了新高度,消息系统只会传递数据。kafka的流式处理能力可以让我们用很少的代码就能动态的处理派生流和数据集。所以,kafka不仅仅是个消息中间件kafka不仅仅是个消息中间件,同时它是个流平台,这个平台上可以发布和订阅数据流(kafka

2021-05-13 01:54:51 287

原创 Java面试:避免中年危机的10个方法

前言难道程序员的职业生命线是青春饭?答案是的。35岁考虑转行,然后35岁又成了一个新人,而外国可以做到60岁,啥也不说了,可能是觉得中年大叔油腻,不及小鲜肉便宜,唉,可叹市场更新换代太快,快到我们来不及改变,所以,只有让随时保鲜才最重要。什么是分布式锁?在回答这个问题之前,我们先回答一下什么是锁。普通的锁,即在单机多线程环境下,当多个线程需要访问同一个变量或代码片段时,被访问的变量或代码片段叫做临界区域,我们需要控制线程一个一个的顺序执行,否则会出现并发问题。如何控制呢?就是设置一个各个线程都能

2021-05-13 01:54:06 154

原创 Java面试题,java接口实现

前言我想对所有程序员说:除了看视频、做项目来提高自身的技术之外,还有一种提升自己的专业技能就是:多!看!书!(本文内提到的书单笔者整理出了一份电子档作为分享,文末有免费获取方式)网络框架、中间件、容器、并发编程、虚拟机等最近几年在互联网行业是越来越火热,Netty、Docker、并发编程、虚拟机也是程序员不得不掌握的技术点,掌握熟练这些技术点,必能让你在“互联网寒冬”的这场大战中立于不败之地!今天我们就来了解当下最流行的那些新兴技术。Redis简介Redis与Memcached区别Redis

2021-05-13 01:53:22 280

空空如也

空空如也

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

TA关注的人

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