<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[m0_68850571的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_68850571</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_68850571]]></copyright><item><title><![CDATA[手撸架构，Nginx 面试40问]]></title><link>https://blog.youkuaiyun.com/m0_68850571/article/details/127088378</link><guid>https://blog.youkuaiyun.com/m0_68850571/article/details/127088378</guid><author>m0_68850571</author><pubDate>Wed, 28 Sep 2022 14:08:16 +0800</pubDate><description><![CDATA[Nginx是一个 轻量级/高性能的反向代理Web服务器，用于 HTTP、HTTPS、SMTP、POP3 和 IMAP 协议。他实现非常高效的反向代理、负载平衡，他可以处理2-3万并发连接数，官方监测能支持5万并发，现在中国使用nginx网站用户有很多，例如：新浪、网易、 腾讯等。]]></description><category></category></item><item><title><![CDATA[SpringBoot 整合 Neo4j，图数据库 YYDS！]]></title><link>https://blog.youkuaiyun.com/m0_68850571/article/details/126941008</link><guid>https://blog.youkuaiyun.com/m0_68850571/article/details/126941008</guid><author>m0_68850571</author><pubDate>Mon, 19 Sep 2022 20:10:57 +0800</pubDate><description><![CDATA[知识图谱的概念诞生于 2012 年，由谷歌公司首先提出。大家都知道，谷歌是做搜索引擎的，所以他们最早提出了后，首先利用知识图谱技术改善了搜索引擎核心。注意上面的说法，虽然知识图谱诞生于 2012 年，但其实在更早的时间它还有另外一个名字，那就是语义。那么语义又是什么呢？引用《统计自然语言处理基础》中的两句话来解答这个问题：语义可以分成两部分，研究单个词的语义（即词义）以及单个词的含义是怎么联合起来组成句子（或者更大的单位）的含义。语义研究的是词语的含义、结构和说话的方式。]]></description><category></category></item><item><title><![CDATA[面向对象分析与设计的底层逻辑]]></title><link>https://blog.youkuaiyun.com/m0_68850571/article/details/126918834</link><guid>https://blog.youkuaiyun.com/m0_68850571/article/details/126918834</guid><author>m0_68850571</author><pubDate>Sun, 18 Sep 2022 16:03:31 +0800</pubDate><description><![CDATA[01人是怎么认识事物的在面向对象出现之前，已有面向过程的分析方法，为什么面向对象被提出了呢？究其本质原因，人们发现面向过程并不是按照人正常认识事物的方式去分析软件，那么人究竟是怎么认识事物的呢，Yourdon 在《面向对象的分析》一书中提到，人类认识事物是遵循分类学的原理，分类学主要包含三点：区分对象及其属性；区分整体对象及其组成部分；不同对象类的形成及区分。我们现在可以回想下我们认识事物的过程，是不是和分类学所提到的 3 个要点很相似，看到一个事物，大概会感知到它的组成结构是怎样的，形状是怎样的，属于什么]]></description><category></category></item><item><title><![CDATA[阿里一面：Spring Bean 默认是单例的，高并发情况下，如何保证并发安全？]]></title><link>https://blog.youkuaiyun.com/m0_68850571/article/details/126752855</link><guid>https://blog.youkuaiyun.com/m0_68850571/article/details/126752855</guid><author>m0_68850571</author><pubDate>Wed, 07 Sep 2022 20:09:42 +0800</pubDate><description><![CDATA[Spring的bean默认都是单例的，某些情况下，单例是并发不安全的，以Controller举例，问题根源在于，我们可能会在Controller中定义成员变量，如此一来，多个请求来临，进入的都是同一个单例的Controller对象，并对此成员变量的值进行修改操作，因此会互相影响，无法达到并发安全（不同于线程隔离的概念，后面会解释到）的效果。]]></description><category></category></item><item><title><![CDATA[面试官：多线程硬核50问！能回答一半就让你过]]></title><link>https://blog.youkuaiyun.com/m0_68850571/article/details/126748804</link><guid>https://blog.youkuaiyun.com/m0_68850571/article/details/126748804</guid><author>m0_68850571</author><pubDate>Wed, 07 Sep 2022 16:37:08 +0800</pubDate><description><![CDATA[CPU的缓存是以缓存行(cache line)为单位进行缓存的，当多个线程修改相互独立的变量，而这些变量又处于同一个缓存行时就会影响彼此的性能。这就是伪共享现代计算机计算模型:CPU执行速度比内存速度快好几个数量级，为了提高执行效率，现代计算机模型演变出CPU、缓存（L1，L2，L3），内存的模型。CPU执行运算时，如先从L1缓存查询数据，找不到再去L2缓存找，依次类推，直到在内存获取到数据。为了避免频繁从内存获取数据，聪明的科学家设计出缓存行，缓存行大小为64字节。也正是因为缓存行的存在。]]></description><category></category></item><item><title><![CDATA[美团二面：加密后的数据如何进行模糊查询？？被问懵了。。]]></title><link>https://blog.youkuaiyun.com/m0_68850571/article/details/126726709</link><guid>https://blog.youkuaiyun.com/m0_68850571/article/details/126726709</guid><author>m0_68850571</author><pubDate>Tue, 06 Sep 2022 15:43:44 +0800</pubDate><description><![CDATA[我们到这里对加密数据的检索方案全部介绍完了，我们首先提到的是网上搜索随处可见的沙雕做法，在这里也讲了不推荐使用这些沙雕做法，尽量使用常规做法，如果公司有专业算法方向人才的话不妨可以考虑基于算法层面的超神做法。总的来说从投入、产出比、及实现、使用成本来算的话常规做法二是非常推荐的。学习更多JAVA知识与技巧，关注博主学习JAVA 课件，源码，安装包，还有最新大厂面试资料等等等咱们下期见。]]></description><category></category></item><item><title><![CDATA[Spring Boot 实现接口幂等性的 4 种方案]]></title><link>https://blog.youkuaiyun.com/m0_68850571/article/details/126691380</link><guid>https://blog.youkuaiyun.com/m0_68850571/article/details/126691380</guid><author>m0_68850571</author><pubDate>Sun, 04 Sep 2022 16:53:00 +0800</pubDate><description><![CDATA[在HTTP/1.1中，对幂等性进行了定义。它描述了一次和多次请求某一个资源对于资源本身应该具有同样的结果（网络超时等问题除外），即第一次请求的时候对资源产生了副作用，但是以后的多次请求都不会再对资源产生副作用。这里的副作用是不会对结果产生破坏或者产生不可预料的结果。也就是说，其任意多次执行对资源本身所产生的影响均与一次执行的影响相同。幂等性是开发当中很常见也很重要的一个需求，尤其是支付、订单等与金钱挂钩的服务，保证接口幂等性尤其重要。]]></description><category></category></item><item><title><![CDATA[分布式系统设计模式，你用过哪些？]]></title><link>https://blog.youkuaiyun.com/m0_68850571/article/details/126690597</link><guid>https://blog.youkuaiyun.com/m0_68850571/article/details/126690597</guid><author>m0_68850571</author><pubDate>Sun, 04 Sep 2022 16:02:57 +0800</pubDate><description><![CDATA[三到五个节点的集群，就像在实现共识的系统中一样，领导者选举可以在数据集群本身内实施，而不依赖于任何外部系统。在读取操作期间修复过时的数据，因为此时，我们可以从多个节点读取数据以进行比较并找到具有过时数据的节点。一旦已知具有旧数据的节点，读取修复操作就会将较新版本的数据推送到具有较旧版本的节点。当系统存储某些数据时，它会计算数据的校验和，并将校验和与数据一起存储。通过对数据项的键进行哈希处理以产生其在环上的位置，然后顺时针遍历环以查找位置大于该项位置的第一个节点，将每个由键标识的数据项分配给节点。]]></description><category></category></item><item><title><![CDATA[看了我的MyBatis-Plus用法，同事也开始悄悄模仿了...]]></title><link>https://blog.youkuaiyun.com/m0_68850571/article/details/126689400</link><guid>https://blog.youkuaiyun.com/m0_68850571/article/details/126689400</guid><author>m0_68850571</author><pubDate>Sun, 04 Sep 2022 14:51:18 +0800</pubDate><description><![CDATA[本文主要介绍mybatis-plus这款插件，针对springboot用户。包括引入，配置，使用，以及扩展等常用的方面做一个汇总整理，尽量包含大家常用的场景内容。关于mybatis-plus是什么，不多做介绍了，看官方文档：baomidou.com ，咱们直接代码撸起来。本文基于springboot、maven、jdk1.8、mysql开发，所以开始前我们需要准备好这套环境。我的环境使用了nacos作为注册中心新建如下数据库：  建议大家选择utf8mb4这种字符集，做过微信的同学应该会知道，微信用户名称的]]></description><category></category></item><item><title><![CDATA[架构师细谈八种架构“设计模式“及其优缺点]]></title><link>https://blog.youkuaiyun.com/m0_68850571/article/details/126651919</link><guid>https://blog.youkuaiyun.com/m0_68850571/article/details/126651919</guid><author>m0_68850571</author><pubDate>Thu, 01 Sep 2022 21:38:40 +0800</pubDate><description><![CDATA[这个问题我问过的面试者不下于数十次，回答五花八门，在我看来，模式就是经验，设计模式就是设计经验，有了这些经验，我们就能在特定情况下使用特定的设计、组合设计，这样可以大大节省我们的设计时间，提高工作效率。作为一个工作10年以上的老码农，经历的系统架构设计也算不少，接下来，我会把工作中用到的一些架构方面的设计模式分享给大家，望大家少走弯路。总体而言，共有八种，分别是：单库单应用模式：最简单的，可能大家都见过内容分发模式：目前用的比较多查询分离模式：对于大并发的查询、业务。]]></description><category></category></item><item><title><![CDATA[面试官：int(1) 和 int(10) 有什么区别？]]></title><link>https://blog.youkuaiyun.com/m0_68850571/article/details/126651521</link><guid>https://blog.youkuaiyun.com/m0_68850571/article/details/126651521</guid><author>m0_68850571</author><pubDate>Thu, 01 Sep 2022 21:15:50 +0800</pubDate><description><![CDATA[zerofill的作用一般可以用在一些编号相关的数字中，比如学生的编号 001 002 ... 999这种，如果mysql没有零填充的功能，但是你又要格式化输出等长的数字编号时，那么你只能自己处理了。我们知道在mysql中 int占4个字节，那么对于无符号的int，最大值是2^32-1 = 4294967295，将近40亿，难道用了int(1)，就不能达到这个最大值吗？可以看到成功了，说明int后面的数字，不影响int本身支持的大小，int(1)、int(2)...int(10)没什么区别。]]></description><category></category></item><item><title><![CDATA[JVM类加载子系统]]></title><link>https://blog.youkuaiyun.com/m0_68850571/article/details/126651268</link><guid>https://blog.youkuaiyun.com/m0_68850571/article/details/126651268</guid><author>m0_68850571</author><pubDate>Thu, 01 Sep 2022 21:03:12 +0800</pubDate><description><![CDATA[jvm类加载子系统]]></description><category></category></item><item><title><![CDATA[一文快速上手 Nacos 注册中心+配置中心！]]></title><link>https://blog.youkuaiyun.com/m0_68850571/article/details/126625271</link><guid>https://blog.youkuaiyun.com/m0_68850571/article/details/126625271</guid><author>m0_68850571</author><pubDate>Wed, 31 Aug 2022 15:42:42 +0800</pubDate><description><![CDATA[Nacos 致力于帮助开发者发现、配置和管理微服务。它提供了一组简单易用的特性集，帮助开发者快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 具有以下特性：服务发现和服务健康监测：支持基于DNS和基于RPC的服务发现，支持对服务的实时的健康检查，阻止向不健康的主机或服务实例发送请求。动态配置服务：动态配置服务可以让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。...]]></description><category></category></item><item><title><![CDATA[Java多态的本质—动态分派]]></title><link>https://blog.youkuaiyun.com/m0_68850571/article/details/126574913</link><guid>https://blog.youkuaiyun.com/m0_68850571/article/details/126574913</guid><author>m0_68850571</author><pubDate>Sun, 28 Aug 2022 21:42:49 +0800</pubDate><description><![CDATA[Java语言的一大特性是多态性，所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定，而是在程序运行期间才确定，即一个引用变量倒底会指向哪个类的实例对象，该引用变量发出的方法调用到底是哪个类中实现的方法，必须在由程序运行期间才能决定。举个简单的例子，比如。...]]></description><category></category></item><item><title><![CDATA[深入剖析Spring Boot 的SPI机制]]></title><link>https://blog.youkuaiyun.com/m0_68850571/article/details/126571811</link><guid>https://blog.youkuaiyun.com/m0_68850571/article/details/126571811</guid><author>m0_68850571</author><pubDate>Sun, 28 Aug 2022 17:14:07 +0800</pubDate><description><![CDATA[{}本文详细的讲解了java和Spring的SPI机制，SPI技术将服务接口与服务实现进行分离实现解耦，从而提升程序的可扩展性。如有疑问，请随时反馈。]]></description><category></category></item><item><title><![CDATA[SpringBoot热更新和相关配置]]></title><link>https://blog.youkuaiyun.com/m0_68850571/article/details/126570982</link><guid>https://blog.youkuaiyun.com/m0_68850571/article/details/126570982</guid><author>m0_68850571</author><pubDate>Sun, 28 Aug 2022 16:14:57 +0800</pubDate><description><![CDATA[何为热部署（hotswap）？热部署是在不重启 Java 虚拟机的前提下，能自动侦测到 class 文件的变化，更新运行时 class 的行为。Java 类是通过 Java 虚拟机加载的，某个类的 class 文件在被 classloader 加载后，会生成对应的 Class 对象，之后就可以创建该类的实例。默认的虚拟机行为只会在启动时加载类，如果后期有一个类需要更新的话，单纯替换编译的 class 文件，Java 虚拟机是不会更新正在运行的 class。本质是JVM运行时字节码替换技术。...]]></description><category></category></item><item><title><![CDATA[面试题：海量数据处理利器,布隆过滤器]]></title><link>https://blog.youkuaiyun.com/m0_68850571/article/details/126570202</link><guid>https://blog.youkuaiyun.com/m0_68850571/article/details/126570202</guid><author>m0_68850571</author><pubDate>Sun, 28 Aug 2022 15:17:29 +0800</pubDate><description><![CDATA[概念原理布隆过滤器的使用场景简单模拟布隆过滤器Guava布隆过滤器Redis布隆过滤器布谷鸟过滤器。]]></description><category></category></item><item><title><![CDATA[Spring 依赖注入有几种？各有什么优缺点？]]></title><link>https://blog.youkuaiyun.com/m0_68850571/article/details/126543497</link><guid>https://blog.youkuaiyun.com/m0_68850571/article/details/126543497</guid><author>m0_68850571</author><pubDate>Fri, 26 Aug 2022 14:52:37 +0800</pubDate><description><![CDATA[在 Spring 中实现依赖注入的常见方式有以下 3 种：属性注入（Field Injection）；Setter 注入（Setter Injection）；构造方法注入（Constructor Injection）。它们的具体使用和优缺点分析如下。依赖注入的常见实现方式有 3 种：属性注入、Setter 注入和构造方法注入。其中属性注入的写法最简单，所以日常项目中使用的频率最高，但它的通用性不好；...]]></description><category></category></item><item><title><![CDATA[浅谈一下 MyBatis 批量插入的 3 种方法！]]></title><link>https://blog.youkuaiyun.com/m0_68850571/article/details/126511362</link><guid>https://blog.youkuaiyun.com/m0_68850571/article/details/126511362</guid><author>m0_68850571</author><pubDate>Wed, 24 Aug 2022 19:35:04 +0800</pubDate><description><![CDATA[本文我们介绍了 MyBatis 批量插入的 3 种方法，其中循环单次插入的性能最低，也是最不可取的；使用 MyBatis 拼接原生 SQL 一次性插入的方法性能最高，但此方法可能会导致程序执行报错（触发了数据库最大执行 SQL 大小的限制），所以综合以上情况，可以考虑使用 MP 的批量插入功能。]]></description><category></category></item><item><title><![CDATA[RocketMQ保姆级教程]]></title><link>https://blog.youkuaiyun.com/m0_68850571/article/details/126473925</link><guid>https://blog.youkuaiyun.com/m0_68850571/article/details/126473925</guid><author>m0_68850571</author><pubDate>Mon, 22 Aug 2022 21:18:15 +0800</pubDate><description><![CDATA[RocketMQ是阿里巴巴旗下一款开源的MQ框架，经历过双十一考验、Java编程语言实现，有非常好完整生态系统。RocketMQ作为一款纯java、分布式、队列模型的开源消息中间件，支持事务消息、顺序消息、批量消息、定时消息、消息回溯等，总之就是葛大爷的一句话整篇文章可以大致分为三个部分，第一部分属于一些核心概念和工作流程的讲解；第二部分就是纯手动搭建了一套环境；第三部分是基于环境进行测试和集成到SpringBoot，因为整个过程讲的比较细，所以我称之为“保姆级教程”。好了，废话补多少，直接进入主题。]]></description><category></category></item></channel></rss>