<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[rainwangdayu的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/rainwangdayu</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; rainwangdayu]]></copyright><item><title><![CDATA[谷歌浏览器修改为黑色护眼背景]]></title><link>https://blog.csdn.net/rainwangdayu/article/details/120685419</link><guid>https://blog.csdn.net/rainwangdayu/article/details/120685419</guid><author>rainwangdayu</author><pubDate>Sun, 10 Oct 2021 13:36:10 +0800</pubDate><description><![CDATA[浏览器中直接输入
chrome://flags/#enable-force-dark

]]></description><category></category></item><item><title><![CDATA[git新建分支并提交到仓库]]></title><link>https://blog.csdn.net/rainwangdayu/article/details/120684988</link><guid>https://blog.csdn.net/rainwangdayu/article/details/120684988</guid><author>rainwangdayu</author><pubDate>Sun, 10 Oct 2021 12:44:44 +0800</pubDate><description><![CDATA[git checkout -b dev
git add *
git commit -m “first commit dev”
git push --set-upstream origin dev

]]></description><category></category></item><item><title><![CDATA[idea创建javaweb项目教程]]></title><link>https://blog.csdn.net/rainwangdayu/article/details/104469164</link><guid>https://blog.csdn.net/rainwangdayu/article/details/104469164</guid><author>rainwangdayu</author><pubDate>Sun, 23 Feb 2020 22:35:24 +0800</pubDate><description><![CDATA[#https://blog.csdn.net/ProfessorZL/article/details/97249638

]]></description><category></category></item><item><title><![CDATA[mysql常用方法]]></title><link>https://blog.csdn.net/rainwangdayu/article/details/102465808</link><guid>https://blog.csdn.net/rainwangdayu/article/details/102465808</guid><author>rainwangdayu</author><pubDate>Wed, 09 Oct 2019 17:16:18 +0800</pubDate><description><![CDATA[mysql常用方法
LOCATE(substr,str)
返回字符串str中第一次出现子字符串substr的位置（索引从1开始），如果substr不存在strz中，则返回0 。
LOCATE(substr,str,pos)
返回字符串str中第一次出现子字符串substr的位置，从pos位置开始 。 如果substr不在str中，则返回0
**CONCAT() **
拼接字符串

...]]></description><category></category></item><item><title><![CDATA[Spring中使用@Autowired注解静态实例对象]]></title><link>https://blog.csdn.net/rainwangdayu/article/details/101199667</link><guid>https://blog.csdn.net/rainwangdayu/article/details/101199667</guid><author>rainwangdayu</author><pubDate>Mon, 23 Sep 2019 11:59:19 +0800</pubDate><description><![CDATA[问题
今天在玩的过程中发现用@Autowired注解了类属性，属性使用了static关键字，编译正常，但是运行过程中发现此属性的值是null，没有自动装配成功。
@Autowired
private static Environment environment;

原因
所以，在Springframework里，我们是不能@Autowired一个静态变量，使之成为一个Spring bean的。为什...]]></description><category></category></item><item><title><![CDATA[Spring常用注解]]></title><link>https://blog.csdn.net/rainwangdayu/article/details/101146428</link><guid>https://blog.csdn.net/rainwangdayu/article/details/101146428</guid><author>rainwangdayu</author><pubDate>Sun, 22 Sep 2019 09:48:38 +0800</pubDate><description><![CDATA[Spring常用注解
@Configuration   标记是一个配置类
@Service  标记是一个服务类
@Component  标记是一个组件类
@Autowired  自动装配
@Qualifier(value = “iceCream”)    定义是哪一个bean,去除歧义，和@Autowired 共同使用
@ComponentScan  组件扫描，默认扫描本目录下所有的类，也可以@
...]]></description><category></category></item><item><title><![CDATA[spring入门(1)]]></title><link>https://blog.csdn.net/rainwangdayu/article/details/101024186</link><guid>https://blog.csdn.net/rainwangdayu/article/details/101024186</guid><author>rainwangdayu</author><pubDate>Thu, 19 Sep 2019 15:59:11 +0800</pubDate><description><![CDATA[1. 通过JavaConfig装配bean
通过在类方法上使用@Bean标签，然后AnnotationConfigApplicationContext类加载这个配置类，上代码
@Component
public class BeanConfigs {
    @Bean
    public Man man() {
        return new Man("4");
    }
    @B...]]></description><category></category></item><item><title><![CDATA[synchronized关键字拓展]]></title><link>https://blog.csdn.net/rainwangdayu/article/details/100740690</link><guid>https://blog.csdn.net/rainwangdayu/article/details/100740690</guid><author>rainwangdayu</author><pubDate>Wed, 11 Sep 2019 16:36:13 +0800</pubDate><description><![CDATA[之前一直以为，只有在同一个线程类中使用同一个对象作为对象锁，才会实现同步，今天突然发现，两个不同的线程类使用同一个对象作为对象锁的话，也会实现同步，上代码
