<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[germa的博客]]></title><description><![CDATA[菜鸟笔记]]></description><link>https://blog.youkuaiyun.com/andy_budd</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; andy_budd]]></copyright><item><title><![CDATA[HashMap为什么不是线程安全的]]></title><link>https://blog.youkuaiyun.com/andy_budd/article/details/81413464</link><guid>https://blog.youkuaiyun.com/andy_budd/article/details/81413464</guid><author>andy_budd</author><pubDate>Sat, 04 Aug 2018 23:53:01 +0800</pubDate><description><![CDATA[一、扩容过程

我们知道，HashMap在扩容的时候，是通过重新创建一个新的hash表，把原来旧数组中的Entry一个个迁移到新数组的，这个过程的实现方法如下


void transfer(Entry[] newTable) {

        
        Entry[] src = table;
        int newCapacity = newTable.length;

 ...]]></description><category></category></item><item><title><![CDATA[power designer使用遇到的问题总结]]></title><link>https://blog.youkuaiyun.com/andy_budd/article/details/81350231</link><guid>https://blog.youkuaiyun.com/andy_budd/article/details/81350231</guid><author>andy_budd</author><pubDate>Thu, 02 Aug 2018 00:05:05 +0800</pubDate><description><![CDATA[最近两天在使用pd设计数据库模型的时候遇到了一些问题及知识点，遂做一下总结

1.cardinality问题

在设置实体间的联系基数，也就是cardinality时，以学生——成绩实体为例



我们知道，一个用户对应多科成绩(这里的基数都有包含0，目的是为了使实体之间没有强联系，到时数据库操作不会有违反约束)，则有

成绩to用户 为 0,1 ，意思是对于成绩来说，用户不是强制(Mandato...]]></description><category></category></item><item><title><![CDATA[约瑟夫环问题（循环链表实现）]]></title><link>https://blog.youkuaiyun.com/andy_budd/article/details/81129074</link><guid>https://blog.youkuaiyun.com/andy_budd/article/details/81129074</guid><author>andy_budd</author><pubDate>Fri, 20 Jul 2018 11:44:14 +0800</pubDate><description><![CDATA[一、问题背景

有30个人围成一个环，需要将其中的15个选出来杀掉，规则是，从第一个开始数1，把数到9的那个杀了，接着下一个重新从1开始数，如此循环，直到最后剩15个，这15个幸运儿的编号是分别是多少？

二、基本思路

一开始我想着用数组解决这个问题，然而发现用数组做太麻烦了，每次杀掉一个人，也就是删除一个节点都需要把后面的所有元素都往前移动，所以，我想到的用链表中的循环双向链表，这样一来，在删...]]></description><category></category></item><item><title><![CDATA[排序算法（归并排序）]]></title><link>https://blog.youkuaiyun.com/andy_budd/article/details/81110077</link><guid>https://blog.youkuaiyun.com/andy_budd/article/details/81110077</guid><author>andy_budd</author><pubDate>Thu, 19 Jul 2018 11:30:44 +0800</pubDate><description><![CDATA[一、基本思路

首先，我们要了解一下归并这个名字的由来，其中，&quot;归&quot; 为递归，&quot;并&quot;为合并，意思是先递归后合并，递归其实是用了分治法这种思想，它将待排序数组分为两组，每一组又再分为两组，依次类推，直到最后一次只有一个，不再递归，将相邻的两组合并为比较大的一组，这个大的一组又与相邻的已经合并的同样大的那组再合并，直到最后合并成原来数组一样的大小，排序也就完成了，关于合并的过程看下面例子就可以啦

二...]]></description><category></category></item><item><title><![CDATA[排序算法（希尔排序）]]></title><link>https://blog.youkuaiyun.com/andy_budd/article/details/81105675</link><guid>https://blog.youkuaiyun.com/andy_budd/article/details/81105675</guid><author>andy_budd</author><pubDate>Wed, 18 Jul 2018 22:28:46 +0800</pubDate><description><![CDATA[一、基本思路

