自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(123)
  • 资源 (3)
  • 收藏
  • 关注

转载 多研究些架构,少谈些框架——一名阿里架构师的微服务笔记

微服务架构和SOA区别微服务现在辣么火,业界流行的对比的却都是所谓的Monolithic单体应用,而大量的系统在十几年前都是已经是分布式系统了,那么微服务作为新的理念和原来的分布式系统,或者说SOA(面向服务架构)是什么区别呢?我们先看相同点:需要Registry,实现动态的服务注册发现机制;需要考虑分布式下面的事务一致性,CAP原则下,两段式提交不能保

2018-01-24 19:55:29 400

原创 33张Java高级进阶技术思维导图,白嫖大佬梳理的技术要点!只需看重点,学习效率提升300%(建议收藏)

Java基础强化及高级用法JavaSE 知识点总结Java并发编程Java集合泛型反射计算机操作系统计算机组成原理数据结构NIOJava编程工具篇GITMaven框架源码篇MyBaitsDubboKafkaRabbitMQRedisNetty...

2021-07-26 21:57:09 229 6

原创 应有尽有,7701页互联网大厂面试题PDF版,让你一次收藏够!【Java后端、安卓、前端、Python、大数据均已分类】

最近很长时间没有更新文章,博主一直忙着给各位看官姥爷们收集各种面试资料,这不,在历时半个月时间,终于让我找到一份绝密超牛逼面试资料合集所有合集汇总起来约7701页PDF,包含【Java】【分布式】【Spring Cloud】【Spring Boot】【JVM】【Python】【前端】【安卓】【大数据】等等,本着好东西就是要拿出来分享的原则:互联网雷锋(博主我)为了能让大家节省四处查找资料的宝贵时间,借此机会,在和原作者交涉了三天三夜之后,终于让其答应博主我将这份资料分享出来,但因为某度网盘最近习惯性抽风,分

2021-05-26 16:54:52 1010 5

原创 Java线程教程:使用Java创建线程和多线程

与许多其他计算机语言不同,Java提供了对多线程的内置支持。Java中的多线程包含两个或多个可以同时运行的部分。Java线程实际上是一个轻量级进程。本文将介绍许多人发现棘手或难以理解的Java Thread概念。我将讨论以下主题:什么是Java线程? Java线程模型 Java多线程 Java主线程 如何创建Java线程?在继续第一个主题之前,请考虑以下示例:想象一下具有许多复杂功能的股票经纪人应用程序,例如下载最后的股价 查看价格以获取警告 分析特定公司的历史数据这..

2021-05-08 15:40:04 61 2

原创 这个疯子整理的十万字Java面试题汇总,终于拿下40W offer!(JDK源码+微服务合集+并发编程+性能优化合集+分布式中间件合集)

爆肝一周,不眠不休!就为 点赞+好评+收藏 三连收藏党可以通过百度网盘下载全部文档。Java JDK源码合辑HashMap篇

2021-04-28 22:22:33 16036 74

原创 万字长文书写RabbitMQ最全见解!以后再也不用到处去搜索了呀!

典型应用场景1、跨系统的异步通信 人民银行二代支付系统,使用重量级消息队列 IBM MQ,异步,解耦,削峰都有体现。2、应用内的同步变成异步 秒杀:自己发送给自己3、基于Pub/Sub模型实现的事件驱动 放款失败通知、提货通知、购买碎屏保 系统间同步数据 摒弃ELT(比如全量 同步商户数据); 摒弃API(比如定时增量获取用户、获取产品,变成增量广播)。4、利用RabbitMQ实现事务的最终一致性基本介绍AMQP协议AMQP,即Advanced Message Queuing P

2021-04-15 20:25:07 172 2

原创 探索Java无反射机制,如何节省启动内存资源消耗!

随着Java更新的新特性,例如体系结构决策及其要求。当前,云计算通常要求应用程序除了初始内存量少之外还要拥有更好的启动性。因此,有必要重新设计框架的制作方式,以消除反射的瓶颈。在框架中,反射在发挥着重要作用,无论是经典的ORM还是JAX-RS之类的REST API 。通过大量的减少各种操,从而使Javaer的工作变得更轻松。对于终端用户(这里指的是使用这些框架的用户)整个过程只需在类中添加一些符号,所有操作即可正常运行。它们的类元数据将被读取并用于促进某些进程。当前,执行这种类型的最流行的方法是通过

