自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 25岁,一个北漂程序员,如果不想35 岁被淘汰,请把它当成一种信仰!

25岁,一个北漂程序员,入职三年,Java中级工程师,月薪15k,965的工作经常干成996,比起老家的同龄人,我拥有一份不错的薪水,但是想在北京安家,梦想似乎遥不可及。北京大概一年有5万人加入IT行业,这些人和你一起抢饭碗,你随时可能被淘汰掉。现实中的你,没办法谈恋爱,没有朋友,没房没车没钱,似乎得不到任何人的认可,每天坐着单调重复的事情,找不到一个break。作为一个个体,当然...

2019-08-06 17:14:26 9097 11

原创 作为一名程序员,谁没跳过槽,“6”招让你“空降”大厂

作为一名程序员,没有谁没跳过槽撇开在跳槽时对所“空降”的企业所需要的行业知识知根知底而“得心应手”,从而“稳定”外,其他人可能或多或少都有过因“不适应”新单位环境而又被迫再离开的厄运,以至于在再“找工作”时因为不能“骑马选马”而每况日下!有32.98%的开发者在过去一年(2013)中曾换过工作,其中有72.5%的人实现了薪资上涨。而在未换工作的开发者中,约有59.3%的开发者同样能够涨...

2019-08-05 14:57:38 35443 44

原创 最近很火的MySQL:抛开复杂的架构设计,MySQL优化思想基本都在这!

优化一览图优化笔者将优化分为了两大类:软优化和硬优化。软优化一般是操作数据库即可;而硬优化则是操作服务器硬件及参数设置。1、软优化1)查询语句优化首先我们可以用EXPLAIN或DESCRIBE(简写:DESC)命令分析一条查询语句的执行信息。例: DESC SELECT * FROM `user`显示:其中会显示索引和查询数据读取数据条数等信息...

2019-08-01 16:14:34 357

原创 2019最新Java码农进阶体系,传说中“架构师”到底要具备哪些技能?

最近,很多人都已经早早开始准备“金九银十”市场对中高端IT人才求贤若渴,目前Java架构师紧俏,企业高薪求才,薪资一涨再涨!年薪50万以上的Java高级架构师更是供不应求。但是“几家欢喜几家愁”,要成为传说中的“架构师”,并顺利进阶BATJ,掌握扎实的技术是必要基础,与此同时,你还需要一些面试的技术,还需要掌握以下5个关键点!Java架构师的职业现状和前景是什么,主流技术有哪些?...

2019-07-30 15:45:24 1029

原创 阿里巴巴:秋招中高级java面试题,50道详解,死磕就对了

最近,有很多童鞋咨询我面试的问题,今天专门为大家整理了一些程序员面试中常见的问题,希望对童鞋们有帮助哦!【文末有完整面试题领取方式】点击免费获取Java学习笔记,面试,文档以及视频问题一:多线程有什么用?一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓”知其然知其所以然”,”会用”只是”知其然”,”为什么用”才是”知其所以然”...

2019-07-24 16:00:51 661

原创 35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」

上个月4号通过阿里工作的学长进行内推,7天简历评估,11号接到电话面试,尽管猝不及防回答仓促,但好在前期准备充分,通过。3天后进行现场面试,通知时间为早上10点。当日设了七点闹钟,结果五点五十三分惊醒后再无法入睡,起床,重新翻看之前做的笔记和重点,在lintcode上找了几道可能性较大的题进行练手。10点准时在蚂蚁金服总部开始面试,十点四十七分结束。15号收到通知,现场面通过,16号进行HR面,2...

2019-07-08 16:22:20 5622 1

收到一份程序员简历,初中学历,自称北京码帝,你们可服?

程序员在我们看来都是很神秘的人,每天在办公室写着代码开发一些程序,程序员绝大多数都是拥有高学历,毕竟写代码也不是一件容易的事,在某论坛,一名程序员面试却被hr怒喷,想来也觉得好笑:收到一份程序员简历,初中学历,自称北京码帝,你们可服?这便是hr的原文。初中生做程序员还是很却少见,毕竟写代码是很专业的一件事,没有学习过还真胜任不了,在贴文最下方,hr还晒出这位程序员应聘简...

2019-08-29 21:29:04 1226