希尔排序跟直接插入排序有点像，不同的一点是，直接插入排序的已排序序列的元素是相邻的，如 0,1,2,3,   7,8,5,6,4,9 中的前部分，而希尔排序的已排序序列的元素是间隔gap个的，如gap为2时，1, 9, 3, 5, 4, 7, 6, 2, 8  中的1 3 4 6 8，它的排序过程为：首先定义一个增量gap，以该增量为间隔分成多个即将进行插入排序的子序列，分别对这些...]]></description><category></category></item><item><title><![CDATA[排序算法（堆排序）]]></title><link>https://blog.youkuaiyun.com/andy_budd/article/details/81078378</link><guid>https://blog.youkuaiyun.com/andy_budd/article/details/81078378</guid><author>andy_budd</author><pubDate>Tue, 17 Jul 2018 14:13:42 +0800</pubDate><description><![CDATA[一、基本思路

堆排序的规则在于构造最小堆或最大堆，其核心是对堆的调整（adjust），以最大堆为例，我们需要将待排序数组看成一个完全二叉树，它有以下特点，每个节点都大于它的任何子节点，符合这个条件的堆，就是最大堆，如

其对应的数组为 { 9,8,7,6,5,4,3,2 }

当我们拿到一个数组时，我们的最开始需要利用待排序区间构建一个最大堆，然后将堆顶的数，也就是当前待排序区间最大的数移到待排...]]></description><category></category></item><item><title><![CDATA[排序算法（直接选择排序）]]></title><link>https://blog.youkuaiyun.com/andy_budd/article/details/81072673</link><guid>https://blog.youkuaiyun.com/andy_budd/article/details/81072673</guid><author>andy_budd</author><pubDate>Mon, 16 Jul 2018 22:30:28 +0800</pubDate><description><![CDATA[一、基本思路

为什么我们要叫直接选择排序呢？在最开始的时候，待排序区间是整个数组，从区间选一个最小的与区间第一个交换位置，然后将待排序区间从第二个开始，继续以上操作，直至待排序区间长度为0

二、例子

我们还是以{3,5,7,9,8,6,2,1,4,0}为例

初始：3 5 7 9 8 6 2 1 4 0

第一趟：0 5 7 9 8 6 2 1 4 3

