自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 sonar扫描出关于同个类中调用本类的@Transactional修饰方法时,注解不生效

同一个类中,当一个方法A调用同类中另一个被注解修饰的方法B(如@Transactional或者@Async等),则注解无法生效。在其他文章中找了一下大致的结果,原因:spring 在扫描bean的时候会扫描方法上是否包含@Transactional注解,如果包含,spring会为这个bean动态地生成一个子类(即代理类,proxy),代理类是继承原来那个bean的。此时,当这个有注解的方法被调用的时候,实际上是由代理类来调用的,代理类在调用之前就会启动transaction。然而,如果这个有注解的

2021-01-26 15:02:29 2048

转载 java多线程学习

java实现线程创建的方式有四种,1、继承Thread类,重写run()方法(其实Thread类本身也实现了Runnable接口);2、实现Runnable接口,重写run()方法;3、实现Callable接口,重写call方法(有返回值);4、使用线程池(有返回值)。java线程状态要想实现多线程,必须在主线程中创建新的线程对象。任何线程一般具有5种状态,即创建,就绪,运行,阻塞,终止。下面分别介绍一下这几种状态: 创建状态 在程序中用构造方法创建了一个线程对象后,新的.

2021-01-25 14:29:21 167

原创 mysql索引:Innodb和MyIsam引擎

mysql主要有两大存储引擎,innodb和myIsam两大引擎的底层索引实现也有区别。innodb: 主要是聚集索引和辅助索引聚集索引,实现是将主键id作为索引,以B+树的结构存储,叶子节点存储的是整条id以及其对应的表记录,id唯一,每次通过id走索引直接查到对应的记录,效率最高;辅助索引,以某个字段作为索引,以B+树结构存储,叶子节点存的是字段值以及对应的id主键,根据字段索引查到id,再根据id主键索引查到对应记录,走了两边,效率较低;myIsam:非聚集索引非聚集.

2021-01-04 22:46:05 157

原创 自己搭环境问题

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 119

原创 配置拦截器遇到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 1306

原创 mybatis

当编写mapper.xml文件时,resultType类型需要注意。resultType返回的是集合中的元素类型,而不是集合本身。所以返回值定义为resultType="java.util.List"会报错。Caused by:java.lang.UnsupportedOperationException:null.

2020-09-21 15:20:35 67

原创 才发现Eureka停止更新

Eureka2.0官方停止更新

2020-03-15 15:52:17 5520

原创 了解vue遇到问题记录

目的:了解学习vue前端知识,搭建的简单web项目,了解前后端交互细节。分别遇到了以下问题:1.简单的vue页面创建和引入;2.使用router配置路由,涉及到页面的跳转;3.配置webpack.config.js可以使用代理访问后台接口ip;4.配置axiox用于调用接口;5.配置store存储vuex,需要配置main.js以及npm install --save-de...

2020-03-06 19:21:41 137

原创 关于mysql优化学习

MySQL优化方向主要有:1、数据库表的设计(三范式);2、sql语句的优化;3、给相关表字段添加合适的索引;4、数据库分库分表,表的横向、垂直拆分;5、对mysql配置进行一些优化(读写分离等);6、定时清除垃圾数据,定时进行碎片整理;7、多用存储过程,触发器;8、数据库服务器硬件优化;=====================================...

2020-02-21 17:06:55 133

转载 整合多个jar包方法

https://www.cnblogs.com/029zz010buct/p/4882568.html

2020-01-07 10:29:57 271

原创 Spring Cloud微服务:作为服务注册中心:Eureka与Zookeeper

著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性)、A(可用性)和P(分区容错性)。由于分区容错性P是分布式系统中必须保证的,因此我们只能在A和C之间进行权衡。而Zookeeper是保证CP的,Eureka是保证AP的。1、Zookeeper保证CP 当向注册中心查询服务列表时,我们可以容忍注册中心返回的时几分钟前的注册信息,但是不能接受服务down掉不可用。即服务...

2019-09-05 14:38:02 291