原创 技术面试官总结Nginx常见架构,原来你经常忽略这些问题

常见的nginx中间件架构1、静态资源web服务(文件读取sendfile、tcp_nopush、tcp_nodelay、压缩,预读gzip模块) 2、代理服务 3、负载均衡调度器SLB 4、动态缓存(添加cache-control、expires头) 静态资源处理静态资源访问、压缩nginx配置server{ listen 80; server_name loca...

2019-08-22 15:11:34 340

原创 妹子面试阿里,面试官竟问她有没有男朋友?面试真题「PDF分享」

刚好要到八月十五前后,又是大家 面试的高峰期,本文是Java开发 小熙(妹子) 的面试分享。之前有分享过很多面试:拿到蚂蚁金服 offer, 我不去了。身为技术专家的我,面试居然还要靠刷题?,刷了一个月算法,薪资终于Double了 等。为何要面试?过完年回来 公司的项目很闲,很多人觉得没意思陆续跳槽走了,我也考虑到自己的发展,从3月底开始面,面到4月底,面了三十家公司,虽很累,但我从不...

2019-08-22 15:03:50 560 1

原创 全面解析大数据批处理框架Spring Batch,所谓完美解析方案是什么?

如今微服务架构讨论的如火如荼。但在企业架构里除了大量的OLTP交易外,还存在海量的批处理交易。在诸如银行的金融机构中,每天有3-4万笔的批处理作业需要处理。针对OLTP,业界有大量的开源框架、优秀的架构设计给予支撑;但批处理领域的框架确凤毛麟角。是时候和我们一起来了解下批处理的世界哪些优秀的框架和设计了,今天我将以Spring Batch为例,和大家一起探秘批处理的世界。初识批处理典型场景 ...

2019-08-21 17:07:43 919

原创 亿级请求下多级缓存那些事,你全部吃下了吗?

什么是多级缓存所谓多级缓存,即在整个系统架构的不同系统层级进行数据缓存,以提升访问效率,这也是应用最广的方案之一。我们应用的整体架构如图1所示:图1 多级缓存方案文末有福利赠送,如果你感兴趣的话可以去领取架构资料。整体流程如上图所示:1)首先接入Nginx将请求负载均衡到应用Nginx,此处常用的负载均衡算法是轮询或者一致性哈希,轮询可以使服务器的请求更加均衡,而一致性哈希...

2019-08-19 22:25:47 319

原创 HashMap实现原理:容量、负载因子、hash与定位都搞定了吗?

