自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我是月亮呀的博客

来自一位女架构师的分享【私人技术交流群:964357187】

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

原创 鹅厂java技术面试官说说常用的springmvc、springboot一些注解

springmvc,面试遇到这个鬼虽说是很正常的问题,但是还是得好好的整理下@Controller只是定义了一个控制器类@RequestMapping用来处理请求地址映射的注解是真正处理请求@Resource和@Autowiredbean的注入时使用@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需...

2019-07-13 22:02:45 840

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

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

2019-07-12 21:05:08 542

原创 互联网、科技公司校招偏好,解读高校就业数据,应届毕业生的后宫

推荐这是一个信息泛滥的社会,但信息不等于知识,不等于文化。在繁杂的信息中,梳理出有价值的知识是这个时代最需要的能力。沉淀和提炼信息的能力,是一种强大的学习力,也是难能可贵的求知欲和行动力。前言最近,各大高校纷纷发布了毕业生的就业质量报告,其中部分高校公布了重点就业单位及数据(也有高校称之为全球五百强企业就业情况),笔者整理了27所高校的就业报告,发现BAT、网易、华为等科技公司最爱在这...

2019-07-12 20:41:13 1170

原创 我们在开发中需要遵循的几个设计原则!

一、开发原则S:单一职责SRPO:开放封闭原则OCPL:里氏替换原则LSPI:接口隔离法则D:依赖倒置原则DIP合成/聚合复用原则迪米特法则在软件开发中,前人对软件系统的设计和开发总结了一些原则和模式, 不管用什么语言做开发,都将对我们系统设计和开发提供指导意义。本文主要将总结这些常见的原则和具体阐述意义。面向对象的基本原则(solid)是五个,但是在经常被提到...

2019-07-11 22:04:35 378

原创 开发10年,面试300人,想进阿里的大牛总结出,java面试69题

基础题目Java线程的状态 进程和线程的区别,进程间如何通讯,线程间如何通讯 HashMap的数据结构是什么?如何实现的。和HashTable,ConcurrentHashMap的区别 Cookie和Session的区别 索引有什么用?如何建索引? ArrayList是如何实现的,ArrayList和LinkedList的区别?ArrayList如何实现扩容。 equals方法实现...

2019-07-09 16:18:46 1140

原创 谁说数据库不适合Docker?解读MySQL DB Mesh的创造性实践

以 Docker 为代表的容器技术正在以一种不可阻挡的趋势席卷全球,但真正的落地过程依然十分坎坷。6 月 20 日北京,在 2019 企业容器创新大会上,业内首家覆盖业务全流程、运营全体系的移动信贷整体技术服务商飞贷金融科技的副总裁陈定玮分享了飞贷的数据库生产容器化及 Istio 应用的经验。基于飞贷金融科技容器化道路的实践与经验,InfoQ 记者也专访了陈定玮,并将其分享和思考整理如下。...

2019-07-08 21:47:02 730

原创 微服务架构之幂等性问题及设计思想,你不得不知的一些幂等方案

前言小伙伴们有没有遇到过生产环境经常出现过重复的数据?在排查问题的时候,数据又是正常的。这个是何解呢?怎么会出现这种情况,而且还很难排查问题。今天我给大家分享一下这里的原因,以及解决方案。读者福利:点击免费获取Java学习笔记,面试,文档以及视频罪魁祸首产生重复数据或数据不一致(假定程序业务代码没问题),绝大部分就是发生了重复的请求,重复请求是指同一个请求因为某些原因被多次提交...

2019-07-04 14:14:03 843 1

原创 通过IDEA快速定位和排除依赖冲突

|0前言我们程序员在开发的时候经常会遇到各种各样的 BUG 问题,其中大部分是业务逻辑异常,还有一些是代码书写不规范造成的异常例如:NullPointException(NPE),IndexOutOfBoundsException 等等,其实这些我们都好定位和修复。但是还有一些运行时异常定位起来是特别头疼的,那就是 jar 包冲突引起的异常。一般程序在运行时发生类似于java.lang....

2019-07-03 20:51:54 466

原创 我是技术总监,你干嘛总问我技术细节?

