自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 微服务架构跨库分页解决的四种方案

微服务架构是一项在云中部署应用和服务的新技术。大部分围绕微服务的争论都集中在容器或其他技术是否能很好的实施微服务,而红帽说API应该是重点。微服务可以在“自己的程序”中运行,并通过“轻量级设备与HTTP型API进行沟通”。关键在于该服务可以在自己的程序中运行。通过这一点我们就可以将服务公开与微服务架构(在现有系统中分布一个API)区分开来。在服务公开中,许多服务都可以被内部独立进程所限制。如果其中...

2018-03-04 14:50:09 12511 6

原创 腾讯老将被拒,蚂蚁金服嘲讽,JVM问了4道题,一道都答不上来,外包都没资格,Java界面试太刺激了!!!

腾讯老将被拒,蚂蚁金服嘲讽,JVM问了4道题,一道都答不上来,外包都没资格,Java界面试太刺激了!!!自从蚂蚁金服上市,IT界多了一批千万富翁后,去投奔的程序员愈发多了,进去了皆大欢喜,而折腾一圈还是没能入职的可就难过了。最难过的是下面这位,在简历环节就直接被刷的。个人履历还不错,在腾讯工作多年,转战二线小厂,技术扎实,但蚂蚁金服连面试机会都不给就拒了,给出的答复是“简历不合适”,惹得这位直呼“心生愤怒,倍感羞辱”。有人在他的帖子下评论:“阿里不要腾讯的人,换个说法拒绝而已。”“这个没什

2020-09-24 20:36:41 536

原创 源码解析最新版本—Spring Cloud Ribbon 解决负载均衡的迷惑

引言Spring Cloud Ribbon 解决负载均衡的迷惑代码准备依赖关系+------------+ +------------+| | | || | | || | ...

2020-03-02 22:17:34 287

原创 京东后端Java高级架构师面经-面试题Spring丶多线程丶NIO丶MySQL

