<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[弈秋之鹤的博客]]></title><description><![CDATA[精品]]></description><link>https://blog.youkuaiyun.com/dafeigeya</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dafeigeya]]></copyright><item><title><![CDATA[二叉树非递归遍历]]></title><link>https://blog.youkuaiyun.com/dafeigeya/article/details/116802568</link><guid>https://blog.youkuaiyun.com/dafeigeya/article/details/116802568</guid><author>dafeigeya</author><pubDate>Fri, 14 May 2021 22:22:22 +0800</pubDate><description><![CDATA[TreeNode定义
public class TreeNode {
     int val;
     TreeNode left;
     TreeNode right;
     TreeNode() {}
     TreeNode(int val) { this.val = val; }
     TreeNode(int val, TreeNode left, TreeNode right) {
         this.val = val;
         this.left = le]]></description><category></category></item><item><title><![CDATA[判断一个整数中有多少个1的方法]]></title><link>https://blog.youkuaiyun.com/dafeigeya/article/details/115108815</link><guid>https://blog.youkuaiyun.com/dafeigeya/article/details/115108815</guid><author>dafeigeya</author><pubDate>Tue, 23 Mar 2021 08:38:17 +0800</pubDate><description><![CDATA[二进制位移法
int n;
int res = 0;
while(n != 0){
	if((n &amp; 1) == 1){
		res++;
	}
	n &gt;&gt;= 1;
}

去除二进制数中的最右边的一
int n ;
int res = 0;
while(n != 0){
	res++;
	n &amp;= n - 1;
}




]]></description><category></category></item><item><title><![CDATA[HashMap遍历方法]]></title><link>https://blog.youkuaiyun.com/dafeigeya/article/details/115009482</link><guid>https://blog.youkuaiyun.com/dafeigeya/article/details/115009482</guid><author>dafeigeya</author><pubDate>Fri, 19 Mar 2021 16:34:13 +0800</pubDate><description><![CDATA[1、迭代器方法
public class HashMapTest {
    public static void main(String[] args) {
        // 创建并赋值 HashMap
        Map&lt;Integer, String&gt; map = new HashMap();
        map.put(1, "Java");
        map.put(2, "jre");
        map.put(3, "Spring");
        ma]]></description><category></category></item><item><title><![CDATA[生产者消费者问题]]></title><link>https://blog.youkuaiyun.com/dafeigeya/article/details/114571621</link><guid>https://blog.youkuaiyun.com/dafeigeya/article/details/114571621</guid><author>dafeigeya</author><pubDate>Wed, 10 Mar 2021 09:35:05 +0800</pubDate><description><![CDATA[Synchronized版
public class A{
	public static void main(String[] args){
		Data data = new Data();
		new Tread(() -&gt; {
			for(int i = 0; i &lt; 10; i++){
				try{
					data.increment();
				}catch(InterruptedException e){
					e.printStackTrace();
				}
	]]></description><category></category></item><item><title><![CDATA[单例模式详解]]></title><link>https://blog.youkuaiyun.com/dafeigeya/article/details/114520030</link><guid>https://blog.youkuaiyun.com/dafeigeya/article/details/114520030</guid><author>dafeigeya</author><pubDate>Mon, 08 Mar 2021 11:36:14 +0800</pubDate><description><![CDATA[单例模式（Singleton Pattern）是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式，它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类，该类负责创建自己的对象，同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式，可以直接访问，不需要实例化该类的对象。
注意：
1、单例类只能有一个实例。
2、单例类必须自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。
单例模式的构造器是私有的。

饿汉式单例
这种单例模式的好处是没哟线程安全问题，坏]]></description><category></category></item><item><title><![CDATA[类加载与反射]]></title><link>https://blog.youkuaiyun.com/dafeigeya/article/details/114480405</link><guid>https://blog.youkuaiyun.com/dafeigeya/article/details/114480405</guid><author>dafeigeya</author><pubDate>Mon, 08 Mar 2021 09:11:33 +0800</pubDate><description><![CDATA[类加载
当程序使用某个类时，如果该类没有被装载进内存，则系统会通过加载、连接、初始化三个步骤来对类进行初始化。类加载就是类加载器将.class文件加载进JVM虚拟机中，并在虚拟机内存中产生一个Class对象。使用任何一个类虚拟机都会创建一个java.lang.Class类对象。
类加载使用的类加载器是JVM提供，采用双亲委派机制。
类加载器分为四种

启动类加载起 BootStrapClassLoader    用来加载核心类库 扩展类加载器 extensionsClassLoader
用来加载JRE的扩展]]></description><category></category></item><item><title><![CDATA[Leetcode单调栈问题]]></title><link>https://blog.youkuaiyun.com/dafeigeya/article/details/114412385</link><guid>https://blog.youkuaiyun.com/dafeigeya/article/details/114412385</guid><author>dafeigeya</author><pubDate>Fri, 05 Mar 2021 21:25:10 +0800</pubDate><description><![CDATA[单调栈的定义

