自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 程序员才能看得懂的段子,内含表情包,吃饭的时候别点!

很多网友都认为程序员必定是非常古板,整天只会敲键盘的码农。其实这种看法是非常片面的。真正优秀的程序员,不仅精通程序的编写,还是某些领域的专家。许多“码农”也会发生很多让人啼笑皆非的趣事,这些故事你的身边有发生过吗?1、公司两位程序员同事聊天,甲抱怨说:“每天敲代码太辛苦了,我想换行”乙说:“敲回车啊”2、公司的前端工程师单身久了,就去了交友网站去找女朋友,过了段时间问他找到了,没有,工程师说...

2019-05-05 19:05:46 27453 106

原创 一家公司要了你后,凭什么给你开高工资?

今年团队招聘的时候,我面试过一个西财的学生,前面整体感觉都不错,问到期待薪资是多少,少女微微一笑,说:刚开始就开六千吧。我被懵了一逼,问:你知道西安市场的行情么?少女天真无邪的答道:不知道,但我觉得自己就值这个价。我又问到技能这个环节,少女显然神采奕奕,说:普通话二级甲等,熟练掌握office办公软件,会Photoshop的基本操作,英语四级……当天晚上我气愤的发了条微博:普通话二级甲等,熟练掌...

2018-12-29 18:10:00 3989 17

原创 什么是Spring源码?阿里十年架构师仅用一篇文档总结,秒懂

前言Spring框架是每一位Java开发人员的必修课,而阅读源码是学习spring的最好方式之一。可是还是有很多人开发了好几年,还是不会读源码,甚至还有些人都没有看过源码。为什么要阅读源码?优秀源码的设计思想以及实现方式都是相通的,一旦掌握,就可以举一反三,一通百通; 任何一款源码都经历了多年发展和提炼,其复杂程度和完美程度都远远超越我们日常开发的项目; 很多源码都出自大...

2019-11-06 13:55:05 983

原创 「深入浅出Netty」不愧是阿里架构师,这篇Netty实战文档太实用

前言什么是Netty?Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。也就是说,Netty是一个基于NIO的客户,服务器端编程框架,使用Netty可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户,服务端应用。作为当前最流行的NIO框架,Netty在互联...

2019-11-06 13:53:16 2127 5

原创 拒掉菜鸟offer之后,5面阿里蚂蚁金服(Java面经分享)

蚂蚁金服中间件二号机一面:自我介绍讲一下ArrayList和linkedlist的区别,ArrayList的扩容方式,扩容时机。hashmap的实现。NIO了解么,讲一下和BIO的区别,AIO呢。阻塞,非阻塞,异步。具体。你说了解分布式服务,那么你怎么理解分布式服务。你说了解Tomcat的基本原理,了解的是哪一部分,基本架构,connector和container你在...

2019-11-06 13:49:42 906

原创 面试腾讯Java后台岗,处女面秒挂,17天后竟然拿下字节跳动offer

BAT一直是互联网人包括程序员梦寐以求的公司,可相对这三个公司的进入门槛很高,无奈只能望门兴叹,所以只能苦练技能才能有机会去敲开BAT的大门。下面是一位Java程序员的亲身经历,面试腾讯PCG部门处女面秒挂,但并未气馁,17天后竟拿下了字节跳动的offer,特献上面试真题,以供参考学习。腾讯PCG部门,Java后台岗(处女面秒挂),出来就懵了自我介绍 项目介绍 重载和重写的区...

2019-11-06 13:48:26 2368 1

原创 京东商城Java岗4面斩获offer:Spring+MySQL+索引+JVM等

面试京东已经到十月中旬了,实际上在京东之前就有投递过好几家公司,BAT基本是来了一波一轮二轮游客观光,字节跳动挂在了3面,也不知道原因,我也不敢问呐!华为是直接简历都没有过,凄惨惨,最后的希望就寄托在了京东和网易上,网易目前还在等通知,10月30号终于等到京东的录用意向书,特分享一波京东的面经,共勉!京东商城部门Java研发岗,历经4面斩获offer(3轮技术+HR面)京东...

2019-11-06 13:46:44 640

原创 临近双十一,我等来了阿里天猫团队offer,面试官:你能加班吗?