public class ThreadA extends Thread {

    private Object lock;

    public ThreadA(Object lock) {
        super();
      ...]]></description><category></category></item><item><title><![CDATA[volatile关键字]]></title><link>https://blog.csdn.net/rainwangdayu/article/details/100737817</link><guid>https://blog.csdn.net/rainwangdayu/article/details/100737817</guid><author>rainwangdayu</author><pubDate>Wed, 11 Sep 2019 15:36:20 +0800</pubDate><description><![CDATA[一 volatile关键字的可见性
volatile 修饰的成员变量在每次被线程访问时，都强迫从主存（共享内存）中重读该成员变量的值。而且，当成员变量发生变化时，强迫线程将变化值回写到主存（共享内存）。这样在任何时刻，两个不同的线程总是看到某个成员变量的同一个值，这样也就保证了同步数据的可见性。
 private boolean isRunning = true;
 int m;
    publ...]]></description><category></category></item><item><title><![CDATA[synchronized关键字]]></title><link>https://blog.csdn.net/rainwangdayu/article/details/100731849</link><guid>https://blog.csdn.net/rainwangdayu/article/details/100731849</guid><author>rainwangdayu</author><pubDate>Wed, 11 Sep 2019 12:02:15 +0800</pubDate><description><![CDATA[1.synchronized同步代码块
synchronized关键字就不过多记录了，同一个对象进入方法会同步，不同的对象不会同步。下面来介绍一下同步代码块
synchronized（this）{ //对象锁
}

同步代码块的优点我觉得是所有线程可以进入非代码块的部分，到有同步代码块的地方等待，而用关键字的话，调用此方法就要开始等待，很耗时。
2. synchronized（object）代码块...]]></description><category></category></item><item><title><![CDATA[java对象序列化和反序列化、transient关键字]]></title><link>https://blog.csdn.net/rainwangdayu/article/details/100653716</link><guid>https://blog.csdn.net/rainwangdayu/article/details/100653716</guid><author>rainwangdayu</author><pubDate>Wed, 11 Sep 2019 10:45:11 +0800</pubDate><description><![CDATA[java对象序列化和反序列化、transient关键字
实现对象的序列化，必须对象实现Serializable接口
1.Java对象序列化的应用场景

将对象保存至文件
将对象保存至数据库
服务之间传输对象

2.所用类  ObjectOutputStream 、ObjectInputStream
File file = new File("D:/test.txt");
Student stude...]]></description><category></category></item><item><title><![CDATA[java多线程]]></title><link>https://blog.csdn.net/rainwangdayu/article/details/100703252</link><guid>https://blog.csdn.net/rainwangdayu/article/details/100703252</guid><author>rainwangdayu</author><pubDate>Wed, 11 Sep 2019 10:44:12 +0800</pubDate><description><![CDATA[一.进程和多线程简介
1.1 进程和线程
进程和线程的对比这一知识点由于过于基础，所以在面试中很少碰到，但是极有可能会在笔试题中碰到。常见的提问形式是这样的：“什么是线程和进程?，请简要描述线程与进程的关系、区别及优缺点？ ”。
1.2 何为进程？
进程是程序的一次执行过程，是系统运行程序的基本单位，因此进程是动态的。系统运行一个程序即是一个进程从创建，运行到消亡的过程。如下图所示，在 windo...]]></description><category></category></item><item><title><![CDATA[java8 stream]]></title><link>https://blog.csdn.net/rainwangdayu/article/details/100540652</link><guid>https://blog.csdn.net/rainwangdayu/article/details/100540652</guid><author>rainwangdayu</author><pubDate>Wed, 04 Sep 2019 16:24:23 +0800</pubDate><description><![CDATA[list快速处理，感觉代码逼格很高
先新建三个map,放进一个list
List&lt;Map&lt;String, Object&gt;&gt; list = new ArrayList();
Map map = new HashMap();
map.put("age", 1);
map.put("name", "name1");

Map map1 = new HashMap();
map1....]]></description><category></category></item></channel></rss>