单调递增栈：单调递增栈就是从栈底到栈顶数据是从大到小
单调递减栈：单调递减栈就是从栈底到栈顶数据是从小到大

42、接雨水

解析：
对于每一个高度的柱子来说如果想要以它为底盛水，那么它的左右两根柱子都必须比他要高，所以定义一个单调增栈，先保证栈中的元素左边都比右边要大，这时候只要再添加的元素大于栈顶的元素就满足了接水的条件了，这时候就可以计算以栈顶元素高度为底的能接多少水，算出后将其弹出，再次比较栈顶元素是否还能为底来接水，可以的话继续计算，知道无法再节水为止。左边界条件就是栈里必须有一个]]></description><category></category></item><item><title><![CDATA[Linux下Redis（单节点）环境配置]]></title><link>https://blog.youkuaiyun.com/dafeigeya/article/details/110095157</link><guid>https://blog.youkuaiyun.com/dafeigeya/article/details/110095157</guid><author>dafeigeya</author><pubDate>Tue, 24 Nov 2020 20:43:07 +0800</pubDate><description><![CDATA[安装过程
通过 WGET 下载 REDIS 的源码。

wget http://download.redis.io/releases/redis-4.0.2.tar.gz

将源代码解压到安装目录

tar -xf redis-4.0.2.tar.gz -C ./

进入 Redis 源代码目录，编译安装

cd redis-4.0.2/

安装 GCC

sudo yum install gcc

编译源代码

make MALLOC=libc

编译安装

sudo make install

此时Re]]></description><category></category></item><item><title><![CDATA[Linux下MongoDB的配置]]></title><link>https://blog.youkuaiyun.com/dafeigeya/article/details/110091778</link><guid>https://blog.youkuaiyun.com/dafeigeya/article/details/110091778</guid><author>dafeigeya</author><pubDate>Tue, 24 Nov 2020 19:38:23 +0800</pubDate><description><![CDATA[MongoDB的下载
进入 /root 目录下

cd /root

通过wget下载Linux版本的MongoDB.这里使用的是3.4.3版本。

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.3.tgz

解压
将压缩包解压到root目录下。

tar -xf mongodb-linux-x86_64-rhel62-3.4.3.tgz -C ./

将解压后的文件移动到最终的安装目录。（注意：移动后目录的名称就]]></description><category></category></item><item><title><![CDATA[CentOs安装java jdk]]></title><link>https://blog.youkuaiyun.com/dafeigeya/article/details/110085301</link><guid>https://blog.youkuaiyun.com/dafeigeya/article/details/110085301</guid><author>dafeigeya</author><pubDate>Tue, 24 Nov 2020 16:40:48 +0800</pubDate><description><![CDATA[准备jdk安装包
这里使用的安装包是，并将其放到root目录下。

jdk-8u161-linux-x64.tar.gz

卸载已有的OPENJDK
如果系统有自带的openjdk,先将其提前卸载。
1、首先查看已经安装的OpenJDK。

rpm -qa | grep java


2、将以java开头的安装包都卸载即可。

yum -y remove java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64
yum -y remove java-1.8.0-ope]]></description><category></category></item><item><title><![CDATA[使用IDEA创建springboot项目时，Cannot download https://start.spring.io: connect timed out问题解决]]></title><link>https://blog.youkuaiyun.com/dafeigeya/article/details/107938508</link><guid>https://blog.youkuaiyun.com/dafeigeya/article/details/107938508</guid><author>dafeigeya</author><pubDate>Tue, 11 Aug 2020 16:31:29 +0800</pubDate><description><![CDATA[使用阿里的https://start.aliyun.com/



]]></description><category></category></item><item><title><![CDATA[IDEA2020版Maven依赖成功导入但是仍然报错找不到依赖包]]></title><link>https://blog.youkuaiyun.com/dafeigeya/article/details/107886122</link><guid>https://blog.youkuaiyun.com/dafeigeya/article/details/107886122</guid><author>dafeigeya</author><pubDate>Sat, 08 Aug 2020 21:25:28 +0800</pubDate><description><![CDATA[报错原因：
DEA启动程序按钮和maven的build使用的jar包环境不一样
解决方案：
设置idea构建/运行操作委托给maven就行了。具体设置：
Settings搜索Runner,勾选delegate ide build/run actions to maven


]]></description><category></category></item><item><title><![CDATA[Windows10下maven及IDEA中的配置]]></title><link>https://blog.youkuaiyun.com/dafeigeya/article/details/107795853</link><guid>https://blog.youkuaiyun.com/dafeigeya/article/details/107795853</guid><author>dafeigeya</author><pubDate>Tue, 04 Aug 2020 20:10:45 +0800</pubDate><description><![CDATA[下载maven安装包
maven安装包下载地址


点击下载后，讲压缩包解压到一个自己熟悉固定的位置。

maven环境变量的配置
添加M2_HOME:对应Maven的解压目录即可。这里的目录到bin目录的上一级。


编辑Path环境变量：