2021-04-13 13:05:19 1792 9

原创 2021年应届生与中高级程序员常见Java面试题

为了巩固在Java中的知识和概念,在这里我列出了最常见的Java面试问题,以便在面试的时候可以吊打面试官应届生常见面试问题问题1:Java中的框架是什么?答:框架是一组类和接口,它们提供了现成的体系结构。最佳的面向对象设计始终包括带有类集合的框架,以使所有类都执行相同类型的任务。问题2:使用Java定义集合框架。答:Java Collections Framework是接口和类的集合,这些接口和类有助于有效地存储和处理数据。Java Collection Framework提供...

2021-04-08 17:26:13 917 2

原创 服务网格:为什么选择Istio?

在Istio Service Mesh中,必须说一说以下基本要点: 什么是服务网格? 为什么我们需要服务网格? 可用的服务网格类型以及为什么使用Istio? Istio-体系结构和实现。 Istio组件。 Istio功能。 什么是服务网格?在任何基于微服务的体系结构中,只要存在从一个微服务到另一个微服务的服务调用。我们无法推断或调试网络服务调用中发生的情况。如果无法正确诊断如果出现意外情况,那可能会导致很多问题。例如;性能问题...

2021-04-08 16:19:12 2051 17

转载 为什么Java在25年后依然如此健壮

Java在25年的编程历史中,到现在,全球依然有将近69%的开发人员仍在使用Java进行编码。Oracle最近发布的Java 15,其中包含“密封类,隐藏类,爱德华曲线数字签名算法(EdDSA)”,文本块等功能。如此快速的迭代特性,才使得Java依然能够如此活跃与健康。Java的历史与演变在90年代初期有数十种非常稳定的编程语言(例如FORTRAN,COBOL,Pascal,C ++和Visual Basic)时,许多平台(例如Windows,Mac,Unix,Linux和Mobile平台)都要求在

2021-04-06 13:42:55 56

原创 泛聊反射历史及机制原理

本文实例讲述了Java 反射机制原理与用法。分享给大家供大家参考,具体如下:Java 反射机制Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于ReflectionAPI取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。Java反射机制提供的功能在运行时判断任意一个对象所属的类 在运行时构造任意一个类的对象 在运行时判断任意一个类所具有的成员变量和方法 在运行时调用任意一个对象的成员变量和方法 生成动态代理反射相关的主要API:j..

2021-03-19 22:52:19 77

原创 Java架构百科大全——年薪50W必备的百科手册

一、强化篇-修炼内功心法1.1夯实基础及原理1.1.1CoreJAVA反射初始反射-泛聊反射历史及机制原理 理解JVM中Class字节码的生命周期 Java中9大内置反射操作对象 方法、字段、构造器的反射使用 反射应用场景及实战总结泛型理解Java的自动装箱及拆箱 泛型的正确使用方式 何为泛型的类型擦除 泛型使用中关于类型和限制的通配符理解 泛型的实战场景和总结集合理解Java中集合体系结构及层次关系 Collection体系 Map体系注解理...

2021-03-19 20:03:20 155

原创 最详细的设计模式总汇,收藏好,面试不再怕被问设计模式了!

设计模式六大原则单一职责原则 一个方法尽可能做一件事情,一般来说不应该让一个方法承担多个职责。 单一职责原则的英文名称是Single Responsibility Principle,简称是SRP。单一职责原则的定义是:应该有且仅有一个原因引起类的变更。SRP的原话解释是:There should never be more than one reason for a class to change. 单一职责原则提出了一个编写程序的标准,用“职责”或“变化原因”来衡量接口或设计是否

2020-07-20 14:31:39 102

原创 最近面试了一位5年的Java,一问三不知!还反怼我...