最近在公众号号上看到了一篇文章,读后蛮有感触的,程序员常常因为走技术还是管理两个方向而犹豫不决,希望通过以下文章的分享对大家有所思考,以下是作者原文。熟悉我的人都知道,我有位从事猎头工作的老婆,平时的工作是专为某些医疗、金融投资机构提供中、高级岗位职位人才招聘及相关咨询服务。相比之下,这项工作对业务专业性与人脉关系要求较高,经常会被行业大咖问:“这家公司你觉得怎么样?和某某公司比,你觉...

2019-07-03 20:48:09 589

原创 JAVA实现接口监控报警系统

 公司一内部系统需要添加一个接口和定时任务监控机制,针对了系统出现的定时任务没有执行,定时任务执行异常出错,对外传送的数据接口异常出错,对内的系统数据互传异常出错等问题进行设计,目的是为了能够让用户没发现问题的时候(发现就连绵不断的投诉了),让我们开发人员先知道那个接口或任务出错了,然后快速处理掉,这种未亡羊补牢的方式,目前还取得还不错的效果。  运用到的知识点也是非常简单的,思路就是把底层的...

2019-06-27 16:25:40 15065 1

原创 太厉害了,终于有人能把TCP/IP协议讲的明明白白了!

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

2019-06-24 17:42:30 2105 2

原创 包装严重的IT行业,作为面试官,我是如何甄别应聘者的包装程度

一、初选如何鉴别劣质简历 二、进入面试阶段,如何甄别对方的水分在互联网极速膨胀的社会背景下,各行各业涌入互联网的IT民工日益增大。早在2016年,我司发布了Java、Ios工程师的招聘信息,就Java工程师单个岗位而言,日收简历近200份,Ios日收简历近一千份。没错,这就是当年培训机构对Ios工程师这个岗位发起的市场讨伐。而随着近几年的发展,市场供大于求现象日益严重。人员摸底成为用人...

2019-06-23 21:12:28 818

原创 不可不说Java“锁”事,乐观锁 VS 悲观锁,公平锁 VS 非公平锁

前言Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8和Netty 3.10.6)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。文章篇幅较长,读完需要九分钟Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分组归类,再使用对比的方式进行介绍,帮助大家更快...

2019-06-20 17:55:24 573

原创 百亿数据量下,掌握这些Redis技巧你就能Hold全场

一、Redis封装架构讲解实际上NewLife.Redis是一个完整的Redis协议功能的实现,但是Redis的核心功能并没有在这里面,而是在NewLife.Core里面。这里可以打开看一下,NewLife.Core里面有一个NewLife.Caching的命名空间,里面有一个Redis类,里面实现了Redis的基本功能;另一个类是RedisClient是Redis的客户端。Red...

2019-06-19 21:51:40 373

原创 2019开发者年度调查报告:java最流行,js最常用,go最有前途

编程语言相关概览JetBrains 的调查结果显示,Java 依然是最流行的主要编程语言。因为参与调查的开发者中有 50% 表示,在过去 12 个月里使用的编程语言是 Java,有 44% 表示只使用或首先使用 Java。JavaScript 则是最常用的整体编程语言,这个结果也并不意外,毕竟“能用 JavaScript 实现的,最终都会用 JavaScript 实现”,所以 JavaSc...

2019-06-19 15:04:43 383

原创 2019社招阿里、腾讯、蚂蚁金服Java面试真题

在过去很长一段时间内,国内互联网一直处于三足鼎立状态,BAT即百度、阿里巴巴、腾讯。而在最新的互联网企业价值榜上,百度却被蚂蚁金服挤出前三的位置。能够进一线互联网公司,是大部分程序员奋斗的目标,有很多小伙伴可能因为学历望而止步,其实只要能力够,学历真的不是那么重要!今天给大家带来ATM(阿里巴巴,腾讯,蚂蚁金服)的Java面试真题,希望能帮助各位读者在奋斗的路上少走弯路。阿里巴...

2019-06-14 15:45:45 2277

原创 Java动态追踪技术探究,从JSP到Arthas

