<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[bytes9的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/bytes9</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; bytes9]]></copyright><item><title><![CDATA[Java引入异常处理机制的目的]]></title><link>https://blog.youkuaiyun.com/bytes9/article/details/170144167</link><guid>https://blog.youkuaiyun.com/bytes9/article/details/170144167</guid><author>bytes9</author><pubDate>Thu, 05 Nov 2026 16:52:16 +0800</pubDate><description><![CDATA[将所有可能会出现异常情况的函数放在一个try语句块中，不再判读其返回值来确定是否正常返回．当函数readData调用时出现异常情况，会抛出一个异常对象，主过程main将跳转到之后的catch语句块去执行．这样不需要通过分支语句将异常处理逻辑和正常处理逻辑混杂在一起．。举个例子，编写一个程序，读取某个文件，得到三角形的边长，再计算面积。try语句块中，调用函数都是正常执行的，如果某个函数调用语句抛出异常，就跳转到匹配的catch语句块去执行．。如果能将正常处理和异常处理代码分开，如下。]]></description><category></category></item><item><title><![CDATA[Checked Exception 与Unchecked Exception的理解]]></title><link>https://blog.youkuaiyun.com/bytes9/article/details/157875721</link><guid>https://blog.youkuaiyun.com/bytes9/article/details/157875721</guid><author>bytes9</author><pubDate>Sun, 08 Feb 2026 21:24:40 +0800</pubDate><description><![CDATA[受检异常通常是和资源处理的代码相关，这些异常产生时，可能申请了系统的一些资源，通过强制捕获，在catch块中，提供资源释放的机会，避免资源泄漏。许多资料介绍两者区别时，通常说，语句如抛出受检异常，须在代码中加异常捕获语句，或将异常往上层抛出，没有说明哪些情况下需要这么做。那从上述角度出发，定义一个函数，当函数参数有问题，采用异常抛出方式来处理，该抛出受检异常还是不受检异常呢？而如空指针异常、数组越界、内存溢出等异常不需要后续资源处理，也无补救机会，所以定义为不受检异常。]]></description><category></category></item><item><title><![CDATA[事务处理的相关概念]]></title><link>https://blog.youkuaiyun.com/bytes9/article/details/157807458</link><guid>https://blog.youkuaiyun.com/bytes9/article/details/157807458</guid><author>bytes9</author><pubDate>Fri, 06 Feb 2026 16:21:26 +0800</pubDate><description><![CDATA[一个函数f,将内部的处理语句放置一个事务处理中，该事务调用了函数s, 函数s内部的相关语句也需要放置在事务中，函数f的事务和函数s的事务间的处理策略，就是事务传播性要解决的问题。由于事物处理通常需要更长的时间，在并发的情况下，等一个事务结束再去执行另一个，效率会变得很低。如何在并发的环境下，提高执行效率，而且保证数据正确，就是事物的隔离策略要解决的问题。事务：多个数据库操作，不能部分完成。事务隔离策略主要是解决并发时读的问题，并发写的问题是通过锁的机制来解决。在事务处理时，另一个重要的议题是事务的传播性。]]></description><category></category></item><item><title><![CDATA[训练神经网络4板斧]]></title><link>https://blog.youkuaiyun.com/bytes9/article/details/156223745</link><guid>https://blog.youkuaiyun.com/bytes9/article/details/156223745</guid><author>bytes9</author><pubDate>Wed, 24 Dec 2025 09:58:57 +0800</pubDate><description><![CDATA[3.根据网络输出和数据集的期望输出，计算损失；4.根据损失，优化算法调整网络参数。2.数据输入网络，得到网络输出。]]></description><category></category></item><item><title><![CDATA[spring boot 自动配置原理 （跳出细节）]]></title><link>https://blog.youkuaiyun.com/bytes9/article/details/155414980</link><guid>https://blog.youkuaiyun.com/bytes9/article/details/155414980</guid><author>bytes9</author><pubDate>Sun, 30 Nov 2025 15:37:16 +0800</pubDate><description><![CDATA[假如要开个店，你不会去自己盖房子，而是去市场去租或买店面，接下来，你按照你开店要求来装修，如开餐馆，就装修成餐馆风格，如开发廊，就按发廊风格装修。系统的主体结构是由框架来搭建，框架调用我们编写的代码， 实现相关的功能。如很多过程需要日志操作，可以将日志逻辑代码单独拎出来，编写成一个切面，在需要日志的函数中，将切面织入其中，就可以为该函数添加日志功能了。函数库中的函数是通过被你编写的代码调用，来实现相应的逻辑，而框架是调用你的代码来实现系统功能。要使用某个框架，就要先通过配置文件注入框架的相应对象。]]></description><category></category></item><item><title><![CDATA[javascript import export语句]]></title><link>https://blog.youkuaiyun.com/bytes9/article/details/155076161</link><guid>https://blog.youkuaiyun.com/bytes9/article/details/155076161</guid><author>bytes9</author><pubDate>Fri, 21 Nov 2025 10:52:46 +0800</pubDate><description><![CDATA[表示导出变量a,b及函数fn，模块可以有多个export语句，即使只导出一个变量（或函数），也需要大括号。大括号表示字面量对象{key1:val1,key2:val2}，export{a,fn}是export("a":a,"fn":fn}的简写。如果导入的模块没有默认导出(即，没有export default语句)，则，必须使用花括号来指定导入的变量或函数。如果导入的模块有默认导出(即，有export default语句)，则，可以使用不加花括号的语法来导入变量和函数。]]></description><category></category></item><item><title><![CDATA[分层系统异常处理的原则（转）]]></title><link>https://blog.youkuaiyun.com/bytes9/article/details/142628731</link><guid>https://blog.youkuaiyun.com/bytes9/article/details/142628731</guid><author>bytes9</author><pubDate>Sat, 25 Oct 2025 18:31:12 +0800</pubDate><description><![CDATA[综合而言就是DAO粒度太细就不记录了，Service层因为带有业务含义需要记录日志来排查问题，Web层则应该对错误给出自己的应对机制了。]]></description><category></category></item><item><title><![CDATA[css 中float属性及clear的释疑]]></title><link>https://blog.youkuaiyun.com/bytes9/article/details/147271429</link><guid>https://blog.youkuaiyun.com/bytes9/article/details/147271429</guid><author>bytes9</author><pubDate>Wed, 16 Apr 2025 15:22:06 +0800</pubDate><description><![CDATA[为解决此问题，可将box04设置清除浮动属性。清除浮动的意思是指，元素在左右不允许有浮动元素，如果左右存在浮动元素，元素自己就下移（不是将浮动元素下移）。父元素的高度取决于box04的高度，则必须知道浮动元素的高度，并以此值来指定了box04的高度，显然不方便。float属性可以让元素脱离文档流，父元素中的子元素设置为float,则会导致父元素的高度塌陷。因为浮动元素脱离文档流，为了撑起父元素，通常可以在父元素内再增加一个块元素。达到将父框撑起的效果，而且父框能够自动适合浮动框大小。]]></description><category></category></item><item><title><![CDATA[用gradle构建项目，配置文件build.gradle的解释]]></title><link>https://blog.youkuaiyun.com/bytes9/article/details/139792478</link><guid>https://blog.youkuaiyun.com/bytes9/article/details/139792478</guid><author>bytes9</author><pubDate>Wed, 19 Jun 2024 09:52:29 +0800</pubDate><description><![CDATA[4.语句 implementation group: 'org.springframework', name: 'spring-web', version: '6.1.9'，表述调用implementation函数，如参数加了冒号，表示将会组合成一个map类型的参数，冒号前为key，冒号后为value.是一个函数调用语句。xxx是函数名称，{  }是一个闭包，作为xxx函数的参数传入函数。3.在groovy语言中，调用函数时，参数可以省略括号，多个参数用逗号分割。]]></description><category></category></item><item><title><![CDATA[git版本控制的思想]]></title><link>https://blog.youkuaiyun.com/bytes9/article/details/133442252</link><guid>https://blog.youkuaiyun.com/bytes9/article/details/133442252</guid><author>bytes9</author><pubDate>Sat, 30 Sep 2023 21:57:48 +0800</pubDate><description><![CDATA[在提交版本前，对文件的修改，可以保存到暂存区(git add)。工作区的文件修改后，如果发现项目出问题了，想恢复到修改前的状态，可以从暂存区中取出来覆盖工作区的文件(git checkout)。如果发现暂存区的内容也有问题，则从版本库的某一版本来复原暂存区（git reset）。内容回滚时，先从暂存区恢复工作区的文件，如果不能解决问题，则从版本库中选择一个合适版本，恢复到暂存区中，再从暂存区去恢复工作区的内容。每一次修改最后都要提交一个版本，当后续修改发现问题时，可以恢复到修改前的版本。]]></description><category></category></item><item><title><![CDATA[无需构建步骤，渐进式增强静态的 HTML方式使用Vue]]></title><link>https://blog.youkuaiyun.com/bytes9/article/details/130489394</link><guid>https://blog.youkuaiyun.com/bytes9/article/details/130489394</guid><author>bytes9</author><pubDate>Thu, 04 May 2023 16:42:13 +0800</pubDate><description><![CDATA[使用Vue框架开发时，常常需要基于nodejs开发。Vue库通过包依赖，以模块形式安装在项目的node_modules目录下。在项目开发时，通过import语句导入模块相关的函数。导入的main.js脚本，代码中要注意，导入createApp函数时，要加大括号，且vue的版本必须是 ES 模块构建版本（vue-esm-browser）。网页中通过标签引入main.js模块，注意要指定type属性为module，让脚本以模块形式导入。下面给出一个简单例子，并给出注意事项。]]></description><category></category></item><item><title><![CDATA[Javascript 同步/异步编程知识点整理]]></title><link>https://blog.youkuaiyun.com/bytes9/article/details/130415894</link><guid>https://blog.youkuaiyun.com/bytes9/article/details/130415894</guid><author>bytes9</author><pubDate>Fri, 28 Apr 2023 08:19:35 +0800</pubDate><description><![CDATA[同步编程时，访问远程服务器的语句将阻塞，一直等到数据返回。异步编程时，将需要等待的语句放到一个函数中，并以该函数作为参数，创建一个承若对象（Promise），该对象访问服务器，在服务器成功返回数据或失败时，会调用回调函数来分别处理。程序是一条条有序的语句集，如果运行时，按照语句的顺序，一条一条依次执行，上一条语句执行完毕，才能执行下一条语句，那么就是同步编程。同步可以理解为程序语句的顺序和执行顺序是一致的，异步则可能出现语句的顺序与执行的完成顺序不一致（语句开始执行的时间顺序和程序语句顺序还是一致的）。]]></description><category></category></item><item><title><![CDATA[面向对象VS面向过程，到底好在哪里？]]></title><link>https://blog.youkuaiyun.com/bytes9/article/details/126919734</link><guid>https://blog.youkuaiyun.com/bytes9/article/details/126919734</guid><author>bytes9</author><pubDate>Thu, 27 Apr 2023 08:09:36 +0800</pubDate><description><![CDATA[调用时，需要更少的参数，有些参数已经作为对象的属性保存在对象中。面向对象编程，对象中保存了一些状态值，有了这些状态值，函数调用时，可以减少参数传递。更重要是，运用面向对象的思维方法，更容易将现实世界映射到程序代码。先看一个需求，假如有一个需求，要生成一个随机密码。要求能指定密码长度，密码的字符种类。如果用面向过程的方法，定义一个函数来实现.]]></description><category></category></item><item><title><![CDATA[grid布局时 justify-*、align-*, *-content *-items 的区别]]></title><link>https://blog.youkuaiyun.com/bytes9/article/details/128983611</link><guid>https://blog.youkuaiyun.com/bytes9/article/details/128983611</guid><author>bytes9</author><pubDate>Sat, 11 Feb 2023 14:38:48 +0800</pubDate><description><![CDATA[align-content 只有子元素呈现多行时（flex-wrap:wrap）,才能生效。align-items和align-content效果类似，子元素只有一行时，也有效果。justify 是沿主轴方向设置排列方式；align 指沿交叉轴方向设置排列方式。]]></description><category></category></item><item><title><![CDATA[Vue 学习笔记]]></title><link>https://blog.youkuaiyun.com/bytes9/article/details/124572408</link><guid>https://blog.youkuaiyun.com/bytes9/article/details/124572408</guid><author>bytes9</author><pubDate>Wed, 04 May 2022 21:33:08 +0800</pubDate><description><![CDATA[vue 是用于构建用户界面的渐进式框架。

