自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 问答 (1)
  • 收藏
  • 关注

原创 idea启动报错:java 非法字符 \ufeff

从别处copy了java文件到idea中,build和启动报错:Error:(1, 1) java: 非法字符: ‘\ufeff’Error:(1, 10) java: 需要class, interface或enum应该是拷贝过来的文件编码不是utf-8导致的。解决办法:1.先在idea中将文件编码设置为GBK,然后Convert。 2.再设置为UTF-8,Convert就OK啦!...

2020-11-19 13:54:31 2391

原创 关于Redis常见问题

1.Redis数据类型Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。2.什么是热key?热key问题如何解决?热key问题就是,突然有几十万的请求去访问redis上的某个特定key,那么这样会造成流量过于集中,达到物理网卡上限,从而导致这台redis的服务器宕机引发雪崩。针对热key的解决方案:1.提前把热key打散到不同的服务器,降低压力2.加入二级缓存,提前加载热key.

2020-11-04 14:45:14 184

原创 Mysql索引

1.什么是索引?索引其实就是一种数据结构,帮助我们快速检索数据库中的数据2.索引都有哪些数据结构?Mysql常见的索引有两种数据结构:B+树索引、Hash索引。我们用的InnoDB引擎默认使用的是B+ 树。3.B+树索引 和 Hash索引的区别?Hash索引底层是哈希表,哈希表是一种key-value的存储结构,多个数据在存储关系上没有任何顺序关系B+树是一种多路平衡树,他的节点天然有序(左子节点小于父节点,父节点小于右子节点)所以1.哈希索引shih适合等值查询,不能范围查

2020-10-10 15:45:33 126

原创 关于死锁

一、什么是死锁? 死锁是由于两个或以上的线程互相持有对方需要的资源,导致这些线程处于等待状态,无法执行。二.产生死锁的四个必要条件 1.互斥性:线程对资源的占有是排他性的,一个资源只能被一个线程占有,直到释放。 2.请求和保持条件:一个线程对请求被占有资源发生阻塞时,对已经获得的资源不释放。 3.不剥夺:一个线程在释放资源之前,其他的线程无法剥夺占用。 4.循环等待:发生死锁时,线程进入死循环,永久阻塞。三.产生死锁的原因  1.竞争不可抢占性资...

2020-09-26 18:32:12 121

原创 synchronized和Lock的区别

1.Lock是一个接口,synchronized是一个关键字。2.异常是否释放锁: synchronized在发生异常时会自动释放占有的锁,所以不会出现死锁。 Lock发生异常时,不会主动释放占有的锁,必须手动unlock,可能出现死锁。(所以最好将同步代码块用try catch包起来,在finally中调用unlock释放锁)3.是否响应中断: Lock等待锁的过程中可以用 interrupt 来中断等待。 synchronized只能等待锁的释放,不能响应中断。...

2020-09-26 18:18:11 128

原创 在IDEA设置eclipse快捷键

有的人刚从eclipse换成IDEA的时候,不是很习惯IDEA的快捷键,我们可以将IDEA快捷键设置成和eclipse一样,步骤如下:先用 Ctrl+Alt+S 或者点击 File->Settings 打开IDEA的设置,在上面的地址栏中 搜索 keymap,如下图,在keymap设置中选择 eclipse 然后点击右下加 apply ,最后点击 OK。...

2020-09-04 08:49:08 322

原创 maven的install和package的区别

Maven package 打包指令,就做了一件事:1、将项目打包(jar/war),将打包结果放到项目下的target目录下而Maven install 安装指令,做了两件事情:1.将项目打包(jar/war),将打包结果放到项目下的target目录下2.同时将上述打包结果放到本地仓库的相应目录中,供其他项目或模块引用总结:如果只用package命令,就只打了包,没有安装到本地maven仓库,是不能被其他模块引用的。...

2020-08-31 10:06:38 547

原创 自定义域名+内网穿透工具

分享一个好用的内网穿透工具,可以自定义域名,适合本地微信公众号开发https://www.ngrok.cc/在这个网站注册购买免费的香港服务器,然后根据教程开通隧道即可。...

2019-10-10 15:18:16 2140

转载 Spring的四种事务管理(一种编程式事务+三种声明事务)

Spring的4种事务管理(1种编程式事务+三种声明事务)一、Spring事务的介绍二、编程式事务xml的配置注入后直接在service层调用模板的方法使用三、基于AOP方式的声明式事务管理prop的具体配置使用AOP声明式事务是时service层必须注入代理类四、基于AspectJ的声明式事务基于AspectJ的xml配置传播行为的配置五、基于注解方...