引子在遥远的希艾斯星球爪哇国塞沃城中,两名年轻的程序员正在为一件事情苦恼,程序出问题了,一时看不出问题出在哪里,于是有了以下对话:“Debug一下吧。”“线上机器,没开Debug端口。”“看日志,看看请求值和返回值分别是什么?”“那段代码没打印日志。”“改代码,加日志,重新发布一次。”“怀疑是线程池的问题,重启会破坏现场。”长达几十秒的沉默之后:“据说,排查问题的最...

2019-06-13 21:46:25 315

原创 谁说漂亮女程序员就不能拿大厂Offer了?美团面试经历分享,值得借鉴

美团我是在网上投的简历,之前也投过一次,简历都没通过筛选,后来让学姐帮我改了一下简历,重新投另一个部门,获得了面试机会。10月23日中午HR打电话过来预约了下午4点半面试,说会在线写代码,让我准备好网络环境。结果5点半还没打电话过来,被放鸽子。与hr重新沟通过后,确定下周一下午再面,可是跟hr沟通预约这一套貌似在美团并没有什么用。文末有总结面试资料分享给大家~美团技术一面20分钟...

2019-06-12 15:46:24 718 5

原创 使用 Gradle 构建 Spring-Boot 的 Docker 镜像

通常我们使用 Dockerfile 来构建项目的Docker 镜像,但是也有需求希望使用 gralde 在编译项目的时候一起把镜像给构建并上传,所以该教程讲解了使用 gradle 编写配置 Dockerfile 并生成镜像的过程。1. 添加依赖教程使用gradle-docker插件来实现,在 Gradle 的脚本里配置 dockerfile 的构建镜像功能。gradle-docker插...

2019-06-10 16:57:46 2316

原创 死磕 java同步系列之ReentrantLock源码解析(二)——条件锁

问题(1)条件锁是什么?(2)条件锁适用于什么场景?(3)条件锁的await()是在其它线程signal()的时候唤醒的吗?简介条件锁,是指在获取锁之后发现当前业务场景自己无法处理,而需要等待某个条件的出现才可以继续处理时使用的一种锁。比如,在阻塞队列中,当队列中没有元素的时候是无法弹出一个元素的,这时候就需要阻塞在条件notEmpty上,等待其它线程往里面放入一个元素后,...

2019-06-10 15:27:36 229

原创 死磕 java同步系列之ReentrantLock源码解析(一)——公平锁、非公平锁

问题(1)重入锁是什么?(2)ReentrantLock如何实现重入锁?(3)ReentrantLock为什么默认是非公平模式?(4)ReentrantLock除了可重入还有哪些特性?简介Reentrant = Re + entrant,Re是重复、又、再的意思,entrant是enter的名词或者形容词形式,翻译为进入者或者可进入的,所以Reentrant翻译为可重复进入...

2019-06-10 15:26:14 186

原创 2019年面试必备:最新Java核心知识点(1)—JVM

核心知识——JVM上篇文章我给大家看了Java核心技术点的目录兼进阶路线这篇文章将把文章里面的每个点分析给大家,我们先从第一个知识点入手。jvm基本概念:JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、 一个垃圾回收,堆 和 一个存储方法域JVM 是运行在操作系统之上的,它与硬件没有直接 的交互。...

2019-06-05 21:55:31 157

原创 【Java面试题系列】:Java中final finally finalize的区别

按我的个人理解,这个题目本身就问的有点问题,因为这3个关键字之间没啥关系,是相对独立的,我猜想这道题的初衷应该是想了解面试者对Java中final finally finalize的使用方法的掌握情况,只是因为3个关键字比较像,而成了现在网上流传的题目“Java中final finally finalize的区别”。既然是想了解面试者对Java中final finally finalize的使...

2019-06-04 14:41:43 143

原创 一起来了解一下针对代码级别的性能测试工具 JMH吧!

正文开始JMH,即Java Microbenchmark Harness,这是专门用于进行代码的微基准测试的一套工具API。JMH 由 OpenJDK/Oracle 里面那群开发了 Java 编译器的大牛们所开发 。何谓 Micro Benchmark 呢? 简单地说就是在 method 层面上的 benchmark,精度可以精确到微秒级。Java的基准测试需要注意的几个点:测试前需要...

2019-06-01 20:30:20 172

