<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[镜悬xhs]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Lambert_Wang</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Lambert_Wang]]></copyright><item><title><![CDATA[机器学习之殇——神经网络的发展历程]]></title><link>https://blog.youkuaiyun.com/Lambert_Wang/article/details/138357562</link><guid>https://blog.youkuaiyun.com/Lambert_Wang/article/details/138357562</guid><author>Lambert_Wang</author><pubDate>Tue, 30 Apr 2024 22:42:10 +0800</pubDate><description><![CDATA[最近各种大模型横行，你想知道大模型是怎么来的吗？这篇文章将给你从远古开始，详细介绍大模型的前世今生！（评论有团队招聘哦，欢迎投递简历）]]></description><category></category></item><item><title><![CDATA[当我们在聊风控和黑铲时我们在聊啥（小红书安全团队招聘内推）]]></title><link>https://blog.youkuaiyun.com/Lambert_Wang/article/details/138260218</link><guid>https://blog.youkuaiyun.com/Lambert_Wang/article/details/138260218</guid><author>Lambert_Wang</author><pubDate>Sat, 27 Apr 2024 23:01:20 +0800</pubDate><description><![CDATA[欢迎加入我们。]]></description><category></category></item><item><title><![CDATA[小懵的通往自由之路——GPU模型服务的限流和保护]]></title><link>https://blog.youkuaiyun.com/Lambert_Wang/article/details/138259735</link><guid>https://blog.youkuaiyun.com/Lambert_Wang/article/details/138259735</guid><author>Lambert_Wang</author><pubDate>Sat, 27 Apr 2024 22:39:23 +0800</pubDate><description><![CDATA[一个非常有趣且实用的技术故事~]]></description><category></category></item><item><title><![CDATA[set values for System.getenv()]]></title><link>https://blog.youkuaiyun.com/Lambert_Wang/article/details/122040729</link><guid>https://blog.youkuaiyun.com/Lambert_Wang/article/details/122040729</guid><author>Lambert_Wang</author><pubDate>Mon, 20 Dec 2021 14:29:56 +0800</pubDate><description><![CDATA[set values for System.getenv()
System.getenv()可以获取系统的环境变量，这个环境变量不可以通过程序修改，但有些场景下，可能需要在程序启动时，手动注入部分环境变量（比如，本地测试？）。最近在看相关源码时，偶然翻到一种方式来实现这样的场景。
备注下实现方式：
	private static Map&lt;String, String&gt; getFieldValue(Class&lt;?&gt; klass,
			Object object, String nam]]></description><category></category></item><item><title><![CDATA[JPA + Hibernate + MySQL Cluster 事务处理]]></title><link>https://blog.youkuaiyun.com/Lambert_Wang/article/details/122015564</link><guid>https://blog.youkuaiyun.com/Lambert_Wang/article/details/122015564</guid><author>Lambert_Wang</author><pubDate>Sat, 18 Dec 2021 18:58:16 +0800</pubDate><description><![CDATA[jpa查询数据库时，默认会开启事务，当数据库采用master-slave的架构部署时，事务请求会默认达到master节点，这样会导致master节点的负载过高。下面是对这个问题的分析和处理。
首先，默认情况下jpa启动时，会和MySQL数据库产生如下交互：
SET NAMES utf8mb4
SET character_set_results = NULL
SET autocommit=1

autocommit=1，是应用向MySQL数据库发起自动提交设置。在自动提交模式下，所有的sql请求都会自动提交。]]></description><category></category></item><item><title><![CDATA[JPA查询下@ManyToMany导致的N+1次query的问题]]></title><link>https://blog.youkuaiyun.com/Lambert_Wang/article/details/121959118</link><guid>https://blog.youkuaiyun.com/Lambert_Wang/article/details/121959118</guid><author>Lambert_Wang</author><pubDate>Thu, 16 Dec 2021 11:38:58 +0800</pubDate><description><![CDATA[这里写自定义目录标题概述假设模型添加数据解决方案
概述
Spring Data Jpa底层默认使用Hibernate作为ORM框架， Hibernate有一个非常典型的N+1查询的问题。这个问题在有些场景下会非常影响系统稳定性。
下面是实际工作中遇到的问题，主要背景如下：