最近看了很多简历,很多候选人年限不小,但是做的都是一些非常传统的项目,想着也不能通过简历就直接否定一个人,何况现在大环境越来 越难,大家找工作也不容易,于是就打算见一见。在沟通中发现,由于年限不小,他们的定位基本都是高级及以上,毕竟,年限摆在那里,面个中级也不体面。面试时我打算聊点基础的,先打开一下话题,结果发现对于一些开发中很基本的问题,比如: Git的分支你们是怎么管理的? 接口保证幂等性是基本的要求,那么幂等性你们是怎么做的? 你们有用@Transa...

2020-05-09 18:43:07 572

原创 程序员内功心法【设计模式】之建造者模式

基本定义建造者模式将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。建造者模式构建复杂对象就像造汽车一样,是一个一个组件一个一个步骤创建出来的,它允许用户通过制定的对象类型和内容来创建他们,但是用户并不需要知道这个复杂对象是如何构建的,它只需要明白通过这样做我可以得到一个完整的复杂对象实例。模式结构 Builder:抽象建造者。它声明为创建一个Product对...

2020-04-25 17:18:03 100

原创 你以为简单工厂模式很简单,可能是因为你懂的只是冰山的一角

简单工厂模式基本定义:简单工厂模式又称之为静态工厂方法,属于创建型模式。在简单工厂模式中,可以根据传递的参数不同,返回不同类的实例。简单工厂模式定义了一个类,这个类专门用于创建其他类的实例,这些被创建的类都有一个共同的父类。模式结构:1. Factory:工厂角色。专门用于创建实例类的工厂,提供一个方法,该方法根据传递的参数不同返回不同类的具体实例。2. Product:...

2020-04-20 11:19:21 149

原创 程序员内功心法《设计模式》

灵魂三问第一问,什么是设计模式?设计模式是在软件工程实践过程中,JAVA使用者们总结出的良好的编程方法,使用设计模式能够增加系统的健壮性,易修改性和可扩展性,当你进行开发的软件规模比较大的时候,良好的设计模式会给编程带来便利,让系统更加稳定。第二问,为什么要学习设计模式?普遍的目的:1、别人都说要学,别人都说好,所以我要学2、面试会被问,所以必须学3、读源...

2020-04-15 09:45:12 279 1

原创 使用Let's Encrypt + Nginx生成免费HTTPS证书

Let’s Encrypt简介官网:https://letsencrypt.org/Let’s Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla、Cisco、Akamai、IdenTrust、EFF等组织人员发起,主要的目的也是为了推进网站从HTTP向HTTPS过度的进程,目前已经有越来越多的商家加入和赞助支持。certbot简介官方客户端 ...

2020-04-13 10:19:11 149

原创 谈谈缓存更新

看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。于是,在缓存中的数据还是老的数据,导致缓存中的数据是脏的,而且还一直这样脏下去了。我不知道为什么这么多人用的都是这个逻...

2019-11-27 17:09:56 985

原创 Java开发人员必备十大工具

Java世界中存在着很多工具,从著名的IDE(例如Eclipse,NetBeans和IntelliJ IDEA)到JVM profiling和监视工具(例如JConsole,VisualVM,Eclipse Memory Analyzer等)。在本文中,我将重点介绍适用于各种Java开发人员(例如核心Java和Web开发人员)的通用工具。该列表绝没有罗列出完整工具,如果您知道开发人员应该学习的...

2019-10-16 16:13:43 3715

原创 阿里P7架构师的9个建议,帮你早日成为优秀的架构师!

最近经常从读者那里收到有关他们希望成为一名更好的Java开发人员而不得解的烦恼的私信,他们应该学习什么以及他们如何成为一名优秀的Java开发人员。对此我分别回答了这些问题之后,现在我在这里做个总汇,我认为这个总汇它将使您成为更好的Java程序员和应用程序开发人员。如果您还没有了解过这些点,可以阅读本文,它将帮助您提高编程和编码技能,这对于成为顶尖的Java开发人员至关重要。这些技巧对核心J...

2019-10-16 16:11:07 210

原创 十八道JVM面试题总汇(附解析)

一、Java 类加载过程?Java 类加载需要经历以下7 个过程:1. 加载加载是类加载的第一个过程,在这个阶段,将完成以下三件事情:•通过一个类的全限定名获取该类的二进制流。•将该二进制流中的静态存储结构转化为方法去运行时数据结构。•在内存中生成该类的 Class 对象,作为该类的数据访问入口。2. 验证验证的目的是为了确保 Class 文件的字节流中的信息...