引言之前面了腾讯的提前批,不过没走流程。同期还面了阿里的两轮面试,被告知不走流程就不能面了,所以也没面完。后来走了京东这边的流程。前几天刚刚面完HR。正好今天分享一下面经,大家可以多交流交流哈。京东面经第一轮:电话初面 第二轮:技术面谈 第三轮:高管复试 第四轮:HR最后确认第一轮电话初面:首先确认对京东的意向度(如果异地更会考虑对工作地点(北京)的意向度!京东很看...

2019-08-11 20:37:48 351

原创 十年架构师带你深入剖析24个Jvm面试题总结及答案

引言1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。 Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。2.Java内存结构?...

2019-08-11 20:35:00 276

原创 深入剖析阿里sentinel源码,看这篇就够了

1.1. 引言昨天已经把sentinel成功部署到线上环境,可参考我上篇博文,该走的坑也都走了一遍,已经可以初步使用它的限流和降级功能,根据我目前的实践,限流和降级规则似乎不能一同起效,还不知道原因,下面继续探索1.2. 源码1.2.1. 流控降级监控等的构建首先客户端而言,我关注的是我写的代码SphU.entry,这明显是很关键的方法,下图的内容就是这里构建的 -Sentinel...

2019-08-09 21:58:09 6963 3

原创 基于微服务架构的基础设施设计

引言利用微设计实现可持续高效的基础设施了解微设计基础架构(MDI)的概念,它们如何帮助开发,以及它们与DevOps和微服务等技术的关系。技术决策既困难又严肃,可以决定项目的成败。如何找到合适的技术栈?“微设计基础架构”(MDI)是一种新方法,它使用“设计思维”中的回忆来开发最佳,易于理解且是公司范围内公认的基础架构或技术堆栈。技术和基础设施决策具有挑战性,因为必须结合不同的要求(公...

2019-08-09 21:56:12 402

原创 P6高频面试题:分布式任务调度平台

引言日常开发中,我们难免会遇到需要处理一些定时任务,而且这些定时任务还需要灵活的调度,并且在异常的情况下需要做的重试或者报警。这些任务我们希望能灵活配置,并且能及时生效,不需要经常发版本更新代码。所以我们希望能有一个这样的平台,能满足我们的这些需求。感谢开源社区,已经有了很好的解决方案,就是 XXL-JOB。 本文介绍的版本是基于 XXL-JOB 的1.9.0版本,新版本调度中心 Admin ...

2019-08-08 21:08:05 1058

原创 JAVA那些年我们踩过的坑

引言JAVA那些年我们踩过的坑最近都在流行大数据什么的,然后偶然之间加入了一个物联网的小公司,可以使用hadoop 来做数据分析,于是心中窃喜,可以有机会接触大数据了,从此走上人生巅峰赢取白富美。可是成功的道路总不是一帆风顺滴,从我开始接触这玩意儿,到现在大概有一个多月了,但是我居然还在搭环境。。。我丢你老牟,这个hadoop的环境怎么这么复杂,这是人干的事?能不能像springboo...

2019-08-08 21:05:21 277

原创 详述Spring源码核心API技术实现看这个就够了

引言浩浩荡荡的把一般程序员都不太关注的Bean Validation话题讲了这么久,期间小伙伴wx我说一直还没看到他最想看到的内容,我问最想看到啥?他说显然是数据校验在Spring中的使用啊。我想若不出意外,这应该是众多小伙伴的共同心声吧,但路漫漫其修远兮,也得上下求索,本文将切入到最关心的Spring中来~要想深入了解Spring对Bean Validation的支持,org.sprin...

2019-08-07 21:27:46 759

原创 看十三年Java老兵分享阿里面试的残酷经历

引言今天给大家讲讲面试过程当中最长遇到的窘境,也是最能体现一个候选人临场应变能力的地方,那就是当我们在面试的过程当中,遇到的问题回答不上来的时候,该怎么办。误区在开始讲解之前,先纠正一个误区,那就是对于一场面试而言,最后的结果**好坏并不完全取决于面试当中的问题是否都回答了上来。能不能录取和是否回答出所有问题并没有直接的联系。**换句话说,我自己经历过的,无论是面试也好,还是面别人也罢...

2019-08-07 21:24:18 347

原创 赶5G风口,拿百万年薪。程序员都准备好了吗?

引言赶5G风口,拿百万年薪。程序员都准备好了吗?最近5G的概念炒的如火如荼,为此,华为和高通还干了一仗。这篇文章从技术层面给大家分析,什么是5G,它和4G比,高级在哪里?我们来看看移动互联网的技术发展:然后我们在来看看他们之间的通讯速率比较:2G:150Kbps,折合下载速度15-20K/s3G:1-6Mbps,折合下载速度120K/s-600K/s4G:...

2019-07-25 16:47:34 323 1

原创 系统实战实战系列《JVM虚拟机底层原理分析与性能优化》

原价99元的《JVM虚拟机底层原理分析与性能优化》课程,现在活动限时优惠0.02元。本课程重点对JVM虚拟机底层原理进行全面讲解,从JVM内存结构、堆的分代与垃圾回收算法、JVM性能调优,帮助大家全面理解JVM的运行机制。...

2019-07-23 22:20:11 323

原创 如何正确实现一个微服务高可用方案

微服务高可用方案一、微服务的高可用在注册中心、配置中心高可用方案之前,了解一下注册中心的工作原理,下面分为两个部分来解释,一是注册中心和各个微服务的注册表的获取与同步,二是注册中心如何去维护注册表。1.1、注册表的获取与同步Eureka Server和Eureka Client之间的关系,通过注册表来维护,而注册表的通过Eureka Server集中化管理,每个Client在本地进...

2019-07-23 17:00:56 1606

原创 阿里JAVA面试题剖析-如何从源码角度分析StringBuffer和StringBuilder的区别?

面试官Q1:请问StringBuffer和StringBuilder有什么区别?这是一个老生常谈的话题,笔者前几年每次面试都会被问到,作为基础面试题,被问到的概率百分之八九十。下面我们从面试需要答到的几个知识点来总结一下两者的区别有哪些? 继承关系? 如何实现的扩容? 线程安全性? 继承关系从源码上看看类StringBuffer和StringBuilde...

2019-07-23 15:56:41 172

原创 一个不常见的Java面试题:如何保证缓存与数据库的双写一致性?

引言只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题?面试题剖析一般来说,如果允许缓存可以稍微的跟数据库偶尔有不一致的情况,也就是说如果你的系统不是严格要求 “缓存+数据库” 必须保持一致性的话,最好不要做这个方案,即:读请求和写请求串行化,串到一个内存队列里去。串行化可以保证一定不会出现不一致的情况,但是它也会导...

2019-07-23 15:48:43 642

原创 SSM 如何框架集成?

引言.SSM是什么?SSM是指目前最主流的项目架构的三大框架:  SpringMVC : spring的 Web层框架,是spring的一个模块  Spring :容器框架  MyBatis :持久层框架2.spring与mybatis集成示例  我们集成mybatis和spring,主要是为了让mybatis用spring的事务管理  2.1 相关导入jar包...

2019-07-23 15:37:51 442

原创 Spring Cloud微服务系列-深入理解 Ribbon-Hystrix-Feign

引言今天和大家聊一聊在Spring Cloud微服务框架实践中,比较核心但是又很容易把人搞得稀里糊涂的一个问题,那就是在Spring Cloud中Hystrix、Ribbon以及Feign它们三者之间在处理微服务调用超时从而触发熔断降级的关系是什么?我们知道在Spring Cloud微服务体系下,微服务之间的互相调用可以通过Feign进行声明式调用,在这个服务调用过程中Feign会通...

2019-07-23 15:09:29 563 1

原创 BAT架构师孰能生巧-用Spring Cloud 服务注册中心Eureka

引言在Spring Cloud Netflix 整合技术栈中,Eureka既可以作为服务注册中心也可以用于服务发现对整个微服务架构起着最核心的整合作用。Eureka是基于REST(Representational State Transfer)服务,主要以AWS云服务为支撑,提供服务发现并实现负载均衡和故障转移。在Netflix,为Eureka提供更为复杂的负载均衡方案进行封装,以实现高可...

2019-07-22 22:08:54 166

原创 工作3年的Java程序员如何成功跳槽,7K一飞到22K

引言最近在脉脉职言看到一个帖子:16年毕业,就去了互联网公司,第一份工资7千,3年后跳了5家公司,拿到了2万2。都说跳槽频繁,企业会比较忌讳这样的人才。但是换个角度想,如果真的在3年内积累了很多的项目经验和技术经验,这样的简历,相信很少有公司会拒绝。点击加入群聊【java全栈开发】:https://jq.qq.com/?_wv=1027&k=5wpvrhR暗...

2019-07-21 21:33:56 935

原创 Java程序员必备——Tomcat配置技巧Top10

一、配置系统管理(Admin Web Application)大多数商业化的J2EE服务器都提供一个功能强大的管理界面,且大都采用易于理解的Web应用界面。Tomcat按照自己的方式,同样提供一个成熟的管理工具,并且丝毫不逊于那些商业化的竞争对手。Tomcat的Admin Web Application最初在4.1版本时出现,当时的功能包括管理context、data source、user和...

2019-07-18 22:09:48 164

原创 成为一个优秀的程序猿你必须知道10个技巧 必看!!!

引言 为代码添加注释(Add comments to your code).– 每个人都知道这一点,但不是每个人都会这么做。你有多少次“忘记”添加注释了?确实,注释不会为你的程序增加任何函数功能。但是,有多少次,看到2周前写的代码,你都记不起它是干什么的?你很幸运,那些未注释的代码是你自己写的,你脑海中还会有残存的印象。非常不幸,大多时候,代码是别人写的,并且那个人很可能已经离开公司了。有句...

2019-07-17 21:58:09 159

原创 分布式系统服务框架Zookeeper介绍与原理实现

分布式数据管理之痛点为了确保微服务之间松耦合,每个服务都有自己的数据库, 有的是关系型数据库(SQL),有的是非关系型数据库(NoSQL)。开发企业事务往往牵涉到多个服务,要想做到多个服务数据的一致性并非易事,同样,在多个服务之间进行数据查询也充满挑战。我们以一个在线B2B商店为例,客户服务 包括了客户的各种信息,例如可用信用等。管理订单,提供订单服务,则需要验证某个新订单与客户的...

2019-07-16 22:31:05 183

原创 分布式系统服务框架Zookeeper介绍与原理实现

引言Zookeeper基本概念zk角色Zookeeper中的角色主要有以下三类,如下表所示:zookeeper角色zk service网络结构Zookeeper的工作集群可以简单分成两类,一个是Leader,唯一一个,其余的都是follower,如何确定Leader是通过内部选举确定的。zookeeper服务 Leader和各个follower是互相通信的...

2019-07-16 22:28:06 177

原创 Java高级架构师教你如何正常掌握分布式系统的大部分技术

分布式系统提高承载量的基本手段分层模型(路由、代理)使用多态服务器来协同完成计算任务,最简单的思路就是,让每个服务器都能完成全部的请求,然后把请求随机的发给任何一个服务器处理。最早期的互联网应用中,DNS轮询就是这样的做法:当用户输入一个域名试图访问某个网站,这个域名会被解释成多个IP地址中的一个,随后这个网站的访问请求,就被发往对应IP的服务器了,这样多个服务器(多个IP地址)就能一起解...

2019-07-15 20:19:29 192

原创 你知道分布式动机是什么丶如何构建分布式爬虫原理技术与实现

分布式爬虫的动机那么什么是分布式?严谨学术的概念就不搬过来了。大致来说,就是需要计算的数据量太大,任务太多,一台机器搞不定或者效率极低,需要多台机器共同协作(而不是孤立地各做各的,所以需要通信),最后所有机器完成的任务汇总在一起,完成大量任务。然而还有一种情况,输入的待爬任务并不是固定不变的,而是实时变化的,这种情况下没办法人工以固定不变的逻辑去分割任务还能确保互相独立、互不干扰,最好的办...

2019-07-15 20:14:26 264

原创 Java架构师的10本小黄书(精华)

学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会。概述很多程序员们往往有看书的冲动,但不知道看哪些书,下面我就给各位Java程序猿们推荐一些好书(每本书的作者会加粗标红),其中绝大多数都是我自己平时在看的书,也算是我对于平时读的书做一个小总结和读后感吧。一丶深入理解Java虚拟机:JVM高级特性与最佳实践要想深入理解java虚拟机,一本书是不够的,所以推荐了以下几本书:1...

2018-03-25 15:31:39 5162

原创 Netty通信框架

Netty和Mina是Java世界非常知名的通讯框架。它们都出自同一个作者,Mina诞生略早,属于Apache基金会,而Netty开始在Jboss名下,后来出来自立门户netty.io。我正好最近也要做一些网络方面的开发,就研究一下Netty的源码,顺便分享出来了。 Netty目前有两个分支:4.x和3.x。4.0分支重写了很多东西,并对项目进行了分包,规模比较庞大,入手会困难一些,而3.x版本则...

2018-03-20 15:11:44 517

原创 MySQL性能优化与架构设计

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过 多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。MySQL架...

2018-03-19 14:13:51 342

原创 maven入门使用基础

Maven 是什么Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Mave...

2018-03-16 14:11:48 255

原创 jJava大型互联网架构-类的加载机制

当程序主动使用某个类时,如果该类还未被加载到内存中,系统会通过加载,连接,初始化三个步骤来对该类进行初始化,JVM将会连续完成这三个步骤,也把这三个步骤统称为类加载或类初始化。类加载指的是将类Class文件读入内存,并为之创建一个java.lang.Class对象,也就是说程序使用任何类时,系统都会为之建立一个java.lang.Class对象类是某一类对象的抽象,类是概念层次的东西,但类也是一种...

2018-03-15 14:33:33 371 1

原创 hadoop分布式集群之MySQL分布式集群搭建

分布式系统(distributed system)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。在分布式数据库系统中,用户感觉不到数...

2018-03-14 14:11:06 2102

原创 高并发架构设计思路

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

2018-03-13 13:41:06 6096

原创 分布式系统应用中的问题点之分布式锁的实现原理

分布式系统(distributed system)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。在分布式数据库系统中,用户感觉不到数...

2018-03-12 16:30:48 235

原创 如何透彻理解kafka消息系统设计与实现

Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统...

2018-03-11 14:11:30 1046

原创 基于zookeeper解决分布式锁问题与缓存技术实现分布式锁

分布式系统(distributed system)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。在分布式数据库系统中,用户感觉不到数...

2018-03-09 14:06:46 833

原创 Mysql数据库如何实现分布式锁

分布式锁是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥...

2018-03-07 14:10:11 2191

原创 使用Redis实现分布式锁与漏洞解决方案

分布式锁是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥...

2018-03-06 14:11:34 474

原创 微服务系统架构集成与服务规划

微服务架构是一项在云中部署应用和服务的新技术。大部分围绕微服务的争论都集中在容器或其他技术是否能很好的实施微服务,而红帽说API应该是重点。微服务可以在"自己的程序"中运行,并通过"轻量级设备与HTTP型API进行沟通"。关键在于该服务可以在自己的程序中运行。通过这一点我们就可以将服务公开与微服务架构(在现有系统中分布一个API)区分开来。在服务公开中,许多服务都可以被内部独立进程所限制。如果其中...

2018-03-05 14:42:55 1152

原创 微服务架构四大设计原则分析

微服务架构是一项在云中部署应用和服务的新技术。大部分围绕微服务的争论都集中在容器或其他技术是否能很好的实施微服务,而红帽说API应该是重点。微服务可以在“自己的程序”中运行,并通过“轻量级设备与HTTP型API进行沟通”。关键在于该服务可以在自己的程序中运行。通过这一点我们就可以将服务公开与微服务架构(在现有系统中分布一个API)区分开来。在服务公开中,许多服务都可以被内部独立进程所限制。如果其中...

2018-03-01 14:11:21 3873

空空如也

空空如也

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

TA关注的人

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