<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Burder的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Burder</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Burder]]></copyright><item><title><![CDATA[TCP里面的知识点]]></title><link>https://blog.youkuaiyun.com/Burder/article/details/100187818</link><guid>https://blog.youkuaiyun.com/Burder/article/details/100187818</guid><author>Burder</author><pubDate>Sun, 01 Sep 2019 21:04:17 +0800</pubDate><description><![CDATA[TCP协议段格式
16位源/16位目的端口号：（负责端与端之间的数据传输）表示数据是从哪个进程来，到哪个进程去
32位序号/确认序号：保证数据有序交付
16位窗口大小：（实现滑动窗口，以及流量控制）自己的接受缓冲区剩余空间的大小
16位校验和：保证数据一致性
16位紧急指针：标识哪部分数据是紧急数据
4位TCP报头长度：表示该TCP头部有多少个32位bit（有多少个4字节）；所以TCP头部最小20...]]></description><category></category></item><item><title><![CDATA[（转）数据库重要知识点]]></title><link>https://blog.youkuaiyun.com/Burder/article/details/100148057</link><guid>https://blog.youkuaiyun.com/Burder/article/details/100148057</guid><author>Burder</author><pubDate>Thu, 29 Aug 2019 22:37:07 +0800</pubDate><description><![CDATA[**
原创：https://blog.51cto.com/aiilive/2309361
基础概念
**
1. 什么是数据库事务？事务有什么特点？
数据库事务：是指作为单个逻辑工作单元执行的一系列操作，这些操作要么全做，要么全不做，是一个不可分割的工作单元。
事务特点：

原子性
一致性
隔离性
持久性特

2. 主键和外键的区别？
主键所在的列的值是唯一的，不可为空的
外键所在的列的值可以重复，...]]></description><category></category></item><item><title><![CDATA[Future、lock体系、死锁、AQS]]></title><link>https://blog.youkuaiyun.com/Burder/article/details/100087695</link><guid>https://blog.youkuaiyun.com/Burder/article/details/100087695</guid><author>Burder</author><pubDate>Mon, 26 Aug 2019 23:04:54 +0800</pubDate><description><![CDATA[Future:取得Callable接口返回值
get() : V 当前线程阻塞直到有返回值为止
FutureTask 在多线程并发下可以保证任务(传入的Callable或Runnable)只执行一次
线程中提交方法：
void execute(Runnable r);
V submit(Runnable r)
V submit(Callable c)
JDK1.8 CompletableFutur...]]></description><category></category></item><item><title><![CDATA[说说一个url访问的完整流程]]></title><link>https://blog.youkuaiyun.com/Burder/article/details/99662613</link><guid>https://blog.youkuaiyun.com/Burder/article/details/99662613</guid><author>Burder</author><pubDate>Thu, 15 Aug 2019 23:31:21 +0800</pubDate><description><![CDATA[用户输入url之后大致发生了以下几件事