系统使用Hibernate对配置模型进行抽象建模，配置模型存储在MySQL数据库中；
系统每隔一段时间，会全量加载所有配置信息，刷新实例本地的内存配置，由于使用了@ManyToMany、@ManyToOne、@OneToMany等注解，]]></description><category></category></item><item><title><![CDATA[高配置小集群还是低配置大集群？]]></title><link>https://blog.youkuaiyun.com/Lambert_Wang/article/details/115871948</link><guid>https://blog.youkuaiyun.com/Lambert_Wang/article/details/115871948</guid><author>Lambert_Wang</author><pubDate>Mon, 19 Apr 2021 19:25:59 +0800</pubDate><description><![CDATA[nebula图数据库其实就是一个存储层。最开始以为nebula除了使用图模型存储数据之外，还包含了一系列的基于图数据实现的各类数据挖掘算法，最后发现它并没有想象中的那么复杂。也对，毕竟功能越简单的产品，越能做得性能出众。功能复杂了，反而可能失去聚焦。

nebula的基础组件分成三块：

meta：元数据管理，现在的分布式应用中，单独抽出一个组件管理元数据已经是常见玩法了
	storage：存储组件，存储nebula中的各类数据
	graph：查询组件，支持各类图上的查询语句的解析和处理
这三个组件在操作系]]></description><category></category></item><item><title><![CDATA[克莱因瓶在现实中为什么不存在]]></title><link>https://blog.youkuaiyun.com/Lambert_Wang/article/details/115824115</link><guid>https://blog.youkuaiyun.com/Lambert_Wang/article/details/115824115</guid><author>Lambert_Wang</author><pubDate>Sun, 18 Apr 2021 12:36:26 +0800</pubDate><description><![CDATA[克莱因瓶是一个密闭的空间体，对比的对象是球体，而不应该是玻璃杯。
玻璃杯有杯口，内部和外部的空间从杯口的切面处分割开来。
杯口如果不加盖子，则内外部空间是联通的。
球体是闭合的，直观上很容易区分出球外表面和球内表面，以及球外空间和球内空间，且它们都是相互隔离的。
克莱因瓶也是闭合的，但不存在内表面和外表面，也不存在内空间和外空间，内就是外，外就是内。
为什么克莱因瓶无法存在于三维世界？因为若想让密闭三维物体不存在内外之分，“平整”的三维空间肯定是做不到的，一定得让空间扭曲…
二维平面中，左侧脸如何变成右侧脸]]></description><category></category></item><item><title><![CDATA[关于Spring容器启动过程中，因 FactoryBean导致的循环依赖的问题分析]]></title><link>https://blog.youkuaiyun.com/Lambert_Wang/article/details/115479681</link><guid>https://blog.youkuaiyun.com/Lambert_Wang/article/details/115479681</guid><author>Lambert_Wang</author><pubDate>Wed, 07 Apr 2021 10:25:33 +0800</pubDate><description><![CDATA[§ 一个排列组合问题

假设存在如下的配置类：


			@Configuration

			publicclassExperienceCenterConfig {

			@Resource

			privateThriftServerAddressProvider thriftServerAddressEdsManager;

			

			@Bean

			publicThriftServiceClientProxyFactory experience...]]></description><category></category></item><item><title><![CDATA[Spring框架解析之对象排序]]></title><link>https://blog.youkuaiyun.com/Lambert_Wang/article/details/113738917</link><guid>https://blog.youkuaiyun.com/Lambert_Wang/article/details/113738917</guid><author>Lambert_Wang</author><pubDate>Sun, 07 Feb 2021 12:22:31 +0800</pubDate><description><![CDATA[​本文是Spring IoC容器技术介绍系列文章之一。本文介绍bean对象排序概念、方法和实现。

1 背景

Spring框架中可以管理多个类型相同的bean对象，这有两层原因。


	Spring支持对Collection对象的注入，这本身就意味着Spring可以管理多个相同类型的bean对象；
	
	
	Java是一种OOP语言，天然存在着继承和多态。不同类型的bean对象自然也就可能继承自相同的父类。从IoC容器中拿到的是单个对象，还是多个对象的集合，则取决于使用者从继承链上的哪个层级获取对象了。
]]></description><category></category></item><item><title><![CDATA[Spring框架解析之@Import]]></title><link>https://blog.youkuaiyun.com/Lambert_Wang/article/details/113738909</link><guid>https://blog.youkuaiyun.com/Lambert_Wang/article/details/113738909</guid><author>Lambert_Wang</author><pubDate>Sun, 07 Feb 2021 12:21:50 +0800</pubDate><description><![CDATA[​本文是Spring IoC容器技术介绍系列文章之一。本文介绍Spring IoC中的@Import注解。