第二趟：0 1 7 9 8 6 2 ...]]></description><category></category></item><item><title><![CDATA[排序算法（直接插入排序）]]></title><link>https://blog.youkuaiyun.com/andy_budd/article/details/81061790</link><guid>https://blog.youkuaiyun.com/andy_budd/article/details/81061790</guid><author>andy_budd</author><pubDate>Mon, 16 Jul 2018 11:39:08 +0800</pubDate><description><![CDATA[一、基本思路将数组的划分为已排序序列和为排序序列，每次挑选为排序序列的第一个，插入已排序序列中（实际操作起来是逐个交换）二、例子我们以{3,5,7,9,8,6,2,1,4,0}数组的排序为例子，将[0,0]作为已排序区间，[1,9]作为未排序区间，用 | 分隔，初始化 i 为0，如下         |3579862140第一趟：将 i 位置上的3插入到前面的区间，由于i为0，所以不作插入    ...]]></description><category></category></item><item><title><![CDATA[排序算法（冒泡排序）]]></title><link>https://blog.youkuaiyun.com/andy_budd/article/details/81056761</link><guid>https://blog.youkuaiyun.com/andy_budd/article/details/81056761</guid><author>andy_budd</author><pubDate>Sun, 15 Jul 2018 21:15:14 +0800</pubDate><description><![CDATA[一、基本思路冒泡排序的思路比较简单，为什么叫冒泡呢？它的思路就是从第一个开始，和第二个元素比较，如果比后面的元素大，则交换顺序，接着第二个和第三个比较，这样，一趟下来，数组中最大的元素就会像泡泡一样“冒”到最后的位置，第二趟，第二大的元素将会“冒”到倒数第二个位置，由此，只要经过n-1趟，数组就完成了排序。二、例子我们以{3,5,7,9,8,6,2,1,4,0}数组的排序为例子第一趟：冒泡区间1~...]]></description><category></category></item><item><title><![CDATA[排序算法（快速排序）]]></title><link>https://blog.youkuaiyun.com/andy_budd/article/details/81052895</link><guid>https://blog.youkuaiyun.com/andy_budd/article/details/81052895</guid><author>andy_budd</author><pubDate>Sun, 15 Jul 2018 15:56:33 +0800</pubDate><description><![CDATA[一、基本思路1.在当前要排序的区间选择一个基准值x，并令i指向区间最左，j指向区间最右2.从该区间 j 的位置向左开始扫描，直到找到一个比基准值x小的， 将这个小的填到 i 的位置上，i++；3.从该区间 i 的位置向右开始扫描，直到找到一个比基准值x大的，将这个大的填到 j 的位置上，j--；4.重复2,3 直到 i 超过 j 或等于 j ，此时将基准值x填入a[ i ],至此，x左边的所有数都...]]></description><category></category></item><item><title><![CDATA[SpringMVC—C的含义]]></title><link>https://blog.youkuaiyun.com/andy_budd/article/details/81043015</link><guid>https://blog.youkuaiyun.com/andy_budd/article/details/81043015</guid><author>andy_budd</author><pubDate>Sat, 14 Jul 2018 13:59:59 +0800</pubDate><description><![CDATA[SpringMVC的Control功能主要由HandlerMapping和HandlerAdapters两个组件提供一、HandlerMapping组件主要提供对handler的查找，举个例子SimpleUrlHandlerMapping：字面意思，url到handler的映射，也就是url到控制器的映射我们知道，dispatcherServlet的各种组件的初始化是在Spring容器的初始化中完...]]></description><category></category></item><item><title><![CDATA[JDK动态代理]]></title><link>https://blog.youkuaiyun.com/andy_budd/article/details/81011647</link><guid>https://blog.youkuaiyun.com/andy_budd/article/details/81011647</guid><author>andy_budd</author><pubDate>Thu, 12 Jul 2018 11:16:28 +0800</pubDate><description><![CDATA[众所周知，Spring的AOP是基于动态代理实现的，下面是对其中的一种，JDK动态代理实现的一些理解一、当我们要代理一个对象时，如TargetImpl对象，操作如下InvocationHandler handler=new BusinessHandler(new TargetImpl());Target proxy=(Target)Proxy.newProxyInstance(TargetImpl...]]></description><category></category></item><item><title><![CDATA[Java I/O 学习]]></title><link>https://blog.youkuaiyun.com/andy_budd/article/details/80924573</link><guid>https://blog.youkuaiyun.com/andy_budd/article/details/80924573</guid><author>andy_budd</author><pubDate>Thu, 05 Jul 2018 11:56:15 +0800</pubDate><description><![CDATA[一 、对Java I/O 的理解当提到Java I/O时，我们会想到InputStream，OutputStream，Writer，Reader等，我们可以按操作对象对它们进行分类操作字符：Reader，Writer操作字节：InputStream，OutputStream操作磁盘：File操作网络：Socket对流的理解可以参考一下这个示意图其中外部媒介可以是键盘，控制台，文件，网络传输的soc...]]></description><category></category></item><item><title><![CDATA[Spring环境下使用TestNG进行单元测试及出现的各种问题]]></title><link>https://blog.youkuaiyun.com/andy_budd/article/details/79953273</link><guid>https://blog.youkuaiyun.com/andy_budd/article/details/79953273</guid><author>andy_budd</author><pubDate>Sun, 15 Apr 2018 21:30:30 +0800</pubDate><description><![CDATA[今天在用Spring整合MyBatis后，在使用单元测试时发现了一些坑package com.germa.service;

import com.germa.domain.Forum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.Applicat...]]></description><category></category></item><item><title><![CDATA[Spring小Demo实现页面跳转]]></title><link>https://blog.youkuaiyun.com/andy_budd/article/details/79926968</link><guid>https://blog.youkuaiyun.com/andy_budd/article/details/79926968</guid><author>andy_budd</author><pubDate>Fri, 13 Apr 2018 12:54:41 +0800</pubDate><description><![CDATA[目标：通过xml方式配置实现操作数据库并跳转到操作结果页面步骤一：创建Maven-web项目，并在创建好的项目添加resources及java文件夹，分别将其置为resources及root根目录创建后此时项目目录中没有存放java源程序的目录及存放资源的目录手动在main中添加目录并分别右键Mark As-&amp;gt;source root ，resources root，完成后如图步骤二：配置po...]]></description><category></category></item><item><title><![CDATA[Spring入门小demo]]></title><link>https://blog.youkuaiyun.com/andy_budd/article/details/79919242</link><guid>https://blog.youkuaiyun.com/andy_budd/article/details/79919242</guid><author>andy_budd</author><pubDate>Thu, 12 Apr 2018 20:36:39 +0800</pubDate><description><![CDATA[目标：完成对数据库中某一行的更新操作步骤一：在IDEA建立Maven project，并配置pom.xml，配置完成后IDEA将自动导入项目所需的jar包pom.xml:&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
&amp;lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot;
         xmlns:x...]]></description><category></category></item></channel></rss>