测试，在cmd窗口输入mvn -v查看，出现如下结果则配置成功。

修改配置文件
通常我们需要修改的文件是conf/settings.xml文件。

本地仓库位置修改
将注解内的那句代码复制到注解外，然后填入自己的本地仓库的位置。

 &lt;!-- localR]]></description><category></category></item><item><title><![CDATA[安装win10系统时怎么改变分区表]]></title><link>https://blog.youkuaiyun.com/dafeigeya/article/details/106945964</link><guid>https://blog.youkuaiyun.com/dafeigeya/article/details/106945964</guid><author>dafeigeya</author><pubDate>Fri, 17 Jul 2020 08:04:34 +0800</pubDate><description><![CDATA[shift + F10
diskpart
list disk
select disk n
clean
convert gpt

]]></description><category></category></item><item><title><![CDATA[Leetcode 链表题目]]></title><link>https://blog.youkuaiyun.com/dafeigeya/article/details/106737125</link><guid>https://blog.youkuaiyun.com/dafeigeya/article/details/106737125</guid><author>dafeigeya</author><pubDate>Tue, 23 Jun 2020 14:39:19 +0800</pubDate><description><![CDATA[链表是个线性数据结构
由零个或多个数据元素组成的有限序列
第一个元素无前驱，最后一个元素没有后继，其余元素一个前驱一个后继
例题
LeetCod  160、 找出两个链表的交点
本题中要找出两条链表的交点，首先要知道链表的特性，下一个节点的位置只能由上一个节点来确定，所以不能直接确定某个值得特定的位置，因此本题可以采用两轮循环来确定交点的位置，分别同时从A，B 两个链表的头结点开始遍历，遍历完之后，再从赢一个节点开始遍历这样在第二轮是会在交点处相遇。
第一种方法采用双指针的方法。
这个方法有几个注意的地方。]]></description><category></category></item><item><title><![CDATA[Leetcode 哈希表题目]]></title><link>https://blog.youkuaiyun.com/dafeigeya/article/details/106877416</link><guid>https://blog.youkuaiyun.com/dafeigeya/article/details/106877416</guid><author>dafeigeya</author><pubDate>Sun, 21 Jun 2020 09:33:08 +0800</pubDate><description><![CDATA[Leetcode 1、Two sum
给定一个整数数组 nums 和一个目标值 target，请你在该数组中找出和为目标值的那 两个 整数，并返回他们的数组下标。
解析：
本题需要找到两个数相加等于目标值，所以首先想到使用Set集合，而且对于顺序并没有什么要求，因此使用哈希表来实现Set集合，即HashSet…在看发现要返回的是元素的下标，因此还要记录上每个元素的下标，因此需要用到Map集合来完成这个需求。最终本题决定采用HashMap数据结构来完成。
class Solution{
	public int]]></description><category></category></item><item><title><![CDATA[各大主板厂商u盘启动快捷键]]></title><link>https://blog.youkuaiyun.com/dafeigeya/article/details/106322858</link><guid>https://blog.youkuaiyun.com/dafeigeya/article/details/106322858</guid><author>dafeigeya</author><pubDate>Sun, 24 May 2020 22:41:28 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[Tomcat服务器搭建]]></title><link>https://blog.youkuaiyun.com/dafeigeya/article/details/106258406</link><guid>https://blog.youkuaiyun.com/dafeigeya/article/details/106258406</guid><author>dafeigeya</author><pubDate>Thu, 21 May 2020 16:09:06 +0800</pubDate><description><![CDATA[首先进入Apache官网下载安装包

http://www.apache.org/



]]></description><category></category></item><item><title><![CDATA[Leetcode 排序题]]></title><link>https://blog.youkuaiyun.com/dafeigeya/article/details/105348655</link><guid>https://blog.youkuaiyun.com/dafeigeya/article/details/105348655</guid><author>dafeigeya</author><pubDate>Thu, 09 Apr 2020 14:29:56 +0800</pubDate><description><![CDATA[349、给定两个数组，编写一个函数来计算它们的交集。
示例 1:
输入: nums1 = [1,2,2,1], nums2 = [2,2]
输出: [2]
def intersect(nums1, nums2):
    # TODO 先将两个数组进行排序
    nums1.sort()
    nums2.sort()
    print(nums1)
    print(nums2)
   ...]]></description><category></category></item><item><title><![CDATA[八大排序python代码]]></title><link>https://blog.youkuaiyun.com/dafeigeya/article/details/105332909</link><guid>https://blog.youkuaiyun.com/dafeigeya/article/details/105332909</guid><author>dafeigeya</author><pubDate>Sun, 05 Apr 2020 20:43:39 +0800</pubDate><description><![CDATA[class Sort(object):
    # 八大排序算法

    def bubble_sort(self, nums):
        """
        采用冒泡排序：依次将最大值冒泡到最后一个位置，经过两轮循环实现
        :param nums: 待排序的数组
        """
        length = len(nums)
        if len...]]></description><category></category></item></channel></rss>