<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[我是扣肉呀~]]></title><description><![CDATA[别回头就往前飞奔]]></description><link>https://blog.youkuaiyun.com/kourouboy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; kourouboy]]></copyright><item><title><![CDATA[浅谈垃圾回收算法]]></title><link>https://blog.youkuaiyun.com/kourouboy/article/details/102577609</link><guid>https://blog.youkuaiyun.com/kourouboy/article/details/102577609</guid><author>kourouboy</author><pubDate>Wed, 16 Oct 2019 00:44:48 +0800</pubDate><description><![CDATA[一、首先我们需要如何判断一个对象已死？

引用计数法
引用计数描述的算法为: 给对象增加一个引用计数器，每当有一个地方引用它时，计数器就+1；当引用失效时，计数器就-1；任何时刻计数 器为0的对象就是不能再被使用的，即对象已"死"。 引用计数法实现简单，判定效率也比较高，在大部分情况下都是一个不错的算法。比如Python语言就采用引用计 数法进行内存管理。 

但是，在主流的JVM中没有选用...]]></description><category></category></item><item><title><![CDATA[测试用例 -- 微信发红包]]></title><link>https://blog.youkuaiyun.com/kourouboy/article/details/101122787</link><guid>https://blog.youkuaiyun.com/kourouboy/article/details/101122787</guid><author>kourouboy</author><pubDate>Sat, 21 Sep 2019 22:07:11 +0800</pubDate><description><![CDATA[1、功能测试
1）发给单个好友
①　正确的金额+无留言+无表情
②　错误的金额+无留言+无表情
③　正确的金额+有留言+无表情
④　错误的金额+有留言+无表情
⑤　正确的金额+无留言+有表情
⑥　错误的金额+无留言+有表情
⑦　正确的金额+有留言+有表情
⑧　错误的金额+有留言+有表情
其中，金额（0.01-200）可以测试以下数据

数字：测试0, 0.009, 0.01，0.011, 01， ...]]></description><category></category></item><item><title><![CDATA[在浏览器输入一个URL回车之后发生了什么？]]></title><link>https://blog.youkuaiyun.com/kourouboy/article/details/101012573</link><guid>https://blog.youkuaiyun.com/kourouboy/article/details/101012573</guid><author>kourouboy</author><pubDate>Thu, 19 Sep 2019 11:50:22 +0800</pubDate><description><![CDATA[注意：本文的步骤是建立在，请求的是一个简单的HTTP请求，没有HTTPS、HTTP2、最简单的DNS、没有代理、并且服务器没有任何问题的基础上，尽管这不切实际。

大致流程：

URL解析
	DNS查询
	TCP连接
	处理请求
	接受响应
	渲染页面
1、URL解析

地址解析：
首先判断你输入的是一个合法的URL还是一个待搜索的关键词，并且根据你输入的内容进行自动完成、字符编码等操作。

HS...]]></description><category></category></item><item><title><![CDATA[Http和Https的区别（面试常考题）]]></title><link>https://blog.youkuaiyun.com/kourouboy/article/details/100940889</link><guid>https://blog.youkuaiyun.com/kourouboy/article/details/100940889</guid><author>kourouboy</author><pubDate>Tue, 17 Sep 2019 21:40:54 +0800</pubDate><description><![CDATA[无论是在校学习还是找工作的时候，老师和面试官都问过同学http和https的区别。平时上网的时候也没有关注这个问题，只是知道计算机网络里Http的概念，所以最近才查资料好好补补这一块。其实这一块的知识延伸很广，如果之前不太了解加密算法和SSL协议，可以在学习了这个问题的基础上再做研究。

一、Http和Https的基本概念

Http：超文本传输协议（Http，HyperText Transfer...]]></description><category></category></item><item><title><![CDATA[ArrayList源码分析超详细]]></title><link>https://blog.youkuaiyun.com/kourouboy/article/details/100811085</link><guid>https://blog.youkuaiyun.com/kourouboy/article/details/100811085</guid><author>kourouboy</author><pubDate>Fri, 13 Sep 2019 21:11:44 +0800</pubDate><description><![CDATA[ArrayList源码分析超详解

想要分析下源码是件好事，但是如何去进行分析呢？以我的例子来说，我进行源码分析的过程如下几步：

