<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[InSunshine_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/InSunshine_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; InSunshine_]]></copyright><item><title><![CDATA[sonar扫描出关于同个类中调用本类的@Transactional修饰方法时，注解不生效]]></title><link>https://blog.youkuaiyun.com/InSunshine_/article/details/113180469</link><guid>https://blog.youkuaiyun.com/InSunshine_/article/details/113180469</guid><author>InSunshine_</author><pubDate>Tue, 26 Jan 2021 15:02:29 +0800</pubDate><description><![CDATA[同一个类中，当一个方法A调用同类中另一个被注解修饰的方法B（如@Transactional或者@Async等），则注解无法生效。

在其他文章中找了一下大致的结果，
原因：spring 在扫描bean的时候会扫描方法上是否包含@Transactional注解，如果包含，spring会为这个bean动态地生成一个子类（即代理类，proxy），
代理类是继承原来那个bean的。此时，当这个有注解的方法被调用的时候，实际上是由代理类来调用的，代理类在调用之前就会启动transaction。然而，
如果这个有注解的]]></description><category></category></item><item><title><![CDATA[java多线程学习]]></title><link>https://blog.youkuaiyun.com/InSunshine_/article/details/113109933</link><guid>https://blog.youkuaiyun.com/InSunshine_/article/details/113109933</guid><author>InSunshine_</author><pubDate>Mon, 25 Jan 2021 14:29:21 +0800</pubDate><description><![CDATA[java实现线程创建的方式有四种，

1、继承Thread类，重写run()方法（其实Thread类本身也实现了Runnable接口）；

2、实现Runnable接口,重写run()方法；

3、实现Callable接口，重写call方法（有返回值）；

4、使用线程池（有返回值）。

java线程状态

要想实现多线程，必须在主线程中创建新的线程对象。任何线程一般具有5种状态，即创建，就绪，运行，阻塞，终止。下面分别介绍一下这几种状态：


	创建状态
	
在程序中用构造方法创建了一个线程对象后，新的.]]></description><category></category></item><item><title><![CDATA[mysql索引：Innodb和MyIsam引擎]]></title><link>https://blog.youkuaiyun.com/InSunshine_/article/details/112208364</link><guid>https://blog.youkuaiyun.com/InSunshine_/article/details/112208364</guid><author>InSunshine_</author><pubDate>Mon, 04 Jan 2021 22:46:05 +0800</pubDate><description><![CDATA[mysql主要有两大存储引擎，innodb和myIsam

两大引擎的底层索引实现也有区别。

innodb： 主要是聚集索引和辅助索引

聚集索引，实现是将主键id作为索引，以B+树的结构存储，叶子节点存储的是整条id以及其对应的表记录，id唯一，每次通过id走索引直接查到对应的记录，效率最高；

辅助索引，以某个字段作为索引，以B+树结构存储，叶子节点存的是字段值以及对应的id主键，根据字段索引查到id，再根据id主键索引查到对应记录，走了两边，效率较低；





myIsam：非聚集索引

非聚集.]]></description><category></category></item><item><title><![CDATA[自己搭环境问题]]></title><link>https://blog.youkuaiyun.com/InSunshine_/article/details/110789146</link><guid>https://blog.youkuaiyun.com/InSunshine_/article/details/110789146</guid><author>InSunshine_</author><pubDate>Sun, 06 Dec 2020 23:25:11 +0800</pubDate><description><![CDATA[1、从阿里镜像下载了centos7的镜像，速度比在官网下载快得多，10M/s和几十kb/s的区别；

2、安装vmware虚拟机，再装centos7的系统。需要记得设置网络环境、分配内存空间给/root、/swap、/；网络模式选择NAT模式；

3、装好的空系统，需要先安装一些基础命令例如netstat、rz、vim等；以及jdk环境、数据库选择的mariadb；