开发web系统时，可以由后端代码生成html页面（运行结果），但是复杂繁琐。jsp等模板，以及各种mvc模式都是这种方式。

后来逐渐采用了前后端分离方式，即后端将运行结果以json格式传给前端，前端再根据数据，利用js代码动态生成html页面。

用js操作dom，动态生成页面，复杂繁琐。出现了一些js的库，如jquery，来简化操作。但依旧很繁琐。

前端框架可以看作是对dom操作，完成页面更新的一个更完美的方案。目前有很多这样的前端框架，如Angular,r]]></description><category></category></item><item><title><![CDATA[spring mvc框架知识点总结]]></title><link>https://blog.youkuaiyun.com/bytes9/article/details/123459265</link><guid>https://blog.youkuaiyun.com/bytes9/article/details/123459265</guid><author>bytes9</author><pubDate>Sun, 13 Mar 2022 17:59:40 +0800</pubDate><description><![CDATA[Spring MVC框架的核心在控制器,即控制器类的方法.因此关于该方法的定义是该框架的核心.

方法的定义主要体现在:参数与返回值

控制器定义的方法中,参数类型可以是简单数据类型和对象数据类型.

方法中实际参数值,默认从请求对象的参数中获取,可以通过注解@RequestParam来设置请求参数名,如果没有注解,则与变量名同.