2019-09-30 11:15:05 304

原创 Spring Cloud 之 Eureka注册中心

这几天一直思考一个问题,我们的微服务之间,明明可以直接相互调用,为什么还要用注册中心管理服务呢?注册中心存在的意义又是什么呢?下面就将我对注册中心的理解以及学习到的一些东西记录和分享。1.什么是注册中心服务注册中心可以理解为我们各个服务之间的通讯录,里面记录着在注册中心注册的服务名以及对应服务地址的映射。注册中心是所有服务的一个统一的管理者。2.为什么使用注册中心我们知道,当我...

2019-07-26 15:27:56 324

原创 Spring Cloud 之 @EnableDiscoveryClient

我们知道服务发现需要开启 @EnableDiscoveryClient 或 @EnableEruekaClient 注解,之前一直认为注解是用来将服务注册到注册中心的,后来经过别人指点,才了解到这两个注解跟注册服务无关,只是开启去eureka里拿服务注册信息而已。所以按理来说,只有消费者需要开启这个注解,服务提供者是不需要的。...

2019-07-24 16:22:17 618

原创 Spring boot 2.1版本:Consider renaming one of the beans or enabling overriding by setting

今天搭建一个zuul,启动的时候报错,报错信息如下:Description:The bean 'counterFactory', defined in class path resource [org/springframework/cloud/netflix/zuul/ZuulServerAutoConfiguration$ZuulCounterFactoryConfiguration...

2019-07-23 09:57:12 1946

转载 注册中心Eureka

看到一篇详细易懂的注册中心Eureka讲解,原文如下:http://www.ityouknow.com/springcloud/2017/05/10/springcloud-eureka.html

2019-07-19 15:02:37 89

转载 Mysql事务未提交导致死锁 Lock wait timeout exceeded; try restarting transaction 解决办法

之前在spring boot使用@Transactional事务的时候,突然报了“Lock wait timeout exceeded; try restarting transaction”的异常。想到可能是debug的时候卡住了,就一直点点快了。导致之前的事务没提交就做另一条更新语句导致死锁。于是在网上找到如何解决这种死锁的方法,原文链接如下:https://blog.csdn....

2019-07-10 17:27:06 1346 1

原创 @Autowried注解和@Resource注解的区别

1、@Autowried用来装配bean, 可作用于字段上, 也可以作用于setter方法上.是Spring的注解.默认情况下要求对象必须存在, 它要求依赖对象必须存在. 若允许null值, 可以设置它的required为false.默认按照类型byType进行装配注入. 如果想按照名称进行装配的话, 需要与Qualifer注解搭配使用如下:@Autowired@Qua...

2019-06-21 17:25:50 4880

原创 Spring boot配置数据源

以下是我通过自己试验得出的结论,不敢保证准确性,如有错误希望指出,谢谢!1、如果启动类没有禁用数据库自动配置,则只需要在allpication.properties进行数据库配置就可以了,我认为这时应该使用的是默认的数据源:@EnableSwagger2@SpringBootApplicationpublic class DemoApplication { public stat...

2019-06-21 14:48:09 163

原创 Spring-boot更改redisTemplate序列化方式

redisTemplate 默认的序列化方式为 jdkSerializeable;StringRedisTemplate的默认序列化方式为StringRedisSerializer。其中jdkSerializeable存储的是二进制字节码。当我们使用默认的RedisTemplate在redis中存储数据是,我们用Redis Desktop Manager查看我们存储的key和value是这...

2019-06-21 11:39:29 4235

原创 Spring注解之@Configuration与@Bean

@Configuration是为了完全的取消xml配置文件而改用注解。下面将对其进行对比说明:@Configuration与@Bean一般来说@Configuration与@Bean注解搭配使用。@Configuration等价于xml配置中的<beans></beans>;@Bean等价于xml配置中的<bean></bean>...

2019-06-21 10:42:12 179

原创 sprin boot使用freemarker模板,并将模板内容以字符串形式返回

1、引入依赖<!-- 引入freeMarker的依赖包. --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </de...

2019-06-17 10:51:57 2742 1

原创 spring boot整合thymeleaf无效(返回的是字符串,没有返回html页面)

spring boot引入thymeleaf想返回“test.html”,结果返回的是“test”字符串,如图:把注解@RestController改成@Controller即可,@RestController会把所有接口以json形式返回。@RestController注解相当于@ResponseBody + @Controller合在一起的作用。如果只是使用@RestControll...

2019-06-17 09:53:53 3598 1

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除