4、mariadb遇到的问题是，首先是防火墙的设置，/etc/sysconfig/目录不存在iptables，因此需要先设置生成iptab.]]></description><category></category></item><item><title><![CDATA[配置拦截器遇到swagger的问题]]></title><link>https://blog.youkuaiyun.com/InSunshine_/article/details/108725474</link><guid>https://blog.youkuaiyun.com/InSunshine_/article/details/108725474</guid><author>InSunshine_</author><pubDate>Tue, 22 Sep 2020 10:27:27 +0800</pubDate><description><![CDATA[首先访问swagger-ui需要放行对应的路由，比如"/swagger-ui.html/**","/swagger-resources/**","webjar/**","/v2/**","doc.html","/error"等等。如


@Override
  public void addInterceptors(InterceptorRegistry registry) {
    registry
    .addInterceptor(getAuthInterceptor())
    .addPa]]></description><category></category></item><item><title><![CDATA[mybatis]]></title><link>https://blog.youkuaiyun.com/InSunshine_/article/details/108711207</link><guid>https://blog.youkuaiyun.com/InSunshine_/article/details/108711207</guid><author>InSunshine_</author><pubDate>Mon, 21 Sep 2020 15:20:35 +0800</pubDate><description><![CDATA[当编写mapper.xml文件时，resultType类型需要注意。resultType返回的是集合中的元素类型，而不是集合本身。

所以返回值定义为resultType="java.util.List"会报错。Caused by:java.lang.UnsupportedOperationException:null.
]]></description><category></category></item><item><title><![CDATA[才发现Eureka停止更新]]></title><link>https://blog.youkuaiyun.com/InSunshine_/article/details/104880013</link><guid>https://blog.youkuaiyun.com/InSunshine_/article/details/104880013</guid><author>InSunshine_</author><pubDate>Sun, 15 Mar 2020 15:52:17 +0800</pubDate><description><![CDATA[Eureka2.0官方停止更新


]]></description><category></category></item><item><title><![CDATA[了解vue遇到问题记录]]></title><link>https://blog.youkuaiyun.com/InSunshine_/article/details/104702417</link><guid>https://blog.youkuaiyun.com/InSunshine_/article/details/104702417</guid><author>InSunshine_</author><pubDate>Fri, 06 Mar 2020 19:21:41 +0800</pubDate><description><![CDATA[目的：了解学习vue前端知识，搭建的简单web项目，了解前后端交互细节。

分别遇到了以下问题：

1.简单的vue页面创建和引入；

2.使用router配置路由，涉及到页面的跳转；

3.配置webpack.config.js可以使用代理访问后台接口ip；

4.配置axiox用于调用接口；

5.配置store存储vuex，需要配置main.js以及npm install --save-de...]]></description><category></category></item><item><title><![CDATA[关于mysql优化学习]]></title><link>https://blog.youkuaiyun.com/InSunshine_/article/details/104429528</link><guid>https://blog.youkuaiyun.com/InSunshine_/article/details/104429528</guid><author>InSunshine_</author><pubDate>Fri, 21 Feb 2020 17:06:55 +0800</pubDate><description><![CDATA[MySQL优化方向主要有：

1、数据库表的设计（三范式）；

2、sql语句的优化；

3、给相关表字段添加合适的索引；

4、数据库分库分表，表的横向、垂直拆分；

5、对mysql配置进行一些优化（读写分离等）；

6、定时清除垃圾数据，定时进行碎片整理；

7、多用存储过程，触发器；

8、数据库服务器硬件优化；

=====================================...]]></description><category></category></item><item><title><![CDATA[整合多个jar包方法]]></title><link>https://blog.youkuaiyun.com/InSunshine_/article/details/103869816</link><guid>https://blog.youkuaiyun.com/InSunshine_/article/details/103869816</guid><author>InSunshine_</author><pubDate>Tue, 07 Jan 2020 10:29:57 +0800</pubDate><description><![CDATA[https://www.cnblogs.com/029zz010buct/p/4882568.html
]]></description><category></category></item><item><title><![CDATA[Spring Cloud微服务：作为服务注册中心：Eureka与Zookeeper]]></title><link>https://blog.youkuaiyun.com/InSunshine_/article/details/100552151</link><guid>https://blog.youkuaiyun.com/InSunshine_/article/details/100552151</guid><author>InSunshine_</author><pubDate>Thu, 05 Sep 2019 14:38:02 +0800</pubDate><description><![CDATA[著名的CAP理论指出，一个分布式系统不可能同时满足C（一致性）、A（可用性）和P（分区容错性）。由于分区容错性P是分布式系统中必须保证的，因此我们只能在A和C之间进行权衡。而Zookeeper是保证CP的，Eureka是保证AP的。

