<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[agitokuugaaa的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/agitokuugaaa</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; agitokuugaaa]]></copyright><item><title><![CDATA[TCP/IP网络模型]]></title><link>https://blog.youkuaiyun.com/agitokuugaaa/article/details/115415807</link><guid>https://blog.youkuaiyun.com/agitokuugaaa/article/details/115415807</guid><author>agitokuugaaa</author><pubDate>Sun, 04 Apr 2021 18:12:40 +0800</pubDate><description><![CDATA[TCP/IP模型
协议(protocol)是规定网络中双方通信方法的规则。TCP/IP是一个泛指，包括了TCP，UDP，IP，FTP，HTTP，ICMP，SMTP 等协议。
TCP/IP从上往下共分为四层模型，分别是：
链路层：负责封装和解封装IP报文，发送和接受ARP/RARP报文等。
网络层：负责路由以及把分组报文发送给目标网络或主机。
传输层：负责对报文进行分组和重组，并以TCP或UDP协议格式封装报文。
应用层：负责向用户提供应用程序，比如HTTP、FTP、Telnet、DNS、SMTP等。

数据]]></description><category></category></item><item><title><![CDATA[乐观锁与悲观锁]]></title><link>https://blog.youkuaiyun.com/agitokuugaaa/article/details/115405110</link><guid>https://blog.youkuaiyun.com/agitokuugaaa/article/details/115405110</guid><author>agitokuugaaa</author><pubDate>Fri, 02 Apr 2021 17:58:31 +0800</pubDate><description><![CDATA[乐观锁
乐观锁（Optimistic Lock），顾名思义，就是很乐观，每次去拿数据的时候都认为别人不会修改，所以不会上锁，但是在提交更新的时候会判断一下在此期间别人有没有去更新这个数据。乐观锁适用于读多写少的应用场景，这样可以提高吞吐量。
乐观锁：假设不会发生并发冲突，只在提交操作时检查是否违反数据完整性。
乐观锁一般来说有以下2种方式：
使用数据版本（Version）记录机制实现，这是乐观锁最常用的一种实现方式。何谓数据版本？即为数据增加一个版本标识，一般是通过为数据库表增加一个数字类型的 “versi]]></description><category></category></item><item><title><![CDATA[SQL语句]]></title><link>https://blog.youkuaiyun.com/agitokuugaaa/article/details/115379572</link><guid>https://blog.youkuaiyun.com/agitokuugaaa/article/details/115379572</guid><author>agitokuugaaa</author><pubDate>Thu, 01 Apr 2021 19:14:17 +0800</pubDate><description><![CDATA[一、SQL基础语句
SQL SELECT 语句：
SELECT 语句用于从表中选取数据。
结果被存储在一个结果表中（称为结果集）。
SELECT 列名称 FROM 表名称
ORDER BY 语句:
ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序，可以使用 DESC 关键字。
例如：select * from test where a=10 and b=10 order by a
SQL SELECT DISTIN]]></description><category></category></item><item><title><![CDATA[Java集合类]]></title><link>https://blog.youkuaiyun.com/agitokuugaaa/article/details/115376295</link><guid>https://blog.youkuaiyun.com/agitokuugaaa/article/details/115376295</guid><author>agitokuugaaa</author><pubDate>Thu, 01 Apr 2021 16:58:33 +0800</pubDate><description><![CDATA[集合是Java的一个重点，因为我经常会把集合类记混或者遗忘，所以今天我就来做一下笔记，方便以后翻阅。

在这个集合框架图中只有vector和Hashtable是线程安全的。

]]></description><category></category></item><item><title><![CDATA[Servlet和DispatcherServlet]]></title><link>https://blog.youkuaiyun.com/agitokuugaaa/article/details/115372223</link><guid>https://blog.youkuaiyun.com/agitokuugaaa/article/details/115372223</guid><author>agitokuugaaa</author><pubDate>Thu, 01 Apr 2021 14:11:01 +0800</pubDate><description><![CDATA[Servlet
一、什么是Servlet
servlet 是用Java编写的服务器端程序，功能是交互式的浏览和修改数据，动态生成Web内容。
Servlet运行于支持Java的应用服务器中，Servlet可以响应任何类型的请求。
二、Servlet工作机制
1.用户发送请求到Servlet容器(如Tomcat)
2.Servlet容器从磁盘加载Servlet类的实例
3.Servlet容器解析Http请求
4.Servlet生成HttpRequest对象和HttpResponse对象并将这两个对象作为参数传]]></description><category></category></item><item><title><![CDATA[关于对象/关系数据库映射的理解]]></title><link>https://blog.youkuaiyun.com/agitokuugaaa/article/details/115282599</link><guid>https://blog.youkuaiyun.com/agitokuugaaa/article/details/115282599</guid><author>agitokuugaaa</author><pubDate>Sun, 28 Mar 2021 16:29:50 +0800</pubDate><description><![CDATA[对象/关系数据库映射(Object Relational Mapping)
我们都知道，关系型数据库的访问方式与面向对象编程的方式有着明显的区别。而ORM可以把关系型数据库包装成面向对象的模型，方便程序员用面向对象的方式调用数据库的数据。ORM的存在，就是为了解决关系型数据库与面向对象编程之间存在的冲突。
采用ORM框架以后，应用程序就与底层数据库分隔开来，不再直接访问，而是以面向对象的方式持久化数据。而ORM框架将应用程序的操作转换成对应的SQL的操作。

