<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[leyhe的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/leyhe</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; leyhe]]></copyright><item><title><![CDATA[Vue day1]]></title><link>https://blog.youkuaiyun.com/leyhe/article/details/157364374</link><guid>https://blog.youkuaiyun.com/leyhe/article/details/157364374</guid><author>leyhe</author><pubDate>Sun, 25 Jan 2026 21:57:23 +0800</pubDate><description><![CDATA[渐进式JavaScript框架Vue是一款用于构建用户界面的JavaScript框架，基于标准的HTML、CSS和JavaScript构建，并提供了一套声明式的、组件化的编程模型。]]></description><category></category></item><item><title><![CDATA[Spring两大核心思想 IoC和AoP]]></title><link>https://blog.youkuaiyun.com/leyhe/article/details/140104057</link><guid>https://blog.youkuaiyun.com/leyhe/article/details/140104057</guid><author>leyhe</author><pubDate>Mon, 01 Jul 2024 16:14:22 +0800</pubDate><description><![CDATA[Inversion of Control（控制反转），也就是说“Spring”是一个控制反转容器。当需要某个对象时，传统的开发模式中需要new来创建对象，现在不需要再进行创建了，把创建对象的任务交给容器，由Spring来负责对象的创建和销毁，程序只需要依赖注入（Dependency Injection，DI） 就可以了。这个容器称为：IoC容器。Spring是一个IoC容器，有时候Spring也称为Spring容器。容器里面装的是对象，Spring管理的对象称之为bean。]]></description><category></category></item><item><title><![CDATA[Spring Web MVC入门]]></title><link>https://blog.youkuaiyun.com/leyhe/article/details/139500861</link><guid>https://blog.youkuaiyun.com/leyhe/article/details/139500861</guid><author>leyhe</author><pubDate>Thu, 06 Jun 2024 21:22:47 +0800</pubDate><description><![CDATA[⽐如: 厨房可以⽤来做饭, 但真实实现做饭功能的是⽕以及各种做饭相关的⻝材和⼯具. 厨房就好⽐是SpringBoot, 厨房可以装柜⼦, 实现收纳功能, 装燃⽓灶等, 实现做饭功能. 做饭这个事, 就是MVC, 在⼏千年前, 有⽕有⻝材就可以实现做饭。1、@RequestMapping 是 Spring Web MVC 应⽤程序中最常被⽤到的注解之⼀，它是⽤来注册接⼝的 路由映射的. 表⽰服务收到请求时, 路径为 /sayHi 的请求就会调⽤ sayHi 这个⽅法的代码.他们 之间到底有着什么样的关系?]]></description><category></category></item><item><title><![CDATA[认识HTTP状态码（status code）]]></title><link>https://blog.youkuaiyun.com/leyhe/article/details/139502551</link><guid>https://blog.youkuaiyun.com/leyhe/article/details/139502551</guid><author>leyhe</author><pubDate>Thu, 06 Jun 2024 16:07:31 +0800</pubDate><description><![CDATA[浏览器输入一个 URL, 目的就是为了访问对方服务器上的一个资源. 如果这个 URL 标识的资源不存 在, 那么就会出现 404 例如, 在浏览器中输入 www.sogou.com/index.html , 此时就在尝试访问 sogou 上的 /index.html 这个资源. 如果输入正确, 则可以正确访问到. 但是如果输入错误, 比如 www.sogou.com/index2.html , 就会 看到 404 这样的响应.永久重定向. 当浏览器收到这种响应时, 后续的请求都会被自动改成新的地址.]]></description><category></category></item><item><title><![CDATA[第一个SpringBoot项目]]></title><link>https://blog.youkuaiyun.com/leyhe/article/details/139454992</link><guid>https://blog.youkuaiyun.com/leyhe/article/details/139454992</guid><author>leyhe</author><pubDate>Tue, 04 Jun 2024 22:49:20 +0800</pubDate><description><![CDATA[💭1、新建New ProjectIDEA2023版本创建Sping项目只能勾选17和21，却无法使用Java8？🌟2、下载JDK 17🌟💭2、项目创建成功界面1、目录🌟2、pom文件🌟💭3、运行项目💭4、⽤ Spring Boot 来实现和浏览器及⽤⼾的交互。💭5、请求响应流程分析1、新建New Project。]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.youkuaiyun.com/leyhe/article/details/139429214</link><guid>https://blog.youkuaiyun.com/leyhe/article/details/139429214</guid><author>leyhe</author><pubDate>Tue, 04 Jun 2024 10:19:36 +0800</pubDate><description><![CDATA[另外也可以打成可执⾏jar包, 这样的包就可以通过java -jar命令来执 ⾏ war包可以理解为是⼀个web项⽬，⾥⾯是项⽬的所有东西, 通常⽤于⽹站.”时出错：找不到JRE“11”。jar包和war包都是⼀种压缩⽂件 jar包就是把开发⼈员已经写好的⼀些代码进⾏打包.打好的jar包就可以引⼊到其他项⽬中, 也可以直 接使⽤这些jar包中的类和属性.打包就是把所有的class⽂件, 全部放在⼀起, 打成jar包或者war包。⽐如, 点击package, 就可以完成项⽬的打包操作。]]></description><category></category></item><item><title><![CDATA[Fiddler抓包工具的使用]]></title><link>https://blog.youkuaiyun.com/leyhe/article/details/139397829</link><guid>https://blog.youkuaiyun.com/leyhe/article/details/139397829</guid><author>leyhe</author><pubDate>Sun, 02 Jun 2024 22:09:49 +0800</pubDate><description><![CDATA[1、抓包原理：👇2、抓包结果👇1）如何查看一个http请求的原始摸样：2）分析数据格式：3、请求格式分析👇4、响应格式分析👇官网下载：安装过程比较简单, 一路 next 即可.]]></description><category></category></item><item><title><![CDATA[网络层及其协议]]></title><link>https://blog.youkuaiyun.com/leyhe/article/details/139391817</link><guid>https://blog.youkuaiyun.com/leyhe/article/details/139391817</guid><author>leyhe</author><pubDate>Sun, 02 Jun 2024 16:13:18 +0800</pubDate><description><![CDATA[所谓路由，即在复杂的网络结构中，找出一条通往终点的路线；网络通信（网络数据传输），路由器中的路由功能，就类似于规划路线，往哪个方向行进能更快到达目 的地。以下为北京市部分地图，可以看到，从西单到故宫博物院，路线1比路线2更近；路由就是规划类似行进 路线：1、网络层的作用2、认识IP地址1）IP地址（Internet Protocol Address）是指互联网协议地址，又译为网际协议地址3）格式4）组成（网络号和主机号）5）分类3、子网掩码1）格式2) 作用3）计算方式1、协议头格式。]]></description><category></category></item><item><title><![CDATA[深入了解Socket套接字]]></title><link>https://blog.youkuaiyun.com/leyhe/article/details/139204480</link><guid>https://blog.youkuaiyun.com/leyhe/article/details/139204480</guid><author>leyhe</author><pubDate>Sat, 25 May 2024 22:55:35 +0800</pubDate><description><![CDATA[一、引入🙌1、概念🎉2、分类🎉Socket 套接字主要针对传输层协议分为流套接字、数据报套接字、原始套接字（了解即可）三类。1）流套接字：使用传输层TCP协议2）数据报套接字：使用传输层UDP协议补充：1、通俗理解有连接和无连接🪄2、理解可靠和不可靠传输🪄3、面向字节流和面向数据报🪄4、理解全双工和半双工🪄5、网络传输数据的基本单位🪄datagram(报)；packet（包）；segment（段）；frame（帧）二、通信模型🙌1、Java数据报套接字通信模型。]]></description><category></category></item><item><title><![CDATA[总结常见的六大锁策略]]></title><link>https://blog.youkuaiyun.com/leyhe/article/details/139147661</link><guid>https://blog.youkuaiyun.com/leyhe/article/details/139147661</guid><author>leyhe</author><pubDate>Thu, 23 May 2024 15:24:52 +0800</pubDate><description><![CDATA[悲观锁:总是假设最坏的情况，每次去拿数据的时候都认为别人会修改，所以每次在拿数据的时候都会上锁，这 样别人想拿这个数据就会阻塞直到它拿到锁。乐观锁：假设数据一般情况下不会产生并发冲突，所以在数据进行提交更新的时候，才会正式对数据是否产生并 发冲突进行检测，如果发现并发冲突了，则让返回用户错误的信息，让用户决定如何去做。]]></description><category></category></item><item><title><![CDATA[什么是线程安全？如何保证线程安全？]]></title><link>https://blog.youkuaiyun.com/leyhe/article/details/139106944</link><guid>https://blog.youkuaiyun.com/leyhe/article/details/139106944</guid><author>leyhe</author><pubDate>Wed, 22 May 2024 12:20:40 +0800</pubDate><description><![CDATA[一、引入线程安全 👇二、 线程安全👇1、线程安全概念🔍2、线程不安全的原因🔍抢占式执行（罪魁祸首，万恶之源）导致了线程之间的调度是“随机的”多个线程修改同一个变量修改操作，不是原子的（不可分割的最小单位）内存可见性，引起的线程不安全指令重排序，引起的线程不安全三、解决之前的线程不安全问题👇1、synchronized 关键字-监视器锁monitor lock🔍1）synchronized 的特性（1） 互斥（2）刷新内存（3） 可重入。]]></description><category></category></item><item><title><![CDATA[贪心算法每日一题（摆动序列）]]></title><link>https://blog.youkuaiyun.com/leyhe/article/details/139103834</link><guid>https://blog.youkuaiyun.com/leyhe/article/details/139103834</guid><author>leyhe</author><pubDate>Tue, 21 May 2024 23:07:51 +0800</pubDate><description><![CDATA[如果连续数字之间的差严格地在正数和负数之间交替，则数字序列称为第一个差（如果存在的话）可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。例如，是一个，因为差值是正负交替出现的。可以通过从原始序列中删除一些（也可以不删除）元素来获得，剩下的元素保持其原始顺序。给你一个整数数组nums，返回nums中作为的。示例 1：输入：输出：6解释：整个序列均为摆动序列，各元素之间的差值为 (6, -3, 5, -7, 3)。]]></description><category></category></item><item><title><![CDATA[Java的JDBC编程]]></title><link>https://blog.youkuaiyun.com/leyhe/article/details/139087400</link><guid>https://blog.youkuaiyun.com/leyhe/article/details/139087400</guid><author>leyhe</author><pubDate>Tue, 21 May 2024 18:38:43 +0800</pubDate><description><![CDATA[ResultSet里的数据一行一行排列，每行有多个字段，并且有一个记录指针，指针所指的数据行叫做当 前数据行，我们只能来操作当前的数据行。连接池在初始化时将创建一定数量的数据库连接，这些连接 是可以复用的，每次使用完数据库连接，释放资源调用connection.close()都是将 Conncetion连接对象回收。java通过.java源文件编译成.class文件，jvm来解释执行.class（每个.java都对应一个.class），如果.java很多，就将一大堆的.class给打包成压缩包（.jar）]]></description><category></category></item><item><title><![CDATA[数据库的事务四大特性（ACID）以及详解隔离性以及隔离级别]]></title><link>https://blog.youkuaiyun.com/leyhe/article/details/139079358</link><guid>https://blog.youkuaiyun.com/leyhe/article/details/139079358</guid><author>leyhe</author><pubDate>Tue, 21 May 2024 09:24:06 +0800</pubDate><description><![CDATA[一、事务相关概念场景：1、事务事务指逻辑上的一组操作，组成这组操作的各个单元，要么全部成功，要么全部失败。在不同的环境中，都可以有事务。对应在数据库中，就是数据库事务。1、怎样算是一个事务：从第一次执行SQL语句开始到执行commit或者rollback结束。中间不管执行多少SQL语句都是同一个事务内。2、数据库如何实现事务的服务端有日志记录功能，新操作是记录到日志中的，commit会将日志中的记录刷到硬盘中，rollback就是将日志中的记录删除掉了2、事务的本质。]]></description><category></category></item><item><title><![CDATA[贪心算法每日一题（最大数）]]></title><link>https://blog.youkuaiyun.com/leyhe/article/details/139075573</link><guid>https://blog.youkuaiyun.com/leyhe/article/details/139075573</guid><author>leyhe</author><pubDate>Mon, 20 May 2024 23:02:07 +0800</pubDate><description><![CDATA[思路：要想组成最大的整数，一种直观的想法是把数值大的数放在高位。于是我们可以比较输入数组的每个元素的最高位，最高位相同的时候比较次高位，以此类推，完成排序，然后把它们拼接起来。这种排序方式对于输入数组 没有相同数字开头 的时候是有效的，例如 [45,56,81,76,123][45, 56, 81, 76, 123][45,56,81,76,123]。种拼接的可能，我们是不是需要先得到 NNN 个数的全排列以后，再选出最大的呢？，重新排列每个数的顺序（每个数不可拆分）使之组成一个最大的整数。]]></description><category></category></item><item><title><![CDATA[带你通俗易懂进程和线程（小白一学就会）]]></title><link>https://blog.youkuaiyun.com/leyhe/article/details/139046801</link><guid>https://blog.youkuaiyun.com/leyhe/article/details/139046801</guid><author>leyhe</author><pubDate>Sun, 19 May 2024 19:27:46 +0800</pubDate><description><![CDATA[1）进程是操作系统对一个正在运行的程序的一种抽象，换言之，可以把进程看做程序的一次运行过程。进程是操作系统进行资源分配的最小单位。2）进程是程序的一次动态执行，它对应着从代码加载，执行至执行完毕的一个完整的过程，是一个动态的实体，它有自己的生命周期。它因创建而产生，因调度而运行，因等待资源或事件而被处于等待状态，因完成任务而被撤消。.exe是一个可执行文件（程序），当我们双击这个文件时，这个程序就跑起来，于是系统就形成了一个进程（跑起来的程序就是进程）2、描述进程使用结构体（]]></description><category></category></item><item><title><![CDATA[面试题：聊聊进程与线程的区别]]></title><link>https://blog.youkuaiyun.com/leyhe/article/details/139046831</link><guid>https://blog.youkuaiyun.com/leyhe/article/details/139046831</guid><author>leyhe</author><pubDate>Sun, 19 May 2024 19:11:51 +0800</pubDate><description><![CDATA[例子：每个客户来银行办理各自的业务，但他们之间的票据肯定是不想让别人知道的，否则钱不就被其他人取走了么。而上面我们的公司业务中，张三、李四、王五虽然是 不同的执行流，但因为办理的都是一家公司的业务，所以票据是共享着的。线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。系统开销：在创建或撤消进程时，由于系统都要为之分配和回收资源，导致系统的开销明显大于创建或撤消线程时的开销。拥有资源：进程是拥有资源的一个独立单位，线程不拥有系统资源，但可以访问隶属于进程的资源。]]></description><category></category></item><item><title><![CDATA[贪心算法每日一题（将数组和减半的最少操作次数）]]></title><link>https://blog.youkuaiyun.com/leyhe/article/details/139045729</link><guid>https://blog.youkuaiyun.com/leyhe/article/details/139045729</guid><author>leyhe</author><pubDate>Sun, 19 May 2024 17:46:12 +0800</pubDate><description><![CDATA[nums 的和减小了 33 - 14.75 = 18.25 ，减小的部分超过了初始数组和的一半，18.25 >= 33/2 = 16.5。最终数组为 [5, 4.75, 4, 1] ，和为 5 + 4.75 + 4 + 1 = 14.75。具体策略： 每次挑选当前数组中，最大的那个数，然后减半，直到数组的和减少到一半为止。初始 nums 的和为 5 + 19 + 8 + 1 = 33。（注意，在后续操作中你可以对减半过的数继续执行操作）可以证明，无法通过少于 3 个操作使数组和减少至少一半。]]></description><category></category></item><item><title><![CDATA[贪心算法之每日一题（柠檬水找零）]]></title><link>https://blog.youkuaiyun.com/leyhe/article/details/139029799</link><guid>https://blog.youkuaiyun.com/leyhe/article/details/139029799</guid><author>leyhe</author><pubDate>Sat, 18 May 2024 18:59:03 +0800</pubDate><description><![CDATA[你必须给每个顾客正确找零，也就是说净交易是每位顾客向你支付。如果你能给每位顾客正确找零，返回。在柠檬水摊上，每一杯柠檬水的售价为。顾客排队购买你的产品，（按账单。每位顾客只买一杯柠檬水，然后向你付。贪心策略：选择10+5。注意，一开始你手头没有任何零钱。20 ：10+5或者5+5+5。支付的顺序）一次购买一杯。分析：分为三种情况;]]></description><category></category></item><item><title><![CDATA[从零开始学习贪心算法（greedy algorithm，又称贪婪算法）]]></title><link>https://blog.youkuaiyun.com/leyhe/article/details/139029288</link><guid>https://blog.youkuaiyun.com/leyhe/article/details/139029288</guid><author>leyhe</author><pubDate>Sat, 18 May 2024 18:50:54 +0800</pubDate><description><![CDATA[贪心算法适用于一些特定类型的问题，通常要求问题具有贪心选择性质（即每一步的选择都是最优的），以及最优子结构性质（即问题的最优解可以通过子问题的最优解推导得出）。然而，贪心算法不一定能够求解所有问题，有些问题可能需要更复杂的算法来解决。经典的贪心算法问题有找零钱问题、活动选择问题、背包问题中的部分背包等。贪心算法在求解这些问题时，通常能够得到接近最优解的结果，但并不保证一定能够得到全局最优解。总之，贪心算法是一种基于每一步的局部最优选择来求解问题的思想，适用于一些满足贪心选择性质和最优子结构性质的问题。]]></description><category></category></item></channel></rss>