自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 阿里P8技术官精心整理JVM性能优化知识点+最新JVM面试题(附答案)

前言JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。它不仅是一种跨平台的软件,而且是一种新的网络计算平台。该平台包括许多相关的技术,如符合开放接口标准的各种API、优化技术等。为什么要进行调优JVM调优,调的是稳定,并不能带给你性能的大幅提升。服务稳定的重要性就不用多说了,保证服务的稳定,gc永远会是Java程序员需要考虑的不稳定因素之一。复杂和高并发下的服务

2021-12-18 16:00:51 264 1

原创 阿里6月面试原题出炉:Spring+SpringMvc+MyBatis(附答案)

MyBatis篇MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。 MyBatis 最强大的特性之一就是它的动态语句功能,这也是它在各大厂流行的原因。单独使用mybatis是有很多限制的(比如无

2021-12-18 15:26:26 911 1

原创 分享一份京东大数据技术官私藏:Kafka核心设计与实践原理

什么是KafkaKafka起初是由LinkedIn 公司采用Scala语言开发的一一个多分区、多副本且基于ZooKeeper协调的分布式消息系统,现已被捐献给Apache基金会。目前Kafka已经定位为一个分布式流式处理平台,它以高吞吐、可持久化、可水平扩展、支持流数据处理等多种特性而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Storm、Spark、Flink等都支持与Kafka集成。Kafka为什么会越来越受欢迎Kafka受欢迎的原因在于它扮演的三大角色:消息系统:

2021-12-18 15:07:05 1316 1

原创 系统梳理总结JAVA全栈知识点,七面阿里成功斩获P8Offer

有人说,今年可能是过去十年最差的一年,但却是未来十年最好的一年。随着越来越多的知名企业进行大规模裁员,我们不得不承认一个事实:经济寒冬与裁员潮,将是未来常态!今年找工作属实有点难找,不过我还算幸运目前已斩获P8offer,下面我就给大家简单带过一下吧~本人介绍:6年多经验的程序员,坐标南京。背景:开始因水平有限,及对部分面试问题记忆及理解有限,可能有些问题并不能表达准确。掌握技术有限,学习主动性一般(虽遇到问题善于思考钻研,但如果没有遇到问题比较放纵自己...被自由,轻松,安逸迷失心智),以及原

2021-12-18 14:44:11 234 1

原创 腾讯T8架构师基于SpringBoot2.x搭建分布式架构

前言Java 的各种开发框架发展了很多年,影响了一代又一代的程序员,现在无论是程序员,还是架构师,使用这些开发框架都面临着两方面的挑战。一方面是要快速开发出系统,这就要求使用 的开发框架尽量简单,无论是新手还是老手都能快速上手,快速掌握页面渲染、数据库访 问等常用技术。也要求开发框架能尽量多地集成第 方工具,以便信手拈来。最后,还希望在开发调试过程中,方便代码更改后能快速重启。另外一方面是当系统模块增加 ,用户使用量增加时,面对这样的挑战,系统拆分成为新的架构,程序员和架构师当然不希望换掉己有的

2021-12-18 14:34:36 574

原创 GitHub标星150K的神仙笔记,3个月肝完成功面进美团定级3-2

俗话说:不想进大厂的程序员不是好程序员楼主14年小本毕业。离职也有一段时间了,因为一些原因,休整了一段时间。然后3月初开始准备面试(在上家公司工作之余心里一直有着进大厂的执念)。上家公司是智能家居互联网行业的,使用的技术框架有dubbo、zookeeper、mybatis、springMVC、redis等,数据库是用的mysql。我们主要是java后端开发的,感觉上家公司没啥发展前景了就想着在金三银四之际把握机会。但是自身的知识范围不是很广泛,在数据库原理性的知识和sql语句(比如存储过程、触发器)、并

2021-12-18 14:19:34 102 1

原创 吃透这份Github点赞120k的Spring全家桶笔记Offer拿到手软

Spring框架自诞生以来一直备受开发者青睐,有人亲切的称之为:Spring 全家桶。它包SpringMVC、SpringBoot、Spring Cloud、Spring Data等解决方案。很多研发人员把spring看作心目中最好的java项目,没有之一。Spring系列包含非常多的项目,可以满足java开发中的方方面面。所以这是重点也是难点,工作中必须会,面试时肯定考。下面我会为大家介绍一些上面所说方案的相关实战PDF及面试资料,希望会对大家有所帮助~Spring framework与Spr

2021-12-18 14:08:43 94 1

原创 分享一份美团T9技术官总结的神仙微服务架构设计模式PDF

微服务作为一项在云中部署应用和服务的新技术已成为当下最新的热门话题。企业和服务提供商正在寻找更好的方法将应用程序部署在云环境中,微服务被认为是未来的方向。通过将应用和服务分解成更小的、松散耦合的组件,它们可以更加容易升级和扩展,理论上是这样。本文就为大家介绍一本微服务架构相关书籍。本书的目标是让架构师和程序员学会使用微服务架构成功开发应用程序。书中不仅讨论了微服务架构的好处,还描述了它们的弊端。读者将掌握如何在使用单体架构和使用微服务架构之间做出正确的权衡。目录总述第1章逃离

2021-12-18 13:47:10 343 1

原创 京东首席系统架构师教你如何搭建高可用高并发系统架构

今年的618年中购物狂欢节已经过去快一个月了,那么各大电商平台的网站架构师、开发人员是如何经过“618”、“双11”的亿级大考的呢?建亿级流量网站的高并发、高可用的一系列复杂问题是怎么实现的呢?我们知道,高并发代表着大流量,高并发系统设计的魅力就在于我们能够凭借自己的聪明才智设计巧妙的方案,从而抵抗巨大流量的冲击,带给用户更好的使用体验。这些方案好似能操纵流量,让流量更加平稳得被系统中的服务和组件处理。下面我会通过一本PDF实战跟大家一起深入了解亿级流量网站架构核心技术。这本PDF实战总结并梳理

2021-12-18 13:36:17 469 1

原创 二战腾讯倒在三面:我意识到自己与一线大厂程序员的差距

简单说一下吧,本人疫情还没开始时面试过一次鹅厂,在MySQL、redis这方面惨败,经过半年的沉淀,加上对MySQL,redis和分布式这块的补齐,终于重拾面试信心,再次出征。二战腾讯面试职位:go后端开发工程师,接受从Java转语言。都知道腾讯是cpp的主战场,而以cpp为背景的工程师大都对os,network这块要求特别高,不像是Java这种偏重业务层的语言。之前面试Java的公司侧重还是在数据结构、网络、框架、数据库和分布式。所以OS这块吃的亏比大。一面:基础技术面电话面试,随

2021-12-17 15:45:15 113 1

原创 800页神仙MySQL文档+140道高频面试题,面试不再怕被问MySQL

Mysql和其他数据库系统相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥好的作用,但同时也会带来-点选择上的困难。MySQL并不完美,却足够灵活,能够适应高要求的环境,例如Web类应用。同时,MySQL既可以嵌入到应用程序中,也可以支持数据仓库。内容索引和部署软件.高可用的冗余系统、在线事务处理系统(OLTP)等各种应用类型。全球前20大互联网网站有90%使用是使用MYSQL使用数据库,另外80%大数据平台都是与MYSQL数据库相结合。其发展趋势大致如下:1、 MYSQ

2021-12-17 15:29:23 844

原创 公司来了一个腾讯做优化的技术官,三下五除二让我程序快了200%

这篇文章主要跟大家说说程序性能优化,说到程序性能优化咱们先来谈谈代码优化~代码优化代码优化其实一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优化的细节了,一个一个

2021-12-17 15:19:30 295 1

原创 太牛了,腾讯T9耗时69天整理出最全架构师进阶核心知识点笔记

俗话说的好:每一个程序员应该都想着如何快速提升自己(反正我是这样想的),从程序员进阶到架构师再到技术专家再到CTO 。当然这其中需要大量的知识储备,是一个不断学习的过程,话不多说下面我直接上图。Java全栈核心知识点整理(PDF)Spring 原理Netty 与RPCRabbitMQ负载均衡数据库数据结构与算法Java后端核心知识点整理(Word)SpringSpring框架的七大模块 Be

2021-12-17 15:08:19 1307 1

原创 基于Spring Cloud与Docker如何搭建一个电商平台项目

微服务与微服务架构的区别近几年,大家都在谈论微服务,那么,什么是微服务呢,微服务的概念是怎么产生的呢?为什么要使用微服务架构,微服务架构能给我们带来什么好处,微服务架构与Spring Cloud又是一种什么关系。要说明什么是微服务,很有可能一时不能说得很清楚。这里 有一点容易混淆的就是微服务架构和微服务,这应该是两个不同的概念。微服务架构是将复杂系统使用组件化的方式进行拆分,并使用轻量通信方式进行整合的一种设计方法。微服务就是通过这种架构设计方法拆分出来的一个独立的组件化小应用。微服务架构与

2021-12-17 14:56:55 176 1

原创 京东T9纯手打688页神笔记,SSM框架整合Redis搭建高效互联网应用

SSM框架简介SpringSpring框架是Java应用最广的框架。它的成功来源于理念,而不是技术本身,它的理念包括loC (Inversion of Control,控制反转)和AOP (Aspect Oriented Programming,面向切面编程)。SpringMVCSpringmvc是Spring框架的一个模块,Springmvc和Spring无需通过中间整合层进行整合。MyBatisMyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高

2021-12-17 14:47:47 137

原创 出神入化,Jenkins+Docker+SpringCloud+K8s构建持续集成平台

Jenkins是什么Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins的6大特征:开源的ava语言开发持续集成工具,支持持续集成,持续部署 易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理。 消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUn

2021-12-17 14:31:16 1226

原创 面经分享:美团面试也太难了,4面美团终成Offer

这篇文章分享我一个学弟的美团实习面试经历,万万没想到现在大厂实习面试也这么难,下面是他的面经,各位读者老哥可以参考浏览。美团我是在拉勾网上投的简历,之前也投过一次,简历都没通过删选,后来让学姐帮我改了一下简历,重新投另一个部门,获得了面试机会。10月23日中午HR打电话过来预约了下午4点半面试,说会在线写代码,让我准备好网络环境。结果5点半还没打电话过来,被放鸽子。与hr重新沟通过后,确定下周一下午再面,可是跟hr沟通预约这一套貌似在美团并没有什么用。美团技术一面20分钟晚7点,因为想到下周一才

2021-12-17 14:22:58 1869 2

原创 太厉害了,分享一份京东T9技术官私藏文档:从NIO一直学到Netty

NettyNetty就是基于NIO的网络(Socket)客户端服务端实现框架,它简化了TCP/UDP客户端服务端编程,开发人员不再关注底层的Socket读取和写入,而且Netty提供了不少的handler(如http、mqtt、redis协议等)实现,简化了基于网络协议的编程复杂度。Netty 采用 NIO 而非 AIO 的理由1.Netty 不看重 Windows 上的使用,在 Linux 系统上,AIO 的底层实现仍使用 EPOLL,没有很好实现 AIO,因此在性能上没有明显的优势,而且

2021-12-17 14:04:09 230

原创 花20天刷完Alibaba JVM笔记去面阿里,却意外拿到京东Offer?

Java虚拟机是什么Java虚拟机(Java Virtual Machine 简称JVM)是运行所有Java程序的抽象计算机,是Java语言的运行环境,它是Java 最具吸引力的特性之一。为什么要使用Java虚拟机Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编 译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用模式 Java虚拟机屏蔽

2021-12-17 13:55:56 4913

原创 优质,从Sql到Nosql,redis+mysql从架构到优化全覆盖

RedisRedis是一个远程内存数据库,它不仅性能强劲,而且还具有复制特性以及为解决问题而生的独一无二的数据模型。Redis 提供了5种不同类型的数据结构,各式各样的问题都可以很自然地映射到这些数据结构上:Redis的数据结构致力于帮助用户解决问题,而不会像其他数据库那样,要求用户扭曲问题来适应数据库。除此之外,通过复制、持久化( persistence )和客户端分片( client side sharding )等特性,用户可以很方便地将Redis扩展成一个能够包含数百GB数据、每秒处理上百万次

2021-12-16 15:43:12 144

原创 惊险,备战3个月,五面蚂蚁金服差点倒在最后一面

写在前面作为程序员,免不了要经历面试这关,虽然平时工作勤勤恳恳,但是面试上面未必能展示的出来,比如平时都是做增删改查的业务系统,面试官非要问你如何处理高并发大数据,本来是写java代码,非要问你大型网站架构,这些问题防不胜防,本文就自己一次在蚂蚁金服的面试经验来总结一下,抛砖引玉。一面1、分布式架构 50分钟 2、个人介绍加项目介绍20分钟 3、微服务架构是什么,它的优缺点? 4、ACID CAP BASE理论 5、分布式一致性协议,二段、三段、TCC,优缺点 6、RPC过程

2021-12-16 15:30:43 2137 1

原创 太香了,Alibaba内部架构师进阶指南,理论+实践双飞

很多技术大会上的分享大多“高大上” 亿级流量、 超大型研发团队,虽然值得借鉴,但由于应用场景与研发资源的差异 般企业并不容易落地。其实 ,中小型研发团队在IT还是占大多数 他们在技术架构方面的问题较多 技术阻碍业务、跟不上业务发展的情况很常见。虽然我们大部分人群还只是停留在码农的阶段,但是秉承着活到老学到老的原则,我们的目光应该不仅仅是停留在原地(不会吧?不会真有人想当一辈子码农吧?(手动狗头保命)),更应该向前看往架构师甚至CTO方面进阶才是真理,小编目前就是一个正在成为架构师的男人(我是这么认为.

2021-12-16 15:18:21 81 1

原创 跪了,Alibaba内部优质Springboot笔记:两大项目实战+源码解析

前言近年来,Spring Boot 是整个Java社区中最有影响力的项目之一,它的设计初衷是解决Spring各版本配置工作过于繁重,目前已经逐渐替代传统SSM架构。但SSM和Spring Boot并不冲突。Spring Boot更简单、更自动化,减少了传统SSM开发的配置。程序员在用Springboot开发应用程序时能做到零配置或极简配置。同时,为了不失灵活性,它也支持自定义操作。下面两张图片是Springboot在国内外的关注度趋势图:可以看到Springboot在国内外的关注

2021-12-16 15:07:29 9326 1

原创 深入浅出微服务:40个微服务架构实战案例(Dubbo+Springcloud)

微服务在近几年来可以说是十分火爆,我们应该知道微服务的发展历程大致分为6个阶段分别是:单体应用阶段提、垂直应用阶段、分布式系统阶段、服务治理阶段、微服务阶段、最后到服务网格阶段。既然谈到微服务我们不得不说说它的主流框架:Dubbo致力于提供高性能和透明化的远程服务调用方案和SOA服务治理方案。采用了Spring的配置方式。基于Spring的可扩展机制( Schema )可透明化接入应用,对应用没有API侵入,支持API调用方式(官方不推荐)。只需用Spring加载Dubbo的配置即可

2021-12-16 14:58:41 6062 1

原创 对标金九银十:各大厂最新Java面试真题整理+简历模板

马上要到金九银十了,小编总结了一些面试题目包含百度/腾讯/小米/网易/搜狗/知乎/京东/360/瓜子,现在放上来,由于是自己整理,所以涵盖不全面的话诸位请谅解。根据我这些年的面试经验来看,面试有一定的层次性,如bat级别公司每个点都会深入,而有些公司则只会问到表层,所以将每个领域都分为必须掌握和深入了解这两个部分。一、计算机网络基础部分TCP报头格式 UDP报头格式 TCP/UDP区别(不仅是宏观上的,最好能根据各自的机制讲解清楚) HTTP状态码(最好结合使用场景,比如在缓存命中时使

2021-12-16 14:49:10 157 1

原创 Github上星标55.9k的微服务神仙笔记真的太香了

微服务微服务,是著名的00 ( 面向对象,Object Oriented) 专家Martin Fowler 提出来的,它是用来描述将软件应用程序设计为独立部署的服务的一种特殊方式。最近两年,微服务在各大技术会议、文章、书籍上出现的频率已经让人们意识到它对于软件领域所带来的影响力。微服务架构微服务架构的系统是一个分布式系统,按业务领域划分为独立的服务单元,有自动化运维、容错、快速演进的特点,它能够解决传统单体架构系统的痛点,同时也能满足越来越复杂的业务需求。要注意的是我们做

2021-12-16 14:36:54 93

原创 微服务是不是金科玉律?基于Spring Cloud如何构建分布式系统?

分布式系统的概念随着互联网的不断发展,大数据、高并发和快响应是互联网系统的必然要求。但是在大数据和高并发的情况下,要求快响应是比较苛刻的,因为大量的数据会导致查找数据的时间变长,高并发会使互联网系统因繁忙而变慢,进而影响响应速度。所以说单机系统已经不可能满足现在互联网了,为了满足互联网的苛刻要求,网站系统已经从单机系统发展为多台机器协作的系统,因而互联网系统已经从单机系统演变为多台机器的系统,我们把这种多台机器相互协作完成企业业务功能的系统,称为分布式系统。微服务架构因为分布式非常复杂,所

2021-12-16 14:30:14 403 1

原创 信心满满去面美团,结果被JVM9连问怼的一脸懵逼

前言相信很多人一开始接触 Java 虚拟机只是因为面试需要用到,所以硬着头皮去学。所以很多人对于为什么要学虚拟机这个问题,一致的答案皆是:因为面试。(我也是)‘手动狗头’。大家先来看看JVM9连问大家能答出几问:反正小编当时被怼的一脸懵逼其实学习JVM并不仅仅在于面试,而在于更深入地理解 Java 这门语言,以及为未来排查线上问题打下基础。下面我们来看看官方的定义。随着Java以及Java社区的不断壮大,Java也早已不再是简简单单的一门计算机语言了,它更是一个平台、一种文化、一

2021-12-16 14:09:54 1549 1

原创 跪了,Java EE+Web搭建云服务器以及云应用平台7大项目详解

前些天在CSDN上看到的一篇关于JavaSE、JavaEE和JavaWeb的区别与联系,总结的挺全的,跟大家分享一下Java SEJava SE 以前称为 J2SE,定位在个人计算机使用,用来开发C/S架构软件。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE包含了支持 Java Web 服务开发的类,并为 Java EE提供基础。Java EEJava EE,以前称为 J2EE,定位在服务器端应用。企业版本帮助开发和部署可移植、

2021-12-16 13:55:17 708 1

原创 Github标星67.9k的微服务架构以及架构设计模式笔记我粉了

微服务架构是什么?我们都知道微服务架构是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。你可以将其看作是在架构层次而非获取服务的类上应用很多SOLID原则。微服务架构是个很有趣的概念,它的主要作用是将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。概念:把一个大型的单个应用程序和服务拆分为数个甚至数十个的支持微服务,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。定义:围绕业务领域组件来创建应用,这些应用可独立地

2021-12-15 15:46:19 213

原创 我佛了,Java开发者福音:并发编程源码剖析+高并发系统搭建

多线程和高并发的关系和区别“高并发和多线程”总是被人一起提起,给人感觉两者好像相等,实则 高并发 ≠ 多线程多线程多线程是Java的特性,因为现在cpu都是多核多线程的,可以同时执行几个任务,为了提高jvm的执行效率,Java提供了这种多线程的机制,以增强数据处理效率。多线程对应的是cpu,高并发对应的是访问请求,可以用单线程处理所有访问请求,也可以用多线程同时处理访问请求。在过去单CPU时代,单任务在一个时间点只能执行单一程序。之后发展到多任务阶段,计算机能在同一时间点并行执行多任务或多进

2021-12-15 15:33:31 167

原创 优质高效,阿里甩出SpringBoot巅峰之作,进阶不二之选

前言十多年前,Spring颠覆了传统的JavaEE技术,迎来了Java企业级应用开发的春天,然而今天的Spring Boot却站在Spring巨人的肩膀上,让我们可以更高效地开发与交付。Java Web后端也好,App 后台也罢,甚至独立后台应用,等等,Spring Boot 都是你不可或缺的高效率工具。今天这篇文章旨在为大家介绍一份阿里技术官的SpringBoot巅峰之作,作者由浅入深地把Spring Boot 2.0各种特性阐述得淋漓尽致,不管你是Spring Boot新手还是老司机都值得一读。

2021-12-12 14:34:44 117

原创 直击灵魂,美团技术官手撸并发原理笔记,由浅入深剖析JDK源码

并发编程并发编程这四个字想必大家最近都在网上看到过有很多的帖子在讨论。我们都知道并发编程可选择的方式有多进程、多线程和多协程。在Java中,并发就是多线程模式。而多线程编程也一直是一个被广泛而深入讨论的领域。如果遇到复杂的多线程编程场景,大多数情况下我们就需要站在巨人的肩膀上利用并发编程框架——JDK Concurrent包来解决相关线程问题。Concurrent包很复杂吗?相信很多人对于Concurrent并发包都是一知半解,更别说Concurrent包源码了。(大牛另当别论)可以说要

2021-12-10 17:16:32 105

空空如也

空空如也

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

TA关注的人

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