HashMap是常考点,而一般不问List的几个实现类(偏简单)。以下基于JDK1.8.0_102分析。JDK版本:oracle java 1.8.0_102内部存储HashMap的内部存储是一个数组(bucket),数组的元素Node实现了是Map.Entry接口(hash, key, value, next),next非空时指向定位相同的另一个Entry,如图:容量(c...

2019-08-19 20:59:44 256

原创 一线互联网公司Java大牛一书带你深入浅出MyBatis技术原理与实战

写在前面MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。本书以讲解MyBatis基础运用...

2019-08-19 15:24:48 252

原创 面试官:为何MySQL索引要使用B+树而不是其它树形结构?比如B树?

一个问题?InnoDB一棵B+树可以存放多少行数据?这个问题的简单回答是:约2千万为什么是这么多呢?因为这是可以算出来的,要搞清楚这个问题,我们先从InnoDB索引数据结构、数据组织方式说起。我们都知道计算机在存储数据的时候,有最小存储单元,这就好比我们今天进行现金的流通最小单位是一毛。在计算机中磁盘存储数据最小单元是扇区,一个扇区的大小是512字节,而文件系统(例如XFS/E...

2019-08-18 22:02:29 351 1

原创 再见微服务,从100多个问题儿童到一个超级明星

本文翻译自Alexandra Noonan 的 Goodbye Microservices: From 100s of problem children to 1 superstar。内容是描述 Segment 的架构如何从 「单体应用」 -> 「微服务」 -> 「140+ 微服务」 -> 「单体应用」 的一个历程。翻译比较粗糙,如有疏漏,请不吝指教。注:下文说的目的地就是...

2019-08-15 11:39:39 210

原创 作为一名Java程序员,如何做到不接私活也能月薪38k?

接私活 对程序员这个圈子来说是一个既公开又隐私的话题,不说全部,应该大多数程序员都有过想要接私活的想法,当然,也有部分得道成仙的不主张接私活。但是很少有人在公开场合讨论私活的问题,似乎都在避嫌。就跟有人下班后跑滴滴一样,程序员私有时间接点活挣点钱不也很正常么,不过不要在上班时间就行,就跟你上班期间出去跑滴滴一样。但是我是不建议接私活的,接私活会浪费自己在一大部分的精力,就算不接私活,利用好工...

2019-08-14 14:18:53 494

原创 我们总是被贴上「爱跳槽」标签,程序员到底什么时候该考虑辞职?

很多人想要辞职但是因为怕被贴上「爱跳槽」的标签而裹足不前。从我观察的结果来看,很多程序员趋向于为了所谓的「声誉」而呆在老公司,但是在后期将两者相比较,「呆在老公司」的程序员处理问题的经验和职业发展前景远远不如那些频繁跳槽的。正如我以前曾经说过,有的公司甚至非常愿意在岗位上看到一些积极的人员流动。程序员通常会因为一些比较常见的原因(例如产品发布失败、裁员、薪酬/福利减少)而辞职。有人可能会说...

2019-08-13 15:03:05 262

原创 进阶中的程序员:深入解析 Spring boot(含PDF文档分享)

深入实践Spring Boot这次分享从技术、实践和原理3个维度对Spring Boot进行了系统且深入的讲解,介绍了如何使用Spring Boot开发框架进行基础应用和分布式应用等方面的开发,并且介绍了如何使用Spring Boot开发的应用搭建一个高性能的服务平台,同时还对Spring Boot的一些核心功能的源码进行了分析,从而加深对Spring Boot的理解。Spring...

2019-08-13 14:39:00 1256

原创 周一福利!分享Nginx实战——取代Apache的高性能Web服务器

众所周知,Nginx(engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,...

2019-08-12 10:58:40 358

原创 SpringBoot+JWT+Shiro+MybatisPlus实现Restful开发后端脚手架

一、背景前后端分离已经成为互联网项目开发标准,它会为以后的大型分布式架构打下基础。SpringBoot使编码配置部署都变得简单,越来越多的互联网公司已经选择SpringBoot作为微服务的入门级微框架。Mybatis-Plus是一个 Mybatis 的增强工具,有代码生成器,并且提供了类似hibernate的单表CRUD操作,又保留了mybatis的特性支持定制化 SQL。Apache...

2019-08-12 10:53:45 292

原创 超全面详解Java开发环境搭建(看完收藏)

在项目产品开发中,开发环境搭建是软件开发的首要阶段,也是必须阶段,只有开发环境搭建好了,方可进行开发,良好的开发环境搭建,为后续的开发工作带来极大便利。对于大公司来说,软件开发环境搭建工作一般是由运维来做,然而,对于小公司来说,这个工作就交给开发人员来做了,如开发经理。不管这个工作是交给运维人员做,还是交给开发人员做,能确定的是:做这件事的人,一定是个资深的人,如此,方可让开发环境稳定运行...

2019-08-12 10:28:05 562

原创 阿里架构师用心整理JVM与性能优化核心知识分享

JVM是Java Virtual Machine(Java 虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java语言的一个非常重要的特点就是平台无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平...

2019-08-10 16:16:40 276

原创 程序员月薪过万这条路,我一走就是6年,成就背后,我付出了多少

月薪过万对于一个985高校的毕业生应该很容易,因为有些人刚刚毕业,他的薪水已经是这个高度了然而对于我来说,这条路却走了6年。记得刚毕业的时候,我的薪水只有3500,而那多出来的500还是我拼命争取来的。那时候同班的同学都拿着5000,6000的薪资,说实话,我的内心是心有不甘的,我并不认为自己比别人差在哪,可能差就差在不善于表达,不够谦虚,总想靠自己一己之力闯出一片天,结果仅仅为了达到...

2019-08-10 14:20:45 314

原创 Redis集群架构+Dubbo开发框架+SSO单点登录+Nginx+ZooKeeper

Redis集群架构【课程介绍】Redis是现在使用为广泛的NoSQL数据库技术,其自身不仅拥有着良好的操作性能,也被广泛的应用于各种集群架构的数据整合处理之中,而本课程将通过Redis的核心作用,以及单实例redis存在的问题为读者进行分析,而后重点讲解redis官方给出的集群实现方案。【课程收益】本课程主要为读者讲解redis各种集群架构开发技术的使用,包括:Sentin...

2019-08-09 15:03:18 240

原创 Sharding-JDBC教程:Spring Boot整合Sharding-JDBC实现数据分表+读写分离

读写分离在上一篇文章介绍了如何使用Sharing-JDBC实现数据库的读写分离。读写分离的好处就是在并发量比较大的情况下,将查询数据库的压力 分担到多个从库中,能够满足高并发的要求。比如上一篇实现的那样,架构图如下:数据分表当数据量比较大的时候,比如单个表的数据量超过了500W的数据,这时可以考虑将数据存储在不同的表中。比如将user表拆分为四个表user0、user1、 user...

2019-08-06 10:00:34 255

原创 创业公司技术总监,自信满满面试上市公司,结果不期而然!

1、先来个故事主人公介绍这是我朋友的故事,以第一人称来介绍首先,大概介绍下自己,后端开发8年,头两年用.NET,之后用Python至今,大概六年。大概工作到第三年的时候,就开始兼着任管理职位。工作地点是在一个三、四线的沿海城市,本地IT业不发达,公司规模普遍偏小,对技术要求不高,但需要较为全面的人才。而我长时间在这样的氛围下工作,慢慢也成长为一位偏“全栈”的WEB开发人员,从前...

2019-08-05 16:54:49 369 1

原创 最近很火的MySQL:抛开复杂的架构设计,MySQL优化思想基本都在这

优化一览图优化笔者将优化分为了两大类:软优化和硬优化。软优化一般是操作数据库即可;而硬优化则是操作服务器硬件及参数设置。1、软优化1)查询语句优化首先我们可以用EXPLAIN或DESCRIBE(简写:DESC)命令分析一条查询语句的执行信息。例: DESC SELECT * FROM `user`显示:其中会显示索引和查询数据读取数据条数等信息。...

2019-07-30 21:25:51 259

原创 Scala学习笔记系列:面向对象?那就先聊聊“对象”

Scala中有个特殊关键字object,通过声明object类型,可以实现单例模式。在object类型内部,可以定义静态属性或方法,但第一次调用object实例中的方法时,会自动执行其构造器中的逻辑(即未定义在方法中的代码,统一归为构造器中的代码)。但object类型不能定义构造器来接受入参。object类型对象的适用场景,一种是上面说的用于实现单例模式,另一种则是作为静态工具类使用。先来看一...

2019-07-30 15:47:37 185

原创 如何进行高效的源码阅读:以Spring Cache扩展为例带你搞清楚

摘要日常开发中,需要用到各种各样的框架来实现API、系统的构建。作为程序员,除了会使用框架还必须要了解框架工作的原理。这样可以便于我们排查问题,和自定义的扩展。那么如何去学习框架呢。通常我们通过阅读文档、查看源码,然后又很快忘记。始终不能融汇贯通。本文主要基于Spring Cache扩展为例,介绍如何进行高效的源码阅读。SpringCache的介绍为什么以Spring Cache为...

2019-07-25 21:51:58 187

原创 抽象同步队列AQS——AbstractQueuedSynchronizer锁详解

AQS——锁的底层支持谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)!类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch...并发包的底层就是使...

2019-07-22 20:57:32 225

原创 Java多线程之Executor框架【Callable、Future、Executor和ExecutorService】

引言Executor框架是指JDK 1.5中引入的一系列并发库中与Executor相关的功能类,包括Executor、Executors、ExecutorService、Future、Callable等。一、为什么要引入Executor框架?1、如果使用new Thread(...).start()的方法处理多线程,有如下缺点:① 开销大。对于JVM来说,每次新建线程和销毁线程都会...

2019-07-20 20:53:08 459

原创 springboot + redis + 注解 + 拦截器 实现接口幂等性校验

一、概念幂等性, 通俗的说就是一个接口, 多次发起同一个请求, 必须保证操作只能执行一次比如:订单接口, 不能多次创建订单支付接口, 重复支付同一笔订单只能扣一次钱支付宝回调接口, 可能会多次回调, 必须处理重复回调普通表单提交接口, 因为网络超时等原因多次点击提交, 只能成功一次等等二、常见解决方案唯一索引 -- 防止新增脏数据token机制 -- 防止页...

2019-07-18 22:44:14 244

原创 分布式系统的负载均衡 【架构干货,收藏不看系列】

一、 什么是负载均衡?什么是负载均衡?记得第一次接触 Nginx 是在实验室,那时候在服务器部署网站需要用 Nginx 。Nginx 是一个服务组件,用来反向代理、负载平衡和 HTTP 缓存等。那么这里的 负载均衡 是什么?负载均衡(LB,Load Balance),是一种技术解决方案。用来在多个资源(一般是服务器)中分配负载,达到最优化资源使用,避免过载。资源,相当于每个服务...

2019-07-18 18:34:19 233

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

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

2019-07-05 17:56:18 614

原创 死磕设计模式之单例模式,饿汉、懒汉统统搞定

单例模式单例模式可能是代码最少的模式了,但是少不一定意味着简单,想要用好、用对单例模式,还真得费一番脑筋。本文对Java中常见的单例模式写法做了一个总结,如有错漏之处,恳请读者指正饿汉1.饿汉如果应用程序总是创建并使用单例实例或在创建和运行时开销不大classSingle {private Single(){} private static Single single= ne...

2019-07-05 17:33:17 266

原创 面试前必知Redis面试题—缓存雪崩+穿透+缓存与数据库双写一致问题

今天来分享一下Redis几道常见的面试题: 如何解决缓存雪崩? 如何解决缓存穿透? 如何保证缓存与数据库双写时一致的问题? 一、缓存雪崩1.1什么是缓存雪崩?回顾一下我们为什么要用缓存(Redis):现在有个问题,如果我们的缓存挂掉了,这意味着我们的全部请求都跑去数据库了。在前面学习我们都知道Redis不可能把所有的数据都缓存起来(内存昂贵且有...

2019-07-04 21:57:08 259

原创 Java程序员中8种常见的SQL错误用法

1、LIMIT 语句分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, create_time 字段上加组合索引。这样条件排序都能有效的利用到索引,性能迅速提升。SELECT * FROM operation WHERE type = 'SQLStats' AND name = 'S...

2019-05-31 15:58:17 532

原创 【面试题】2019年最全Java面试通关秘籍汇总集!

前几天在交流群里有些小伙伴问面试相关的试题,当时给出了一些问题,苦于打字太累就没写下去了,但觉得这是一个很不负责任的表现,于是下来整理了一下近几年的私藏,特分享给大家!此套面试题适用于Java开发的各个阶段面试,不过更偏向初级和中级开发人员!由于每一个问题的答案不唯一且都可以在网上搜索到答案,这里只给出问题,不列出参考答案,有兴趣的可以留言讨论,也欢迎大家的补充!一、基础篇1.1、Java基...

2019-05-31 15:40:54 398

原创 Java: 未来已来

前言在10月22的 Oracle Codeone大会上,Java平台的首席架构师 Mark Reinhold 做了The Future of Java is Today的演讲, 回顾了最近Java的几个版本的新的功能,Java的每年两次的发布周期, 澄清了关于发布流程和Java版本的几个误区,最后花了很大的篇幅介绍了未来Java几个令人非常期待的几个孵化中项目,可以为Java带来更好的生产力、...

2019-05-31 15:13:08 248

原创 技术面试中的精英主义

前言技术面试有很多比较深入的 CS 问题,对每个面试官来说,他们也都有自己最喜欢提的问题。但是对于招聘及面试,相比于以上那些问题,更重要的是要针对这个岗位需要什么样的人,而不是一味为难求职者,就算想问一些比较难的 CS 问题,也要有提出的理由。我已经在 IT 领域工作了相当长时间,有 12 年了。作为一个曾经的求职者和面试官,我对面试有一个客观公平的看法。这种看法来自于个人面试经验,在这些面...

2019-05-31 14:47:33 434

空空如也

空空如也

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

TA关注的人

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