原创 mysql 分库分表,真的能支持服务无限扩容么?

刚开始工作的菜鸟,总会有各种疑问,刚开始是对 JDK API 的疑问,对 NIO 的疑问,对 JVM 的疑问,当工作几年后,对服务的可用性,可扩展性也有了新的疑问,什么疑问呢?其实是老生常谈的话题:服务的扩容问题。正常情况下的服务演化之路让我们从最初开始。1、单体应用每个创业公司基本都是从类似 SSM 和 SSH 这种架构起来的,没什么好讲的,基本每个程序员都经历过。2、RPC 应用当...

2019-05-31 19:37:37 480

原创 百度某员工哀叹:身边的混子太多,坚持了一年,简直浪费生命!

职场上总会有混子,大公司也不例外。无独有偶,一名自称来自百度的网友就在互联网匿名社区论坛吐槽起来,其称自己身边的混子太多,看着有能力的人一个个都走了,劣币驱逐良币而心寒。其还进一步补充道,之前在一家1000多人的独角兽公司,感觉都比百度这个部门的人各方面能力,态度都要强,很多不是一个层次的感觉,在百度坚持了一年,简直就是浪费生命。当然,这些都是来自这名百度员工自己的吐槽,其真实性我们不得而知...

2019-05-31 18:01:08 657

转载 @程序员,不会 Debug 还做什么开发?

“每个大程序里都有一个不安分的小程序”,想要成为一名好的开发人员,你得先真正学会 Debug 才行。以下为译文:总结我的编程生涯,可以得出如下两个硬道理:任何代码都可能出错,而且肯定会出错。代码有味道。而中和这些苦涩现实的唯一方法就是调试(Debug)。没错,就是调试。在刚开始接触编程的时候,没人会喜欢调试。相反,调试往往是沮丧和恐惧的根源。很多人心里说:“我要浪费多少时间...

2019-05-31 17:13:35 215

原创 为什么 TCP 建立连接是三次握手,关闭连接确是四次挥手呢?

背景描述对以下技术点有任何疑问的,可以来群里与更多的大佬交流切磋技术,戳这里:咱们来一起抱团取暖,好吗?我们知道网络层,可以实现两个主机之间的通信。但是这并不具体,因为,真正进行通信的实体是在主机中的进程,是一个主机中的一个进程与另外一个主机中的一个进程在交换数据。IP协议虽然能把数据报文送到目的主机,但是并没有交付给主机的具体应用进程。而端到端的通信才应该是应用进程之间的通信。UDP,在传...

2019-05-30 12:26:44 4325

原创 程序员懵逼时刻:几个月后,之前自己写的代码也看不懂了?

程序员们大多都会有过这样的经历,就是要看别人写的代码。比如说公司有同事离职了,他的业务就需要有其它的小伙伴们给接下来继续维护。这对好多程序员来说是一种折磨,边看边骂,这写的是什么东西呀。相信好多人都有这种经历。那么为什么会出现这样一个局面呢,其实这里面就有很多讲究的地方了,如果不注意的话,不光是看不懂别人写的代码,即使是自己写的代码,几个月后你再去瞧瞧,你也会发现,咦,看不懂了呢。那么接下...

2019-05-30 11:49:29 1274 1

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

前言乐观锁和悲观锁问题,是出现频率比较高的面试题。本文将由浅入深,逐步介绍它们的基本概念、实现方式(含实例)、适用场景,以及可能遇到的面试官追问,希望能够帮助你打动面试官。一、基本概念乐观锁和悲观锁是两种思想,用于解决并发场景下的数据竞争问题。乐观锁:乐观锁在操作数据时非常乐观,认为别人不会同时修改数据。因此乐观锁不会上锁,只是在执行更新的时候判断一下在此期间别人是否修改了数据:如...

2019-05-29 15:34:58 241

原创 面试题:你主要负责公司基础架构的高可用,那你说说DNS的解析过程?

DNS 是互联网核心协议之一。不管是上网浏览,还是编程开发,都需要了解一点它的知识。DNS 是什么?DNS (Domain Name System 的缩写)的作用非常简单,就是根据域名查出IP地址。你可以把它想象成一本巨大的电话本。举例来说,如果你要访问域名 math.stackexchange.com,首先要通过DNS查出它的IP地址是 151.101.129.69。查询...

