自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 阿里架构师:如何成为一个年薪 40 万以上的Java程序员?

不想当将军的兵不是好兵,就程序猿不想当架构师就不是好的程序员!Java架构师主要需要做哪些工作呢?1、负责设计和搭建软件系统架构(平台、数据库、接口和应用架构等),解决开发中各种系统架构问题。2、优化现有系统的性能,解决软件系统平台关键技术问题攻关、核心功能模块设计、核心代码开发。3、在项目需求不断细化的工程中校正整体的架构设计,以及详细模块拆分设计。4、营造技术学习氛围,带领...

2019-10-18 16:38:12 168

原创 阿里的这款 IDE 插件再次升级!让开发部署提速 8 倍!

2019年3月份,在阿里云北京峰会上,阿里巴巴正式发布了“阿里巴巴小程序繁星计划”,截至当前,已经有成千上万的开发者加入这个计划,使得小程序得到蓬勃发展,然而不可避免的是,这些服务加重了对云端的开发部署、运行运维等能力的依赖。为了满足对众多小程序场景的需求,阿里发布了「小程序云」,为开发者提供了“一次开发,全网运行”的能力,支持 Spring Boot、Node.js 等主流开发框架...

2019-10-16 16:20:38 329

原创 最新阿里、拼多多、快手Java岗面试题269 道送答案

Java面试,是对技术知识栈的梳理、考核、复盘每一次Java面试,其实都是一次学习机会,是对自己技术知识栈的梳理、考核、复盘。我们应该抱着学习的态度,认真对待,找到自己比较薄弱的环节,尽快去查漏补缺学习巩固。经过一轮认真复习之后,你会发现自己的技术知识栈越来越充实,这时候再去挑战好offer,成功概率无疑会增大很多。当有机会参与心仪公司或BAT大厂面试时,你至少能够游刃有余回答大部分问题。...

2019-10-10 16:34:35 1053

原创 微服务MySQL分库分表数据到MongoDB同步方案

在现有的架构中做大数据分析,第一步面临的问题就是数据如何从关系型数据库到非关系数据库,网上有很多的解决方案,我们也经过了很多的摸索,经历了三套方案的实践,最终使用了canal。这是我们大数据部门的一个同事张同睿写的文章,分享给大家,如果感兴趣后面可以进一步的介绍。需求背景近年来,微服务概念持续火热,网络上针对微服务和单体架构的讨论也是越来越多,面对日益增长的业务需求是,很多公司做技术架构升...

2019-09-30 17:24:05 177

原创 一线互联网技术推荐:定有公司愿意为优秀的Java程序员买单

根据高端招聘平台100 offer发布的Java人才盘点报告,在过去的2018年,Java仍然是最流行、招聘供需量最大的技术语言。在此基础上,互联网行业针对 Java 开发的招聘需求,也是近年技术类岗位供需量最大,且变化最稳定的。企业对 Java 工程师发放的面邀数占比也远高于其他岗位,在100 offer平台上,Java工程师的需求占总需求的近60%,可以说,在当前各大公司“裁员”的背景下,...

2019-09-30 17:22:00 137

原创 Java面试200+题(含答案):基础+缓存+网络+分布式+数据库+JVM

前言金九银十已经过半了,就目前国内的面试模式来讲,在面试前积极的准备面试,复习整个 Java 知识体系将变得非常重要,可以很负责任的说一句,复习准备的是否充分,将直接影响你入职的成功率。但很多小伙伴却苦于没有合适的资料来回顾整个 Java 知识体系,或者有的小伙伴可能都不知道该从哪里开始复习。在这分享Java面试常问的200+个问题及免费的Java基础到架构面试的答案文档(PDF版),希望能让...

2019-09-30 15:38:18 272

原创 开发三年的Java程序员,如何摆脱日复一日的CRUD?

T行业技术人员的薪资向来不低,吸引了一批又一批明知“苦逼”又前赴后继的毕业生。作为一名技术从业者,本应该崇拜技术,在商业项目中不断在纵向领域中做深度打磨。但在绝大多数中小型的公司中,业务线要求我们快速迭代,产品要求我们迅速上线。这就导致了大批的技术人员成为日复一日CRUD的“流水技工”。死循环就是不停的循环,没有循环终结条件。在实际工作生活中我们就像生活在while(1)语句的...

2019-09-25 17:28:51 205

原创 面试:你还担心被面试官问到Redis虐的体无完肤吗?来看看这篇文章吧