浏览器查找域名的 IP 地址，这一步包括了DNS解析，具体的查找过程，包括：浏览器缓存–&gt;系统缓存–&gt;路由器缓存…
浏览器向  web 服务器发送一个  http 请求：三次握手、传送数据、四次挥手；
服务器的永久重定向响应：返回真正访问地址
浏览器跟踪重定向地址：另发一个 http 请求
服务器处理请求
服务器返回一个 http 响应
浏览器...]]></description><category></category></item><item><title><![CDATA[浅谈DNS域名解析]]></title><link>https://blog.youkuaiyun.com/Burder/article/details/99091856</link><guid>https://blog.youkuaiyun.com/Burder/article/details/99091856</guid><author>Burder</author><pubDate>Sat, 10 Aug 2019 17:47:45 +0800</pubDate><description><![CDATA[DNS解析
DNS解析的过程就是寻找哪台机器上有你需要资源的过程，寻找的过程遵循就近原则。
输入一个网址并按回车的时候浏览器会根据输入的URL去查找对应的IP，具体过程如下：
（1）首先是查找浏览器缓存，浏览器会保存一段时间内访问过的一些网址的DNS信息，不同浏览器保存的时常不等。
（2）如果没有找到对应的记录，这个时候浏览器会尝试调用操作系统缓存来继续查找这个网址的对应DNS信息。
（3）如果还...]]></description><category></category></item><item><title><![CDATA[排序大礼包]]></title><link>https://blog.youkuaiyun.com/Burder/article/details/98613796</link><guid>https://blog.youkuaiyun.com/Burder/article/details/98613796</guid><author>Burder</author><pubDate>Tue, 06 Aug 2019 14:14:16 +0800</pubDate><description><![CDATA[https://youyinnn.github.io/?to=post&amp;number=42
上述文章内容为转载，非本人原创，以学习参考为主，在此感谢原创。

]]></description><category></category></item><item><title><![CDATA[Java锁的种类以及辨认]]></title><link>https://blog.youkuaiyun.com/Burder/article/details/98213971</link><guid>https://blog.youkuaiyun.com/Burder/article/details/98213971</guid><author>Burder</author><pubDate>Fri, 02 Aug 2019 17:15:13 +0800</pubDate><description><![CDATA[Java锁的种类以及辨析 ：
锁作为并发共享数据，保证一致性的工具，在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利，但是锁的具体性质以及类型却很少被提及。
截止JDK1.8版本,java并发框架支持锁包括： 读写锁， 自旋锁， 乐观锁。
锁的分类：
1、自旋锁 ,自旋，jvm默认是10次吧，有jvm自己控制...]]></description><category></category></item><item><title><![CDATA[TCP的三次握手与四次挥手]]></title><link>https://blog.youkuaiyun.com/Burder/article/details/98106978</link><guid>https://blog.youkuaiyun.com/Burder/article/details/98106978</guid><author>Burder</author><pubDate>Thu, 01 Aug 2019 22:01:42 +0800</pubDate><description><![CDATA[TCP的三次握手:

假设A是客户端，B是服务器端
1 . 首先B 处于LISTEN(监听)状态，等待客户端的连接请求
2 . A向B发送请求报文，SYN=1，ACK = 0 ，选择一个初始的序号x。
3 . B收到连接请求报文，如果同意建立连接，则向A发送连接确认报文，SYN = 1，ACK= 1，确认序号为x+1，同时也选择一个初始的序号y。
3 . A收到B的连接确认报文后，还要向B发出确认...]]></description><category></category></item><item><title><![CDATA[HTTP状态码]]></title><link>https://blog.youkuaiyun.com/Burder/article/details/97938985</link><guid>https://blog.youkuaiyun.com/Burder/article/details/97938985</guid><author>Burder</author><pubDate>Wed, 31 Jul 2019 17:38:53 +0800</pubDate><description><![CDATA[HTTP 状态码
服务器返回的 响应报文 中第一行为状态行，包含了状态码以及原因短语，用来告知客户端请求的结果。
状态码	类别	含义
1XX	Informational（信息性状态码）	接收的请求正在处理
2XX	Success（成功状态码）	请求正常处理完毕
3XX	Redirection（重定向状态码）	需要进行附加操作以完成请求
4XX	Client Error（客户端错误状态码）	服务器无...]]></description><category></category></item><item><title><![CDATA[synchronized、volatile、serialize、static关键字]]></title><link>https://blog.youkuaiyun.com/Burder/article/details/97768623</link><guid>https://blog.youkuaiyun.com/Burder/article/details/97768623</guid><author>Burder</author><pubDate>Tue, 30 Jul 2019 12:45:51 +0800</pubDate><description><![CDATA[synchronized关键字：
用来给对象和方法或者代码块加锁，当它锁定一个方法或者一个代码块的时候，同一个时刻最多只有一个线程执行这个代码块
volayile:用来确保将变量的跟新操作通知到其他线程，当把变量声明为volatile类型后，编译器与运行时都会注意到这个变量是共享的，因此不会将该变量上的操作与其他内存内存操作一起重排序。然而，在访问volatile变量时不会执行加锁操作，因此也就不...]]></description><category></category></item><item><title><![CDATA[Servlet转发和重定向response.sendRedirecte()区别]]></title><link>https://blog.youkuaiyun.com/Burder/article/details/97623826</link><guid>https://blog.youkuaiyun.com/Burder/article/details/97623826</guid><author>Burder</author><pubDate>Mon, 29 Jul 2019 10:05:31 +0800</pubDate><description><![CDATA[转发（forward）：IE浏览器的地址不会发生改变，始终是一个请求
重定向(sendRedirect)：IE浏览器的地址会发生改变，有俩个请求
一、转发
1 . 地址栏不会改变
2 . 转发只能转发到当前web应用内的资源
3 . 可以在转发过程中，可以把数据保存到request域对象中
以request.getRequestDispatcher("/list.jsp").forward(req...]]></description><category></category></item><item><title><![CDATA[构造函数可以私有化吗]]></title><link>https://blog.youkuaiyun.com/Burder/article/details/97620478</link><guid>https://blog.youkuaiyun.com/Burder/article/details/97620478</guid><author>Burder</author><pubDate>Sun, 28 Jul 2019 22:13:20 +0800</pubDate><description><![CDATA[通常我们都将构造函数的声明置于public区段，假如我们将其放入private区段中会发生什么样的后果？没错，我也知道这将会使构造函数成为私有的，这意味着什么？
我们知道，当我们在程序中声明一个对象时，编译器为调用构造函数(如果有的话)，而这个调用将通常是外部的，也就是说它不属于class对象本身的调用，假如构造函数是私有的，由于在class外部不允许访问私有成员，所以这将导致编译出错。
你于是说...]]></description><category></category></item><item><title><![CDATA[死锁]]></title><link>https://blog.youkuaiyun.com/Burder/article/details/97620246</link><guid>https://blog.youkuaiyun.com/Burder/article/details/97620246</guid><author>Burder</author><pubDate>Sun, 28 Jul 2019 22:08:58 +0800</pubDate><description><![CDATA[一、什么是死锁
死锁是指多个进程因竞争资源而造成的一种僵局（互相等待），若无外力作用，这些进程都将无法向前推进。
二、死锁产生的原因
1 . 系统资源的竞争
系统资源的竞争导致系统资源不足，以及资源分配不当，导致死锁。
2 . 进程运行推进顺序不合适
进程在运行的过程中，请求和释放的资源不当，会导致死锁
三 、死锁的四个必要条件：
1 . 互斥条件：一个资源每次只能被一个进程使用，即在一段时间内某...]]></description><category></category></item><item><title><![CDATA[throws与throw关键字]]></title><link>https://blog.youkuaiyun.com/Burder/article/details/97517020</link><guid>https://blog.youkuaiyun.com/Burder/article/details/97517020</guid><author>Burder</author><pubDate>Sat, 27 Jul 2019 15:06:39 +0800</pubDate><description><![CDATA[throws:用在方法声明上，明确告诉调用者本方法可能产生的异常，但方法本身不处理，将异常抛回给调用方。
受查异常:强制用户进行异常处理(要么try/catch要么再给上层抛出)
非受查异常:Error、RuntimeException及其子类，不强制用户进行异常处理。
(NullPointerException、ClassCastException、ArrayOutofBoundsExcepti...]]></description><category></category></item><item><title><![CDATA[反射]]></title><link>https://blog.youkuaiyun.com/Burder/article/details/97516061</link><guid>https://blog.youkuaiyun.com/Burder/article/details/97516061</guid><author>Burder</author><pubDate>Sat, 27 Jul 2019 15:02:54 +0800</pubDate><description><![CDATA[反射：根据现有对象倒推类的组成
最核心：Class类
任何一个类在JVM中都有唯一的一个class对象，此对象记录该类的组成结构。
当类在加载时由JVM产生，用户只能取得此对象无法创建。
要想在java中应用反射，首先取得该类的class对象
1 . 调用Object提供的getClass方法
2 . 类名称 . class
3 .调用Class类提供的静态方法Class.forName（类的全名...]]></description><category></category></item><item><title><![CDATA[Future、lock、AQS、syrchronized]]></title><link>https://blog.youkuaiyun.com/Burder/article/details/97396345</link><guid>https://blog.youkuaiyun.com/Burder/article/details/97396345</guid><author>Burder</author><pubDate>Fri, 26 Jul 2019 16:55:22 +0800</pubDate><description><![CDATA[Future:取得Callable接口返回值
get() : V 当前线程阻塞直到有返回值为止
FutureTask 在多线程并发下可以保证任务(传入的Callable或Runnable)只执行一次
线程中提交方法
void execute(Runnable r);
V submit(Runnable r)
V submit(Callable c)
JDK1.8 CompletableFuture...]]></description><category></category></item><item><title><![CDATA[线程池]]></title><link>https://blog.youkuaiyun.com/Burder/article/details/97394668</link><guid>https://blog.youkuaiyun.com/Burder/article/details/97394668</guid><author>Burder</author><pubDate>Fri, 26 Jul 2019 16:50:45 +0800</pubDate><description><![CDATA[线程池
1 . 线程池的优点：
I . 降低资源消耗：通过重复利用已创建的线程降低线程的创建与销毁带来的损耗
II . 提高响应速度：当任务到达时，无须等待线程创建就可以立即执行
III. 提高线程的可管理性：使用线程池可以统一进行线程分配、调度与监控
2 . 线程池的继承关系
Executor–execute（Runnable command）-----&gt; 被ExecutorService...]]></description><category></category></item><item><title><![CDATA[多线程]]></title><link>https://blog.youkuaiyun.com/Burder/article/details/97394306</link><guid>https://blog.youkuaiyun.com/Burder/article/details/97394306</guid><author>Burder</author><pubDate>Fri, 26 Jul 2019 16:15:08 +0800</pubDate><description><![CDATA[多线程
1 . 进程：操作系统中资源分配的最小单位
线程：进程中的独立任务，操作系统中任务调度的最小单位，依赖进程存在
在一个进程中线程共享资源。
2 . java中多线程实现
继承Thread
实现Runnable
实现Callable
线程池 — 推荐
3 . 常用操作方法
sleep（）：不释放对象锁，立即交出执行权
yield（）（让步）：交出cpu时间不确定，由系统调度决定，只会让拥有相...]]></description><category></category></item><item><title><![CDATA[CAS操作]]></title><link>https://blog.youkuaiyun.com/Burder/article/details/97244131</link><guid>https://blog.youkuaiyun.com/Burder/article/details/97244131</guid><author>Burder</author><pubDate>Thu, 25 Jul 2019 11:03:26 +0800</pubDate><description><![CDATA[1 .CAS ：Compare And Swap （比较交换机制）–乐观锁
悲观锁：（JDK1 . 6之前的内建锁）假设每一次执行同步代码块均会产生冲突，所以当线程获取锁成功，会阻塞其他尝试获取该锁的线程。
乐观锁：（Lock）假设所有线程访问共享资源时不会出现冲突，既然不会出现冲突自然就不会阻塞时其他线程。线程不会出现阻塞状态。
CAS（无锁操作），使用CAS叫做比较交换来判断是否出现冲突，出现...]]></description><category></category></item><item><title><![CDATA[JVM-深浅拷贝、序列化]]></title><link>https://blog.youkuaiyun.com/Burder/article/details/97243214</link><guid>https://blog.youkuaiyun.com/Burder/article/details/97243214</guid><author>Burder</author><pubDate>Thu, 25 Jul 2019 10:44:35 +0800</pubDate><description><![CDATA[序列化：
概念：将内存中保存的对象变为二进制流进行输出或者保存在文本中。
–将对象变为二进制流
要想让类支持序列化，必须实现Serializable接口。（标识接口）
Serializable接口为标识接口，只有实现了Serializable接口的类才具备对象序列化功能。
具体实现序列化和反序列化，需要使用io包中提供的俩个处理类：
序列化类：ObjectOutputStream：
选择目标终端
...]]></description><category></category></item></channel></rss>