2019-05-29 14:08:09 720

原创 我在阿里做技术面试官的一些经验

前言一般阿里腾讯这样的大公司,校招面试的流程是一轮统一笔试+三轮技术面试+一轮HR面试,如果对候选人的水平有争议,技术面试有可能会增加一轮,以2019年春招(实习生招聘)为例:统一的笔试。技术初面,一般这一轮都是由你将来同一个团队的比较资深的同事来面试技术二面,一般是由你的未来主管面试技术交叉面,一般是其他事业部的主管面试HR终面,非技术问题对应届生来说,大厂统一校招前,如果你想...

2019-05-28 21:35:06 4839 1

原创 10年程序员被裁员后的真实生活,痛心:没有这样放松过!

一名程序员在年前被裁员了,也许是塞翁失马,焉知祸福,借着这段被裁员的日子,这名程序员索性开始放松享受生活:12月底被裁,现在每天接送孩子买菜做饭,中午午休,说句实话也不是大富大贵,只是这样的日子突然发现好舒心,十年了没这么在春节前休息过,完全毫无压力,还能早点回老家陪老妈办年货,以前的春节都是担心年假请多了不好,不能第一天上班就到岗不好,担心项目出问题。担心过年得给老板电话拜年,给同事微信拜年...

2019-05-28 20:11:27 477

原创 Redis的Linux系统优化

文章转载自《Redis开发与运维》第12章通常来看,Redis开发和运维人员更加关注的是Redis本身的一些配置优化,例如AOF和RDB的配置优化、数据结构的配置优化等,但是对于操作系统是否需要针对Redis做一些配置优化不甚了解或者不太关心,然而事实证明一个良好的系统操作配置能够为Redis服务良好运行保驾护航。众所周知Redis的作者对于Windows操作系统并不感冒,目前大部分公司都...

2019-05-28 16:34:32 683 1

原创 五分钟带你搞定分布式事务

前言分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在这几年越来越火的微服务架构中,几乎可以说是无法避免,本文就围绕分布式事务各方面与大家进行介绍。一. 事务1.1 什么是事务数据库事务(简称:事务,Transaction)是指数据库执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。事务拥有以下四个特性,习惯上被称为ACID特性:...

2019-05-28 15:42:22 206

原创 Java并发编程40道面试题及答案——大厂面试稳了!

1、线程与进程的区别?进程是操作系统分配资源的最小单元,线程是操作系统调度的最小单元。一个程序至少有一个进程,一个进程至少有一个线程。文末有福利,思维导图和视频资料等你来领2、什么是多线程中的上下文切换?多线程会共同使用一组计算机上的CPU,而线程数大于给程序分配的CPU数量时,为了让各个线程都有执行的机会,就需要轮转使用CPU。不同的线程切换使用CPU发生的切换数据等就是上下...

2019-05-27 22:33:59 326

原创 看完不要再说自己不懂ZooKeeper,纯干货技术分享!

点关注,不迷路;持续更新Java架构相关技术及资讯热文!!!我本人曾经使用过 ZooKeeper 作为 Dubbo 的注册中心,另外在搭建 Solr 集群的时候,我使用到了 ZooKeeper 作为 Solr 集群的管理工具。前几天,总结项目经验的时候,我突然问自己 ZooKeeper 到底是个什么东西?想了半天,脑海中只是简单的能浮现出几句话:Zookeeper 可以...

2019-05-27 17:39:15 383

原创 面试题:你简历中写到熟悉Spring源码,那你给我说说它用到了那些设计模式?

Spring作为业界的经典框架,无论是在架构设计方面,还是在代码编写方面,都堪称行内典范。好了,话不多说,开始今天的内容。spring中常用的设计模式达到九种。模板方法(Template Method)spring的jdbc模板,对Spring源码的精妙真是佩服得五体投地,极为经典。spring中真是集设计模式之大成,而且用得是炉火纯青。模板方法(template method)就在sp...

2019-05-27 16:36:00 3287

空空如也

空空如也

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

TA关注的人

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