自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

春风化雨

用心做事

  • 博客(521)
  • 资源 (10)
  • 论坛 (10)
  • 收藏
  • 关注

原创 SpringBoot配置项目访问路径URL的跟路径

1、SpringBoot在2.0之前版本使用server.context-pathserver.context-path=/api2、SpringBoot在2.0之后版本使用server.servlet.context-pathserver.servlet.context-path=/api

2021-01-23 23:43:18 12

原创 MyBatis中的动态SQL标签作用与实现

前言动态 SQL 是 MyBatis 的强大特性之一。如果使用过 JDBC 或其它类似的框架,应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦。使用动态 SQL 并非一件易事,但借助可用于任何 SQL 映射语句中的强大的动态 SQL 语言,MyBatis 显著地提升了这一特性的易用性。如果你之前用过 JSTL 或任何基于类 XML 语言的文本处理器,你对动态 SQL 元素可能会感觉

2021-01-23 16:28:22 19

原创 Mybatis中Mapper接口与Maper.xml文件的绑定方式

1、接口与文件的绑定关系Mapper接口与 XML文件的绑定:通过 XML里mapper 标签的 namespace值(Mapper接口的包路径.接口名)绑定。示例:mapper接口xml文件2、方法名的绑定关系Mapper 接口的方法名与 XML 文件中标签的 id 值绑定。示例:mapper接口xml文件...

2021-01-23 15:32:38 12

原创 Spring Boot扫描mapper接口类的两种实现方式

1、方式一:使用注解@Mapper在所有mapper接口上添加注解@Mapper;Spring boot启动注解自动扫描以下是spring boot启动缺省扫描配置2、方式二:使用注解@MapperScan在springboot启动类上添加注解@MapperScan,标注dao所在的包路径。一劳永逸,推荐使用!!import org.mybatis.spring.annotation.MapperScan;import org.springframework.b.

2021-01-23 14:27:59 14

原创 Mybatis之map-underscore-to-camel-case开启驼峰功能