...]]></description><category></category></item><item><title><![CDATA[Hibernate延迟加载理解]]></title><link>https://blog.youkuaiyun.com/agitokuugaaa/article/details/115279947</link><guid>https://blog.youkuaiyun.com/agitokuugaaa/article/details/115279947</guid><author>agitokuugaaa</author><pubDate>Sun, 28 Mar 2021 16:01:00 +0800</pubDate><description><![CDATA[Hibernate是什么？
Hibernate和MyBatis一样，是对数据进行持久化的持久层框架，（对于持久化，我们可以简单理解为将存储在内存中的临时性数据搬运到数据库或者文件当中去，即保存到硬盘中进行永久性存储。）Hibernate是一个开源的orm框架，对jdbc进行了简单的封装。
为了优化性能，Hibernate提供了以下几种策略：
1.制定合理的缓存策略
2.采用合理的session管理机制
3.尽量使用延迟加载特性
4.设定合理的批处理参数
5.如果可以，选用UUID作为主键生成器。
6. 如果]]></description><category></category></item><item><title><![CDATA[IOC、DI与容器的理解]]></title><link>https://blog.youkuaiyun.com/agitokuugaaa/article/details/115276596</link><guid>https://blog.youkuaiyun.com/agitokuugaaa/article/details/115276596</guid><author>agitokuugaaa</author><pubDate>Sun, 28 Mar 2021 13:40:09 +0800</pubDate><description><![CDATA[IOC、DI与容器
一、IOC
IOC（Inversion of Control）——控制反转。IOC是一种设计思想，在传统的Java编程中，一个对象A想要引用其他的对象B，都需要在A内部进行new操作，也就是说A依赖B，这样子就产生了高度的耦合性，每次使用的时候都需要A主动去创建。
在Spring中，这样一种高耦合性的关系得到了改变，Spring在创建类的实例前会先创建一个容器的实例，然后把所有Bean实例化后的对象放进容器中，当对象A需要容器中的对象B时，容器就把对象B交给A使用。
综上，控制反转是指创]]></description><category></category></item><item><title><![CDATA[浅析快速失败与安全失败]]></title><link>https://blog.youkuaiyun.com/agitokuugaaa/article/details/115274065</link><guid>https://blog.youkuaiyun.com/agitokuugaaa/article/details/115274065</guid><author>agitokuugaaa</author><pubDate>Sat, 27 Mar 2021 23:39:42 +0800</pubDate><description><![CDATA[快速失败与安全失败
快速失败：
在使用迭代器对集合进行迭代的过程中，如果a线程正在对集合进行遍历，而b线程正在对集合进行修改，又或者a在遍历的过程中对集合进行修改，都将导致a线程抛出ConcurrentModificationException异常。
迭代器初始化时会将modCount 变量（表示修改次数）赋值给expectedModCount变量。集合在被遍历期间如果内容发生变化，就会改变modCount的值。每当迭代器使用hashNext()/next()遍历下一个元素之前，都会判断modCount变量]]></description><category></category></item><item><title><![CDATA[蓄水池采样算法]]></title><link>https://blog.youkuaiyun.com/agitokuugaaa/article/details/108744100</link><guid>https://blog.youkuaiyun.com/agitokuugaaa/article/details/108744100</guid><author>agitokuugaaa</author><pubDate>Thu, 24 Sep 2020 09:51:57 +0800</pubDate><description><![CDATA[蓄水池采样算法
前段时间在笔试题

]]></description><category></category></item></channel></rss>