找到类：利用 IDEA 找到所需要分析的类(ztrl+N查找ArraList)（此处就是 ArrayList）
	新建类：新建一个类，命名为 ArrayList，将源码拷贝到该类。因为我们分析的时候肯定是需要进行代码注释，以及调试的，而jdk的源码，我们是没法在里面直...]]></description><category></category></item><item><title><![CDATA[关于JDBC]]></title><link>https://blog.youkuaiyun.com/kourouboy/article/details/100673753</link><guid>https://blog.youkuaiyun.com/kourouboy/article/details/100673753</guid><author>kourouboy</author><pubDate>Mon, 09 Sep 2019 20:21:43 +0800</pubDate><description><![CDATA[1. JDBC概念和数据库驱动程序

JDBC概述
	JDBC（Java Data Base Connectivity,java数据库连接）是一种用于执行SQL语句的Java API，可以为多种关系数据库提供统一访问，它由一组用Java语言编写的类和接口组成。是Java访问数据库的标准规范。
		JDBC提供了一种基准,据此可以构建更高级的工具和接口，使数据库开发人员能够编写数据库应用程序。
		...]]></description><category></category></item><item><title><![CDATA[（转）Java中HashMap底层实现原理（JDK1.8）源码分析]]></title><link>https://blog.youkuaiyun.com/kourouboy/article/details/100547415</link><guid>https://blog.youkuaiyun.com/kourouboy/article/details/100547415</guid><author>kourouboy</author><pubDate>Wed, 04 Sep 2019 21:11:08 +0800</pubDate><description><![CDATA[在JDK1.6，JDK1.7中，HashMap采用位桶+链表实现，即使用链表处理冲突，同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多，即hash值相等的元素较多时，通过key值依次查找的效率较低。而JDK1.8中，HashMap采用位桶+链表+红黑树实现，当链表长度超过阈值（8）时，将链表转换为红黑树，这样大大减少了查找时间。

简单说下HashMap的实现原理：

首先有一...]]></description><category></category></item><item><title><![CDATA[关于HashMap的一些基础面试题]]></title><link>https://blog.youkuaiyun.com/kourouboy/article/details/100547369</link><guid>https://blog.youkuaiyun.com/kourouboy/article/details/100547369</guid><author>kourouboy</author><pubDate>Wed, 04 Sep 2019 21:08:58 +0800</pubDate><description><![CDATA[“你用过HashMap吗？” “什么是HashMap？你为什么用到它？”

　　几乎每个人都会回答“是的”，然后回答HashMap的一些特性，譬如HashMap可以接受null键值和值，而Hashtable则不能；HashMap是非synchronized;HashMap很快；以及HashMap储存的是键值对等等。这显示出你已经用过HashMap，而且对它相当的熟悉。但是面试官来个急转直下，从此刻...]]></description><category></category></item><item><title><![CDATA[HashMap、Hashtable、HashSet和ConcurrentHashMap的比较]]></title><link>https://blog.youkuaiyun.com/kourouboy/article/details/100547329</link><guid>https://blog.youkuaiyun.com/kourouboy/article/details/100547329</guid><author>kourouboy</author><pubDate>Wed, 04 Sep 2019 21:05:46 +0800</pubDate><description><![CDATA[HashMap 和 Hashtable 的区别

　　HashMap 和 Hashtable 都实现了 Map 接口，但决定用哪一个之前先要弄清楚它们之间的分别。主要的区别有：线程安全性，同步 (synchronization)，以及速度。

HashMap 几乎可以等价于 Hashtable，除了 HashMap 是非 synchronized 的，并可以接受 null(HashMap 键值 (...]]></description><category></category></item><item><title><![CDATA[数据库重要知识点]]></title><link>https://blog.youkuaiyun.com/kourouboy/article/details/100177649</link><guid>https://blog.youkuaiyun.com/kourouboy/article/details/100177649</guid><author>kourouboy</author><pubDate>Sat, 31 Aug 2019 21:38:37 +0800</pubDate><description><![CDATA[基础概念

1. 什么是数据库事务？事务有什么特点？

数据库事务：是指作为单个逻辑工作单元执行的一系列操作，这些操作要么全做，要么全不做，是一个不可分割的工作单元。

事务特点：

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


