0 mrchaochao

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 1w+

一款被大家低估的微服务场景下性能问题排查神器

对于Java应用性能跟踪其实有很多种手段,本文只是针对xrebel的使用做一些简单讲解(单体应用和微服务应用)。分布式跟踪有很多,比如zipkin等,如下图但是太重了,不适合小规模团队,开发时期用。而且以zipkin为例,仅仅是A服务调用B服务耗时多少,并不会显示详细的线程,堆栈信息。需要搭配其他手段进行排查。示例:# 快速安装下载地址:https://www.jrebel.com/products/xrebel/download# 快速安装xrebel支持e..

2020-08-08 20:56:26

面试字节、腾讯!被问LeetCode算法原题,幸亏记得才没被刷下来

前言如何才能通过面试拿到大厂Offer?“刷leetcode!”这是我听到最多的回答!程序员找工作,刷leetcode真的有用吗?不刷leetcode真的就面不过吗?下面是脉脉上与面试相关的部分帖子:现在越来越多的人应聘工作时都得先刷个几十百来道题,不刷题感觉都过不了面试。无论是面测试、算法工程师还是架构开发工程师,好像都得刷题,这么多人通过刷题过了面试,说明刷题对于找工作还是有帮助的。不过这其中有一个问题:很多人虽然为了找工作刷了题,但是却不理解公司为何要采取这样.

2020-08-08 20:55:52

在公司内部做的关于MySQL索引的分享,总监说我是专家级的…

这一篇是讲解Mysql中做使用到的「索引的种类」,「索引正确使用的原则」、「怎么优化索引」、「以及两种存储引擎InnoDB和MyISAM索引的数据布局原理」。索引种类在说索引之前,我们先来说一说什么是索引呢?对于索引个人的理解就是,索引是一种加快查询数据的数据结构。所以,索引就是一种数据结构,作用就是发挥这种数据结构的作用,加快查询的效率,例如:InnoDB存储引擎中使用的是就是B+tree这种数据结构来组织索引。Mysql中索引的种类也不是很多,不同类型的索引有不同的作用,索引的作用相互之间也

2020-08-08 20:54:40

github上标星70.5k,贼火的Java突击手册,全面详细对标阿里P7

Github作为程序员们的后花园,一直以来都是程序员最喜欢逛逛、学习的地方,小编也不例外,最近看到一份对标阿里、头条、拼多多等Java核心架构笔记,已经标星70+K了,很是惊讶,看了一下,觉得知识点整理的非常的详细,也不愧能获得这么多星,资料已被整理好,发放福利给朋友们!转发+关注,然后私信小编回复关键字 “666” 即可获得《对标阿里、头条、拼多多等面经知识点合集整理笔记》PDF版文档资料的免费领取方式。面试前得搞清楚技术⾯可能会问哪些⽅向的问题你准备⾯试的话⾸先要搞清技术⾯可..

2020-08-08 20:53:07

fastjson到底做错了什么?为什么会被频繁爆出漏洞?

fastjson大家一定都不陌生,这是阿里巴巴的开源一个JSON解析库,通常被用于将Java Bean和JSON 字符串之间进行转换。前段时间,fastjson被爆出过多次存在漏洞,很多文章报道了这件事儿,并且给出了升级建议。但是作为一个开发者,我更关注的是他为什么会频繁被爆漏洞?于是我带着疑惑,去看了下fastjson的releaseNote以及部分源代码。最终发现,这其实和fastjson中的一个AutoType特性有关。从2019年7月份发布的v1.2.59一直到2020年6月份发布的

2020-08-07 16:02:11

业务复杂=if else?刚来的大神竟然用策略+工厂彻底干掉了他们

目前在魔都,贝壳找房是我的雇主,平时关注一些 java 领域相关的技术,希望你们能在这篇文章中找到些有用的东西。个人水平有限,如果文章有错误还请指出,在留言区一起交流。我想大家肯定都或多或少的看过各种“策略模式”的讲解、布道等等,这篇文章就是来好好“澄清”一下策略模式,并尝试回答以下的问题:策略模式是如何优化业务逻辑代码结构的? 杀鸡焉用宰牛刀?就是几个if else场景我需要用到策略模式?! 有没有什么更好的代码结构来实现策略模式的吗?策略模式是如何优化业务逻辑代码结构的?要回...

2020-08-07 16:00:06

10个类手写实现 RPC 通信框架原理

什么是rpcRPC:remote procedure call Protocol 远程过程调用 调用远程服务,就像调用本地的服务一样,不用关心调用细节,就像调用本机的服务一样的RPC原理实现RPC通信的程序包括5个部分:rpc-client、客户端proxy、socket、服务端proxy、rpc-serverrequest 客户端:当rpc-client发起远程调用时,实际上是通过客户端代理 将要调用的接口、方法、参数、参数类型进行序列化,然后通过socket实时将封装调用参数的

