<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[spring3776的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/spring3776</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; spring3776]]></copyright><item><title><![CDATA[一文了解：微服务及其演进史]]></title><link>https://blog.youkuaiyun.com/spring3776/article/details/125088956</link><guid>https://blog.youkuaiyun.com/spring3776/article/details/125088956</guid><author>spring3776</author><pubDate>Wed, 01 Jun 2022 19:27:25 +0800</pubDate><description><![CDATA[一文了解：微服务及其演进史]]></description><category></category></item><item><title><![CDATA[斩获字节offer秘籍！阿里内部资料首公开，已成功拿五家大厂offer]]></title><link>https://blog.youkuaiyun.com/spring3776/article/details/125088919</link><guid>https://blog.youkuaiyun.com/spring3776/article/details/125088919</guid><author>spring3776</author><pubDate>Wed, 01 Jun 2022 19:25:35 +0800</pubDate><description><![CDATA[斩获字节offer秘籍！阿里内部资料首公开，已成功拿五家大厂offer]]></description><category></category></item><item><title><![CDATA[坐等膜拜-图解23种设计模式，阿里P8架构师超详细总结（附详解文档）]]></title><link>https://blog.youkuaiyun.com/spring3776/article/details/125071120</link><guid>https://blog.youkuaiyun.com/spring3776/article/details/125071120</guid><author>spring3776</author><pubDate>Tue, 31 May 2022 18:26:49 +0800</pubDate><description><![CDATA[设计模式可以分为下面三大类：
创建型
1. Factory Method（工厂方法）
2. Abstract Factory（抽象工厂）
3. Builder（建造者）
4. Prototype（原型）
5. Singleton（单例）
结构型
6. Adapter Class/Object（适配器）
7. Bridge（桥接）
8. Composite（组合）
9. Decorator（装饰）
10. Facade（外观）
11. Flyweight（享元）
12. Proxy（代理）
行为型
13. I]]></description><category></category></item><item><title><![CDATA[Netty，这次拿下核心 Pipeline]]></title><link>https://blog.youkuaiyun.com/spring3776/article/details/125071056</link><guid>https://blog.youkuaiyun.com/spring3776/article/details/125071056</guid><author>spring3776</author><pubDate>Tue, 31 May 2022 18:22:33 +0800</pubDate><description><![CDATA[今天我们来盘一盘 Netty 中的 Pipeline 实现（没看过我 Netty 前面几篇的，建议先看看，文末有合集链接）。
再学一手有点骚的掩码操作，深入学习下 Netty 是如何处理各种事件的，看看事件是如何在 ChannelPipeline 中传播处理的。
话不多说，发车！
我们都知道，在 Netty 中业务处理逻辑都被拆分成一个个 ChannelHandler 实现，我们选装的 ChannelHandler 们又组成了一条链，叫 ChannelPipeline。
实际上 ChannelPipelin]]></description><category></category></item><item><title><![CDATA[5月，java岗爆了]]></title><link>https://blog.youkuaiyun.com/spring3776/article/details/125052323</link><guid>https://blog.youkuaiyun.com/spring3776/article/details/125052323</guid><author>spring3776</author><pubDate>Mon, 30 May 2022 19:15:16 +0800</pubDate><description><![CDATA[[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GCDitfXx-1653909294147)(https://upload-images.jianshu.io/upload_images/26747438-75e731b618b23451.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
今年以来，经过了疫情、裁员、铜三铁四，互联网大厂终于迎来了应届生集中求职的5、6月。
对于想跳槽的职场人来说，绝对是个找工作的]]></description><category></category></item><item><title><![CDATA[面试官：算法刷题实录.pdf我居然答不上来]]></title><link>https://blog.youkuaiyun.com/spring3776/article/details/125052315</link><guid>https://blog.youkuaiyun.com/spring3776/article/details/125052315</guid><author>spring3776</author><pubDate>Mon, 30 May 2022 19:14:45 +0800</pubDate><description><![CDATA[最近有不少老铁在后台留言说，想进大厂，但是算法不好。最近我整理了一份刷题实录，这份刷题实录，也让我进了心仪的大厂。现在开放分享给大家。希望对大家有所帮助。
任何的算法题，如同写作文一样，都有一些模板可以套用的。比如面试常考的DP（动态规划），难的是一些关键点是否能想清楚。比如你能写出动态转移方程，这题基本上就可以AC了。
整个刷题实录内容，包括&nbsp;双子针、动态规划、二分查找、贪心算法、深度优先搜索、字符串、递归、字典树、排序、链表等相关专题内容。图文并茂，附有刷题答案源码。

