<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_42360413的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_42360413</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_42360413]]></copyright><item><title><![CDATA[String 是值传递还是引用传递]]></title><link>https://blog.youkuaiyun.com/qq_42360413/article/details/110918210</link><guid>https://blog.youkuaiyun.com/qq_42360413/article/details/110918210</guid><author>qq_42360413</author><pubDate>Wed, 09 Dec 2020 10:54:43 +0800</pubDate><description><![CDATA[String是引用类型，只是编译器对其做了特殊处理。
string最为显著的一个特点就是它具有恒定不变性：我们一旦创建了一个string，在managed heap 上为他分配了一块连续的内存空间，我们将不能以任何方式对这个string进行修改使之变长、变短、改变格式。所有对这个string进行各项操作（比如调用ToUpper获得大写格式的string）而返回的string，实际上另一个重新创建的string，其本身并不会产生任何变化。
string 对象称为不可变的（只读），因为一旦创建了该对象，就不能修]]></description><category></category></item><item><title><![CDATA[HashMap面试题]]></title><link>https://blog.youkuaiyun.com/qq_42360413/article/details/108664541</link><guid>https://blog.youkuaiyun.com/qq_42360413/article/details/108664541</guid><author>qq_42360413</author><pubDate>Fri, 18 Sep 2020 14:27:21 +0800</pubDate><description><![CDATA[HashMap
hash表底层采用何种算法计算hash值？还有哪些算法可以计算出hash值？
1：底层采用key的hashCode方法的值结合数组长度进行无符号右移（&gt;&gt;&gt;）,按位异或(^),按位与(&amp;)计算出索引
还可以采用：平方取中法，取余数，伪随机法，
其他运算效率比较低，位运算效率比较高
2：当两个键的hashCode相同，如何存储键值对？
会产生哈希碰撞，若key值的内容相同则替换旧的value，否则链接到链表后面，链表超度超过8转换为红黑树。
3：何时发生哈希碰撞和什么]]></description><category></category></item><item><title><![CDATA[java线程池]]></title><link>https://blog.youkuaiyun.com/qq_42360413/article/details/108609158</link><guid>https://blog.youkuaiyun.com/qq_42360413/article/details/108609158</guid><author>qq_42360413</author><pubDate>Tue, 15 Sep 2020 20:47:25 +0800</pubDate><description><![CDATA[线程池
概念介绍:
     1.1什么是线程池
        
               线程池其实就是多线程处理形式，处理过程中可以将任务添加到队列中，然后在创建在创建线程后自动启动这些任务。这里的线程就是我们之前学过的线程，这里的任务就是我们前面学过的实现了Runnable或Callable接口的实例对象

     1.2为什么使用线程池

               使用线程池最大的原因就是可以根据系统的需求和硬件环境灵活的控制线程的数量，且可以对所有线程进行统一的管理和控制，从而提高系统]]></description><category></category></item><item><title><![CDATA[@PathVariable]]></title><link>https://blog.youkuaiyun.com/qq_42360413/article/details/107724134</link><guid>https://blog.youkuaiyun.com/qq_42360413/article/details/107724134</guid><author>qq_42360413</author><pubDate>Sat, 01 Aug 2020 00:08:06 +0800</pubDate><description><![CDATA[@PathVariable：

标注在方法参数中，用来获取url中参数的值

]]></description><category></category></item><item><title><![CDATA[RabbitMQ启动]]></title><link>https://blog.youkuaiyun.com/qq_42360413/article/details/107697940</link><guid>https://blog.youkuaiyun.com/qq_42360413/article/details/107697940</guid><author>qq_42360413</author><pubDate>Thu, 30 Jul 2020 19:23:38 +0800</pubDate><description><![CDATA[1、 点击

