java技术
InSunshine_
这个作者很懒,什么都没留下…
展开
-
sonar扫描出关于同个类中调用本类的@Transactional修饰方法时,注解不生效
同一个类中,当一个方法A调用同类中另一个被注解修饰的方法B(如@Transactional或者@Async等),则注解无法生效。在其他文章中找了一下大致的结果,原因:spring 在扫描bean的时候会扫描方法上是否包含@Transactional注解,如果包含,spring会为这个bean动态地生成一个子类(即代理类,proxy),代理类是继承原来那个bean的。此时,当这个有注解的方法被调用的时候,实际上是由代理类来调用的,代理类在调用之前就会启动transaction。然而,如果这个有注解的原创 2021-01-26 15:02:29 · 2123 阅读 · 0 评论 -
java多线程学习
java实现线程创建的方式有四种,1、继承Thread类,重写run()方法(其实Thread类本身也实现了Runnable接口);2、实现Runnable接口,重写run()方法;3、实现Callable接口,重写call方法(有返回值);4、使用线程池(有返回值)。java线程状态要想实现多线程,必须在主线程中创建新的线程对象。任何线程一般具有5种状态,即创建,就绪,运行,阻塞,终止。下面分别介绍一下这几种状态: 创建状态 在程序中用构造方法创建了一个线程对象后,新的.转载 2021-01-25 14:29:21 · 168 阅读 · 0 评论 -
自己搭环境问题
1、从阿里镜像下载了centos7的镜像,速度比在官网下载快得多,10M/s和几十kb/s的区别;2、安装vmware虚拟机,再装centos7的系统。需要记得设置网络环境、分配内存空间给/root、/swap、/;网络模式选择NAT模式;3、装好的空系统,需要先安装一些基础命令例如netstat、rz、vim等;以及jdk环境、数据库选择的mariadb;4、mariadb遇到的问题是,首先是防火墙的设置,/etc/sysconfig/目录不存在iptables,因此需要先设置生成iptab.原创 2020-12-06 23:25:11 · 121 阅读 · 0 评论 -
配置拦截器遇到swagger的问题
首先访问swagger-ui需要放行对应的路由,比如"/swagger-ui.html/**","/swagger-resources/**","webjar/**","/v2/**","doc.html","/error"等等。如@Override public void addInterceptors(InterceptorRegistry registry) { registry .addInterceptor(getAuthInterceptor()) .addPa原创 2020-09-22 10:27:27 · 1319 阅读 · 0 评论 -
整合多个jar包方法
https://www.cnblogs.com/029zz010buct/p/4882568.html转载 2020-01-07 10:29:57 · 279 阅读 · 0 评论 -
Spring Cloud微服务:EurekaServer注册中心自我保护机制
默认情况下,如果EurekaServer在一定时间内没有接收到某个微服务实例的心跳,EurekaServer将会注销该实例(默认90秒)。但是当网络分区故障发生时,微服务与EurekaServer之间无法正常通信,以上行为可能变得非常危险了,因为微服务本身其实时健康的,此时本不应该注销这个微服务。 Eureka通过“自我保护模式”来解决这个问题,当EurekaSe...原创 2019-09-05 09:36:09 · 336 阅读 · 0 评论 -
spring cloud微服务启动错误
今天在启动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...原创 2019-09-03 14:26:51 · 576 阅读 · 0 评论 -
ArrayList与LinkedList以及Vector区别
复习一下list集合知识,记录一下。参考文章:https://blog.csdn.net/qq_36520235/article/details/82535044ArrayList实现原理:1、ArrayList是List接口的可变数组非同步实现,并允许包括null在内的所有元素。2、底层使用数组实现。(默认初始化长度为10)3、该集合是可变长度数组,数组扩容时,会将原数组中的元素c...原创 2019-08-21 17:14:17 · 288 阅读 · 0 评论 -
H5项目中遇到的安全问题:CSRF-跨站伪造请求
记录前段做过的h5项目遇到的安全问题。web项目对请求referer校验,防止外链。测试报告问题描述:服务端对请求的来源未做验证,无法区分是用户自己主动的请求行为还是用户未知的被动请求行为。导致攻击者可以通过用户的浏览器来产生额外的、用户未知的请求,从而借用用户的身份进行敏感操作。 个人理解为通过非生产环境域名的外部ip对生产环境接口进行访问请求。 解决的措施就是增加r...原创 2019-08-12 11:08:59 · 680 阅读 · 1 评论 -
设计模式:工厂方法模式与抽象工厂模式
这两天抽空学习一下设计模式,刚开始遇到工厂模式,感觉工厂方法模式和抽象工厂模式的区别有点模糊,看了之前的面试资料也是有点区分不清,于是查阅一些网上的资料和博客,记录一下。1,工厂方法模式: 定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使得一个类的实例化延迟到了子类 工厂方法在简单工厂的基础上再包了一层工厂,所有的工厂都是此工厂的子类。而产生对象的类型由子类工厂决定。(摘自别...原创 2018-10-11 10:54:37 · 204 阅读 · 0 评论