2019-10-09 14:14:58 182

原创 一次跨行取款失败,而引发对分布式事物的思考

场景不知道大家有没有遇到这样的情况,就是去自动取款机取钱的时候,比如说你去取1000块钱,这个时候系统会先帮你把1000块钱扣除,然后自动取款机再把钱吐出来。但是如果取款机出现问题,会发现钱被扣了,但是钱没有取出来。我第一次遇到这个问题的时候很担心,当时跨行取取了3000块钱,短信提醒我钱已经被扣了,但是钱没取出来,于是准备去找柜台帮忙处理的时候,手机上又收到一笔交易提醒,提示钱被退回来了!...

2019-09-27 14:22:18 130

原创 一文读懂什么是JVM中的内存模型与垃圾回收!

扩展阅读:初探JVM,你只需要看这篇文章!六、内存模型6.1、内存模型与运行时数据区Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干不同数据区域。Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。这里所讲的主内存、工作内存与Java内存区域中的Java堆、栈、方法区等并不是同一层次的内存划...

2019-09-26 11:12:22 190

原创 初探JVM,你只需要看这篇文章!

1 官网1.1 寻找JDK文档过程www.oracle.com -> 右下角Product Documentation -> 往下拉选择Java ->Java SE documentation-> Previous releases -> JDK 8 -> 此时定位到:https://docs.oracle.com/javas...1.2 Th...

2019-09-26 10:49:16 85

原创 程序员:千篇一律的秃顶,各有各的顽皮

最后和程序员身边的朋友们嘱咐一句,就算程序员的工位再乱,也不...

2019-09-18 15:34:45 96

转载 一文详解微服务架构

本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件。本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组件等细节。要理解微服务,首先要先理解不是微服务的那些。通常跟微服务相对的是单体应用,即将所有功能都打包成在一个独立单元的应用程序。从单体应用到微服务并不是一蹴而就的,这是一个逐渐演变的过程。本文将以一个网上超市应用为例来说明这一过程。最初...

2019-09-18 11:43:59 83

转载 真实上海IT圈:张江男VS漕河泾男!【转】

通过比较上海各住宅小区在工作日晚餐与夜宵时段一人食外卖订单指数我们会发现:上海IT圈两大胜地:张江高科和漕河泾双双上榜其中张江位列《上海最孤独的15个区域榜单》第一名真实的上海IT圈大揭秘《张江男vs 漕河泾男》上海张江:想必很多没有来过上海的童鞋也听过它的名字,提起上海 IT 圈,很多人的第一反应都是张江高科技园亦或是张江IT男。...

2019-09-04 09:50:18 857

原创 Spring高频面试题,你能答的上哪些?(高级篇)

1、什么是 Spring 框架?Spring 框架有哪些主要模块?2、使用 Spring 框架能带来哪些好处?3、什么是控制反转(IOC)?什么是依赖注入?4、请解释下 Spring 框架中的 IoC? 5、BeanFactory 和 ApplicationContext 有什么区别?6、Spring 有几种配置方式?7、如何用基于 XML 配置的方式配置 Spring? ...

2019-07-25 19:49:11 440 1

原创 关于微服务你不得不知道的事——Spring Boot注解分析

Spring Boot注解分析1 注解1.1 定义Annotation(注解),用于为Java代码提供元数据。简单理解注解可以看做是一个个标签,用来标记代码。是一种应用于类、方法、参数、变量、构造器及包的一种特殊修饰符。1.2 注解的声明@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Docume...

2019-07-15 17:04:54 107

原创 Spring Boot注解分析

1 注解1.1 定义Annotation(注解),用于为Java代码提供元数据。简单理解注解可以看做是一个个标签,用来标记代码。是一种应用于类、方法、参数、变量、构造器及包的一种特殊修饰符。1.2 注解的声明@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inheritedpu...

2019-06-29 19:59:50 162

转载 阿里P7工作总结:Spring MVC的工作原理,看完受益匪浅