加班是大家老生常谈的话题了,国内互联网公司加班现象更是严重,而互联网公司中则要数程序猿加班最为厉害。很多人是在加班,但不代表很多人愿意加班,可能刚入职场的小白倒是干劲十足,成了工作狂,或者是热爱工作,又想证明自己的人生价值不断投身于事业中的人…那么你,能接受加班吗?(以下是某程序员投稿的阿里面经,在双十一来临之际,拿下天猫团队的offer,而面试官却直接问道:你能加班吗?)临近双十一,我等...

2019-11-06 13:40:50 507

原创 Hadoop如何将TB级大文件的上传性能优化上百倍?

这篇文章,我们来看看,Hadoop的HDFS分布式文件系统的文件上传的性能优化。首先,我们还是通过一张图来回顾一下文件上传的大概的原理。由上图所示,文件上传的原理,其实说出来也简单。比如有个TB级的大文件,太大了,HDFS客户端会给拆成很多block,一个block就是128MB。这个HDFS客户端你可以理解为是云盘系统、日志采集系统之类的东西。比如有人上传一个1TB的大文件到网盘,或...

2019-05-31 16:05:27 1146

原创 Elasticsearch的Refresh与Flush操作

初次接触到这两个概念,估计都会觉得他们没什么差别,都是为了在操作索引之后让索引可以被实时性的搜索,不过它们还是有点不同的。Elasticsearch底层依赖Lucene,这里我们介绍下Lucene的segment, Reopen,commit。Segment在ES中,基本的存储单元是shard(分片),但是在更底层的Lucene上稍微有点不同,ES的每一个shard是Lucene的一个ind...

2019-05-30 11:07:35 2614

原创 SpringBoot集成Swagger,Postman,newman,jenkins自动化测试.

环境:Spring Boot,Swagger,gradle,Postman,newman,jenkinsSpringBoot环境搭建。Swagger简介Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件。一、SpringBoot集成Swagger1.build.gradle增加swagger相关jar包,maven项目同理。2.增加SwaggerConfi...

2019-05-29 16:36:23 3976

原创 骚操作:使用RxJava实现ImageView的拖动、旋转和缩放