1、Zookeeper保证CP

   当向注册中心查询服务列表时，我们可以容忍注册中心返回的时几分钟前的注册信息，但是不能接受服务down掉不可用。即服务...]]></description><category></category></item><item><title><![CDATA[Spring Cloud微服务：EurekaServer注册中心自我保护机制]]></title><link>https://blog.youkuaiyun.com/InSunshine_/article/details/100537100</link><guid>https://blog.youkuaiyun.com/InSunshine_/article/details/100537100</guid><author>InSunshine_</author><pubDate>Thu, 05 Sep 2019 09:36:09 +0800</pubDate><description><![CDATA[默认情况下，如果EurekaServer在一定时间内没有接收到某个微服务实例的心跳，EurekaServer将会注销该实例（默认90秒）。但是当网络分区故障发生时，微服务与EurekaServer之间无法正常通信，以上行为可能变得非常危险了，因为微服务本身其实时健康的，此时本不应该注销这个微服务。

    Eureka通过“自我保护模式”来解决这个问题，当EurekaSe...]]></description><category></category></item><item><title><![CDATA[spring cloud微服务启动错误]]></title><link>https://blog.youkuaiyun.com/InSunshine_/article/details/100517320</link><guid>https://blog.youkuaiyun.com/InSunshine_/article/details/100517320</guid><author>InSunshine_</author><pubDate>Tue, 03 Sep 2019 14:26:51 +0800</pubDate><description><![CDATA[今天在启动spring cloud微服务的时候，报了这个错误：

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
2018-07-03 20:17:10.295 ERROR 19024 --- [ mai...]]></description><category></category></item><item><title><![CDATA[链表相关]]></title><link>https://blog.youkuaiyun.com/InSunshine_/article/details/100131076</link><guid>https://blog.youkuaiyun.com/InSunshine_/article/details/100131076</guid><author>InSunshine_</author><pubDate>Thu, 29 Aug 2019 14:34:05 +0800</pubDate><description><![CDATA[首先要和数组有一个明显的区别，数组需要一块连续的内存空间来存储，对内存要求比较高；链表相反，它并不需要一块连续的空间，它通过“指针”将一组零散的内存块串联起来使用。但它与数组一样都是线性表。

    链表常见的有三种：单链表、双向链表、循环链表 。

单链表

1）每个结点只包含一个指针，即后继指针。

2）单链表有两个特殊结点，首结点和结点，首结点地址表示整条链表基...]]></description><category></category></item><item><title><![CDATA[如何判断一个字符串是否是回文字符串 ,单链表实现方式]]></title><link>https://blog.youkuaiyun.com/InSunshine_/article/details/100118591</link><guid>https://blog.youkuaiyun.com/InSunshine_/article/details/100118591</guid><author>InSunshine_</author><pubDate>Wed, 28 Aug 2019 14:59:34 +0800</pubDate><description><![CDATA[如果字符串是通过单链表来存储的，那该如何来判断是一个回文串呢？相应的时间空间复杂度又是多少呢？

这个问题，看到别人用快慢指针的方式实现，没有太明白，自己动手写了下代码，明白了这个思路。