刷题任务的题目，是根据]]></description><category></category></item><item><title><![CDATA[技术面轻松通过，HR：只有三年大厂经验的不值20K]]></title><link>https://blog.youkuaiyun.com/spring3776/article/details/125052310</link><guid>https://blog.youkuaiyun.com/spring3776/article/details/125052310</guid><author>spring3776</author><pubDate>Mon, 30 May 2022 19:14:21 +0800</pubDate><description><![CDATA[后台有一个小伙伴私信我，好不容易挺过技术面试的难关，却在offer选择上绊住了脚！

根据他的反馈结果来看，在技术面试上是没有太大问题的，但在岗位契合度上面，明显偏向第二份，却在薪资涨幅问题上，明显遭到了HR打压。
这也是大部份小伙伴在跳槽、找工作的过程都遇到过的问题，大家也肯定会首选这份不喜欢且薪资最高的offer，但却有可能造成频繁跳槽的后果!
其实，小编认为：最主要原因大家还是缺少面试技巧，缺少与面试官或者HR谈判的底气！
为了帮助大家，给大家分享一份提升技术的《Java技术宝典》,主要分为两个部分:]]></description><category></category></item><item><title><![CDATA[Java集合面试题看这篇就够了]]></title><link>https://blog.youkuaiyun.com/spring3776/article/details/124804327</link><guid>https://blog.youkuaiyun.com/spring3776/article/details/124804327</guid><author>spring3776</author><pubDate>Mon, 16 May 2022 17:34:49 +0800</pubDate><description><![CDATA[1.说说Java中常用的容器有哪些？
容器主要包括&nbsp;Collection&nbsp;和&nbsp;Map&nbsp;两种，Collection 存储着对象的集合，而 Map 存储着键值对(两个对象)的映射表。
如图：

‍面试官追问：说说集合有哪些类及他们各自的区别和特点？


Set
TreeSet
HashSet
LinkedHashSet


List
ArrayList
Vector
LinkedList


Queue
LinkedList
PriorityQueue
ArrayQu]]></description><category></category></item><item><title><![CDATA[最新版Java进阶笔记，金三银四看这份文档就够了]]></title><link>https://blog.youkuaiyun.com/spring3776/article/details/124804300</link><guid>https://blog.youkuaiyun.com/spring3776/article/details/124804300</guid><author>spring3776</author><pubDate>Mon, 16 May 2022 17:33:47 +0800</pubDate><description><![CDATA[大家都说程序员这个职业薪资高、待遇好，现在是程序员“跳槽”的黄金时期，你准备好了吗?有没有给自己定个小目标？是30K、40K，还是更高？**短期内提高Java 核心能力最快、最有效的方法，**到底是什么。你知道吗？
你要跳出日常CRUD的工作，可以来学学这份Java进阶笔记，它包含微服务架构、涉及 Spring Boot、SpringCloud 、Dubbo 等核心组件的应用，还有秒杀活动用到的 Nginx、Redis、MQ、DB、 JVM调优、mysql优化、高并发等等，从底层组件应用，到模块设计一应俱全]]></description><category></category></item><item><title><![CDATA[阿里面试Redis常考问题，你略知多少？]]></title><link>https://blog.youkuaiyun.com/spring3776/article/details/124753472</link><guid>https://blog.youkuaiyun.com/spring3776/article/details/124753472</guid><author>spring3776</author><pubDate>Fri, 13 May 2022 15:50:00 +0800</pubDate><description><![CDATA[一提到Redis缓存，我们不得不了解的三个问题就是：缓存雪崩、缓存击穿和缓存穿透。这三个问题一旦发生，会导致大量的请求直接请求到数据库层。如果并发压力大，就会导致数据库崩溃。那p0级的故障是没跑了。
今天我们就来详细的了解这个三个问题诱因以及如何解决。
废话不多说，我们直接开搞！！！
一、缓存雪崩
什么是缓存雪崩？缓存雪崩就是大量请求无法在redis缓存中进行处理，而是直接发送到了数据库层，使得数据库压力陡增。就好像redis一下子突然失效了一样。一般造成缓存雪崩主要有两个原因，我们来一一分析一下。
1.缓]]></description><category></category></item><item><title><![CDATA[Java初学者学习入门总结：多线程失误知识点梳理]]></title><link>https://blog.youkuaiyun.com/spring3776/article/details/124636058</link><guid>https://blog.youkuaiyun.com/spring3776/article/details/124636058</guid><author>spring3776</author><pubDate>Sat, 07 May 2022 17:48:03 +0800</pubDate><description><![CDATA[很多Java新手在刚接触线程时都会被其复杂的知识点搞晕，在实际应用中同样错误不断。如何才能快速掌握多线程呢？常见的Java多线程错误有哪些？接下来小编就给大家分享Java新手学习入门中多线程失误梳理。
无论是客户端还是服务器端多线程Java程序，最常见的多线程问题包括死锁、隐性死锁和数据竞争。