前言回想从前小编面试的时候,被面试官问到Redis相关的问题,大脑瞬间一片空白,根本不知道如何作答,想想都是满满的心酸~我不知道读者朋友们有没有这样的经验,或许没有;或许有,“但是”迟早都会有的,毕竟啊~苍天饶过谁?开始首先,让我们来看看最近关于Redis的面试题目都有哪些?Redis支持哪几种数据类型? Redis主要有哪些功能? Redis是单进程单线程的? Redis为...

2019-09-25 17:26:21 357

原创 分布式服务架构精讲pdf文档:原理+设计+实战,(收藏再看)

前言如果你期待对分布式系统有一个更全面的认识,想要了解各个技术在分布式系统中如何应用、分别解决哪些问题、有怎样优秀的实现,推荐阅读、收藏本篇。分布式、微服务几乎是现在的技术人员必须要了解的架构方向,从理论上来讲确实解稿了很多结构,但另 方面,又会带来更多衍生的复杂度及难点 如何保证事物的最终 致性?如何进行性能及容量预估?如何处理分布式系统的日志?如何进行线上应急?如果你 曾有和我...

2019-09-23 16:01:14 664

原创 面试进阶必备:JVM+Redis+设计模式+SpringBoot.pdf文档资料

前言金九银十已经要到来,2019的接近尾声,作为一个开发人员,你是否面上了自己理想的公司,薪资达到心中理想的高度?面试:如果不准备充分的面试,完全是浪费时间,更是对自己的不负责。今天给大家分享下我整理的Java架构面试专题及答案,其中大部分都是大企业面试常问的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖全部方式,不过也希望能对即将找工作的朋友起到一些帮助!Java面...

2019-09-19 17:26:21 146

原创 浅谈Java程序员的黄金五年,如何实现快速进阶

在Java程序界流行着一种默认的说法叫“黄金5年”,也就是一个程序员从入职的时候算起,前五年的选择直接影响着整个职业生涯中的职业发展方向和薪资走向,如何走好这5年,彻底从一个刚入行的菜鸟蜕变成可以以不变应万变的职业大牛,这是一个涉及到自身专业知识储备和选择的大难题,那么,这五年里,一个Java程序员如何做才能完成从入行到大牛的晋升之路呢?参加工作1-2年之间在这段时间里,想必对Java已经...

2019-08-27 15:11:54 126

原创 码农的10年的技术生涯和技术成长,启发篇