这篇文章将深入探讨Spring框架的一部分——Spring Web MVC的强大功能及其内部工作原理。这篇文章的源代码可以在GitHub上找到。项目安装在本文中,我们将使用最新、最好的Spring Framework 5。我们将重点介绍Spring的经典Web堆栈,该堆栈从框架的第一个版本中就崭露头角,并且现在依然是用Spring构建Web应用程序的主要方式。对于初学者来说,为...

2019-06-27 16:55:38 265

原创 关于Spring Boot你不得不知道的事--Spring Boot的基本操作

1 Pom文件1.1 spring-boot-starter-parent表示当前pom文件从spring-boot-starter-parent继承下来,在spring-boot-starter-parent中提供了很多默认配置,可以简化我们的开发。<parent> <groupId>org.springframework.boot</grou...

2019-06-20 16:53:04 232

原创 关于Spring Boot你不得不知道的事

1 Spring Boot官网[2.1.5 CURRENT GA] 1.1 Pivotal Wiki Pivotal Software, Inc. is a software and services company based in San Francisco and Palo Alto, California, with several other offices. Divisio...

2019-06-15 14:28:15 138

原创 初中级程序员进阶高级程序员,必须要了解的设计模式(45种设计模式)

设计模式(45种)设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证...

2019-04-16 16:05:40 860

原创 Java面试题中的Redis大合集,所有你想找的都在这里!

Redis 是一个开源的,基于内存的结构化数据存储媒介,可以作为数据库、缓存服务或消息服务使用。``` Redis 支持多种数据结构,包括字符串、哈希表、链表、集合、有序集合、位图、Hyperloglogs 等。 Redis 具备 LRU 淘汰、事务实现、以及不同级别的硬盘持久化等能力,并且支持副本集和通过 Redis Sentinel 实现的高可用方案,同时还支持通过 Redis ...

2019-04-14 14:53:25 223

转载 Java进阶——带你入门分布式中的Nginx

如何实现服务器之间的协同功能呢?通过Nginx提供的反向代理和负载均衡功能,可以合理的完成业务的分配,提高网站的处理能力;同时利用缓存功能,还可以将不需要实时更新的动态页面输出结果,转化为静态网页形成缓存,从而提高网站的响应速度。代理和反向代理代理(正向代理,目标服务器不知道谁在访问)位于客户端和目标服务器之间,起到一个中转的作用。其实就是客户端想访问目标服务器...

2019-04-14 14:15:26 197

转载 亿级网站大数据量下的高并发同步讲解

对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题,但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧。 为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异步1、同步和异步的区别和联系 所谓同步,可以理解为在执行完一个...

2019-04-12 17:26:34 681

原创 Java程序员面试必须要看的:史上最全Spring面试题与答案

Spring 概述1. 什么是spring?Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。2. 使用Spring框架的好处是什么?轻量:Spring 是轻量的,基本的版本大约2MB。 控制...

2019-03-08 22:05:00 278

原创 面试Java高级开发岗位,只需准备这几点,让面试官折服!

这几天,我密集面试了若干位Java后端的候选人,工作经验在5年左右。我的标准其实不复杂:1、能干活2、Java基础要好3、最好熟悉些分布式框架我也知道,不少候选人能力其实不差,但面试时没准备或不会说,这样的人可能在进团队干活后确实能达到期望,但可能就无法通过面试,但面试官总是只根据面试情况来判断。但现实情况是,大多数人可能面试前没准备,或准备方法不得当。要知道,我们平时干活更偏...

2019-02-17 20:03:40 673

陈皓-Cloud Native 云化架构.

Cloud Native 云化架构,微服务架构的演进历史,运用,结构

2018-02-03

Java高级架构知识总汇——源码分析,分布式,微服务,性能优化

Java源码分析与常用设计模式,分布式架构的框架结构,底层原理。手写spring mvc,微服务架构 spring 5新特新与源码解析。

2018-03-16

阿里大牛眼中——Dubbo 的过去、现在以及未来

阿里大神分享Dubbo 的过去、现在以及未来,应用与分布式,微服务架构,Java程序员必看

2018-02-03

空空如也

空空如也

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

TA关注的人 TA的粉丝

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