1、死锁
多个线程同时被阻塞，它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞，因此程序不可能正常终止。
导致死锁的根源在于不适当地运用“synchronized”关键词来管理线程对特定对象的访问]]></description><category></category></item><item><title><![CDATA[初学Java开发的学习路线图是什么？]]></title><link>https://blog.youkuaiyun.com/spring3776/article/details/124636044</link><guid>https://blog.youkuaiyun.com/spring3776/article/details/124636044</guid><author>spring3776</author><pubDate>Sat, 07 May 2022 17:47:17 +0800</pubDate><description><![CDATA[初学Java开发的学习路线图是什么？下面和小编一起来看看吧！

1、面向对象
Java是一个面向对象的开发语言，熟悉面向对象对学习Java很有必要，要了解对象，类;封装，多态，继承;抽象类，接口。如何体现的，类和对象有什么区别?类是如何封装的?
类继承在早期面向对象的应用程序中大量使用。随着软件工程理论的不断发展，人们开始意识到继承的诸多缺点，并开始尝试使用聚合而不是继承。可以解决可扩展性的软件工程的重要原则是抽象描述。
2、Java语法
有C++等面向对象语言的开发经验，只需简单的翻看一下介绍Java的相]]></description><category></category></item><item><title><![CDATA[Java虚拟机架构?面试的时候懵了吧,作为过来人给你们讲讲]]></title><link>https://blog.youkuaiyun.com/spring3776/article/details/124575975</link><guid>https://blog.youkuaiyun.com/spring3776/article/details/124575975</guid><author>spring3776</author><pubDate>Wed, 04 May 2022 19:37:11 +0800</pubDate><description><![CDATA[JVM被分为三个主要的子系统：类加载器子系统、运行时数据区、执行引擎

类加载器子系统
Java的动态类加载功能是由类加载器子系统处理。当它在运行时（不是编译时）首次引用一个类时，它加载、链接并初始化该类文件。
加载
类由此组件加载。启动类加载器 (BootStrap class Loader)、扩展类加载器(Extension class Loader)和应用程序类加载器(Application class Loader) 这三种类加载器帮助完成类的加载。

启动类加载器：负责从启动类路径中加载类，无非就]]></description><category></category></item><item><title><![CDATA[颠覆认知的Java-lambda流特效：构建管道-＞数据流转]]></title><link>https://blog.youkuaiyun.com/spring3776/article/details/124531501</link><guid>https://blog.youkuaiyun.com/spring3776/article/details/124531501</guid><author>spring3776</author><pubDate>Sun, 01 May 2022 19:51:01 +0800</pubDate><description><![CDATA[本文内容都是个人思索，并未找到官方文档，请大佬评论指正：
需求：对根据对象里面的特定字段，完成对象元素去重；
public class Test4 {
static List ans = Lists.newArrayList(new User(“a”),
new User(“a”), new User(“b”), new User(“c”));
/**
 * 创建的是Predicate对象，而创建代码只会走一次，
 */
public static &lt;T&gt; Predicate&lt;T&gt; ]]></description><category></category></item><item><title><![CDATA[Java超好用的工具方法（持续更新ing）]]></title><link>https://blog.youkuaiyun.com/spring3776/article/details/124531494</link><guid>https://blog.youkuaiyun.com/spring3776/article/details/124531494</guid><author>spring3776</author><pubDate>Sun, 01 May 2022 19:50:21 +0800</pubDate><description><![CDATA[判断一个值是否为null，若是null的情况下，设置默认值
Integer ab=null;
ab = ab == null ? -1 : ab;
可以使用更加优雅的一种方式：Optional
Optional.ofNullable(ab).orElse(-1);
在封装为一个公共方法：
public static  T nullToDefault(T t, T defaultValue) {
return t == null ? defaultValue : t;
}
比较两个值是否相等
难点：在于对于N]]></description><category></category></item><item><title><![CDATA[缓存技术之Redis和Memcache的区别以及对比]]></title><link>https://blog.youkuaiyun.com/spring3776/article/details/124514620</link><guid>https://blog.youkuaiyun.com/spring3776/article/details/124514620</guid><author>spring3776</author><pubDate>Sat, 30 Apr 2022 16:24:41 +0800</pubDate><description><![CDATA[Redis
区别：
1） Redis和Memcache都是将数据存放在内存中，都是内存数据库。不过memcache还可用于缓存其他东西，例如图片、视频等等。
2）Redis不仅仅支持简单的k/v类型的数据，同时还提供list，set，hash等数据结构的存储。
3）虚拟内存–Redis当物理内存用完时，可以将一些很久没用到的value 交换到磁盘
4）过期策略–memcache在set时就指定，例如set key1 0 0 8,即永不过期。Redis可以通过例如expire 设定，例如expire nam.]]></description><category></category></item><item><title><![CDATA[微服务分布式事务处理]]></title><link>https://blog.youkuaiyun.com/spring3776/article/details/124434682</link><guid>https://blog.youkuaiyun.com/spring3776/article/details/124434682</guid><author>spring3776</author><pubDate>Tue, 26 Apr 2022 19:01:41 +0800</pubDate><description><![CDATA[当我们向微服务架构迁移时，如何处理好分布式事务是必须考虑的问题。这篇文章介绍了分布式事务处理的两种方案，可以结合实际采用合适的解决方案。原文：Handling Distributed Transactions in the Microservice world