2. 主键和外键的区别？

主键所在的列的值是唯一的，不可为空的
	外键所在的列的值可以重复，可以为空的，不能创建对应表中不存在的外键值
3. truncate与delet...]]></description><category></category></item><item><title><![CDATA[ArrayLIst、Vector、LinkedList关系与区别]]></title><link>https://blog.youkuaiyun.com/kourouboy/article/details/99686358</link><guid>https://blog.youkuaiyun.com/kourouboy/article/details/99686358</guid><author>kourouboy</author><pubDate>Fri, 16 Aug 2019 22:05:00 +0800</pubDate><description><![CDATA[相同点：
1.ArrayLIst、Vector、LinkedList都属于List接口常用子类；

2.ArrayLIst、Vector是基于数组实现，LinkedList基于链表实现；

不同点：
1.ArrayList采用懒加载策略，扩容为原先数组的1.5倍，采用异步处理，线程不安全，性能较高；

2.Vector当产生对象时就初始化...]]></description><category></category></item><item><title><![CDATA[测试用例的设计方法]]></title><link>https://blog.youkuaiyun.com/kourouboy/article/details/99119474</link><guid>https://blog.youkuaiyun.com/kourouboy/article/details/99119474</guid><author>kourouboy</author><pubDate>Sat, 10 Aug 2019 23:15:40 +0800</pubDate><description><![CDATA[测试用例的总体设计方法
基于需求的设计
RBT( Requirements-Based Testing)是基于需求的测试方法，会使测试更加有效。是因为它使测试专注于质量问题产生的根源，即需求。
基于需求的测试是一种最根本的软件测试，重点关注以下两大关键问题，（1）验证需求是否正确、完整、无二义性，并且逻辑一致。 （2）要从“黑盒”的角度，设计出充分并且必要的测试集，以保证设计和代码都能完全符合需求...]]></description><category></category></item><item><title><![CDATA[ConcurrentHashMap如何高效实现线程安全]]></title><link>https://blog.youkuaiyun.com/kourouboy/article/details/98671965</link><guid>https://blog.youkuaiyun.com/kourouboy/article/details/98671965</guid><author>kourouboy</author><pubDate>Tue, 06 Aug 2019 22:56:05 +0800</pubDate><description><![CDATA[典型回答

Java 提供了不同层面的线程安全支持。在传统集合框架内部，除了 Hashtable 等同步容器，还提供了所谓的同步包装器（Synchronized Wrapper），我们可以调用 Collections 工具类提供的包装方法，来获取一个同步的包装容器（如 Collections.synchronizedMap），但是它们都是利用非常粗粒度的同步方式，在高并发情况下，性能比较低下。

...]]></description><category></category></item><item><title><![CDATA[mysql查询语句面试题]]></title><link>https://blog.youkuaiyun.com/kourouboy/article/details/98498327</link><guid>https://blog.youkuaiyun.com/kourouboy/article/details/98498327</guid><author>kourouboy</author><pubDate>Mon, 05 Aug 2019 17:02:11 +0800</pubDate><description><![CDATA[表结构

学生表student(id,name)
	课程表course(id,name)
	学生课程表student_course(sid,cid,score)
创建表的sql代码


create table student(
id int unsigned primary key auto_increment,
name char(10) not null
);
insert into stu...]]></description><category></category></item><item><title><![CDATA[网易2020校招笔试题目-测试开发工程师]]></title><link>https://blog.youkuaiyun.com/kourouboy/article/details/98460942</link><guid>https://blog.youkuaiyun.com/kourouboy/article/details/98460942</guid><author>kourouboy</author><pubDate>Sun, 04 Aug 2019 13:35:06 +0800</pubDate><description><![CDATA[题目分为三部分：

1.选择题：主要考察基础知识点。

2.编程题：四个编程题。

3.问答题:一个关于测试用例，一个关于MySQL的基本检索语句。



选择题记不太清楚了，反正就是各个知识点。

编程题：

1.俄罗斯方块游戏机。
题目：自定义俄罗斯方块列数，每次俄罗斯方块下落个数为1*1，当一行都落满俄罗斯方块时，得分+1。现在小明玩到m个俄罗斯方块，求此时的分数。

输入：