2020-08-06 19:12:03

八年美团架构师用254幅图解+实际源码剖析带你深入探讨GC具体实现

GC算法会根据自动内存回收所需的环境(机器、语言、应用等)的不同而不同。到具体的程序层面,GC则为程序员提供了一个最佳的游乐场所,令其尽情地发挥编程技巧,大展身手。GC这东西很麻烦,但却是必需的。它就像一个 幕后英雄,默默地做着贡献,用户并不会期待它变得显眼。但因为它进行的是幕后工作,所以编程老手们或许会为之心动。《垃圾回收的算法与实现》分为“算法篇”和“实现篇”两大部分。算法篇介绍了标记-清除算法、引用计数法、复制算法、标记-压缩算法、保守式GC、分代垃圾回收、增量式垃圾回收、RC Immix算.

2020-08-06 17:30:09

看完就可以理解Spring中的IOC和AOP两大特征

一、spring 的优点?1.降低了组件之间的耦合性 ,实现了软件各层之间的解耦2.可以使用容易提供的众多服务,如事务管理,消息服务等3.容器提供单例模式支持4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能5.容器提供了众多的辅助类,能加快应用的开发6.spring对于主流的应用框架提供了集成支持,如hibernate,JPA,Struts等7.spring属于低侵入式设计,代码的污染极低8.独立于各种应用服务器9.spring的DI机制降低了业务对

2020-08-06 16:16:31

不自己体验一下,你永远不会知道阿里中间件/百度/蚂蚁中间件Java岗面试究竟有多难?

百度(三面)百度一面(现场)自我介绍 Java中的多态 为什么要同时重写hashcode和equals Hashmap的原理 Hashmap如何变线程安全,每种方式的优缺点 垃圾回收机制 Jvm的参数你知道的说一下 设计模式了解的说一下 手撕一个单例模式 算法题目 手撕算法:反转单链表 手撕算法:实现类似微博子结构的数据结构,输入一系列父子关系,输出一个类似微博评论的父子结构图 手写java多线程 手写java的soeket编程,服务端和客户端 手撕算法:爬楼梯.

2020-08-06 16:10:51

最受Java开发者喜爱的5款开源IDE盘点,赶紧看看有没有适合你的

在TIOBE 编程语言排行中,Java始终排在前三名,现今有700万到1000万的Java开发人员。许多应用程序的所有代码都是用Java编写的,这意味着集成开发环境(IDE)很重要,因为它是开发人员编写、测试和运行Java程序必备的工具。今天,就和大家分享5种最受Java开发者喜爱的的开源IDE:1、BlueJBlueJ为Java初学者提供了一个集成的Java开发环境,专为教学而设计的,它还提供有助于使用Java开发工具包(JDK)开发小型软件。一旦你在笔记本电脑上安装了BlueJ IDE,

2020-08-05 16:30:28

渣本毕业,开发2年,埋头苦学6个月,成功逆袭斩获快手offer

怎样才能入职BAT开发岗?昨天,看到了读者的留言:老师我来报喜了,刚拿到快手的offer,薪资涨了80%,毕业后迷茫了2年多,才发现适合自己的向深入聊天后,发现他跟我一样,曾经也在一家小公司,平时打打杂,说不上是干的运营还是产品,反正哪需要我就去哪。后来,他觉得不能再这样下去了。去年 9 月份开始学 Java,6 个月的时间,拿到了快手的 Offer。如果你同样也有这样的迷茫,不妨听完这个故事。在我看来,3 年只是一个分水岭,选对方向,并坚持地走下去,你就会发现,你和身...

2020-08-05 16:27:46

字节跳动的三道编码面试题的实现

国庆节后,自己的一个小圈子微信群的伙伴们发了一张图片,是网上流传的字节跳动的面试题编码,闲的无事就思索了下,发现都不难,都是对基础的数学知识的考量。先上图吧!当然40分钟,我也无法把任意两题编码完成,只是知道大概的解题思路,唯一能确定的,在面试规定时间内,第二题我是肯定可以在20分钟内编码完成。题目一基础知识就是初中的平面直角坐标系,解析思路:计算总周长; 将各边长的前后坐标计算出来封装好,第四步要使用; 根据K段值计算出平均分段后的长度; 然后循环K次,根据平均长..

2020-08-05 15:11:16

小白都能懂的Mysql主从复制原理(文章较长,建议收藏慢慢看)

主从复制简介在实际的上产中,为了解决Mysql的单点故障已经提高MySQL的整体服务性能,一般都会采用「 主从复制 」。比如:在复杂的业务系统中,有一句sql执行后导致锁表,并且这条sql的的执行时间有比较长,那么此sql执行的期间导致服务不可用,这样就会严重影响用户的体验度。主从复制中分为「 主服务器(master) 「 和 」从服务器(slave) 」 ,「 主服务器负责写,而从服务器负责读 」,Mysql的主从复制的过程是一个「 异步的过程 」。这样读写分离的过程能够是...

