自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)

原创 Java程序员三面入职阿里,薪酬22K*16,却直呼后悔

就今天,小编的一个朋友程序员小王在朋友圈晒出了阿里的offer,本来就是一件值得高兴的事情,但小王怎么都高兴不起来......小编:小王,恭喜啊,这真的才三个月不到,就入职阿里了程序员小王:霸哥,等一下哈,我确认一下在线offer(1分钟过后)程序员小王:霸哥,感谢啦!要不是有你的帮助,我还不知道能不能进阿里!小编:没帮到什么忙,都是你自己努力的结果。怎么样?阿里给你开的工资是多少?程序员小王:offer上写的是22K*16薪,对了,为了保密,那个在线offer不能发给你看.

2020-10-23 19:53:27 40 1

原创 刷到赚到!清华二十年架构师把TCP/IP三次握手四次挥手整理成实战文档,看了根本停不下来!

TCP(Transmission Control Protocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。

2020-10-23 14:01:58 72 7

原创 拿到多家大厂Java后端面试offer后,熬夜总结出阿里 百度 美团等大厂常问面试真题及解析:1000道!

不知道最近大家面试是否顺利,是否会经常也会被问到一些自己不熟悉的问题,不知道怎么去回答这些问题,今天笔者给大家整理了2020年大厂经常问到了的一些面试真题及解析,内容点包含有java集合,jvm,并发编程,spring,mybatis,springMVC,微服务,Dubbo,netty,网络,zookeeper,kafka,rabbitMQ,readis缓存,数据库,设计模式 等一线大厂互联网大厂常问到的面试真题。Java 集合面试真题22道:ArrayList 和 Vector 的区别。 说说

2020-10-22 16:57:07 50 6

原创 Java程序员:终于,在一个艰难而又轻松的工作日之后,我被辞退了......

前言我还记得大学毕业刚入职那会儿,进了一家不大不小的公司,拿着一份仅仅能养活自己的薪水,做着日复一日的基操。 聊天扯淡,优哉游哉!甚不快活!尤还记得,进入公司之初,一位公司的“老”程序员给我传输了一个经验; “内事不决问百度,外事不决问谷歌” ,多找少问,自己多做总结,大家都是很忙的,遇到问题能不打扰就不打扰!尽量自己解决好。反正,我的表情是这样的:之后,我便在那家公司开始了长达半年之久的“码农”,不,搬运工生活......毕竟“混”吗,谁不会呢?不会?Ctrl c+.

2020-10-22 16:12:10 1499 12

原创 拍案惊奇!清华大佬用三年总结出了SpringBoot+Cloud项目实战笔记,看了少走十年弯路

简单地说,微服务就是一种使用轻量级架构设计的组件化的小应用,这种小应用只关注一定范围的业务功能,往往只负责做好一件事情。通过很多这样的小应用,利用一种高效而灵活的管理机制,可以组成一-个功能全面且业务丰富的大型平台。这种管理机制包括服务的注册与发现、服务的路由与负载均衡管理、服务之间简单而快捷的通信等功能。Spring Cloud与Docker高并发微服务架构设计实施1微服务架构与Spring Cloud2微服务架构最佳设计3电商平台微服务设计实例4开发工具选用及Spring B

2020-10-22 15:27:24 73 7

原创 千载难逢!华为工程师带你跟着案例学Netty,有图有真相

写在前面Netty是由JBOSS提供的一个java开源框架。Netty是一个高性能、异步事件驱动的NIO框架,它提供了对TCP、UDP和文件传输的支持。作为当前最流行的NIO框架,Netty在互联网领域、大数据分布式计算领域、游戏行业、通信行业等获得了广泛的应用,一些业界著名的开源组件也基于Netty的NIO框架构建。作为最有影响力的NIO框架,Netty得到了众多架构师和程序员的喜爱,并且在大数据通讯,游戏,人工智能,物联网等领域都有广泛的应用,尤其在高并发、高性能 RPC 方面,Netty的

2020-10-21 14:51:46 1527 22

原创 简直是千年难遇!这一份最火kafaka实战笔记 ,细节详细到你无法想象!

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

2020-10-21 13:15:14 1641 14

原创 普通Java程序员和高级Java程序员的区别就在这了!阿里P8纯手打花费六个月总结的Java架构力扣版进阶套餐,刷到就是赚到!

2020年金九银十已经开始了,你进行的怎么样了?前几天,有位小伙伴跟我说他拿到了阿里的offer,说要感谢我请我吃饭,小编怎么好意思,饭就免了,努力给社会做贡献就行,下面我就把之前整理的2020秋招互联网一线大厂资源库分享出来,能刷到你就值了,花了我一个月时间整理搜集的--Java架构进阶资源库--归纳笔记,下面共享给大家!!资料介绍这份源码+笔记+项目实战非常全面且详细,覆盖了Java高并发、Spring、MySQL,微服务,分布式架构学习的方方面面将技术点和项目实战融会贯通、资料也按目录进行

2020-10-20 20:31:42 43 8

原创 蘑菇街大佬谈MySQL技术精粹:如何快速成为MySQL数据库顶尖高手

开源数据库 MySQL 功能日益完善,备受企业喜欢。主要从 MySQL 的逻辑组成、数据库存储数据引擎,以及 MySQL 相关工具方面介绍 MySQL 整体架构,让学习者能整体上把握 MySQL ,理解MySQL 的各个逻辑层次是如何协同工作的。针对 MySQL 中高级用户 详细讲解 MySQL 高级使用技术。详解了每一个知识点以及数据库操作的方法和技巧。注重实战操作 学者循序渐进的掌握 MySQL 各项高级技术。主要包括 MySQL架构介绍、 MySQL 限与安全 MySQL 备份与还原、 M..

2020-10-20 16:09:15 1803 13

原创 终于修复好了,这次i++引发的bug我希望大家都不要碰到了

大家好,作为日常写bug修bug的我,今天给大家带来前几天刚刚修复的一个事故。不得不承认,有我的地方总是会有这么多bug。起因故事的开始发生在前几天,有一个不是很常用的导出功能,被用户反馈出,不管条件是怎么样,导出的数据只有一条,但是实际上根据条件查询是有很多数据,而且页面中也查询出很多数据。(这个问题已经被修复了,所以当时的Kibana日志也找不到了)于是放下手上的工作,投入其中来看这个问题。分析从问题的描述中来分析,那么只可能出现在以下情况:根据搜索条件查询出来的记录只有一条。

2020-10-19 19:26:28 43 1

原创 太香了! Alibaba架构师甩出史上最强面试文档,让我成功上岸阿里云 。

前言:Alibaba作为一线互联网公司的代表,是大部分程序员梦寐以求的工作场所,确实大厂出来的程序员,其背景也更值钱,含金量也会更高。实际上,Alibaba程序员早已成为行业内学习的榜样和标杆,但实际上光鲜的背后付出的血汗是我们没看到的,成功是属于拼搏的人。而我有幸得到朋友给的Alibaba架构师给出的最强面试文档,让我成功的在金九十银的尾巴拿到了阿里云的offer。今天要给读者分享的正是Alibaba架构师甩出的号称“史上最强”的“面试文档合集”,内容强大,覆盖面广,整个互联网公司面试都曾被问到,

2020-10-19 14:43:20 88 5

原创 暴打力扣!阿里架构师私藏Java并发编程笔记,GitHub上发布一小时秒获8K标星!

前言现如今,开发程序不仅仅只用单纯的满足用户需求,随着互联网的基本普及,系统能不能承载同时上百万上千万,甚至上亿的访问量,成为了开发设计中必不可少的一个考量环节。例如,即将到来的双十一、双十二,都需要承载极高的并发量。甚至,在微博,热点信息的传达都离不开并发编程的支持,不然就会像我们经常遇到的微博崩溃事件。前不久,我偶然翻到了一个并发编程笔记,那是我向一个阿里大神求得的,只有前面半段。比较详细的介绍了他对于多线程的理解,结合了实战进行分析讲解。对并发编程感兴趣的朋友可以拿去看看。下面将这份

2020-10-16 20:51:15 68 15

原创 京东T9架构师手把手教你怎么写年薪50万的java简历

作者简介:京东架构师,近20年工作经验,精通大型互联网平台架构,研发过微服务、thunder、网关等多种技术中间件。具备丰富的分布式架构和大型系统架构优化经验。教育背景:华中科技大学学士、武汉大学硕士。如何写好架构师简历及实践架构师简历主要内容个人背景介绍 任职公司、项目经验、项目职责 自我评价 参考猎聘和51job的架构师简历模板架构师简历筛选要素架构师关键词筛选 架构经验 务必设置架构关键词!架构师简历--搜索关键词架构师简历—-搜索关键词..

2020-10-16 19:01:23 858 17

原创 Redis高级特性之Bitmap使用姿势及应用场景介绍

本文将主要介绍Bitmap的使用姿势以及其适用场景,主要知识点包括bitmap 基本使用 日活统计应用场景中bitmap使用姿势 点赞去重应用场景中bitmap使用姿势 布隆过滤器bloomfilter基本原理及体验caseI. 基本使用1. 配置我们使用SpringBoot2.2.1.RELEASE来搭建项目环境,直接在pom.xml中添加redis依赖<dependency> <groupId>org.springframework....

2020-10-15 15:11:35 40

原创 我怎么想也想不到,自信满满开口要30K,结果被面试官黑脸教做人(Java),开始怀疑人生...

导语本文是一位粉丝朋友前段时间的真实面经经历,面的是蘑菇街,恰巧面试官就是敖丙,现在敖丙已经去腾讯就职了背景介绍:工作经验:Java开发5年学历背景:重庆邮电大学(信息安全专业)工作经历:主要业务在柬埔寨做移动支付钱包(聚合支付的项目,让柬埔寨当地华人能使用微信、支付宝支付)注意:以下内容均为真实面经分享,大家可以认真阅读完,看下这些面试题你是否能答的让面试官满意,同时我也会分享一些面试的小技巧给大家,主要告诉你如何准备简历,如何准备面试,2020大厂面试真题分享(含答案),哪些

2020-10-14 15:33:45 117 12

原创 算法考核凉凉,老板找我谈话后被迫离职,熬夜重刷算法题后拿下阿里offer!

前言依稀记得,第一次接触算法是在高中的时候,用尺子规范的在作业本上画流程图,不同的形状对应不同的流程,什么椭圆开始与结束,还有各种代表条件、判断的四边形图。而且,现在编程的时候依旧有这样的习惯,在某个业务块需要用到某些算法的时候,我都会先在纸上画出完整的流程图,把所有的可能性标出来,然后进行步骤缩减,给出最优解。建议一些写代码写得比较复杂的朋友可以先试试这样的方式,尤其是在有算法需求的代码上。算法的重要性有些朋友认为编程最重要的运用工具,运用框架,多掌握一些技术点,这些确实是成.

2020-10-12 19:14:10 49 7

原创 万万没想到,这份华为技术官总结的“Java零基础宝典”,让我快速入门理解java,太香了!

前言2020年的情况我相信大家都知道的吧,可以说是影响到全世界每一个人,先不说其它的群体,我们主要来说下“应届毕业生、失业转行人群、”,首先呢应届毕业生刚毕业正是出来找工作的时候,这个阶段很多人就是一个迷茫的状态,加上疫情,还有学校学习的知识比较浅和企业需求不太符合找工作就更难了,其次是因疫情被公司辞退的群体,被辞退肯定是不开心的,特别是一些技术性不强的行业,失业后想转行很难。所以怎么找到心仪的工作呢?成功没有捷径,唯一的办法就是规划学习,提升自己。以前一直写的是难度比较高的文章,这篇文章写给零

2020-10-12 13:49:23 1003 9

原创 不会为每个请求添加独一无二的id?轻松改造spring项目

前言-为什么要添加id?1.新建项目<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><!--lombok--><dependency> <groupId>org.project

2020-10-12 13:30:48 1178

原创 我是如何阅读JDK源码的?

1. 前言之前断断续续读过一部分 JDK 常用类的源码,这里想把过程中的一些心得和方法记录下来,如果能帮到需要的小伙伴就再好不过了!本文主要分享一下我的阅读工具和阅读顺序。PS: 由于当前主流使用的 JDK 版本仍是 1.8,因此源码阅读主要是 1.8 版本,有些地方可以参考 1.7(面试可能问到)。2. 工具工欲善其事,必先利其器。需要的工具不多,IDE + Google 翻译足够了。使用 IDE 的主要目的是可以写一些测试代码以便跟踪调试。这个还是很有必要的,跟进代码的执行流

2020-10-10 15:01:44 61

原创 java安全编码指南之:lock和同步的正确使用

简介在java多线程环境中,lock和同步是我们一定会使用到的功能。那么在java中编写lock和同步相关的代码之后,需要注意哪些问题呢?一起来看看吧。使用private final object来作为lock对象一般来说我们在做多线程共享对象的时候就需要进行同步。java中有两种同步方式,第一种就是方法同步,第二种是同步块。如果我们在实例方法中使用的是synchronized关键字,或者在同步块中使用的是synchronized(this),那么会以该该对象的实例作为monitor,我们称

2020-10-10 14:37:52 37

原创 每次面试都要被问:为什么采用单线程的Redis也会如此之快?

众所周知,Redis在内存库数据库领域非常地火热,它极高的性能和丰富的数据结构为我们的开发提供了极大的便利。但我们也听说了,Redis是单线程的,为什么采用单线程的Redis也会如此之快呢?这篇文章我们来分析一下其中的缘由。其实,严格来说,Redis Server是多线程的,只是它的请求处理整个流程是单线程处理的。这一点我们一定要清楚了解到,不要单纯地认为Redis Server是单线程的!我们平时说的Redis单线程快是指它的请求处理过程非常地快!下面我们就来分析一下为什么请求...

2020-10-10 14:00:09 32

原创 算法题 | 你追我,如果你追到我……那就算你赢了

大家好,欢迎阅读周末算法题专题。今天选择的算法题来源于昨天同一套题中的D题,这题全场通过的人数在2600人左右。虽然通过的人数更少了一些,但是题目的难度却并没有增加很多,但是趣味度增加了。我也是第一次遇见这样的问题。题目链接:https://codeforces.com/contest/1405/problem/D废话不多说,我们一起来看这题的题意。题意我们都知道数据结构当中的树有这样一个性质,如果树当中有n个点,那么它应该由n-1条无向边组成。并且树当中是一定没有环的,如果有环的话n-

2020-10-09 13:46:33 29

原创 全网最全一篇数据库MVCC详解,不全你打我

什么是MVCC全称Multi-Version Concurrency Control,即多版本并发控制,主要是为了提高数据库的并发性能。以下文章都是围绕InnoDB引擎来讲,因为myIsam不支持事务。同一行数据平时发生读写请求时,会上锁阻塞住。但mvcc用更好的方式去处理读—写请求,做到在发生读—写请求冲突时不用加锁。这个读是指的快照读,而不是当前读,当前读是一种加锁操作,是悲观锁。那它到底是怎么做到读—写不用加锁的,快照读和当前读又是什么鬼,跟着你们的贴心老哥,继续往下看。.

2020-10-08 20:55:35 38

原创 ava 集合 | 红黑树 | 前置知识

一、前言为啥要学红黑树吖?因为笔者最近在赶项目的时候,不忘抽出时间来复习Java基础知识,现在准备看集合的源码啦啦。听闻,HashMap在jdk 1.8的时候,底层的数据结构发生了变化,变成了数组+链表+红黑树。很好,没了解过红黑树,所以就趁今天闲暇学习一下啦二、什么是红黑树?2.1 有啥用处?红黑树从本质上来说就是一颗二叉查找树,但是在二叉树的基础上增加了着色相关的性质,使得红黑树可以保证相对平衡,从而保证红黑树的增删改查的时间复杂度最坏也能达到O(log N)。2...

2020-10-07 21:54:51 85

原创 Spring Boot项目下最优雅的http客户端工具,用它就够了,太香了

大家都知道okhttp是一款由square公司开源的java版本http客户端工具。实际上,square公司还开源了基于okhttp进一步封装的retrofit工具,用来支持通过接口的方式发起http请求。如果你的项目中还在直接使用RestTemplate或者okhttp,或者基于它们封装的HttpUtils,那么你可以尝试使用Retrofit。retrofit-spring-boot-starter实现了Retrofit与spring-boot框架快速整合,并且支持了部分功能增强,从而极大的简化s.

2020-10-06 20:46:56 79 5

原创 Java反应式框架Reactor中的Mono和Flux

1. 前言最近写关于响应式编程的东西有点多,很多同学反映对Flux和Mono这两个Reactor中的概念有点懵逼。但是目前Java响应式编程中我们对这两个对象的接触又最多,诸如Spring WebFlux、RSocket、R2DBC。我开始也对这两个对象头疼,所以今天我们就简单来探讨一下它们。2. 响应流的特点要搞清楚这两个概念,必须说一下响应流规范。它是响应式编程的基石。他具有以下特点:响应流必须是无阻塞的。 响应流必须是一个数据流。 它必须可以异步执行。 并且它也应该能够处理背..

2020-09-29 15:04:41 221 1

原创 Java安全编码指南之:异常处理

简介异常是java程序员无法避免的一个话题,我们会有JVM自己的异常也有应用程序的异常,对于不同的异常,我们的处理原则是不是一样的呢?一起来看看吧。异常简介先上个图,看一下常见的几个异常类型。所有的异常都来自于Throwable。Throwable有两个子类,Error和Exception。Error通常表示的是严重错误,这些错误是不建议被catch的。注意这里有一个例外,比如ThreadDeath也是继承自Error,但是它表示的是线程的死亡,虽然不是严重的异常,但是因为

2020-09-29 14:57:31 44 1

原创 大白话谈JVM的类加载机制

前言我们很多小伙伴平时都是做JAVA开发的,那么作为一名合格的工程师,你是否有仔细的思考过JVM的运行原理呢。如果懂得了JVM的运行原理和内存模型,像是一些JVM调优、垃圾回收机制等等的问题我们才能有一个更清晰的概念。为了走进JVM,深入了解底层,王子打算写一个JVM的专题,留下自己对JVM探索的足迹,同时也希望能帮到小伙伴们更好的理解JVM。那我们开始吧。JAVA代码的运行流程首先我们就来聊一聊JAVA代码是怎么运行起来的,这部分比较基础相信大家都知道,就当成是个复习吧。.

2020-09-27 20:51:54 38

原创 设计模式(4)——单例模式的学习及其六大战将

单例模式的引发的陈年回忆  记着N年以前,那时候还在上大学,有一门科目叫做软件体系结构,教我们的老师是个40岁左右的女老师,姓韩,好像是东北大学博士毕业的,之所以对她还有些印象,那是因为初恋女友Y同学是被保送到东北大学读研的,而当时韩老师和Y同学的师生关系好像还挺不错,当然也是Y同学确定保送东北大学读研的那一年,我们和平而坚决地分开了。。  我就读的大学是一所普通本科,我们学院一个年级可以保送的名额也仅仅只有三个,比起985 211那成堆的保送名额真的差的太远,Y同学是相当优秀的,大学四年,每次

2020-09-27 20:49:21 67

原创 Mysql写入频繁,怎么破?这是我见过的最清晰的“神操作”

Mysql在写入压力很大,怎么办?高并发下的性能最大的问题,大都在数据库,以前我们做二十万超级群,mongodb每个月都会出事故. 我们聊聊,高并发下如何缓解mysql的压力 ⚠️:mysql是锁锁表不锁库,sqlite是锁库不锁表环境准备Mac mysql navicat wrk压测工具 node.js环境下载wrkbrew install wrk如果这里卡住,可以调整`替换brew.git:cd "$(brew --repo)"git remote se...

2020-09-26 13:54:28 47

原创 MySQL热点面试题:为什么我使用了索引,查询还是慢?

经常有同学问我,我的一个SQL语句使用了索引,为什么还是会进入到慢查询之中呢?今天我们就从这个问题开始来聊一聊索引和慢查询。另外插入一个题外话,个人认为团队要合理的使用ORM,可以参考 ORM的权衡和抉择。合理利用的是ORM在面向对象和写操作方面的优势,避免联合查询上可能产生的坑(当然如果你的Linq查询能力很强另当别论),因为ORM屏蔽了太多的DB底层的知识内容,对程序员不是件好事,对性能有极致追求,但是ORM理解不透彻的团队更加要谨慎。案例剖析言归正传,为了实验,我创建了如下表:该表有三

2020-09-26 13:45:13 71 1

原创 字节面试官死磕跟我Mysql,我心中暗喜:这是要跟我学经验的吧?

对于跳槽一线互联网大厂,需要会哪些技术,做哪些准备?我在前一篇文章说过,把你要去应聘岗位的职位要求中的技术点例举出来,然后根据这些技术点,进行查缺补漏。一般情况下,面试官在问你问题的时候不是为了难倒你,而是要弄清楚,你到底会一些什么。这时候,有几个自己十分擅长的版块是最好的,你可以引导面试官来问你最擅长的技术点,具体可以在项目介绍中讲一下,你用到了哪方面的技术,对于哪一个技术颇有心得,等等...这里就有一个实例,程序员小陈去字节面试的时候,本没有多大的把握,在跟面试官介绍项目的时候,提到..

2020-09-25 15:39:21 35

原创 Java开发两年了,连个java代理模式都摸不透,你怎么跳槽涨薪?

前言代理模式(Proxy Pattern),23种java常用设计模式之一。代理模式的定义:代理类对被代理对象提供一种代理以控制对这个对象的访问。代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。个人理解:在生活中我们常常把不必要的事情丢给别人去完成,而这些不必要的部分相当于他们代替我们完成的,这就相当于是代理模式。例如:1、明星与经纪人:就假设在和甲方谈商演的时候,影视明星只负责决定是否去演出,而经纪人就需要先去联系甲方并和甲方商定角色和报酬,然后将结果告诉影

2020-09-24 20:33:41 36

原创 虚拟机系列 | JVM运行时数据区

一、内存与线程1、内存结构内存是计算机的重要部件之一,它是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存性能的强弱影响计算机整体发挥的水平。JVM的内存结构规定Java程序在执行时内存的申请、划分、使用、回收的管理策略,通说来说JVM的内存管理指运行时数据区这一大块的管理。2、线程运行JVM中一个应用是可以有多个线程并行执行,线程被一对一映射为服务所在操作系统线程,调度在可用的CPU上执行,启动时会创建一个操作系统线程;当该线程终止时,这个操作系统线程也会被.

2020-09-24 19:19:31 28

原创 从零搭建Spring Boot脚手架(7):Elasticsearch应该独立服务

1. Spring Data ElasticsearchSpring Data Elasticsearch是Spring Data项目的子项目,提供了Elasticsearch与Spring的集成。实现了Spring Data Repository风格的Elasticsearch文档交互风格,让你轻松进行Elasticsearch客户端开发。2. 个人的一些看法应粉丝要求特地将Elasticsearch整合到Spring Boot中去。本来打算整合到kono脚手架中,但是转念一想这样并不是非常.

2020-09-24 13:26:03 56

原创 .spring5源码 -- ioc加载的整体流程

之前我们知道了spring ioc的加载过程, 具体如下图. 下面我们就来对照下图, 看看ioc加载的源代码.下面在用装修类比, 看看个个组件都是怎么工作的.接下来是源码分析的整体结构图. 对照上面的思路梳理出来的一、源码分析的入口通常,我们的入口都是从main方法进入. 这里我们也来定义一个main方法public class MainStarter { public static void main(String[] args) { ...

2020-09-24 13:23:29 63

原创 为什么一个还没毕业的大学生能够把 IO 讲的这么好?

为什么一个还没毕业的大学生能够把 IO 讲的这么好?Java IO 是一个庞大的知识体系,很多人学着学着就会学懵了,包括我在内也是如此,所以本文将会从 Java 的 BIO 开始,一步一步深入学习,引出 JDK1.4 之后出现的 NIO 技术,对比 NIO 与 BIO 的区别,然后对 NIO 中重要的三个组成部分进行讲解(缓冲区、通道、选择器),最后实现一个简易的客户端与服务器通信功能。传统的 BIOJava IO流是一个庞大的生态环境,其内部提供了很多不同的输入流和输出流,细分下去还.

2020-09-23 14:25:01 44

原创 虚拟机系列 | JVM类加载机制

一、类加载简介类的加载机制是指把编译后的.class类文件的二进制数据读取到内存中,并为之创建一个java.lang.Class对象,用来封装类在元数据空间的数据结构。类在JVM中的生命周期为:加载,连接,初始化,使用,卸载。不过这里只重点描述加载,连接,初始化这三个过程。二、加载过程基于一张图看类加载子系统的细节流程:1、加载阶段过程描述加载阶段需要完成以下三个过程:通过类的全限定名来获取其定义的二进制字节流; 将字节流所代表的静态存储结构转化为云数据空间的运行时

2020-09-22 22:07:37 34

原创 DNS解析时发现域名和IP不一致,访问了该域名会如何(大厂真题)

这是一道互联网大厂的面试真题,主要考察的就是DNS域名解析的过程是什么样的。以此为背景进而考察安全相关问题。综合性还是很强滴。本文将从案例出发开始一步一步深入。一、DNS运行原理1、为什么要DNSDNS的作用在于域名解析。每个网站通常都会有一个域名和至少一个IP地址。比如说百度的域名,112.80.248.74就是百度的IP地址。我们想要访问百度的时候只需要输入域名就可以,当然IP也可以,为什么不使用IP登录呢?看上面的数字就知道,一串复杂的数字难以记忆。我们每天要登录大量的网站可能都需要一

2020-09-21 21:49:00 77

原创 微服务,Goodbye!服务器端我更愿意选择相信单体应用

专注Java技术新分享,欢迎关注学习本文翻译自Alexandra Noonan 的 Goodbye Microservices: From 100s of problem children to 1 superstar。内容是描述 Segment 的架构如何从 「单体应用」 -> 「微服务」 -> 「140+ 微服务」 -> 「单体应用」 的一个历程。翻译比较粗糙,如有疏漏,请不吝指教。注:下文说的目的地就是对应的不同的数据平台(例如Google Analytics, Opti

2020-09-21 20:59:13 43

空空如也

空空如也

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