首先是快指针每次移动两个位置，慢指针每次移动一个位置，这样两个指针同时开始就可以知道当快指针走完慢指针就来到了链表的中点。当然，在这个过程中间，还需要做的一件事就是将前一半的链表在慢指针移动的过程中完成逆序。然...]]></description><category></category></item><item><title><![CDATA[数组相关]]></title><link>https://blog.youkuaiyun.com/InSunshine_/article/details/100094723</link><guid>https://blog.youkuaiyun.com/InSunshine_/article/details/100094723</guid><author>InSunshine_</author><pubDate>Tue, 27 Aug 2019 11:55:37 +0800</pubDate><description><![CDATA[数组指的是线性列表，在内存中是一段连续的内存空间，存储的数据类型一致。

两个特点：

1）线性表，线性表就是数据排成像一条线一样的结构，每个线性表的数据最多只有前和后两个方向；

除了数组，链表、队列、栈等也是线性表结构。与它相对立的概念是非线性表，比如二叉树、堆、图等。之所以叫非线性表，是因为，在非线性表中，数据之间并不是简单的前后关系。

2）连续的内存空间和相同的数据类型，所以它可以“随机...]]></description><category></category></item><item><title><![CDATA[时间复杂度]]></title><link>https://blog.youkuaiyun.com/InSunshine_/article/details/100075775</link><guid>https://blog.youkuaiyun.com/InSunshine_/article/details/100075775</guid><author>InSunshine_</author><pubDate>Mon, 26 Aug 2019 14:37:40 +0800</pubDate><description><![CDATA[时间复杂度原因：使用时间复杂度分析是为了在不运行代码的情况下，粗略地估计一段代码的执行时间。
普通的执行测试结果受限于测试环境以及数据规模，因此需要一个不用具体的测试数据测试，便可以粗略地估计算法的执行效率的方法。


int cal(int n) {
 int sum = 0;
 int i = 1;
 int j = 1;
 for (; i &lt;= n; ++i) {
...]]></description><category></category></item><item><title><![CDATA[ArrayList与LinkedList以及Vector区别]]></title><link>https://blog.youkuaiyun.com/InSunshine_/article/details/99975676</link><guid>https://blog.youkuaiyun.com/InSunshine_/article/details/99975676</guid><author>InSunshine_</author><pubDate>Wed, 21 Aug 2019 17:14:17 +0800</pubDate><description><![CDATA[复习一下list集合知识，记录一下。

参考文章：https://blog.youkuaiyun.com/qq_36520235/article/details/82535044

ArrayList实现原理：
1、ArrayList是List接口的可变数组非同步实现，并允许包括null在内的所有元素。
2、底层使用数组实现。（默认初始化长度为10）
3、该集合是可变长度数组，数组扩容时，会将原数组中的元素c...]]></description><category></category></item><item><title><![CDATA[H5项目中遇到的安全问题：CSRF-跨站伪造请求]]></title><link>https://blog.youkuaiyun.com/InSunshine_/article/details/99291887</link><guid>https://blog.youkuaiyun.com/InSunshine_/article/details/99291887</guid><author>InSunshine_</author><pubDate>Mon, 12 Aug 2019 11:08:59 +0800</pubDate><description><![CDATA[记录前段做过的h5项目遇到的安全问题。web项目对请求referer校验，防止外链。

测试报告问题描述：服务端对请求的来源未做验证，无法区分是用户自己主动的请求行为还是用户未知的被动请
求行为。导致攻击者可以通过用户的浏览器来产生额外的、用户未知的请求，从而借用用户
的身份进行敏感操作。

 个人理解为通过非生产环境域名的外部ip对生产环境接口进行访问请求。

  解决的措施就是增加r...]]></description><category></category></item><item><title><![CDATA[区块链从理论走向应用 - 安全牛课堂 - 领先的信息安全在线教育平台 - Powered By EduSoho]]></title><link>https://blog.youkuaiyun.com/InSunshine_/article/details/88816818</link><guid>https://blog.youkuaiyun.com/InSunshine_/article/details/88816818</guid><author>InSunshine_</author><pubDate>Tue, 26 Mar 2019 11:58:37 +0800</pubDate><description><![CDATA[https://edu.aqniu.com/course/6502
]]></description><category></category></item></channel></rss>