原创 Spring Cloud微服务:EurekaServer注册中心自我保护机制

默认情况下,如果EurekaServer在一定时间内没有接收到某个微服务实例的心跳,EurekaServer将会注销该实例(默认90秒)。但是当网络分区故障发生时,微服务与EurekaServer之间无法正常通信,以上行为可能变得非常危险了,因为微服务本身其实时健康的,此时本不应该注销这个微服务。 Eureka通过“自我保护模式”来解决这个问题,当EurekaSe...

2019-09-05 09:36:09 334

原创 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 568

原创 链表相关

首先要和数组有一个明显的区别,数组需要一块连续的内存空间来存储,对内存要求比较高;链表相反,它并不需要一块连续的空间,它通过“指针”将一组零散的内存块串联起来使用。但它与数组一样都是线性表。 链表常见的有三种:单链表、双向链表、循环链表 。单链表1)每个结点只包含一个指针,即后继指针。2)单链表有两个特殊结点,首结点和结点,首结点地址表示整条链表基...

2019-08-29 14:34:05 213

原创 如何判断一个字符串是否是回文字符串 ,单链表实现方式

如果字符串是通过单链表来存储的,那该如何来判断是一个回文串呢?相应的时间空间复杂度又是多少呢?这个问题,看到别人用快慢指针的方式实现,没有太明白,自己动手写了下代码,明白了这个思路。首先是快指针每次移动两个位置,慢指针每次移动一个位置,这样两个指针同时开始就可以知道当快指针走完慢指针就来到了链表的中点。当然,在这个过程中间,还需要做的一件事就是将前一半的链表在慢指针移动的过程中完成逆序。然...

2019-08-28 14:59:34 3869 2

原创 数组相关

数组指的是线性列表,在内存中是一段连续的内存空间,存储的数据类型一致。两个特点:1)线性表,线性表就是数据排成像一条线一样的结构,每个线性表的数据最多只有前和后两个方向;除了数组,链表、队列、栈等也是线性表结构。与它相对立的概念是非线性表,比如二叉树、堆、图等。之所以叫非线性表,是因为,在非线性表中,数据之间并不是简单的前后关系。2)连续的内存空间和相同的数据类型,所以它可以“随机...

2019-08-27 11:55:37 152

原创 时间复杂度