2、 输入命令：
rabbitmq-plugins enable rabbitmq_management

]]></description><category></category></item><item><title><![CDATA[spring boot 注解]]></title><link>https://blog.youkuaiyun.com/qq_42360413/article/details/107493289</link><guid>https://blog.youkuaiyun.com/qq_42360413/article/details/107493289</guid><author>qq_42360413</author><pubDate>Tue, 21 Jul 2020 17:34:47 +0800</pubDate><description><![CDATA[@EnableCaching
开启spring boot 基于注解的缓存管理支持（标注在启动类上）
@Cacheable（cacheNames=“comment”）
对数据操作方法进行缓存管理，标注在Service类的查询方法上，对查询结果进行缓存。将查询结果Comment存放在Spring Boot默认缓存中名字为comment的名称空间中，对应缓存的唯一标识，默认为方法参数的值。
@CachePut
作用于类或方法上，该注解的作用是更新缓存数据。@CachePut注解的执行顺序是先进行方法调用，然后将方]]></description><category></category></item><item><title><![CDATA[@JsonInclude]]></title><link>https://blog.youkuaiyun.com/qq_42360413/article/details/107463322</link><guid>https://blog.youkuaiyun.com/qq_42360413/article/details/107463322</guid><author>qq_42360413</author><pubDate>Mon, 20 Jul 2020 14:46:06 +0800</pubDate><description><![CDATA[作用：为空时可以不去序列化该属性
JsonJsonInclude.Include.ALWAYS 默认策略，任何情况下都序列化该字段，和不写这个注解是一样的效果。
JsonJsonInclude.Include.NON_NULL这个最常用，即如果加该注解的字段为null,那么就不序列化这个字段了


...]]></description><category></category></item><item><title><![CDATA[springboot 整合redis 进行save出现空指针异常问题]]></title><link>https://blog.youkuaiyun.com/qq_42360413/article/details/107379951</link><guid>https://blog.youkuaiyun.com/qq_42360413/article/details/107379951</guid><author>qq_42360413</author><pubDate>Thu, 16 Jul 2020 11:59:35 +0800</pubDate><description><![CDATA[今天写一个springboot整合 redis的demo，在测试类运行时候出现了空指针异常的问。

想了想由于在yml写了redis的配置，但是容器并没有运行，应该不会读到写的配置，想了想应该是容器没有启动的问题。
在测试类上加
@RunWith(SpringRunner.class)
@SpringBootTest
注解，这样进行单元测试的时候就会启动容器
使用@RunWith需要引入依赖

![在这里插入图片描述](https://img-blog.csdnimg.cn/2020071611504755]]></description><category></category></item><item><title><![CDATA[springboot整合redis几个注解的作用]]></title><link>https://blog.youkuaiyun.com/qq_42360413/article/details/107376895</link><guid>https://blog.youkuaiyun.com/qq_42360413/article/details/107376895</guid><author>qq_42360413</author><pubDate>Thu, 16 Jul 2020 10:12:14 +0800</pubDate><description><![CDATA[@RedisHash(“persons”）
用于指定操作实体类对象在Redis数据库中的存储空间，此处表示针对Person实体类的数据操作都存储在Redis数据库中名为persons的存储空间下。
@Id
用于标识实体类主键。在Redis数据库中会默认生成字符串形式的HashKey表示唯一的实体对象id,也可以在数据存储时手动指定id
@Indexed
用于标识对应属性在Redis数据库中生成二级索引。使用该注解后会在Redis数据库中生成属性对应的二级索引，索引名称就是属性名，可以方便地进行数据条件查询。]]></description><category></category></item><item><title><![CDATA[redis 启动命令  （windos）]]></title><link>https://blog.youkuaiyun.com/qq_42360413/article/details/107357613</link><guid>https://blog.youkuaiyun.com/qq_42360413/article/details/107357613</guid><author>qq_42360413</author><pubDate>Wed, 15 Jul 2020 11:52:19 +0800</pubDate><description><![CDATA[redis-server.exe redis.windows.conf


]]></description><category></category></item><item><title><![CDATA[spring boot 热部署配置]]></title><link>https://blog.youkuaiyun.com/qq_42360413/article/details/107330984</link><guid>https://blog.youkuaiyun.com/qq_42360413/article/details/107330984</guid><author>qq_42360413</author><pubDate>Tue, 14 Jul 2020 09:39:28 +0800</pubDate><description><![CDATA[spring boot 热部署配置
1.导入热部署依赖：

2.在IDEA左上角[File]选中【Setting】打开Compiler
勾选Build project automatically并应用
3.在项目任意界面使用Ctrl+Shift+Alt+/打开Maintenance选项框并打开Registry界面

找到这一项并选中

close关闭 热部署完成

...]]></description><category></category></item><item><title><![CDATA[redis创建订阅]]></title><link>https://blog.youkuaiyun.com/qq_42360413/article/details/107323304</link><guid>https://blog.youkuaiyun.com/qq_42360413/article/details/107323304</guid><author>qq_42360413</author><pubDate>Mon, 13 Jul 2020 19:18:07 +0800</pubDate><description><![CDATA[redis创建订阅
1.SUBSCRIBE：创建订阅频道名为 redisChat:

订阅者接收消息


]]></description><category></category></item><item><title><![CDATA[redis 基础命令]]></title><link>https://blog.youkuaiyun.com/qq_42360413/article/details/107320940</link><guid>https://blog.youkuaiyun.com/qq_42360413/article/details/107320940</guid><author>qq_42360413</author><pubDate>Mon, 13 Jul 2020 17:17:37 +0800</pubDate><description><![CDATA[redis基础命令
SET 和 GET 命令

Hash命令： HMSET, HGET

List：lpush，lrange（0和10代表范围从0到10）

Set：sadd，semembers

zset（有序集合，不允许重复）zadd，ZRANGEBYSCORE


]]></description><category></category></item><item><title><![CDATA[StringUtils.isNotEmpty(“1“)；]]></title><link>https://blog.youkuaiyun.com/qq_42360413/article/details/107280291</link><guid>https://blog.youkuaiyun.com/qq_42360413/article/details/107280291</guid><author>qq_42360413</author><pubDate>Sat, 11 Jul 2020 09:45:53 +0800</pubDate><description><![CDATA[判断字符串是否为非空，可以判断空格例如   StringUtils.isNotEmpty("  “);会返回true。
StringUtils.isBlank(” ") = true作用相似但是不能判断空格

]]></description><category></category></item><item><title><![CDATA[mybatis关联属性查询id和result区别]]></title><link>https://blog.youkuaiyun.com/qq_42360413/article/details/105211259</link><guid>https://blog.youkuaiyun.com/qq_42360413/article/details/105211259</guid><author>qq_42360413</author><pubDate>Fri, 10 Jul 2020 20:46:14 +0800</pubDate><description><![CDATA[mybatis关联属性查询id和result区别


这两者之间的唯一不同是， id 表示的结果将是对象的标识属性，这会在比较对象实例时用到。 这样可以提高整体的性能，尤其是缓存和嵌套结果映射(也就是联合映射)的时候。

...]]></description><category></category></item><item><title><![CDATA[@ApiResponses]]></title><link>https://blog.youkuaiyun.com/qq_42360413/article/details/107265043</link><guid>https://blog.youkuaiyun.com/qq_42360413/article/details/107265043</guid><author>qq_42360413</author><pubDate>Fri, 10 Jul 2020 19:58:17 +0800</pubDate><description><![CDATA[@ApiResponses：用于表示一组响应
@ApiResponse：用在@ApiResponses中，一般用于表达一个错误的响应信息
code：数字，例如400
message：信息，例如”请求参数没填好”
response：抛出异常的类


]]></description><category></category></item><item><title><![CDATA[@ApiOperation]]></title><link>https://blog.youkuaiyun.com/qq_42360413/article/details/107262708</link><guid>https://blog.youkuaiyun.com/qq_42360413/article/details/107262708</guid><author>qq_42360413</author><pubDate>Fri, 10 Jul 2020 19:47:27 +0800</pubDate><description><![CDATA[@ApiOperation
使用方法：
@ApiOperation(value = “接口说明”, httpMethod = “接口请求方式”, response = “接口返回参数类型”, notes = “接口发布说明”）；
例如：

作用：?
@Api：修饰整个类，描述Controller的作用
@ApiOperation：描述一个类的一个方法，或者说一个接口
@ApiParam：单个参数描述
@ApiModel：用对象来接收参数
@ApiProperty：用对象接收参数时，描述对象的一个字段

..]]></description><category></category></item><item><title><![CDATA[@ResponseStatus]]></title><link>https://blog.youkuaiyun.com/qq_42360413/article/details/107256799</link><guid>https://blog.youkuaiyun.com/qq_42360413/article/details/107256799</guid><author>qq_42360413</author><pubDate>Fri, 10 Jul 2020 17:56:01 +0800</pubDate><description><![CDATA[@ResponseStatus
@ResponseStatus注解有两种用法，一种是加载自定义异常类上，一种是加在目标方法中
目标方法上，注解中有两个参数，value属性设置异常的状态码，reaseon是异常的描述，
将@ResponseStatus注解加在目标方法上，一定会抛出异常。但是如果没有发生异常的话方法会正常执行完毕。
加在类上：
@ResponseStatus注解的异常类会被ResponseStatusExceptionResolver 解析。
可以实现自定义的一些异常,同时在页面上进行显示

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