场景:数据库字段是下划线,程序中使用驼峰目的:实现数据库下划线字段与实体中的驼峰属性映射方式:设置map-underscore-to-camel-case属性为true来开启驼峰功能1、application.yml配置mybatis: mapperLocations: classpath:mapper/*.xml,classpath:mapper/base/*.xml configuration: map-underscore-to-camel-case: true

2021-01-23 13:59:46 9

原创 使用工具Cronolog进行日志分隔

前言:tomcat日志按日期切割使用Cronolog 分割 Tomcat9下的catalina.out日志;tomcat的catalina.out日志文件无法按照日期进行自行分割,全部输出并写入到一个catalina.out文件下,如此日积月累就会造成.out日志越来越大,运维成本加大,为日志文件按日期归档,可采用cronolog实现日志分割。1、第一步:Cronolog安装使用yum命令安装Cronologyum install cronolog2、第二步:修改catalina.s

2021-01-09 13:34:54 29

原创 Redis使用命令访问异常:(error) NOAUTH Authentication required.

1、原因redis配置了密码2、auth命令录入密码auth yourPassword示例auth 123456

2020-12-24 09:36:38 130

原创 诊断工具ping

1、ping命令使用示例:ping 192.168.30.102、目的ping,用于确定本地主机是否能与另一台主机成功交换(发送与接收)数据包,再根据返回的信息,就可以推断TCP/IP参数是否设置正确,以及运行是否正常、网络是否通畅等。3、操作ping命令可以进行以下操作 :①通过将ICMP(Internet控制消息协议)回显数据包发送到计算机并侦听回显回复数据包来验证与一台或多台远程计算机的连接。②每个发送的数据包最多等待一秒。③打印已传输和接收的数据包数。需.

2020-12-22 22:57:38 45

原创 网络丢包

1、什么是包包(Packet),是TCP/IP协议通信传输中的数据单位,也称“数据包”。TCP/IP协议,是工作在OSI模型第三层(网络层)、第四层(传输层)上的,帧工作在第二层(数据链路层)。上一层的内容由下一层的内容来传输,所以在局域网中,“包”是包含在“帧”里的。包(Packet):在包交换网络里,单个消息被划分为多个数据块,这些数据块称为包,它包含发送者和接收者的地址信息。这些包然后沿着不同的路径在一个或多个网络中传输,并且在目的地重新组合。2、网络丢包网络丢包,是在使用ping

2020-12-22 22:38:21 78

原创 资源调度平台系统架构与产品设计方案

资源调度系统,使用Spring boot搭建系统框架,Spring cloud实现多服务间的治理,Eureka实现微服务注册和发现,Spring data实现各类数据的持久化管理;采用多线程并发计算,提升系统吞吐和效率;使用线程异步处理附属业务;使用异步监听降低耦合性;使用redis缓存技术,降低数据库压力,并提升系统性能和响应速率。 基于分布式Job、多线程计算和异步监听,实现业务所需资源的自动调度、任务进度的定时采集、处理速率的计算、任务结束时间的有效预判以及任务使用资...

2020-12-21 23:19:58 93

原创 Linux下curl命令实现POST+json请求

1、请求示例curl -i -X POST \ http://localhost:8002/orders/page \ -H 'Content-Type: application/json' \ -d '{ "sendTime":"2020-07-01 18:00:00", "data": { "startTime":"2020-12-01", "endTime":"2020-12-02" ...

2020-12-21 23:06:59 95

原创 本地程序无法通过公网ip访问测试环境redis集群_妥协方案

第一、场景描述1、测试环境安装redis6,集群部署,三主三从。即实现高并发,高可用,安全性高。2、Redis通过bind内网ip创建集群。3、本地与测试环境不在同一局域网,尚无VPN,无法通过测试内网ip访问redis。4、说明:通过redis客户端,使用公网ip+端口,可以访问redis。问题:spring程序无法通过公网ip+端口正确访问redis。原因:Spring访问redis集群,先通过配置的公网ip和端口获取redis集群所有节点的内网ip和端口,程序最后通过内网ip和

2020-12-21 22:44:32 56

原创 Nginx反向代理mysql

1、场景mysql数据库在纯内网环境,无公网ip,无VPN。2、方案在一台具备公网ip,并且能与mysql服务在同一内网环境内的服务器,安装nginx,实现对mysql访问的路由转发。3、nginx安装nginx版本需要1.9及以上,nginx既实现http的反向代理,也支持TCP的反向代理。1)nginx编译时,需要加入--with-stream这个参数,以加载ngx_stream_core_module模块示例./configure --prefix=/opt/sof.

2020-12-21 22:27:16 135 1

原创 人工更新项目_SpringBoot打出jar包太大解决方案

1、问题场景项目更新,上传整个jar包,太大上,导致上传时间长,更新或升级太慢。2、解决方案1)将不经常更新的jar存放至独立文件夹libs下。2)经常更新的jar打成一个jar。3、pom.xml配置1)最终打成的jar包,含经常更新的jar包2)文件夹libs踢出经常更新的jar<build> <plugins> <plugin> <groupId&gt

2020-12-18 16:44:49 148 1

原创 使用jstack把java进程中的堆栈信息输出到指定文件并分析

1、使用jstack命令打印堆栈信息jstack -l pid>> thread.txt示例jstack -l 7052 >> thread.txt2、分析堆栈信息将thread.txt下载到本地,使用IBM Thread and Monitor Dump Analyzer for Java打开分析

2020-12-18 10:19:56 238

原创 xxl-job集群Nginx路由转发与反向代理

1、场景两台服务器分别部署xxl-job,高可用集群搭建对外提供容易的请求url2、nginx配置 upstream xxl-jobs { server 192.168.30.01:9500 max_fails=3 fail_timeout=30s; server 192.168.30.02:9500 max_fails=3 fail_timeout=30s; } server { listen 8888;

2020-12-18 09:32:02 108

原创 适用于前端H5请求的Nginx根据url并切割url进行路由转发

1、要求nginx统一接受请求url,并转发http://172.16.51.91:9000/api/order/create/44010000http://172.16.51.91:9000/api/order/create/44060000目标:http://172.15.10.13:9001/api/order/createhttp://172.15.10.13:9002/api/order/create2、nginx配置server { listen .

2020-12-18 09:15:08 42

原创 Nginx前后端分离+服务集群反向代理

1、场景nginx实现前后端分离;服务集群反向代理。2、nginx配置实例upstream portal-system { server 127.0.0.1:8061 max_fails=3 fail_timeout=30s; server 172.31.88.30:8061 max_fails=3 fail_timeout=30s;}server { listen 80; server_name 47.102.1

2020-12-18 09:07:01 41

原创 Nginx根据url并切割url进行路由转发

1、要求nginx统一接受请求url,并转发http://172.16.51.91:9000/44010000/api/order/createhttp://172.16.51.91:9000/44060000/api/order/create目标:http://172.15.10.13:9001/api/order/createhttp://172.15.10.13:9002/api/order/create2、nginx配置server { listen 9000.

2020-12-17 15:26:52 161

原创 Spring获取系统环境变量

1、代码 @Autowired private Environment environment; public void doBusiness(){ String env = ArrayUtils.isNotEmpty(environment.getActiveProfiles())? environment.getActiveProfiles()[0] : "未知"; }

2020-12-17 11:21:47 119

原创 为什么要使用线程池,牢记并理解

1、减少开销提升效率 减少在创建和销毁线程上所花的时间及系统资源的开销;同时,提高系统响应速度,当有任务到达时,通过复用已存在的线程,无需等待新线程的创建便能立即执行2、提高线程的可管理性 方便线程并发数的管控;线程若是无限制的创建,可能会导致内存占用过多而产生OOM,并且会造成CPU过度切换(CPU切换线程是有时间成本的(需要保持当前执行线程的现场,并恢复要执行线程的现场))。对线程进行统一的分配、调优和监控,从而也提高相应速度;提供更强大的功能,延时定时线程池。...

2020-11-22 15:37:20 58

原创 Java使用单线程池实现多线程顺序执行(不交替,未同步)

1、原理机制使用单线程池,保证提交和执行是有序的。说明:1)不支持线程之间交替继续执行。2)多线程之间并非同步,只保证执行顺序有序,多线程之间是并发执行。2、代码示例package com.thread;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.locks.Condition;import jav

2020-11-22 10:53:50 76

原创 Java使用锁实现多线程顺序交替执行方式一

1、原理Lock同步锁Condition的signal()和await()2、代码示例package com.thread;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.ut

2020-11-21 18:55:44 32

原创 Java使用锁实现多线程顺序交替执行方式二

1、原理synchronized线程同步notify() 唤起线程wait() 线程等待2、代码示例package com.thread;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class TasksTestSync extends Thread { private static Integer num = 0; priva

2020-11-21 18:45:57 18

原创 Java无锁编程实现线程顺序交替执行方式三

1、原理分析AtomicInteger是线程安全的2、代码示例package com.thread;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.atomic.AtomicInteger;public class TasksTest extends Thread { private static At

2020-11-21 18:07:26 33

原创 Java实现重试机制

关键词:线程、线程池、队列、任务调度1、重试工具类package com.iretry;import com.alibaba.fastjson.JSON;import lombok.extern.slf4j.Slf4j;import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;import org.springframework.scheduling.concurrent.ThreadPoolTaskS

2020-11-21 16:43:23 318 1

转载 HashMap的负载因子为何默认是0.75

一、负载因子的作用HashMap负载因子,是和扩容机制有关的,意思是如果当前容器的容量,达到了我们设定的最大值,就要开始执行扩容操作。举个例子,比如说:当前的容器容量是16,负载因子是0.75,16*0.75=12,也就是说,当容量达到了12的时候就会进行扩容操作。作用很简单,相当于是一个扩容机制的阈值。当超过了这个阈值,就会触发扩容机制。HashMap源码已经为我们默认指定了负载因子是0.75。截取部分源码,从这里可以看出,系统默认的负载因子值就是0.75,而且我们还可以在构造方法中.

2020-11-08 17:47:04 106

原创 HashMap什么时候出现红黑树

1、出现条件满足:链表长度到8,并且数组长度到64情况一:链表长度到满足8,先尝试转红黑树TREEIFY_THRESHOLD:8如下图所示,判断链表长度到达8调用treeifyBin方法转换红黑树;情况二:校验数组长度满足64MIN_TREEIFY_CAPACITY:64如下图所示,treeifyBin()的方法代码,开头有判断数组长度是否小于64,小于则进行扩容;否则,转红黑树;...

2020-11-08 17:24:09 165

原创 红黑树

1、概念红黑树(Red Black Tree) 是一种自平衡二叉查找树。红黑树是一种特化的AVL树(平衡二叉树),都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。它虽然是复杂的,但它的最坏情况运行时间也是非常良好的,并且在实践中是高效的: 它可以在O(log n)时间内做查找,插入和删除,这里的n 是树中元素的数目。2、原则红黑树是每个节点都带有颜色属性的二叉查找树,颜色或红色或黑色。 在二叉查找树强制一般要求以外,对于任何有效的红黑树我们增...

2020-11-08 16:51:05 35

原创 查看mysql数据版本

select version() from dual

2020-11-02 16:22:04 30

原创 PostgreSQL中类似MySQL的IFNULL()函数

COALESCE('字段','字段或值')示例:select coalesce(t.tap_num, 0) - coalesce( s.ins_num, 0)from d_task t, d_task_schedule swhere t.id = s.tid and t.tenant_app_id = 1 and t.task_status < 20

2020-10-12 16:54:54 122

原创 保险IT从业者必须知道 的健康险

健康险,是健康保险的中文简称,是指保险公司通过疾病保险、医疗保险、失能收入损失保险和护理保险等方式对因健康原因导致的损失给付保险金的保险。险种分类医疗保险 即医疗费用保险,指以约定的医疗费用为给付保险金条件的保险,即提供医疗费用保障的保险,它是健康保险的主要内容之一,不仅包括医生的医疗费和手术费用,还包括住院、护理、医院设备等的费用。疾病保险 指以疾病为给付保险金条件的保险,包括有普通疾病保险与重大疾病保险两种形式。通常这种保单的保险金...

2020-09-28 23:00:22 110

原创 保险IT从业者必须知道的人寿保险

人寿保险是人身保险的一种,以被保险人的寿命为保险标的,且以被保险人的生存或死亡为给付条件的人身保险 [1] 。和所有保险业务一样,被保险人将风险转嫁给保险人,接受保险人的条款并支付保险费。与其他保险不同的是,人寿保险转嫁的是被保险人的生存或者死亡的风险。1、存在意义编辑 当被保险人的生命发生了保险事故时,由保险人支付保险金。最初的人寿保险是为了保障由于不可预测的死亡所可能造成的经济负担,后来,人寿保险中引进了储蓄的成分,所以对在保险期满时仍然生存的人,保险公司也会给付...

2020-09-28 22:54:20 71

原创 保险IT从业者必须了解【财产保险】

【摘要】什么是财产保险?一般来说常见的财产保险保障的项目包括:房屋及附属设置、第三者责任、室内装潢、室内财产、家用电器用电安全、盗抢造成的财产损失等。 什么是财产保险?财产保险的基本含义就是投保人向保险公司交付保费,保险公司按保险合同约定对承保的财产及其有关利益因自然灾害或意外事故造成的损失承担赔偿的保险。 财产保险主要包括财产保险、农业保险、责任保险、保证保险、信用保险等以财产或利益为保险标的的各种保险。以人保家庭财产综合保险为例来说明承保范围:什么...

2020-09-28 22:33:34 102

原创 Linux查看服务器磁盘使用空间占满与解决

df-h检查一台服务器磁盘使用空间,发现磁盘使用100%方案:1、cd /2、du -sh * 看哪个目录占用空间大3、然后cd进入显示占用较大空间的文件,依次使用du -sh *和cd命令直至准确找到大文件...

2020-09-16 16:12:54 357

原创 Posgresql关联更新Sql语句

案例:update b_tenant set act_auth = tb.auth from (select sum(auth) as auth,tenant_id from b_tenant_app where deleted=0 group by tenant_id) tb where id = tb.tenant_id

2020-08-28 10:47:09 90

原创 Postgresql中类似mysql中的ifnull()函数用法

1、mysql中的ifnull()函数对应postgresql的coaleceCOALESCE('字段名称','期望值')2、示例select COALESCE(p.valid,0) ,p.valid from b_app_ability_plan p

2020-08-12 09:17:02 1397

原创 PostgreSQL内容替换函数replace

1、查看替换后的内容select replace(字段名,'替换前的内容','替换后的内容') from 表名 where 字段名 like '%替换前的内容%';2、执行修改update 表名 set 字段名=replace(字段名,'替换前的内容','替换后的内容') where 字段名 like '%替换前的内容%';3、示例update m_dic_config set value = replace(value,'172.31.88.28','47.102.169.240') .

2020-08-10 10:09:58 2096

原创 Eureka配置案例详述

1、serverserver: port: 8000spring: application: name: eureka-server#eureka : 配置EurekaInstanceConfigBean和EurekaClientConfigBean中的属性eureka: instance: # hostname: 127.0.0.1 # 使用IP地址注册 preferIpAddress: true # 心跳周期 lease-rene...

2020-07-27 09:58:43 115

原创 Spring boot allowBeanDefinitionOverriding

1、问题启动异常Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2020-07-24 17:08:33.330 ERROR 15684 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : ***************************

2020-07-24 17:10:40 305

电商产品经理宝典:电商后台系统产品逻辑全解析(高清彩色带书签完整)

电商产品经理宝典:电商后台系统产品逻辑全解析(高清彩色带书签完整)

2018-06-21

json-lib-2.1-jdk15.jar

json-lib-2.1-jdk15.jar

2014-08-21

ezmorph-1.0.2.jar

ezmorph-1.0.2.jar,JAR包,最新

2014-08-21

Toad_for_Oracle10中文手册

细致,全面,Oracle,文档,Toad_for_Oracle10中文手册

2013-10-21

优化SQL效率

优化SQL语句提高oracle执行效率(34种方法),提高你的sql执行效率,特别针对大数据。

2013-09-06

ssh+extjs开发crud--经典

基础+实践;容易初学者学习,并快速能够实践

2012-03-22

jQuery_LigerUI

最全的最实用jquery制作demo,网站模板。超级给力

2012-03-21

微软常用运行库合集64位系统.rar

微软常用运行库合集_2019.07.20_X64,解决常用软件安装缺少依赖的问题;避免手动查询具体依赖,以及最新版软件依赖变更后问题不能结局的情况。

2020-04-17

redis-3.3.3.rar

redis-3.3.3.gem,已打成压缩包,用于redis集群部署,预装插件,很好的支持redis完成集群操作。

2019-09-02

Microsoft Visual C++ 14.0

Microsoft Visual C++ 14.0,提供多种软件安装的提前提插件

2019-04-30

春风化作秋雨的留言板

发表于 2020-01-02 最后回复 2020-01-02

读取word的一个报错,请各位高手改正一下,在线等,先谢了。

发表于 2012-04-18 最后回复 2019-06-11

日期类型是String类型的,如何查询某起始日期与终止日期之间的记录

发表于 2012-04-25 最后回复 2015-04-09

问一个sql语句的拼法

发表于 2012-04-26 最后回复 2012-05-04

各位大虾,jquery交替值只有前一个判断作用?

发表于 2012-03-19 最后回复 2012-04-18

请教大家一个我出在类型上的错误

发表于 2012-03-15 最后回复 2012-04-18

请细心的帮我看看错误在哪里?半个多小时我没有找出任何问题。

发表于 2012-03-14 最后回复 2012-03-15

请帮我注释一下分页查询的代码---先谢了!

发表于 2012-03-01 最后回复 2012-03-01

菜鸟真诚地请教各位大虾一个js问题---等待

发表于 2012-02-29 最后回复 2012-03-01

有关hibernate的一个问题,请教各位大虾

发表于 2012-02-24 最后回复 2012-02-25

空空如也

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

TA关注的人 TA的粉丝

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