2020-08-04 17:31:10

2020最新版:深入理解Java虚拟机JVM高级特性与最佳实践(第3版)

前言Java是目前用户最多、使用范围最广的软件开发技术,Java的技术体系主要由支撑Java程序运行的虚拟机、提供各开发领域接口支持的Java类库、Java编程语言及许许多多的第三方Java框架(如Spring、MyBatis等) 构成。在国内,有关Java类库API、Java语 言语法及第三方框架的技术资料和书籍非常丰富,相比而言,有关Java虚拟机的资料却显得异常贫乏。《深入理解Java虚拟机JVM高级特性与最佳实践(第3版)》上市10年,累计销量超过30万册,公认经典,原创计算机图书领域不可逾

2020-08-04 17:30:03

什么是真正的架构设计?十年Java经验让我总结出了这些,不愧是我

一. 什么是架构和架构本质在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。 此君说的架构和彼君理解的架构未必是一回事。因此我们在讨论架构之前,我们先讨论架构的概念定义,概念是人认识这个世界的基础,并用来沟通的手段,如果对架构概念理解不一样,那沟通起来自然不顺畅。Linux有架构,MySQL有架构,JVM也有架构,使用Java开发、MySQL存储、跑在Linux上的业务系统也有架构,应该关注哪一个?想要清楚以上问题需要梳理几个有关系又相似的概念:系统与子系统、模块与组建、框架与架构:

2020-08-04 17:28:23

Tomcat 架构原理解析到架构设计借鉴

Tomcat 发展这么多年,已经比较成熟稳定。在如今『追新求快』的时代,Tomcat 作为 Java Web 开发必备的工具似乎变成了『熟悉的陌生人』,难道说如今就没有必要深入学习它了么?学习它我们又有什么收获呢?静下心来,细细品味经典的开源作品。提升我们的「内功」,具体来说就是学习大牛们如何设计、架构一个中间件系统,并且让这些经验为我所用。美好的事物往往是整洁而优雅的。但这并不等于简单,而是要将复杂的系统分解成一个个小模块,并且各个模块的职责划分也要清晰合理。与此相反的是凌乱无序,比如你看到城

2020-08-03 21:09:22

腾讯T3-2大牛带你深入了解百亿级并发系统设计背后鲜为人知的秘密

我们知道,高并发代表着大流量,高并发系统设计的魅力就在于我们能够凭借自己的聪明才智设计巧妙的方案,从而抵抗巨大流量的冲击,带给用户更好的使用体验。这些方案好似能操纵流量,让流量更加平稳得被系统中的服务和组件处理。《百亿级并发系统设计》目录资料全部真实有效,不会缺页,不会只是大纲!!!由于文章篇幅有限,为了不耽误大家宝贵的时间,这份PDF小编已经为大家整理好了,需要免费领取的朋友麻烦帮忙转发、转发、转发这篇文章(一定要转发哦),然后私信小编【亿级并发】。基础篇高并发系统:它的通用设计.

2020-08-03 21:02:14

用了这么久,token和session的区别,你真的清楚了吗?

session和token都是用来保持会话,功能相同一、session机制,原理session是服务端存储的一个对象,主要用来存储所有访问过该服务端的客户端的用户信息(也可以存储其他信息),从而实现保持用户会话状态。但是服务器重启时,内存会被销毁,存储的用户信息也就消失了。不同的用户访问服务端的时候会在session对象中存储键值对,“键”用来存储开启这个用户信息的“钥匙”,在登录成功后,“钥匙”通过cookie返回给客户端,客户端存储为sessionId记录在cookie中。当客户端.

2020-08-01 17:29:43

华为阿里员工跳槽到微软后被集体抵制:请停止你的“奋斗逼”行为

网传,微软内部有员工已经开始公开抵制这些奋斗逼了,一起来吃瓜!此消息一出,瞬间引起了网友们、吃瓜群众们的围观与议论。为啥说阿里行为,这些人是阿里过来的?Fb也不缺奋斗逼,自己一个人默默奋斗就行,别工作时间以外骚扰同事,没人在意的,而且绩效评定没人在乎是一周20个小时还是80个小时做出来的,只看结果,所以奋斗逼用绝对时间弥补了实力的不足,也是一个优势,注意身心健康即可。最近微软来了很多奋斗逼,把氛围搞得很差,特别是那些工资还低的奋斗逼,恶意拉低市场价。也有网友吐槽:有..

2020-08-01 17:14:58

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力探索
    原力探索
    参与《原力计划【第二季】——打卡挑战》的文章入选【每日精选】的博主将会获得此勋章。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 原力探索 · S
    原力探索 · S
    在《原力计划【第二季】》打卡挑战活动中,发布 12 篇原创文章参与活动的博主,即可获得此勋章。(本次活动结束后统一统计发放)