如果要从其他对象中设置参数值,可以通过@RequestHeader ,@SessionAttibutes,@RequestAttribute,@CookieValue等注解来设]]></description><category></category></item><item><title><![CDATA[springmvc 的知识点]]></title><link>https://blog.youkuaiyun.com/bytes9/article/details/123369369</link><guid>https://blog.youkuaiyun.com/bytes9/article/details/123369369</guid><author>bytes9</author><pubDate>Wed, 09 Mar 2022 09:50:31 +0800</pubDate><description><![CDATA[1.springmvc 是一个 mvc的框架，理解执行过程。

2.mvc包含三部分：模型、视图和控制器。spring mvc框架的的核心在控制器(c),模型和视图是原有的技术，不需要任何改动下可以沿用。

3.基于上述认识，springmvc框架的学习重点在控制器。

4.springmvc框架中，由Java类的一个成员方法充当控制器的角色。在mvc中，控制器的扮演的角色是，接收输入，调用模型方法进行业务处理，结果由视图对象展示。

5.根据上述认知，框架的核心知识点在以下两项：如何通过方法参数接收输入，]]></description><category></category></item><item><title><![CDATA[编程语言中的数据类型]]></title><link>https://blog.youkuaiyun.com/bytes9/article/details/123258043</link><guid>https://blog.youkuaiyun.com/bytes9/article/details/123258043</guid><author>bytes9</author><pubDate>Thu, 03 Mar 2022 16:48:06 +0800</pubDate><description><![CDATA[大多语言中都有变量和数据类型的概念，为什么要变量呢，变量是一个存储单元，可以在程序运行过程中保存中间结果。为什么要有数据类型呢？数据类型解释了指定存储单元的数据的含义。下面以Java为例，int 类型表示4个字节的数据表示一个整数，float类型表示4个连续字节的数据是一个浮点数。假如在连续的4个字节依次存储的内容 0x42bf999a,如果将这4个字节解释成int，那么对应的十进制数是1119852954，而如果将这4个字节看成float,那么其对应的值是95.8。


public class Byte]]></description><category></category></item><item><title><![CDATA[spring ,mybatis 中xml文件头部的解析]]></title><link>https://blog.youkuaiyun.com/bytes9/article/details/123050674</link><guid>https://blog.youkuaiyun.com/bytes9/article/details/123050674</guid><author>bytes9</author><pubDate>Mon, 21 Feb 2022 21:41:48 +0800</pubDate><description><![CDATA[&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc=".]]></description><category></category></item><item><title><![CDATA[git常用命令]]></title><link>https://blog.youkuaiyun.com/bytes9/article/details/118250203</link><guid>https://blog.youkuaiyun.com/bytes9/article/details/118250203</guid><author>bytes9</author><pubDate>Sat, 26 Jun 2021 16:06:27 +0800</pubDate><description><![CDATA[图

https://www.runoob.com/wp-content/uploads/2015/02/1352126739_7909.jpg

git init

初始化一个git项目,即将当前目录纳入git版本控制.

git add

将工作区的修改同步到暂存区.

git commit

将暂存区的修改提交到本地库.


git reset [--soft | --mixed | --hard] [HEAD]

版本回退命令,可以将本地将本地库的内容回退到某一个版本.默认是回退至本地库的最新版本.]]></description><category></category></item></channel></rss>