什么是分布式事务？
跨越网络上多个物理系统或计算机的事务被简单的称为分布式事务。在微服务世界中，事务被分割到多个服务中，需要按顺序调用这些服务以完成整个事务。
下面是一个单体电子商务系统使用事务的例子：

在上面的系统中，如果用户向平台发送Che.]]></description><category></category></item><item><title><![CDATA[如何成为Java软件架构师]]></title><link>https://blog.youkuaiyun.com/spring3776/article/details/124253487</link><guid>https://blog.youkuaiyun.com/spring3776/article/details/124253487</guid><author>spring3776</author><pubDate>Mon, 18 Apr 2022 16:44:33 +0800</pubDate><description><![CDATA[步骤1：了解软件架构师角色
软件架构师是一位软件技术专家，他做出高级设计选择，并规定技术标准，包括软件编码标准、工具和平台。首席专家被称为首席架构师。他们的日常任务包括：
为业务问题创建设计
创建软件架构文档
在不同选项之间确定最佳设计选择
考虑未来的变化
能够考虑功能和非功能需求来创建设计
必须是最新设计模式的技术专家
必须是最新框架或COTS组件的技术专家
步骤2：了解Java软件架构师角色
Java软件架构师应具备以下方面的知识：
JavaSE
线程
并发性
小程序
JavaWebStart应用程序
]]></description><category></category></item><item><title><![CDATA[Java初学者面试中应该如何准备？一般公司对Java开发的要求有哪些？]]></title><link>https://blog.youkuaiyun.com/spring3776/article/details/124130900</link><guid>https://blog.youkuaiyun.com/spring3776/article/details/124130900</guid><author>spring3776</author><pubDate>Tue, 12 Apr 2022 18:29:37 +0800</pubDate><description><![CDATA[其实都非常简单，你只需要懂得基本的开发软件安装和使用，不需要太多高大上的技术；

对于Java小白来说，要达到找到第一份工作的目标，不光靠技术，更要靠学习的方法以及写简历和准备面试的技巧。
1、零基础的Java小白，其实能力都差不多，只要没经过正式商业项目洗礼，哪怕运行通再多的学习项目，其实离真正能做商业项目的程度，也是有距离的，所以零基础的Java小白，更应该用简历+面试技巧来弥补。
2、要找实习，或者找工作，面试官不是凭求职者运行通多少个项目或者学了多少技术来衡量求职者的能力，而只能靠面试来问。在面试中]]></description><category></category></item><item><title><![CDATA[牛逼 2022 最新 Spring 面试题]]></title><link>https://blog.youkuaiyun.com/spring3776/article/details/124065617</link><guid>https://blog.youkuaiyun.com/spring3776/article/details/124065617</guid><author>spring3776</author><pubDate>Sat, 09 Apr 2022 18:38:18 +0800</pubDate><description><![CDATA[金三银四，本文总结了经典的 Spring 面试题，总共 2W 字
Spring概述
什么是spring?
Spring是一个轻量级Java开发框架，最早有Rod Johnson创建，目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的JavaSE/JavaEE full-stack（一站式）轻量级开源框架，为开发Java应用程序提供全面的基础架构支持。Spring负责基础架构，因此Java开发者可以专注于应用程序的开发。
Spring最根本的使命是解决企业级应用开发的复杂性，即简化J]]></description><category></category></item></channel></rss>