第一行 列...]]></description><category></category></item><item><title><![CDATA[左右最值最大差  -- 牛客网]]></title><link>https://blog.youkuaiyun.com/kourouboy/article/details/98079091</link><guid>https://blog.youkuaiyun.com/kourouboy/article/details/98079091</guid><author>kourouboy</author><pubDate>Thu, 01 Aug 2019 17:27:34 +0800</pubDate><description><![CDATA[题目描述：

  给定一个长度为N(N&gt;1)的整型数组A，可以将A划分成左右两个部分，左部分A[0..K]，右部分A[K+1..N-1]，K可以取值的范围[0,N- 2]。求这么多划分方案中，左部分中的最大值减去右部分最大值的绝对值，最大是多少？给定整数数组A和数组的大小n，请返回题目所求的答案。

题目解析：

  基于贪心算法的思想 这两个数中有一个肯定是数组的最大值。要使得...]]></description><category></category></item><item><title><![CDATA[合唱团 -- 牛客网]]></title><link>https://blog.youkuaiyun.com/kourouboy/article/details/97929593</link><guid>https://blog.youkuaiyun.com/kourouboy/article/details/97929593</guid><author>kourouboy</author><pubDate>Wed, 31 Jul 2019 16:35:40 +0800</pubDate><description><![CDATA[1.题目描述：

有 n 个学生站成一排，每个学生有一个能力值，牛牛想从这 n 个学生中按照顺序选取 k 名学生，要求相邻两个学生的位置编号的差不超过 d，使得这 k 个学生的能力值的乘积最大，你能返回最大的乘积吗？

2.题目解析：

题目要求n各学生中选择k个，使这k个学生的能力值乘积最大。这是一个最优化的问题。另外，在优化过程 中，提出了相邻两个学生的位置编号差不超过d的约束。解决的方法是采...]]></description><category></category></item><item><title><![CDATA[在IDEA上基于JDBC的MySQL表格的增删查找操作]]></title><link>https://blog.youkuaiyun.com/kourouboy/article/details/97806308</link><guid>https://blog.youkuaiyun.com/kourouboy/article/details/97806308</guid><author>kourouboy</author><pubDate>Wed, 31 Jul 2019 00:29:25 +0800</pubDate><description><![CDATA[在这里先介绍一下JDBC：

  Java数据库连接，（Java Database Connectivity，简称JDBC）是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口，提供了诸如查询和更新数据库中数据的方法。

步骤：

加载驱动
	  a. Class.forName("com.mysql.jdbc.Driver");
	获取连接
	  a. C...]]></description><category></category></item><item><title><![CDATA[Python学习：Selenuim+Python元素定位总结]]></title><link>https://blog.youkuaiyun.com/kourouboy/article/details/97528846</link><guid>https://blog.youkuaiyun.com/kourouboy/article/details/97528846</guid><author>kourouboy</author><pubDate>Sat, 27 Jul 2019 17:35:27 +0800</pubDate><description><![CDATA[对象的定位应该是自动化测试的核心，要想操作一个对象，首先应该识别这个对象。一个对象就是一个人一样，他会有各种的特征（属性），如比我们可以通过一个人的身份证号，姓名，或者他住在哪个街道、楼层、门牌找到这 个人。

那么一个对象也有类似的属性，我们可以通过这个属性找到这对象。

注意：不管用那种方式，必须保证页面上该属性的唯一性

webdriver 提供了一系列的对象定位方法，常用的有以下几种：

...]]></description><category></category></item><item><title><![CDATA[数组中出现次数超过一半的数字 -- 牛客网and剑指offer]]></title><link>https://blog.youkuaiyun.com/kourouboy/article/details/97391406</link><guid>https://blog.youkuaiyun.com/kourouboy/article/details/97391406</guid><author>kourouboy</author><pubDate>Fri, 26 Jul 2019 15:15:23 +0800</pubDate><description><![CDATA[题目描述

数组中有一个数字出现的次数超过数组长度的一半，请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次，超过数组长度的一半，因此输出2。如果不存在则输出0。
两个方法实现，如下：方法一：
   解题思路：关键字 -- 排序。一个数组排序后，如果某个数字出现次数超过数组的长度的一半，那么这个数字一定会出现在数组中间的位置。所以我...]]></description><category></category></item></channel></rss>