时间复杂度原因:使用时间复杂度分析是为了在不运行代码的情况下,粗略地估计一段代码的执行时间。普通的执行测试结果受限于测试环境以及数据规模,因此需要一个不用具体的测试数据测试,便可以粗略地估计算法的执行效率的方法。int cal(int n) { int sum = 0; int i = 1; int j = 1; for (; i <= n; ++i) {...

2019-08-26 14:37:40 804

原创 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 284

原创 H5项目中遇到的安全问题:CSRF-跨站伪造请求

记录前段做过的h5项目遇到的安全问题。web项目对请求referer校验,防止外链。测试报告问题描述:服务端对请求的来源未做验证,无法区分是用户自己主动的请求行为还是用户未知的被动请求行为。导致攻击者可以通过用户的浏览器来产生额外的、用户未知的请求,从而借用用户的身份进行敏感操作。 个人理解为通过非生产环境域名的外部ip对生产环境接口进行访问请求。 解决的措施就是增加r...

2019-08-12 11:08:59 677 1

原创 区块链从理论走向应用 - 安全牛课堂 - 领先的信息安全在线教育平台 - Powered By EduSoho

https://edu.aqniu.com/course/6502

2019-03-26 11:58:37 263

原创 windows开发环境配置https的坑

条件:通过自己公司的域名在阿里云解析出一个test.zxx.xx的二级域名指向一台线上开发环境服务器,以此为开发小程序后台作为一个小白,完全不明白阿里云上面说的nignx和tomcat指的是负载均衡用的服务器还是项目跑的服务器,结果一统乱试也没弄好。      首先,先通过阿里云申请一个免费的ssl证书,绑定到之前自己解析的域名上,然后没多久就会审核通过;第二步,我所用的项目是公司之前买的...

2019-02-24 11:36:19 723

转载 配置ssl安全证书相关:一个域名能用多个ca证书吗

http://ssl.idcspy.net/5315.html很多购买过的ssl证书的朋友想问,我一个域名可以用多个ssl证书吗?其实这是可以的,比如说一个企业类型的网站,需要增加访客对企业的信任程度,他们购买了一个EV型的证书,这样用户访问时,浏览器的地址栏会变成绿色, 并在地址栏后面显示一个安全锁标志,但这个域名下面还有好多子域名也需要https加密。这时候可以再买个通配符的证书,...

2019-02-20 14:27:19 2975

原创 sql时间datetime类型遇到的问题

mysql数据库里设置的时间为datetime类型的,时间存入数据库时为包括时分秒的时间格式,结果查出来为只有日期而时分秒都为00:00:00,如下上为数据库,下为控制台打印时间下为mapper配置文件:很奇怪,结果最后发现是mybatis的mapper配置文件中时间字段的jdbctype写成了DATE,改成TIMESTAMP就能正常显示了。如下 还有,之前时间...

2018-12-24 13:28:59 2035

原创 设计模式:工厂方法模式与抽象工厂模式

这两天抽空学习一下设计模式,刚开始遇到工厂模式,感觉工厂方法模式和抽象工厂模式的区别有点模糊,看了之前的面试资料也是有点区分不清,于是查阅一些网上的资料和博客,记录一下。1,工厂方法模式: 定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使得一个类的实例化延迟到了子类 工厂方法在简单工厂的基础上再包了一层工厂,所有的工厂都是此工厂的子类。而产生对象的类型由子类工厂决定。(摘自别...

2018-10-11 10:54:37 204

转载 【收藏】Spring OAuth2.0 提供者实现原理

https://www.cnblogs.com/xingxueliao/p/5911292.html

2018-09-21 14:15:35 229

原创 【小测试】使用springboot整合mybatis遇到问题:org.apache.ibatis.binding.BindingException: Invalid bound statement

整合springboot+mybatis时,本来什么都没配置,直接用的注解开发如:/** * @Description User映射类 * @Author xg * @Date 2018/9/15 12:15 */@Mapperpublic interface UserMapper { @Select("SELECT * FROM sys_user WHERE name...

2018-09-20 15:02:39 625

转载 【转】上传本地代码及更新代码到GitHub教程

https://www.cnblogs.com/zlxbky/p/7727895.html

2018-09-18 14:47:13 112

转载 【转】Java程序员所需技能大汇总

宏观上 1.技术广度方面 至少要精通多门开源技术吧,研究过struts spring等的源码。 2.项目经验方面 从头到尾跟过几个大项目,头是指需求阶段,包括需求调研。 尾是指上线交付之后,包括维护阶段。 3.架构经验方面 有过分布式系统的架构和开发经验。对于跨系统的结构优化,数据存储的性能指标等有丰富经验。什么缓存啊、数据库的垂直切分什么的...

2018-09-12 11:27:44 763

原创 python 迭代器 笔记

1.凡事可用于for循环的对象都是Iterable类型对象;2.凡事可做用于next()函数的对象都是Iterator类型对象,他们表示一个惰性计算的序列;3.集合数据类型list、dicr、str等是Iterable对象不是Iterator对象,但是可以通过调用iter()函数获得一个Iterator对象;4.Python的for循环的本质就是通过不停调用next()函数实现,如:...

2018-08-13 11:38:59 110

原创 初次接触python,记录windows端python3.7.0的下载安装过程

首先,到python官网https://www.python.org/ 然后下拉页面找到Download,下载最新的3.7.0版本页面跳转如下直接下载zip版本,然后下载后解压。紧接着,就是到配置环境变量完成以上步骤就可以测试一下了。先win+R打开运行,输入cmd点击确定然后在dos命令框中输入python当出现Python 3.7.0字样...

2018-08-03 15:13:44 1249 1

空空如也

空空如也

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

TA关注的人

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