自定义View首先自定义TrsImageView继承ImageView,设置ScaleType为Matrix,我们使用矩阵计算最终的translate, rotate和scale。public class TrsImageView extends ImageView { public TrsImageView(Context context) { super(cont...

2019-05-28 11:19:30 200

原创 Spring Cloud Stream如何处理消息重复消费?

最近收到好几个类似的问题:使用Spring Cloud Stream操作RabbitMQ或Kafka的时候,出现消息重复消费的问题。通过沟通与排查下来主要还是用户对消费组的认识不够。其实,在之前的博文以及《Spring Cloud微服务实战》一书中都有提到关于消费组的概念以及作用。那么什么是消费组呢?为什么要用消费组?它解决什么问题呢?摘录一段之前博文的内容,来解答这些疑问:通常在生产环境,我...

2019-05-27 20:24:55 415

原创 强大的免费开源录屏工具 Captura

Captura是一款强大的录屏软件, 免费开源,可以在Github上下载。Github:Captura官方具有可执行安装包以及绿色解压即用两种方式提供下载,但仅支持Win系统.第一种是仅录音频, 第二种是录全屏, 第三种是录指定全屏(针对多屏幕), 第四种是录窗口, 第五种是录区域, 第六种是录游戏(或者说录桌面复制).输出格式包括mpeg, gif, avi, steam.这三...

2019-05-26 13:26:11 23244 2

原创 JS事件绑定的常用方式实例总结

常用的事件绑定的几种方式有三种:直接在 dom 元素上进行绑定。用 on 绑定。用 addEventListener、attachEvent 绑定。一、直接在 dom 元素上进行绑定<input id="btn1" type="button" onclick="test();" />二、用 on 绑定兼容性:在IE,FF,Chrome,Safari,Mozilla,Op...

2019-05-24 11:41:50 499

原创 基于Spring cloud gateway定制的微服务网关

在构建微服务的架构体系过程中,API网关是一个非常重要的组件。那我们应该怎样实现一个微服务API网关,本文主要介绍Spring Cloud Gateway的功能,以及如何基于Spring Cloud Gateway定制自己的网关。Spring Cloud GatewaySpring Cloud Gateway提供的是一个用于在Spring MVC之上构建API网关的library,它的目标是...

2019-05-22 16:23:18 793

原创 聚集索引、非聚集索引、覆盖索引的工作原理分析总结!

「数据库」和「数据库索引」这两个东西是在服务器端开发领域应用最为广泛的两个概念,熟练使用数据库和数据库索引是开发人员在行业内生存的必备技能。使用索引很简单,只要能写创建表的语句,就肯定能写创建索引的语句,要知道这个世界上是不存在不会创建表的服务器端程序员的。然而, 会使用索引是一回事, 而深入理解索引原理又能恰到好处使用索引又是另一回事,这完全是两个天差地别的境界(我自己也还没有达到这层境界)。...

2019-05-21 14:13:25 372

原创 没想到腾讯竟然开源一套Android原生UI框架!

今天在浏览技术新闻的时候,发现腾讯就在今天开源了一套 Android 原生的 UI 框架。你们有没有发现,腾讯特别喜欢干这种事,哪一种事呢?喜欢开源 UI 框架,小程序也是这样的。我看到这个新闻后,第一时间就下载了 Demo ,体验了这个原生的 UI 框架,可以说,真的是非常的不错。跟他们说的理念是一样的。这个开源框架就是:QMUI_Android ,它的 Slogan 是:提高 Androi...

2019-05-20 10:51:58 2948 1

原创 Zookeeper与paxos算法

一、 zookeeper是什么官方说辞:Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。好抽象,我们改变一下方式,先看看它都提供了哪些功能,然后再看看使用它的这些功能能做点什么。二、 zookee...

2019-05-19 17:18:25 445

原创 彻底搞懂synchronized(从偏向锁到重量级锁)

接触过线程安全的同学想必都使用过synchronized这个关键字,在java同步代码快中,synchronized的使用方式无非有两个:通过对一个对象进行加锁来实现同步,如下面代码。synchronized(lockObject){ //代码}对一个方法进行synchronized声明,进而对一个方法进行加锁来实现同步。如下面代码public synchornized void ...

2019-05-17 11:53:12 719 1

原创 你需要了解的网络协议

网络协议有哪些?应用层:HTTP、FTP、SSH、SMTP表示层会话层传输层:TCP、UDP网络层:IP数据链路层物理层HTTP的工作流程如下 :HTTP是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。地址解析HTTP协议是通过标准URL来请求指...

2019-05-16 11:30:05 491

原创 数据库连接池

什么是数据库连接池呢?数据库连接池(Connection Pooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地分配池中的连接进行申请、使用、释放。由于数据库连接的创建和断开是一个耗时性的操作,同时对数据库会造成安全隐患。因此,在程序初始化时集中创建多个连接,并将其集中管理供程序使用,可以保证较快的数据读写速度且提高系统的安全可靠性。连接池是创建和管理一个...

2019-05-15 19:03:58 621

原创 面试必问的JVM应该怎么学(面试题含答案)

java虚拟机的基本结构如图:1)类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中可能还会存放运行时常量池信息,包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)。2)java堆在虚拟机启动的时候建立,它是java程序最主要的内存工作区域。几乎所有的java对象实例都存放在java堆中...

2019-05-14 16:50:32 327

原创 12 款超实用的 Win10 UWP 应用分享

Grover Podcast商店最佳播客应用!纯净简洁,体验很棒。支持手动添加播客源、在线浏览搜索频道、资源下载、OPML 备份文件导入/导出等。ACG播放器功能很强大的一款视频播放器,效果酷炫,支持艺术字母、音效视效增强,可自由定制界面样式和手势操作。疯狂番茄 - 番茄工作法 + 任务管理很完善的番茄钟工具,正如其名字里说的那样,结合和番茄钟和任务管理,相当于 todo-list...

2019-05-13 19:13:47 7125

原创 Cookie、Session和Token

前言Web诞生之初,功能比较单一:允许Internet上任意一个用户都可以从许多文档服务计算机的数据库中搜索和获取文档。服务器不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 即请求加响应,服务器不用记住是谁刚刚发了HTTP请求, 每个请求对服务器来说都是全新的。随着交互式Web应用的兴起,网站有了登录的需求,如在线购物网站,社交网站等等。这就面临一个问题,服务器...

2019-05-12 19:28:24 241

原创 我的在线编程工具

1.json.cnJson中文网致力于在中国推广Json,并提供相关的Json解析、验证、格式化、压缩、编辑器以及Json与XML相互转换等服务。(1).json在线解析(2).什么是json(3).json解析代码(4).json组件2.Tool.lu程序员的工具箱。工具在手,事半功倍,工作无忧。可支持在线运行php,c,c++,go,python,java,等主流语言,页...

2019-05-10 17:19:46 2285

原创 阿里面试题:Mybatis中的Dao接口和XML文件里的SQL是如何建立关系的?

一、解析XML首先,Mybatis在初始化SqlSessionFactoryBean的时候,找到mapperLocations路径去解析里面所有的XML文件,这里我们重点关注两部分。1、创建SqlSourceMybatis会把每个SQL标签封装成SqlSource对象。然后根据SQL语句的不同,又分为动态SQL和静态SQL。其中,静态SQL包含一段String类型的sql语句;而动态SQL则...

2019-05-09 15:53:34 286

原创 阿里员工正准备跳槽,被领导约谈涨薪,晒出薪水:今年又不能走了

阿里目前来说是互联网企业的龙头老大,阿里的员工薪水都很高,而且阿里有一套完整的薪资体制,也很成熟。公司在给员工薪水的同时还会将阿里的股票分给每个员工,这对员工来说是很大的一个诱惑,毕竟都知道阿里每年的业绩是一个什么样的增长速度。最近有位在阿里工作的网友分享了他在阿里的亲身经历:在阿里工作了6年,已经到了p7,本来已经拿了外面的offer,但是他的主管跟他谈了一下,给他的薪水涨到41000,还...

2019-05-08 19:07:19 3189 1

原创 为什么现在90后员工离职率那么高?

近几年职场上普遍存在一个奇怪的现象,90后的员工离职率特别高,95后就更不用说了,几乎可以用“一言不合就离职”来形容。那究竟是为什么现在90后的员工离职率那么高呢?回想我们父母那一代,大部分人都是踏踏实实地在一个岗位上工作了一辈子,中间换工作的也是极少数人,其中有一些人还是因为之前的工作不景气,不得不离开再去重新找工作的。但现在的年轻人就完全不一样了。首先是思想上有很大的差异,老一代的人都觉...

2019-05-07 15:12:51 3124

原创 Mysql数据库读写分离和需要注意的事项

因为用户的增多,数据的增多,单机的数据库往往支撑不住快速发展的业务,所以数据库集群就产生了!今天来说说读写分离的数据库集群方式!读写分离顾名思义就是读和写分离了,对应到数据库集群一般都是一主一从(一个主库,一个从库)或者一主多从(一个主库,多个从库),业务服务器把需要写的操作都写到主数据库中,读的操作都去从库查询。主库会同步数据到从库保证数据的一致性。这种集群方式的本质就是把访问的压力从主库...

2019-05-06 11:51:32 440

原创 Kafka面试题全套整理:消息处理+高可用集群+生产者与消费者实例

有很多人问过我要过Kafka相关的面试题,我一直懒得整理,这几天花了点时间,结合之前面试被问过的、别人咨询过的、我会问别人的进行了相关的整理,也就几十题,大家花个几分钟看看应该都会。面试题列表如下:Kafka的用途有哪些?使用场景如何?Kafka中的ISR、AR又代表什么?ISR的伸缩又指什么Kafka中的HW、LEO、LSO、LW等分别代表什么?Kafka中是怎么体现消息顺序性的?...

2019-04-30 10:56:50 284

原创 2019最新Java Web J2EE下的两大框架SSH和SSM对比

当下流行的两种企业开发MVC开源框架,是我们Java程序猿必备知识能力。MVC,即模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。框架之所以流行,在于其易复用和简化开发,精髓在思想,掌握了核心思想,我们掌握其他...

2019-04-29 16:16:53 974

原创 MySql索引那些事

一、什么是索引数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。就像我们以前用的新华字典的目录一样,能帮助我们快速查询到某一个字。二、索引的分类三、索引实例分析(以InnoDB为例)3.1 InnoDB下索引的结构InnoDB下,表都是根据主键顺序以索引的形式存放的,这种数据存储方式也被称为聚簇索引,“聚簇”就是表示数据行和相邻的键值紧凑的存储在一...

2019-04-27 16:39:39 153

原创 Kafka竟然不支持读写分离!今天才知道!

Kafka竟然不支持读写分离!今天才知道! 在 Kafka 中,生产者写入消息、消费者读取消息的操作都是与 leader 副本进行交互的,从 而实现的是一种主写主读的生产消费模型。数据库、Redis 等都具备主写主读的功能,与此同时还支持主写从读的功能,主写从读也就是读写分离,为了与主写主读对应,这里就以主写从读来称呼!在 Kafka 中,生产者写入消息、消费者读取消息的操作都是与 leade...

2019-04-26 11:00:06 245

原创 如何看待哔哩哔哩(B站)的后端代码主仓库被上传至了GitHub?

来只知乎谢圜的回答:虽然在大厂但不做后端,那就不聊技术细节了。首先代码地址就不说了,该关注的都FORK了。在短短几个小时内,该项目的fork数已经达到了5000+。项目名go-commom,能猜到这就是一个用go语言写的支持库。这意味着什么呢?根据GitHub的规则来看,这个项目已经被备份了5000多次且不可被连带删除,基本属于不可挽回的操作。当然根据DMCA协议是可以的,但是想想就...

2019-04-24 10:51:05 778

原创 消息中间件面试题:如何保证消息不被重复消费

面试题剖析回答这个问题,首先你别听到重复消息这个事儿,就一无所知吧,你先大概说一说可能会有哪些重复消费的问题。首先,比如 RabbitMQ、RocketMQ、Kafka,都有可能会出现消息重复消费的问题,正常。因为这问题通常不是 MQ 自己保证的,是由我们开发来保证的。挑一个 Kafka 来举个例子,说说怎么重复消费吧。Kafka 实际上有个 offset 的概念,就是每个消息写进去,都有一...

2019-04-23 20:25:23 639

原创 Linux的优缺点,Linux与Windows的区别

当我们每个人接触Linux之前,应该先接触的都是Windows吧?但我们一般接触Linux后,习惯Linux的管理和使用方法后,我们再回过头再来使用Windows的时候,内心其实是拒绝的。我们会觉得图形好麻烦,图形好Low的感觉,这个时候我们差不多是一个Linux的重度爱好者了。对于Linux是欲罢不能的,真是一个遇到贵妇一样的感觉,总是觉的她很神秘、很多我们想探索的地方。Windows和Lin...

2019-04-20 11:18:24 643

原创 Apache Ignite上的TensorFlow

任何深度学习都是从数据开始的,这是关键点。没有数据,就无法训练模型,也无法评估模型质量,更无法做出预测,因此,数据源非常重要。在做研究、构建新的神经网络架构、以及做实验时,会习惯于使用最简单的本地数据源,通常是不同格式的文件,这种方法确实非常有效。但有时需要更加接近于生产环境,那么简化和加速生产数据的反馈,以及能够处理大数据就变得非常重要,这时就需要Apache Ignite大展身手了。Apac...

2019-04-18 17:05:10 330

原创 2019值得关注的数据可视化工具TOP5

数据可视化在数据分析过程中的扮演着非常重要的角色。对于数据科学家或数据分析师来说,以更直观、便于查看、甚至更吸引人的视觉效果来呈现数据是很重要的。数据可视化是一个有效的市场工具,通过这种方式,从海量数据中挖掘的知识与信息就可以一种简单的方式直观地进行展示,目前数据分析师或数据科学家们以图形格式来进行数据展示的方法有很多。为什么数据可视化很重要?根据人类大脑的处理方式,看到电子表格和使用图表的...

2019-04-17 14:47:23 427

原创 不要996!程序员创建955.WLB不加班公司名单,GitHub周榜第二

一个人的一生应该怎样度过?现在程序员们开始认真思考这个问题。GitHub 的每周趋势榜上,996.ICU 已雄踞第一,第二则是这个项目的反向 Repo:WLB所谓 955,就是每天 9 点上班,下午 5 点下班,每周工作 5 天时间。而 WLB,就是 Work-Life Balance 即工作生活平衡。WLB,主要用来统计哪些公司不加班。咱们接下来看看,到底哪些公司能让程序员们...

2019-04-11 16:40:32 882

空空如也

空空如也

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

TA关注的人

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