04 2019 档案
摘要:RPC远程调用:一般可以跨平台通讯,采用http协议。因为http协议底层使用socket技术,只要你的语言支持socket技术,就可以相互进行通讯。比如:java语言开发的接口,http协议,然后让别人可以使用C#语言也可以调用java写的接口(C#语言也支持socket技术)。开放平台大多都是h
阅读全文
摘要:sqlserver数据库中字符串分割函数: 使用语句1查询出来的结果为张三,李四,王五。这个receivername字段里存放了多个人的姓名。 1.select v.receivername from T_SimpleFlow_MainInfo where v.id=52; 使用语句2查询出来的结果
阅读全文
摘要:服务降级:在高并发的情况下,防止用户一直等待,使用服务降级方式进行处理(返回友好的提示给客户端,fallback回调方法)。当服务不可用的时候(正在等待的时候、网络延迟、响应时间过长),客户端会处于一直等待的状态。显然一直等待是不合理的,所以我们应该给客户端返回一个友好的提示,使用fallback(
阅读全文
摘要:package com.example.util;import org.springframework.stereotype.Component;import java.io.UnsupportedEncodingException;import java.security.InvalidKeyEx
阅读全文
摘要:1 maven 依赖配置: 2 3 <!-- sql server --> 4 <dependency> 5 <groupId>com.microsoft.sqlserver</groupId> 6 <artifactId>mssql-jdbc</artifactId> 7 <version>6.1
阅读全文
摘要:分页插件 <!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-starter --><dependency> <groupId>com.github.pagehelper</grou
阅读全文
摘要:package com.example.util;import javax.servlet.http.HttpServletRequest;/** * get remote msg * 获取访问的ip地址 */public class RequestMsgUtils { /** * get remo
阅读全文
摘要:Java标准库内建了一些通用的异常,这些类以 Throwable 为顶层父类。Throwable又派生出 Error 类和 Exception 类。 错误:Error类以及他的子类的实例,代表了JVM本身的错误。错误不能被程序员通过代码处理,Error很少出现。因此,程序员应该关注Exception
阅读全文
摘要:Spring可以通过注解@Transactional来为业务逻辑层的方法(调用DAO完成持久化动作)添加事务能力,如下是@Transactional注解的定义 @Tranactional注解分析 作用域:Transactional作用于类上表示类上所有的方法使用指定的事务管理策略,作用于方法表示该方
阅读全文
摘要:单条的数据进行修改或者插入的时候没问题,但是进行批量操作的时候就会出现错误,是因为没有开启支持批量操作的功能。 mybatis支持批量操作 开启批量执行sql的开关,在拼装mysql链接的url时,为其加上allowMultiQueries参数,设置为true,如下: mysql jdbc.jdbc
阅读全文
摘要:调用接口时,如何保证安全性的问题 1. 使用MD5实现对接口加签,目的是为了防止篡改数据。2. 基于网关实现黑明单与白名单拦截3. 可以使用rsa非对称加密 公钥和私钥互换4. 如果是开放接口的话,可以采用oath2.0协议5. 使用Https协议加密传输,但是传输速度慢6. 对一些特殊字符实现过滤
阅读全文
摘要:1.连接数据库 #MyBatis 映射文件配置 指定mapper包路径mybatis.mapper-locations=classpath:com/springboot/mapper/*.xml#MyBatis扫描别名包,和 注解@Alias mybatis.type-aliases-package
阅读全文
摘要:如果系统采用前后端分离的话,项目中就需要用到网关了,为了保证系统的安全性。 前后端项目简单架构图: 1. 基于网关实现白名单和黑名单拦截(防止恶意请求)、ip限流。 2. API接口实现Token授权验证。 3. 使用MD5实现API接口验证签名,防止抓包篡改数据。 4. 实现API接口安全加密传输
阅读全文
摘要:lcn集群原理图: 1.实现原理: 1.1 LCN获取tm协调者注册地址 1. LCN客户端项目启动的时候,首先会注册到事务协调者中去,然后读取配置文件tm事务协调者的注册地址。 2. 向该事务协调者注册地址发送一个请求,获取对应的lcn底层协议ip和端口号(底层是netty协议通讯)。 3. 会向
阅读全文
摘要:springboot 提供了对项目的监控功能。 1.首先添加依赖包 <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-actuator --><dependency> <group
阅读全文
摘要:你可以在自己创建的组件上使用@ConfigurationProperties注解,而Spring Boot自动配置的很多组件也添加了@ConfigurationProperties注解,可以通过Spring Boot支持的各种属性源对其进行配置。例如,要指定内嵌的Tomcat或Jetty服务器应监听
阅读全文
摘要:基于docker 进行安装 软件,首先需要有docker环境。 1.docker 下载 jenkins 镜像 指定版本 ,因为低版本的后面安装 软件会失败(亲测)。 docker pull jenkins/jenkins:2.83 2.查看jenkins 是否下载成功 docker images 3
阅读全文
摘要:# 搜索镜像 docker search nexus; #拉取nexus镜像docker pull sonatype/nexus; #运行 -id 创建守护式容器--privileged=true 授予root权限(挂载多级目录必须为true,否则容器访问宿主机权限不足)--name=名字 给你的容
阅读全文
摘要:基于Docker部署GitLab环境搭建 注意:建议虚拟机内存2G以上 1.下载镜像文件 docker pull beginor/gitlab-ce:11.0.1-ce.0 注意:一定要配置阿里云的加速镜像 2.创建GitLab 的配置文件目录。 (etc) 、 日志 (log) 、数据 (data
阅读全文
摘要:Docker Docker官方网址: https://docs.docker.com/ 英文地址 Docker中文网址: http://www.docker.org.cn/ 中文地址 Docker是基于Go语言实现的云开源项目,诞生于2013年初,最初发起者是dotClouw公司。Docker 自开
阅读全文
摘要:Docker Docker官方网址: https://docs.docker.com/ 英文地址 Docker中文网址: http://www.docker.org.cn/ 中文地址 Docker是基于Go语言实现的云开源项目,诞生于2013年初,最初发起者是dotClouw公司。Docker 自开
阅读全文
摘要:今天遇到一个问题,半天没看出来问题,特意记录一下 Dao Mapper.xml
阅读全文
摘要:JDBC的URL=协议名+子协议名+数据源名。 协议名总是“jdbc”。 子协议名由JDBC驱动程序的编写者决定。 数据源名也可能包含用户与口令等信息;这些信息也可单独提供。 mysql连接 规则 驱动:com.MySQL.jdbc.Driver URL:jdbc:mysql://machine_n
阅读全文
摘要:二段提交协议 第一阶段: 准备阶段:协调者向参与者发起指令,参与者评估自己的状态,如果参与者评估指令可以完成,则会写redo或者undo日志,让后锁定资源,执行操作,但并不提交。 第二阶段:如果每个参与者明确返回准备成功,则协调者向参与者发送提交指令,参与者释放锁定的资源,如何任何一个参与者明确返回
阅读全文
摘要:CPA理论: 由于对系统或者数据进行了拆分,我们的系统不再是单机系统,而是分布式系统,针对分布式系统的CAP原理包含如下三个元素。 C:Consistency,一致性。在分布式系统中的所有数据 备份,在同一时刻具有同样的值,所有节点在同一时刻读取的数据都是最新的数据副本。 P: Partition
阅读全文
摘要:1.分布式事务产生的原因 来源于微服务、分布式系统之间跨数据库产生的问题,数据库做垂直分割(按照业务需求划分数据库、分库),分为多个不同的数据源(JDBC连接),会产生分布式事务的问题。 在微服务环境下,因为会根据不同的业务会拆分成不同的服务,比如会员服务、订单服务、商品服务等,让专业的人做专业的事
阅读全文
摘要:1.传统配置文件与分布式配置文件区别 传统配置文件:如果修改了配置文件,需要重新打包发布,重新发布服务,而且每个环境的变更配置文件,比较繁琐。 分布式配置文件:将配置文件注册到配置中心上去,可以使用分布式配置中心实时更新配置文件,统一管理配置文件,不需要重新打包发布。 2.常用的分布式配置中心框架有
阅读全文
摘要:xxl-job-Admin是一个服务调度中心,管理所有的任务的触发。 1、如果xxl-job-Admin平台如果宕机了,该如何处理? 需要搭建集群。 2、xxl-job-Admin 如何搭建集群? 使用Nginx搭建集群进行处理。 3、如何避免job被执行2次? 使用Ngix搭建集群,效果类似于 一
阅读全文
摘要:java.runtime.name=Java(TM) SE Runtime Environmentsun.boot.library.path=D:\java\jdk1.8.0_201\jre\binjava.vm.version=25.201-b09java.vm.vendor=Oracle Cor
阅读全文
摘要:我们在开发过程中经常会使用到List<Object> list=new ArrrayList<>(); 这个集合,Object 也可以是String、Integer等。 当我们需要把list集合中的数据放到另外一个集合中(List、Set...),我们也许会使用循环遍历然后将对象存入到新的集合中,这
阅读全文
摘要:org.apache.commons.lang3 提供了String常用的操作,常用的有isEmpty(String str);isBlank(String str); 判断字符串是否为空、null、""等。<!--apache commons--><dependency> <groupId>org
阅读全文
摘要:一、基本数据类型的特点,位数,最大值和最小值。1、基本类型:short 二进制位数:16 包装类:java.lang.Short 最小值:Short.MIN_VALUE=-32768 (-2的15此方)最大值:Short.MAX_VALUE=32767 (2的15次方-1)2、基本类型:int 二进
阅读全文
摘要:1byte=8bit 【tinyint】 从 0 到 255 的整型数据。存储大小为 1 字节。如果设置为UNSIGNED类型,只能存储从0到255的整数,不能用来储存负数。 【smallint】 从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2
阅读全文
摘要:1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String 2.StringBuilder:线程非安全的,StringBuffer:线程安全的 3.String 声明的对象是不可变对象。 如果一个StringBuffer对象在字符串缓冲区被多个线程使用时
阅读全文
摘要:哈希码: hashCode的作用是用来获取哈希码,也可以称作散列码。实际返回值为一个int型数据。用于确定对象在哈希表中的位置。 Object中有hashcode方法,也就意味着所有的类都有hashCode方法。 因为hashCode()并不是完全可靠,有时候不同的对象他们生成的hashcode也会
阅读全文
摘要:equals 是 用来比较二个对象内容是否相等。 == 是用来比较二个对象的内存是否相等。 truefalsefalse truetruetrue 由上面的运行结果,得出结论。 基本数据类型:byte,short,char,int,long,float,double,boolean 栈中存放基本的数
阅读全文
摘要:switch case 语句有如下规则: switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。 switch 语句可以拥有多个 case 语句
阅读全文
摘要:1、return i:1内层循环执行i:2 return 直接中止循环,无论是单循环还是嵌套循环都会终止执行。 2、break 内层循环,i:1内层循环执行之后输出结果内层循环,i:2外层循环,在内层之后输出内层循环,i:1内层循环执行之后输出结果内层循环,i:2外层循环,在内层之后输出 break
阅读全文
摘要:Mybatis中传参数的方法 1.使用注解绑定,mapper.xml 对应方法 不需要指定 parameterType,(推荐使用注解绑定方式) 方法接口: List<CalculateIdeacommissionsum> selectByExample(@Param("example") Calc
阅读全文
摘要:Eureka依赖: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency> 启
阅读全文
摘要:时间戳在线测试地址:http://tool.chinaz.com/Tools/unixtime.aspx 相关博客:https://blog.csdn.net/zhangzehai2234/article/details/53365633
阅读全文