功能解释


@Import annotation allows for loading @Bean definitions from another configuration class


@Import注解支持从其他的配置类中加载@Bean的定义。

一般通过在程序中使用配置类的方式定义所有的bean对象，但当我们希望使用工程中引入的其他包的配置类时，@Import注解就非常有用了。它可以帮]]></description><category></category></item><item><title><![CDATA[Spring框架解析之@ComponentScan]]></title><link>https://blog.youkuaiyun.com/Lambert_Wang/article/details/113738901</link><guid>https://blog.youkuaiyun.com/Lambert_Wang/article/details/113738901</guid><author>Lambert_Wang</author><pubDate>Sun, 07 Feb 2021 12:21:16 +0800</pubDate><description><![CDATA[​本文是Spring IoC容器技术介绍系列文章之一。本文介绍@ComponentScan。

1 自动扫描机制

@ComponentScan注解在Spring中用来定义IoC容器需要扫描哪些类文件。在这些类文件中，所有以@Component标注的对象和以@Bean标注的方法都会被自动加载到IoC容器中。

另外，除了@Component注解之外，其他诸如@Controller、@Configuration、@Service这些继承了@Component注解的注解，也同样适用于上述的扫描规则，均会被自动加]]></description><category></category></item><item><title><![CDATA[Spring框架解析之@Configuration]]></title><link>https://blog.youkuaiyun.com/Lambert_Wang/article/details/113738890</link><guid>https://blog.youkuaiyun.com/Lambert_Wang/article/details/113738890</guid><author>Lambert_Wang</author><pubDate>Sun, 07 Feb 2021 12:20:40 +0800</pubDate><description><![CDATA[​本文是Spring IoC容器技术介绍系列文章之一。本文介绍@Configuration的使用以及原理。

1 概念介绍


Annotating a class with @Configuration indicates that its primary purpose is as a source of bean definitions.


上述是Spring官方文档中用于介绍@Configuration的一段话，大意是说在类上使用@Configuration标注则表明该类的主要目的是作为bean定]]></description><category></category></item><item><title><![CDATA[SpringFactoriesLoader类和spring.factories文件]]></title><link>https://blog.youkuaiyun.com/Lambert_Wang/article/details/113738873</link><guid>https://blog.youkuaiyun.com/Lambert_Wang/article/details/113738873</guid><author>Lambert_Wang</author><pubDate>Sun, 07 Feb 2021 12:19:21 +0800</pubDate><description><![CDATA[本文将介绍spring-core中的SpringFactoriesLoader和spring.factories。

​1 引言

在Spring Web MVC配置方式汇总（二）和Spring Web MVC配置方式汇总（三）中我们介绍了反射、SPI和SCI机制。这些技术框架或名词看似毫不相关，其实本质上处理的是一样的问题，都是将程序或应用的部分控制逻辑暴露出去，便于配置和调整。

控制反转是IoC容器的标准特性，我们曾经在文章中也说过：Spring的IoC容器的设计思想便是将对象管理、对象与对象间的依赖]]></description><category></category></item><item><title><![CDATA[浅谈servlet-mapping的机制（二）]]></title><link>https://blog.youkuaiyun.com/Lambert_Wang/article/details/113738864</link><guid>https://blog.youkuaiyun.com/Lambert_Wang/article/details/113738864</guid><author>Lambert_Wang</author><pubDate>Sun, 07 Feb 2021 12:18:36 +0800</pubDate><description><![CDATA[本篇文章将结合源代码介绍servlet-mapping的映射机制。

​1 DefaultServlet

Tomcat包中有个类的名字叫DefaultServlet，顾名思义就是默认的Servlet。那这个类有何作用呢？我们看下它的Javadoc描述：



DefaultServlet的javadoc

简单翻译下就是说DefaultServlet会默认映射到/路径下，它的作用是处理所有的静态资源请求。