先简单分享自己这10年在技术上曾经感觉到明显迷茫的阶段:阶段1:只会增删改查:时间:大学期间(2008年-2009年)学习的方式:看视频、看书。(学会了使用控件的增删改查,和写SQL语句)。自我感觉:XX管理系统已不在话下,反正网站弄来弄去也是增删改查,这大概就是无知者无畏。如何破:(走出社会去就好了)。阶段2:能快速实现功能,却不会思考:时间:(2009年-20012...

2019-08-23 16:29:00 104

原创 Kubernetes简介及入门

如今单体应用(monolithic application)日渐被认为是一种反模式(antipattern),而云平台则成为了应用部署的香饽饽。这个转变可不仅仅像是在别人的机器上启动一个虚机那么简单。如何能有效地利用云的资源和伸缩性,意味着和要过去的单体应用划清界限,转而拥抱新的架构和开发实践。微服务正逐渐成为云端应用及服务分发的事实标准。应用被拆分成松耦合的小模块,每个模块都有自己的职责。这...

2019-08-12 13:57:51 106

原创 面试大厂高频考点:多线程+MySQL+Redis+框架使用

金九银十快到了,即将进入找工作的高峰期,最新整理面试必问高频面试题:多线程+MySQL+Redis+数据结构算法答案总结,希望对想进BAT的同学有帮助,由于篇幅较长,建议收藏后细看~并发编程1、并发编程三要素?2、实现可见性的方法有哪些?3、多线程的价值?3、创建线程的有哪些方式?4.创建线程的三种方式的对比?5、线程的状态流转图6.Java线程具有五中基本状态...

2019-08-06 15:49:53 324

原创 我的JAVA面试经验(5年左右工作经验)

前言致那些迷茫的JAVA面试者(特别是南京的1-4年经验),致那些奋发的年轻人,致自己。写这篇文章主要也是对我的成长道路的记录,面试受挫后的反思,及对自己的勉励。本人介绍:5年多经验的程序员,坐标南京。背景:因水平有限,及对部分面试问题记忆及理解有限,可能有些问题并不能表达准确。掌握技术有限,学习主动性一般(虽遇到问题善于思考钻研,但如果没有遇到问题比较放纵自己...被自由,轻松,...

2019-08-04 17:08:58 240

原创 Java架构师笔记:搞定面试:8招教你拿到心仪offer

第一次面试傻傻的什么准备都不做以为履历过了就可以通过面试然而在被HR问到一些没有思考过的问题的时候因为面试不过关被筛下来了有点颓废然后去咨询了资深HR的学姐学姐对我对面试毫无准备的做法感到不可思议告诉了我面试中的秘籍然后完美的通过了面试如果你是应届毕业生那你一定要看完如果你正在找工作也一定要看完面试中遇到的这些问题应该怎么回答?第...

2019-08-03 14:13:58 251

原创 Java程序员,除了最常用的20%技术还需掌握哪些技术才能游刃有余

有人私信我说,除了要掌握的20%以外还要掌握些什么知识才能游刃有余。下面说说我接触(使用)过、的东西吧。java以分布式应用丰富的生态闻名,在分布式系统中逃不过CAP的抉择。早早了解一些分布式一致性协议paxos、raft等。学习zookeeper的原理和使用场景(metadata、分布式锁、leaderEletion... etc) RPC框架在SOA架构中起着重要的作用,好好探究终是有好...

2019-08-02 17:38:54 153

转载 面试季:如何在面试中介绍自己的项目经验,如何快速得到提升?

现在已经是7月份,一些互联网大厂已经开始提前批了,再过两个月就要迎来金九银十的黄金面试季。在面试时,经过寒暄后,一般面试官会让介绍项目经验 。常见的问法是,说下你最近的(或最拿得出手的)一个项目。根据我们的面试经验,发现有不少候选人对此没准备,说起来磕磕巴巴,甚至有人说出项目经验从时间段或技术等方面和简历上的不匹配,这样就会造成如下的后果。第一印象就不好了,至少会感觉该候选人表述能力不...

2019-07-18 15:31:38 104

原创 Netty 实现心跳机制与断线重连

心跳机制何为心跳所谓心跳, 即在 TCP 长连接中, 客户端和服务器之间定期发送的一种特殊的数据包, 通知对方自己还在线, 以确保 TCP 连接的有效性.注:心跳包还有另一个作用,经常被忽略,即:一个连接如果长时间不用,防火墙或者路由器就会断开该连接。如何实现核心Handler —— IdleStateHandler在 Netty 中, 实现心跳机制的关键是 Id...

2019-07-11 16:34:25 190

原创 Springboot整合Mybatis实现级联一对多CRUD操作

在关系型数据库中,随处可见表之间的连接,对级联的表进行增删改查也是程序员必备的基础技能。关于Spring Boot整合Mybatis在之前已经详细写过,不熟悉的可以回顾Spring Boot整合Mybatis并完成CRUD操作,这是本文操作的基础。本文先准备一个测试的数据库,然后使用MyBatis Generator进行部分代码自动生成,再以一个例子来展示稍微高级点的操作:使用Mybatis完成级...

2019-07-11 15:58:47 200

原创 解析Spring旗下顶级项目,基于SpringBoot+Cloud构建微云架构

前言首先,最想说的是,当你要学习一套最新的技术时,官网的英文文档是学习的最佳渠道。因为网上流传的多数资料是官网翻译而来,很多描述的重点也都偏向于作者自身碰到的问题,这样就很容易让你理解和操作出现偏差,最开始我就进入了这样误区。官网的技术导读真的描述的很详细,虽然对于我们看英文很费劲,但如果英文不是很差,请选择沉下心去读,你一定能收获好多。我的学习是先从Spring boot开始的,然后接触...

2019-07-10 16:19:08 230

原创 Redis单例、主从模式、sentinel以及集群的配置方式及优缺点对比

redis作为一种高效的缓存框架,使用是非常广泛的,在数据存储上,在运行时其将数据存储在内存中,以实现数据的高效读写,并且根据定制的持久化规则不同,其会不定期的将数据持久化到硬盘中。另外相较于其他的NoSql数据库,redis提供了非常丰富的数据结构,如dict,sds,linkedlist,ziplist,set,quicklist,geometry。在这些存储结构的基础上,redis为用户...

2019-07-10 15:48:38 104

原创 TCP/IP 协议就是传输洋葱?一文带你深入了解

一、 计算机网络体系结构分层计算机网络体系结构分层计算机网络体系结构分层不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。二、 TCP/IP 基础1. TCP/IP 的具体含义从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP...

2019-07-09 16:37:12 125

原创 JVM看这篇就够了

概念虚拟机:指以软件的方式模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统 ,是物理机的软件实现。常用的虚拟机有VMWare,Visual Box,Java Virtual Machine(Java虚拟机,简称JVM)。Java虚拟机阵营:Sun HotSpot VM、BEA JRockit VM、IBM J9 VM、Azul VM、Apache Harmony、Goog...

2019-07-09 15:52:14 92

原创 限流降级神器,带你解读阿里巴巴开源 Sentinel 实现原理

Sentinel 是阿里中间件团队开源的,面向分布式服务架构的轻量级高可用流量控制组件,主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助用户保护服务的稳定性。大家可能会问:Sentinel 和之前常用的熔断降级库 Netflix Hystrix 有什么异同呢?Sentinel官网有一个对比的文章,这里摘抄一个总结的表格,具体的对比可以点此 链接 查看。...

2019-07-08 17:59:24 100

原创 一个 Dubbo 服务启动要两个小时?怎么解决

前言前几天在测试环境碰到一个非常奇怪的与 dubbo 相关的问题,事后我在网上搜索了一圈并没有发现类似的帖子或文章,于是便有了这篇。希望对还未碰到或正在碰到的朋友有所帮助。现象现象是这样的,有一天测试在测试环境重新部署一个 dubbo 应用的时候发现应用“启动不起来”。但过几个小时候之后又能自己慢慢恢复,并能够对外提供 dubbo 服务。但其实经过我后续排查发现刚开...

2019-07-08 16:56:40 273

原创 数据量大的情况下分页查询很慢,有什么优化方案?

当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询。对于数据库分页查询,也有很多种方法和优化的点。下面简单说一下我知道的一些方法。准备工作为了对下面列举的一些优化进行测试,下面针对已有的一张表进行说明。 表名:order_history 描述:某个业务的订单历史表 主要字段:unsign...

2019-07-03 14:33:52 260

原创 《代码整洁之道》读书笔记

看完《代码整洁之道》之后我受益匪浅,但等到自己实践时却很难按照书中给的建议编写出整洁的代码。一方面是规则太多,记不住,另一方面书上引用了大量示例代码对这些规则进行佐证,在我记不住时亦不方便查阅。于是我把书中的规则摘了出来并加以一定的解释,闲暇时候多过几遍,希望这些规则时刻警示我,成为我的习惯。想看此书却还没开始的人也可以从这篇笔记出发,对笔记中列出的规则有疑问再翻书找答案,相信会比直接啃书来的...

2019-07-01 16:44:26 100

原创 Nginx的几个常用配置和技巧

文章列举了几个Nginx常见的,实用的,有趣的配置,希望看过之后能说一句:学到了!一个站点配置多个域名server{listen80;server_nameops-coffee.cnb.ops-coffee.cn;}server_name后跟多个域名即可,多个域名之间用空格分隔一个服务配置多个站点server{...

2019-07-01 16:14:31 94

原创 涵盖11个模块的130道一线互联网面试题,全会拿到40K高薪offer!

一、数据结构与算法基础· 说一下几种常见的排序算法和分别的复杂度。 · 用Java写一个冒泡排序算法 · 描述一下链式存储结构。 · 如何遍历一棵二叉树? · 倒排一个LinkedList。 · 用Java写一个递归遍历目录下面的所有文件。二、Java基础· 接口与抽象类的区别? · Java中的异常有哪几类?分别怎么使用? · 常用的集合类有哪些?比如List如何排序?...

2019-06-28 19:57:47 1147

原创 二叉树实战 22 题,速度收藏吧!

先上二叉树的数据结构:class TreeNode{ int val; //左孩子 TreeNode left; //右孩子 TreeNode right;}二叉树的题目普遍可以用递归和迭代的方式来解1. 求二叉树的最大深度int maxDeath(TreeNode node){ if(node==null){ ...

2019-06-27 15:14:41 84

原创 面试题:聊一聊设计模式的基本原则

设计模式(Design pattern)代表了程序开发的最佳实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的,那设计模式有那些基本设计原则的呢?通常来说,设计模式的基本原则包含以下 7 个内容: 单一职责原则(Single Responsibil...

2019-06-25 17:54:01 134

原创 解决SpringBoot多模块发布时99%的问题?SpringBoot发布的8个原则和4个问题的解决方案

如果使用的是 SpringBoot 多模块的项目,在发布的时候可能遇到各种各样的问题。本文归纳了以下 8 个原则和发布时经常出现的 4 个问题的解决方案,掌握了这些原则和解决方案,几乎可以解决绝大数 SpringBoot 发布问题。SpringBoot多模块发布的8大原则1 在发布模块打包,而不是父模块上打包比如,以下项目目录:如果要发布 api 就直接在...

2019-06-25 17:37:27 102

原创 Spring、SpringBoot、SpringCloud、SpringMVC面试文档(阿里向)

想让面试官在短短的几十分钟内就认可你的能力?想在最快的时间内收获 Java 技术栈最核心的知识点?想要更全面、更深入的了解 Java 技术?这里能够给你想要的所有答案给准备面试的大家,特别总结了 Java 程序员面试必备的面试题库~Spring框架自诞生以来一直备受开发者青睐,今天在这里分享的是一套Spring面试专题集合。其中包括了Spring、SpringB...

2019-06-24 17:29:33 516

原创 spring源码深度解析—Spring的整体架构和环境搭建

目录概述spring的整体架构Core Container Data Access/Integration Web AOP Test环境搭建gradle安装 源码链接获取 源码下载及 IDEA 导入 导入项目遇见问题创建测试项目正文概述Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向...

2019-06-19 20:33:06 114

原创 java线程启动原理分析

一、前言不知道哪位古人说:人生三大境界。第一境界是:看山是山看水是水;第二境界是看山不是山看水不是水;第三境界:看山还是山看水还是水。其实我想对于任何一门技术的学习都是这样。形而上下者为之器,形而上者为之道。一直很喜欢自己大一的高数老师,老师是老教授了,他讲数学,会引申到建筑学,计算机科学,以及哲学再到生活中的常识。也能从其他学科、日常生活中,提取出数学的概念。我想,这就是形而上者了。不...

2019-06-19 16:23:03 111

原创 【BAT面试题系列】面试官:你了解乐观锁和悲观锁吗?

前言乐观锁和悲观锁问题,是出现频率比较高的面试题。本文将由浅入深,逐步介绍它们的基本概念、实现方式(含实例)、适用场景,以及可能遇到的面试官追问,希望能够帮助你打动面试官。目录一、基本概念二、实现方式(含实例)1、CAS(Compare And Swap)2、版本号机制三、优缺点和适用场景四、面试官追问:乐观锁加锁吗?五、面试官追问:CA...

2019-06-19 15:45:28 125

原创 Java——日志解析

前言我们在编写代码时,都知道在关键算法,逻辑性较强的地方添加注释。一来提高了代码的可维护性。二来让代码有了自可读性。如果我们把注释理解为静态的自可读性。那么,程序在运行时,我们如何才能知道程序的实际运行路径呢?这就是今天的主角--日志!为什么要打日志?有很多朋友,不太喜欢打日志。好几百,甚至上千行的代码。啪,啪,啪的全写完!自信满满,一行日志也没打。联调,测试,上线都没问题。系统运行一...

2019-06-18 16:41:34 508

原创 Spring Cloud + Mybatis 多数据源配置

项目开发中遇到缺陷,使用多数据源能避免分库间数据同步的步骤,在此记录配置步骤。一、数据源自动配置禁用1、将spring boot自带的DataSourceAutoConfiguration禁掉,防止自动配置数据源。在@SpringBootApplication注解中添加exclude属性即可。2、添加注解@EnableTransactionManagement 并创建两个事务管理器...

2019-06-18 15:29:52 2178 1

原创 使用 Mybatis 真心不要偷懒!

前言这篇文章非常简单,没有什么高深技术。这些细节用过Mybatis的童鞋都知道。写这篇文章的缘由是:在最近的工作中,接手了一个外包项目,发现项目中 mapper 文件全部是自动生成的,代码十分冗余且不易维护,用知乎上的回答,这算得上是名副其实的”屎山”代码了。现在用 Mybatis做持久层算是Java系的主流,其中有一个主要的原因就是灵活性,但通过代码生成工具恰恰打破它的灵活性,生成一堆冗...

2019-06-18 15:09:42 139

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