<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Soldier49Zed的博客]]></title><description><![CDATA[Hello]]></description><link>https://blog.youkuaiyun.com/Soldier49Zed</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Soldier49Zed]]></copyright><item><title><![CDATA[SpringBoot整合MyBatis遇到的问题（一）]]></title><link>https://blog.youkuaiyun.com/Soldier49Zed/article/details/104609089</link><guid>https://blog.youkuaiyun.com/Soldier49Zed/article/details/104609089</guid><author>Soldier49Zed</author><pubDate>Mon, 02 Mar 2020 12:38:44 +0800</pubDate><description><![CDATA[org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xust.mapper.UserMapper.queryUserList


我找了好久没找到问题在哪里，如果大家有知道的还请帮帮忙看一下，我也会继续找的



在这里我也不知道为什么无法识别别名





我也找不出问题出在哪...]]></description><category></category></item><item><title><![CDATA[笔试题]]></title><link>https://blog.youkuaiyun.com/Soldier49Zed/article/details/104563082</link><guid>https://blog.youkuaiyun.com/Soldier49Zed/article/details/104563082</guid><author>Soldier49Zed</author><pubDate>Fri, 28 Feb 2020 20:14:09 +0800</pubDate><description><![CDATA[第一题

1000枚硬币中有10枚金币，现取n枚硬币，求含有金币的概率。要求保留小数点后6位。

没写出来，分析不出来，数学太渣了，先把题记下来，后面去看。



第二题

兔子繁殖问题，第5个月其才可以开始生，不考虑死亡，求第n个月的数量