Web应用启动后默认有两个文件夹下的文件是不能直接被客户端访问的，一个是META-INF，另一个是]]></description><category></category></item><item><title><![CDATA[浅谈servlet-mapping的机制（一）]]></title><link>https://blog.youkuaiyun.com/Lambert_Wang/article/details/113738856</link><guid>https://blog.youkuaiyun.com/Lambert_Wang/article/details/113738856</guid><author>Lambert_Wang</author><pubDate>Sun, 07 Feb 2021 12:17:54 +0800</pubDate><description><![CDATA[​本篇文章将结合源代码介绍servlet-mapping的映射机制

1 引言

在Web应用中，经常会涉及到字符串匹配的问题。比如使用AbstractAnnotationConfigDispatcherServletInitializer的方式启动Web应用时，我们需要重写这个方法:


@Override
protectedString[]getServletMappings(){
returnnewString[]{"/"};
}


这里面的/是啥意思？为什么有时候还会出现/*和/**...]]></description><category></category></item><item><title><![CDATA[Spring工程的通用配置模式（一）]]></title><link>https://blog.youkuaiyun.com/Lambert_Wang/article/details/113738849</link><guid>https://blog.youkuaiyun.com/Lambert_Wang/article/details/113738849</guid><author>Lambert_Wang</author><pubDate>Sun, 07 Feb 2021 12:17:14 +0800</pubDate><description><![CDATA[Spring的很多子项目都涉及到配置。在这些项目中，存在一个较为通用的配置模式，了解该模式有助于我们更好地理解框架。本文将对这一模式进行介绍。

我们会先介绍Spring Web MVC框架，之后再结合其他相似的项目进行总结。

​1 Registry

registry是登记、注册的意思。以Registry结尾的对象用于完成特定功能的配置。比如CorsRegistry用来配置应用的跨域访问功能，ViewResolverRegistry用来配置应用的视图解析功能，FormatterRegistry用来配置应]]></description><category></category></item><item><title><![CDATA[Spring工程的通用配置模式（二）]]></title><link>https://blog.youkuaiyun.com/Lambert_Wang/article/details/113738835</link><guid>https://blog.youkuaiyun.com/Lambert_Wang/article/details/113738835</guid><author>Lambert_Wang</author><pubDate>Sun, 07 Feb 2021 12:16:34 +0800</pubDate><description><![CDATA[​Spring的很多子项目都涉及到配置。在这些项目中，存在一个较为通用的配置模式，了解该模式有助于我们更好地理解框架。本文将对这一模式进行介绍。

我们会以Spring Web MVC框架介绍，之后再结合其他相似的项目进行总结。

1 @Enbale

@Enable*注解通常指启用某个框架的意思，比如@EnbaleWebMvc指启用Spring Web MVC框架。该注解一般会配合@Configuration注解一起使用，放在配置类上，由ApplicationContext启动时加载。


@Config]]></description><category></category></item><item><title><![CDATA[深入解析Spring Boot启动过程（一）]]></title><link>https://blog.youkuaiyun.com/Lambert_Wang/article/details/113688888</link><guid>https://blog.youkuaiyun.com/Lambert_Wang/article/details/113688888</guid><author>Lambert_Wang</author><pubDate>Fri, 05 Feb 2021 12:11:53 +0800</pubDate><description><![CDATA[本篇文章将结合源代码介绍spring boot应用的启动过程。

1 引言


Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".


上面这段话是Spring Boot工程官网上的第一句话。大概意思是Spring Boot应用很好，可以创建独立的、生产级别的、基于Spring框架的、可直接运行的应用。


	独立：独立意味着低]]></description><category></category></item><item><title><![CDATA[异步请求机制介绍]]></title><link>https://blog.youkuaiyun.com/Lambert_Wang/article/details/113688836</link><guid>https://blog.youkuaiyun.com/Lambert_Wang/article/details/113688836</guid><author>Lambert_Wang</author><pubDate>Fri, 05 Feb 2021 12:11:15 +0800</pubDate><description><![CDATA[本篇文章将介绍HTTP异步请求机制。

1 引言


Spring MVC has an extensive integration with Servlet 3.0 asynchronous request processing.DeferredResult and Callable return values in controller methods and provide basic support for a single asynchronous return value.


上面这段描述来自]]></description><category></category></item></channel></rss>