f(n) = f(n-1) + f(n - 4) 只通过了70%，应该是越界了，要用long
...]]></description><category></category></item><item><title><![CDATA[【数据库】索引失效]]></title><link>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102799657</link><guid>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102799657</guid><author>Soldier49Zed</author><pubDate>Tue, 29 Oct 2019 15:00:12 +0800</pubDate><description><![CDATA[1.对于组合索引，不是使用的第一部分，则不会使用索引

2.or语句前后没有同时使用索引。要想使用or，又想让索引生效，只能将or条件中的每个列都加上索引。

3.如果列类型是字符串，那一定要在条件中使用引号引起来，否则不会使用索引

4.如果mysql估计使用全表描述比使用索引快，则不使用索引。

5.在索引列上做运算或者使用函数

6.以%开头的LIKE查询，模糊匹配。
...]]></description><category></category></item><item><title><![CDATA[【数据库】涉及命令的问题]]></title><link>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102799053</link><guid>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102799053</guid><author>Soldier49Zed</author><pubDate>Tue, 29 Oct 2019 14:55:39 +0800</pubDate><description><![CDATA[一、truncate与delete的区别是什么

TRUNCATE TABLE：删除内容、不删除定义、释放空间

DELETE TABLE：删除内容、不删除定义、不释放空间

DROP TABLE：删除内容和定义，释放空间

1.truncate table表名，只能删除表中全部数据

delete from 表名 where...，可以删除表中全部数据，也可以删除部分数据

2.delete f...]]></description><category></category></item><item><title><![CDATA[【多线程与并发】网站的并发，大流量访问怎解决？]]></title><link>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102779167</link><guid>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102779167</guid><author>Soldier49Zed</author><pubDate>Mon, 28 Oct 2019 13:15:38 +0800</pubDate><description><![CDATA[一、HTML页面静态化

访问频率较高但内容变动较小，使用网站HTML静态化方案来优化访问速度。将社区内的帖子、文章进行实时的静态化，有更新的时候再重新静态化也是大量使用的策略 。

优势：

减轻服务器负担；
	加快页面打开速度，静态页面无需访问数据库，打开速度较动态页面有明显提高；
	很多搜索引擎都会优先收录静态页面，不仅被收录的快，还收录的全，容易被搜索引擎找到；
	HTML静态页面不会受程...]]></description><category></category></item><item><title><![CDATA[【虚拟机JVM】垃圾收集器（部分）]]></title><link>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102759391</link><guid>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102759391</guid><author>Soldier49Zed</author><pubDate>Sat, 26 Oct 2019 21:19:41 +0800</pubDate><description><![CDATA[前段时间面试一家公司

面试官：JDK8中默认的垃圾回收机制是什么？

答：分代收集（分代不就是针对老年代和新生代有不同的回收方法吗？）

面试官：哼（冷笑了一下，还在看我）

答：。。。（无言以对，难道不是吗？）

以上是背景，刚刚又看了一遍垃圾回收机制和垃圾收集器，我才知道我没有错！！！那他为什么对我冷笑

———————————————————————————————————————————...]]></description><category></category></item><item><title><![CDATA[【虚拟机JVM】常见的启动参数和常用的内存调试工具]]></title><link>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102755449</link><guid>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102755449</guid><author>Soldier49Zed</author><pubDate>Sat, 26 Oct 2019 15:40:17 +0800</pubDate><description><![CDATA[JVM常见的启动参数

-Xms：设置堆的最小值

-Xmx：设置堆的最大值

-Xmn：设置新生代的大小

-Xss：设置每个线程的栈大小

-XX:NewSize：设置新生代的初始值

-XX:MaxNewSize：设置新生代的最大值

-XX:PermSize：设置永久代的初始值

-XX:MaxPermSize：设置永久代的最大值

-XX:SurvivorRatio：年轻代中Eden区...]]></description><category></category></item><item><title><![CDATA[【虚拟机JVM】堆里面的分区和各自的特点]]></title><link>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102755507</link><guid>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102755507</guid><author>Soldier49Zed</author><pubDate>Sat, 26 Oct 2019 13:58:57 +0800</pubDate><description><![CDATA[新生代

新生代又可以进一步划分为一个Eden区和两个Survivor区，Eden是进行内存分配的地方，是一块连续的空闲内存区域，在里面进行内存分配速度非常快，因为不需要进行可用内存块的查找。新对象总是在Eden区中生成，只有经受住了一定的考验后才能顺利的进入到Survivor区中。把Survivor区划分为2块，也是也是为了满足垃圾回收的需要，因为在新生代中经历了回收未必就能进入老年代中。系统总...]]></description><category></category></item><item><title><![CDATA[【虚拟机JVM】内存泄露和内存溢出。]]></title><link>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102755174</link><guid>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102755174</guid><author>Soldier49Zed</author><pubDate>Sat, 26 Oct 2019 12:58:35 +0800</pubDate><description><![CDATA[内存泄露

一般来讲：内存泄露主要有两种情况：一是在堆中申请的空间没有被释放；二是对象已不再被使用，但仍然还在内存中保留着。垃圾回收机制的引入可以有效的解决第一种情况；而对于第二种情况，垃圾回收机制则无法保证不再使用的对象会被释放。因此，Java语言中的内存泄露主要指的是第二种情况。

内存泄露的典型案例是一个没有重写hashCode和equals方法的key类在HashMap中保存的情况，最后会...]]></description><category></category></item><item><title><![CDATA[【JavaSE】final、finally、finalize的区别]]></title><link>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102741905</link><guid>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102741905</guid><author>Soldier49Zed</author><pubDate>Fri, 25 Oct 2019 14:16:53 +0800</pubDate><description><![CDATA[final的用法

final可以用来修饰类或者变量或者方法

1）当一个类被final修饰的时候，表示该类不能被继承。类中的方法也默认为final；

2）当final修饰基本数据类型的变量时，表示该值在被初始化后不能更改；
当final修饰引用类型的变量时，表示该引用在初始化之后不能再指向其他的对象。
注意：final修饰的变量必须被初始化。可以在定义的时候初始化，也可以在构造函数中进行初始...]]></description><category></category></item><item><title><![CDATA[【JavaSE】反射]]></title><link>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102741356</link><guid>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102741356</guid><author>Soldier49Zed</author><pubDate>Fri, 25 Oct 2019 13:46:06 +0800</pubDate><description><![CDATA[定义：

反射机制是在运行时，对于任意一个类，都能够知道这个类的所有属性和方法；对于任意一个对象，都能够调用它的任意一个方法。在Java中，只要给定类的名字，那么就可以通过反射机制来获得类的所有信息。

功能：

在运行时判断任意一个对象所属的类；在运行时创建对象；在运行时判定了任意一个类所具有的成员变量和方法；在运行时调用任意一个对象的方法；生成动态代理。

Where？

JDBC中有一行代码...]]></description><category></category></item><item><title><![CDATA[【JavaSE基础】内部类？]]></title><link>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102733887</link><guid>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102733887</guid><author>Soldier49Zed</author><pubDate>Thu, 24 Oct 2019 22:46:20 +0800</pubDate><description><![CDATA[内部类都有哪些？

四种：静态内部类、非静态内部类、局部内部类、匿名内部类。




静态内部类和非静态内部类的区别

直接代码演示


class OuterClass{
    private static String msg = "GeeksForGeeks";

    //静态内部类
    public static class NestedStaticClass{
       ...]]></description><category></category></item><item><title><![CDATA[【JavaSE】Java面向对象的三个特征与含义。]]></title><link>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102733095</link><guid>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102733095</guid><author>Soldier49Zed</author><pubDate>Thu, 24 Oct 2019 21:58:56 +0800</pubDate><description><![CDATA[封装、继承、多态


封装：属性的封装和方法的封装。把属性定义为私有的，get()、set()方法。

好处是信息隐藏和模块化，提高安全性。封装的主要作用在于对外隐藏内部实现细节，增强程序的安全性。



继承：子类可以继承父类的成员变量和成员方法。继承可以提高代码的复用性。

继承的特性：

1）单一继承

2）子类只能继承父类的非私有成员变量和方法。

3）成员变量的隐藏和方法的覆盖。



...]]></description><category></category></item><item><title><![CDATA[【JavaSE】基础问题]]></title><link>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102708880</link><guid>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102708880</guid><author>Soldier49Zed</author><pubDate>Thu, 24 Oct 2019 13:48:12 +0800</pubDate><description><![CDATA[什么是不可变类

不可变类：当创建了一个类的实例之后，就不允许修改它的值了。

特别注意：String和包装类（Integer、Long、Float。。。）都是不可变类。String采用了享元设计模式。



Java中基本数据类型各占几个字节？

在Java中

占1个字节：byte、boolean

占2个字节：char、short

占4个字节：int、float

占8个字节：long、...]]></description><category></category></item><item><title><![CDATA[【JavaSE基础】抽象类和接口的区别]]></title><link>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102682375</link><guid>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102682375</guid><author>Soldier49Zed</author><pubDate>Tue, 22 Oct 2019 15:00:24 +0800</pubDate><description><![CDATA[一、语法层面上的区别

1）抽象类可以提供成员方法的实现细节（注：可以只包含非抽象方法），而接口中只能存在public abstract方法，方法默认是public abstract的，但是，Java8中接口可以有default方法；

2）抽象类中的成员变量可以是各种类型的，而接口中的成员变量只能是public static final类型的；

3）抽象类可以有静态代码块和静态方法和构造方法；...]]></description><category></category></item><item><title><![CDATA[【多线程和并发】生产者/消费者问题的多种实现方式]]></title><link>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102680891</link><guid>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102680891</guid><author>Soldier49Zed</author><pubDate>Tue, 22 Oct 2019 14:09:48 +0800</pubDate><description><![CDATA[一、用阻塞队列实现


import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingDeque;

/**
 * @Author: Soldier49Zed
 * @Date: 2019/10/22 13:35
 * @Description:
 */

//Producer Class ...]]></description><category></category></item><item><title><![CDATA[【设计模式】适配器模式]]></title><link>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102680359</link><guid>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102680359</guid><author>Soldier49Zed</author><pubDate>Tue, 22 Oct 2019 12:55:00 +0800</pubDate><description><![CDATA[首先，先来先讲讲适配器。适配就是由“源”到“目标”的适配，而当中链接两者的关系就是适配器。它负责把“源”过度到“目标”。举个简单的例子，比如有一个“源”是一个对象人，他拥有2种技能分别是说日语和说英语，而某个岗位（目标）需要你同时回说日语、英语、和法语，好了，现在我们的任务就是要将人这个“源”适配的这个岗位中，如何适配呢？显而易见地我们需要为人添加一个说法语的方法，这样才能满足目标的需要。


...]]></description><category></category></item><item><title><![CDATA[【多线程和并发】的相关问题]]></title><link>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102668424</link><guid>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102668424</guid><author>Soldier49Zed</author><pubDate>Mon, 21 Oct 2019 17:35:36 +0800</pubDate><description><![CDATA[实现线程之间的通信

当线程间是可以共享资源时，线程间的通信是协调它们的重要的手段。

1）Object类中wait() \ notify() \ notifyAll()方法。

2）用Condition接口。

Condition是被绑定到Lock上的，要创建一个Lock的Condition对象必须用newCondition()方法。在一个Lock对象里面可以创建多个Condition对象，线...]]></description><category></category></item><item><title><![CDATA[【多线程和并发】阻塞队列]]></title><link>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102663172</link><guid>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102663172</guid><author>Soldier49Zed</author><pubDate>Mon, 21 Oct 2019 15:31:47 +0800</pubDate><description><![CDATA[阻塞队列（BlockingQueue）是一个支持两个附加操作的队列。这两个附加的操作是：在队列为空时，获取元素的线程会等待队列变为非空。当队列满时，存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景，生产者是往队列里添加元素的线程，消费者是从队列里拿元素的线程。阻塞队列就是生产者存放元素的容器，而消费者也只从容器里拿元素。



1.ArrayBlockingQueue

Arra...]]></description><category></category></item><item><title><![CDATA[【多线程和并发】并发包的问题]]></title><link>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102647972</link><guid>https://blog.youkuaiyun.com/Soldier49Zed/article/details/102647972</guid><author>Soldier49Zed</author><pubDate>Sun, 20 Oct 2019 15:02:27 +0800</pubDate><description><![CDATA[并发包（Concurrent包）中含有的类有哪些？

ConcurrentHashMap / CopyOnWriteArrayList
阻塞队列
同步辅助类
线程池相关的类
Lock接口
原子类



同步辅助类

1）CountDownLatch：闭锁

它就相当于一个计数器。用一个给定的数值初始化CountDownLatch，之后计数器就从这个值开始倒计数，知道计数值达到0。

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