自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术杂货铺

come on

  • 博客(53)
  • 资源 (15)
  • 收藏
  • 关注

原创 Oracle对于误删误操作的数据进行恢复(flashback query、flashback drop、flashback table、flashback database)

Oracle对于误删误操作的数据进行恢复。日常工作中难免遇到自己或者别人误操作、删除、修改了数据库的数据。此时我们该如何恢复数据呢。1、我们可以应用Flashback Query查询过去的数据Flashback Query这一特性,最常被应用的就是修复误操作的数据了。注意,这并不是说FlashbackQuery能够恢复数据。Flashback Query本身不会恢复任何操作或修...

2020-03-13 15:05:42 727

原创 用redis实现分布式锁,解决高并发时的线程安全问题

实际工作中,经常会遇到多线程并发时的类似抢购的功能,本篇描述一个简单的redis分布式锁实现的多线程抢票功能。直接上代码。首先按照慣例,給出一個错误的示范:我们可以看看,当20个线程一起来抢10张票的时候,会发生什么事。package com.tiger.utils;public class TestMutilThread { // 总票量 public static in...

2019-06-21 10:56:27 11933 11

原创 spring boot 使用 JdbcTemplate 连接oracle数据库 及修改启动端口方法

spring boot 连接oracle数据库只需要在application.properties中配置数据库连接信息即可具体步骤按下面的流程贴贴就ok了第一步先配置pom.xml     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd

2017-09-22 17:20:57 15045 3

原创 pinpoint 部署 包含(tomcat,jboss,spring boot 探针支持)

安装版本:pinpoint 1.6.2下载地址:https://github.com/naver/pinpoint/releases/tag/1.6.2pinpoint是开源在github上的一款APM监控工具,它是用Java编写的,用于大规模分布式系统监控。它对性能的影响最小(只增加约3%资源利用率),安装agent是无侵入式的,只需要在被测试的Tomcat中加上3句话,打下探针

2017-09-21 14:51:57 10590 2

原创 ES检索结果高亮显示JAVA以及Kibana实现

elasticsearch 高亮显示

2023-03-24 10:10:56 2561

原创 Spel实现自定义注解获取动态入参

开给c端的接口需要鉴权,这里入参的格式种类繁多,但是最终需要的是拿到一个id,当然只有封装入参VO的人才知道哪个字段对应id。所以需要实现的功能就是在切面上由对应的方法传入不同的VO里命名不一样的 “id”。如果是固定字段直接在注解上给固定值就好,这里针对那种需要从入参VO对象进行取值的情况。tips:这里同时定义了一个字段,用于后续传参。同时需要定一个advice类,来对切面进行增强。注意这里的spel表达式要跟入参的参数名相同。这样就可以在注解里动态读取到对应的入参啦。

2022-11-18 10:08:52 2171

原创 Uncaught ReferenceError: SwaggerUi is not defined问题解决

解决SwaggerUi is not defined 问题

2022-09-29 11:35:28 2819

原创 Springboot接入logbook以及logbook配置含义

Logbook 配置项logbook.format.style各配置效果logbook.format.style= curlcurl -v -X POST 'http://localhost:9013/ccapi/work/getWorkOrderList' -H 'accept: application/json;charset=UTF-8' -H 'accept-encoding: gzip, deflate, br' -H 'accept-language: zh-CN,zh;q

2021-11-30 20:54:25 3095

原创 Springboot集成EasyExcel生成xlsx文件

使用easy excel需要先引入对应的依赖包:gradle依赖://easy excelcompile('com.alibaba:easyexcel:2.1.6')maven依赖: <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId>...

2021-08-26 16:02:53 1086

原创 SpringCloud Stream集成Rocketmq

SpringCloud Stream集成Rocketmq首先需要引入依赖包项目使用gradle进行构建依赖包如下://spring cloud streamcompile('com.alibaba.cloud:spring-cloud-starter-stream-rocketmq:2.2.1.RELEASE')application.properties配置如下#rocketmq服务地址,集群多台用';'分隔spring.cloud.stream.rocketmq.bi

2021-07-07 14:08:10 446

原创 Springboot 实现拦截器获取header内容

Springboot 实现拦截器获取header内容项目中遇到一个需求,对接上游系统是涉及到需要增加请求头,请求头的信息是动态获取的,需要动态从下游拿到之后转给上游。分析既然需要动态获取那么只有两种方式:要么每次下游请求过来时从请求头中获取,要么定义统一的拦截器自动获取。实现那么我们就先来实现一下吧。第一种比较简单,直接使用springboot获取请求头的方式,从controller方法入口处使用: @RequestHeader(value = "xxxx",required = f

2021-05-19 14:54:02 3878 2

原创 解决Eureka注册服务中实例info信息无法动态显示$project.artifactId$的问题

1、问题描述虽然在yml中配置了$开头$结尾的变量,但是实际展示时无法动态显示。2、原始的配置springcloud父工程中pom文件中的配置<build> <finalName>******</finalName> <resources> <resource> <directory>src/main/resources</directory>

2020-10-22 17:32:46 941

原创 java中map的深复制与浅复制

map浅复制之用“=”进行赋值简单类型使用Map的putAll方法可以实现深度复制。对象类型进行操作时,复制后的map修改了其中的值,结果原始map也被改动了,这种无法实现深度复制。...

2020-06-15 17:26:36 1111 1

原创 java数组的深度复制、数组复制不影响原数组

我们知道在方法中用到的数组是存在内存中的,对数组的操作都是对对应内存地址上的数据进行操作。如下例子我们看到对于入参的数组实际的操作是针对该内存地址上的数组进行操作,内存中修改了,后续的打印自然也是修改之后的结果。实际中我们经常会用到深度复制,即复制的数组相关的修改、增加、删除操作不影响原始数组。为了实现深度复制数组我们可以借助Arrays.copyof()方法。如下:从运行结果我们可以看到,通过copyof方法复制的数组 进行修改操作不影响原始数组。我们从Arrays.copyo

2020-06-15 16:49:17 2018

原创 java简单的将main方法打成jar包启动

背景:项目需求中遇到一个问题,对外的业务需要不定期生成rsa密钥对出去,简单的rsa密钥对可以直接用工具生成,但是由于业务需求我们需要对生成好的公钥做base64加密。这简单的操作让运营妹子无从下手。也驱动这开发写一个简单的小程序方便大家。背景说完了直奔主题。1、首先我们要做的是建一个java工程。java project。并在该工程中写上你要的实现的简单代码,注意这边使用的是main...

2020-04-21 15:11:38 4340

原创 spring+mybatis多数据源配置(xml版本)

需求是这样,项目中有两个数据库,但是中间有一个商户的配置表需要在从A项目同步到B项目,原先这些是通过接口的形式来完成,但是考虑到出现新增字段后者修改字段需要同时修改接口提供端以及接口调用端。这里采用在同一个项目中采用定时任务去调用两个数据库直接完成从A库到B库的数据复制。这里我使用的是Spring以及Mybatis来完成。设计思想首先得配置两个数据源,在特定的方法调用时手动指...

2020-03-12 16:07:08 2465

原创 Spring mvc+Spring Security集成,以及j_spring_security_check出现404问题的解决

本文采用的是Spring 3.2.18.Release版本,SpringSecurity使用2.0.5.RELEASE,另本文使用的xml的形式配置Spring Securitypom文件如下:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XML...

2020-02-27 15:43:48 3009

原创 corn表达式整理

Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:  (1)Seconds Minutes Hours DayofMonth Month DayofWeek Year  (2)Seconds Minutes Hours DayofMonth Month DayofWeek 一、结构  corn从左到右(用...

2020-01-10 09:27:49 504

原创 git常用命令总结

git从版本库导出项目git clonegit@192.168.70.244:XMCCB/koolyun/paytool.git直接检出全部代码git如果代码出现冲突手动merge1、要保留服务器上的修改git stash将当前的git栈信息打印出来git stash list界面显示stash{0}:xxxxxxstash{0}就是前一步保存的标记...

2019-08-09 16:59:09 190

原创 信息系统项目管理师思维导图

5大过程租启动过程租、计划过程组、执行过程租、监控和控制过程租、收尾过程租各用一句话概括项目管理知识体系十大知识领域:1、整合管理:其作用犹如项链中的那根线;2、范围管理:做且只做该做的事;3、时间管理:让一切按既定的进度进行;4、成本管理:算准钱和花好钱;5、质量管理:目的是满足需求;6、人力资源管理:让团队成员高效率地和你一起干;7、沟通管理:在合适的时间让...

2019-07-31 14:03:41 2122 2

原创 SimpleDateFormat中format方法、parse方法的线程安全问题线程安全问题

实际项目中我们经常会用到SimpleDateFormat用来格式化日期,但是我们没有注意到他的线程安全问题,实际上这是一个线程不安全的类。下面我将用例子证明:网上找了好多都是证明parse方法线程不安全的,我这边证明下format方法也是线程不安全的。通过代码可以看出,首先该类中的SimpleDateFormat以静态成员变量的形式存在,大多数人会想着并发高的时候尽量少创建对象,减轻服...

2019-06-26 09:58:12 2927

原创 CAS实现基于数据库校验的sso单点登陆

1、什么是单点登录单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。我们目前的系统存在诸多子系统,而这些子系统是分别部署在不同的服务器中,那么使用传统方式的session是无法解决的,我们需要使用相关的单点登录技术来解决。2、单点登陆一般流程访问服...

2019-01-23 18:22:13 396

原创 Hex2String操作超长字符串引出的String,StringBuffer,StringBuilder占用内存问题

系统对外提供图片上传接口,但是要求上送的图片需要是Base64的字符串。症状:上送过来的串经过hex2String的时候效率极低经过研究发现是本地hex2String的方法存在问题---------------------old hex 2 String -----------------------public static String bytes2HexString(byte...

2019-01-17 14:09:56 1284

原创 nginx反向代理实现不同域名映射到同一台服务器的80端口

前因:原本两个项目放在两台服务器,域名映射在不通外网ip的80端口。因为预算问题,现在要把两个不同项目放到同一台服务器,都通过域名直接访问(相当于是80端口)。这两个项目都是javaweb的项目前置准备工作--&gt;启动两个服务两个域名需要先解析到同一个外网服务ip上本次需求涉及的项目一台是纯网页不需要tomcat服务启动,另一台需要tomcat启动。如果都是tomcat服务只要放在...

2018-12-27 16:50:48 13066 4

原创 关于Base64String与图片互转中图片无法正常显示的问题

开发中遇到的一个问题,原始需求需要把图片转成base64String上传到接口,接口平台将String写入到sftp,后续再从sftp下载图片。问题:上传的图片下载下来打开报错。可能原因1:图片转成base64String的时候带了前缀src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAoHBwgH..."...

2018-12-27 16:20:08 13674 2

原创 oracle函数索引解决null字段导致索引失效问题

我们知道索引列如果出现null值会导致索引失效。具体情况如下:表中数据如下: 可见storeid列有null值。当执行查询语句:select * from demo  where storeid= '10';时我们通过plsql的sql分析(F5触发)可以看到触发全表查询。那该如何让该在字段有空值的情况下触发索引呢?有两种方法:1、建立函数索引 create index...

2018-08-06 13:56:10 11012 1

原创 oracle 11g 行转列的问题 decode实现与pivot实现

oracle 11g 行转列的问题举一个简单的例子,假设有表名为demo其中只有两列一列为类型names,一列为数量nums。表中数据如下:目标统计出表中apple及orange各自的总数,在一列中显示出来。常规写法:select names,sum(nums) from demo group by names;group完的结果如下:要转到一行中显示则需要使用decode函数(或者case wh...

2018-07-13 18:03:53 1563 1

原创 nginx实现反向代理

nginx反向代理目的是实现外网直接访问内网的内容的一种方式。话不多说。由于是本地演示我这边本地启动两个tomcat 一个挂在8080端口、一个挂在8081端口tomcat改端口这边就不写了第一步:修改本地host文件(C:\Windows\System32\drivers\etc下)增加两个域名的映射,都映射到本地locahost127.0.0.1 www.taotao.com12...

2018-04-25 10:30:13 323

原创 nginx实现简单的图片服务器(windows)+静态文件服务器

需求:能够使用 http://localhost/目录/图片名 访问本地(服务器)已经存在的图片首先需要在本地将nginx跑起来,这里使用默认端口80;在浏览器使用http://localhost看到下面的界面证明nginx启动正常。下面需要修改nginx.conf来实现直接使用http://localhost/upload/1.jpg访问服务器的图片的功能(这里本地就是服务器)。目前我已知的ng...

2018-04-24 17:13:54 11963 7

原创 java中的jxl及poi实现读取、修改、另存excel

java实现读取excel并修改部分内容最终写入到新的文件中pom.xml引入相关的jxl.jar与poi.jarpom文件如下 &lt;dependencies&gt; &lt;!-- https://mvnrepository.com/artifact/net.sourceforge.jexcelapi/jxl --&gt; &lt;dependency&gt; &lt;g...

2018-04-24 16:16:39 7321 3

原创 java实现逐行读取txt文件并写入实体类list中

需求:实现逐行读取txt文件,并写入到实体类的list集合中去代码:package Test;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList...

2018-04-19 13:47:53 11496 2

原创 nginx实现java项目轮询访问的负载均衡

nginx实现负载均衡本地跑了两个tomcat,分别配置端口8080、8081,同时启动两台tomcat。在nginx的conf配置文件中配置如下信息:  upstream tomcatserver1 { server 192.168.88.135:8080; server 192.168.88.135:8081; } serv...

2018-04-11 15:36:02 5533

转载 Java中StringTokenizer类的作用

出处:https://www.cnblogs.com/luhan/p/5968767.htmlStringTokenizer是一个用来分隔String的应用类,相当于VB的split函数。1.构造函数public StringTokenizer(String str)public StringTokenizer(String str, String delim)public StringToken...

2018-02-10 10:36:54 1448

原创 java实现对实体类及JsonObject内部按ASCII码表排序输出

需求:将所有非空参数值的参数按照参数名 ASCII 码从小到大排序(字典序),使用 URL 键值对的格式(即 key1=value1&key2=value2…)拼接成字符串 stringA。特别注意以下重要规则:◆ 参数名 ASCII 码从小到大排序(字典序);◆ 如果参数的值为空不参与签名;以上需求对应的处理代码如下:这里使用反射读取实体类的属性值,做到可以通用。读取出值之后

2018-02-06 10:20:59 7394 5

原创 java实现ftp上传下载 使用FTPClient

java实现ftp上传下载依赖的jar报为commons-net相关pom为: commons-net commons-net 3.6下面是实现代码,及测试main方法package util;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputSt

2018-01-17 14:54:37 400

原创 oracle实现查询某状态标志位最大连续出现次数( row_number() over(PARTITION BY)使用 )

首先讲下需求背景:系统中有一张记录交易流水的表,表结构大致包含:交易流水、交易状态(成功0、失败3、未知2)、交易时间、等等其他业务相关字段。业务场景:交易流水为记录每天交易情况的表,鉴于实际情况可能出现连续交易失败的情况,也可能会有连续成功中间夹着这未知或者失败的情况。业务需求:查出最大连续失败次数。 下图是数据库中部分数据展示,可以看到其中包含连续出现 失败3 的状态码...

2018-01-02 12:40:19 4437 2

原创 java 按顺序 列间用逗号隔开 逐行写入txt文件(使用反射、linkedHashMap实现有序输出)

java生成txt文件。这里有个需求:按顺序导出多列 列之间用逗号隔开。按顺序的实现有两种,使用java反射按属性定义顺序读取字符串、使用linkedHashMap有序map来遍历键值对。支持导出流以及直接输出到指定文件夹下。具体代码如下:package javacommon.file;import java.io.ByteArrayInputStream;impor

2017-12-25 15:52:49 2553

原创 isBlank与isEmpty的区别

常用的判空有如下两种isEmpty(String str)和isBlank(String str)、StringUtils.isEmpty(String str)     一下是二者区别:   //isBlank判断某字符串是否为空或长度为0或由空白符(whitespace)构成              System.out.println("===============isB

2017-12-13 15:33:59 28882 1

原创 java calendar 常用功能总结(SimpleDateFormat 格式化取值)

Calendarjava calendar 笔记使用SimpleDateFormat时格式化时间的 yyyy.MM.dd 为年月日;如果希望格式化时间为12小时制的,则使用hh:mm:ss;而如果希望格式化时间为24小时制的,则使用HH:mm:ss;SimpleDateFormatsdf=newSimpleDateFormat("yyyy-M

2017-12-04 17:50:19 19382

原创 activeMQ延时发送

activeMQ启用延时投递延时投递属性:Property nametypedescriptionAMQ_SCHEDULED_DELAYlong延迟投递的时间AMQ_SCHEDULED_PERIODlong重复投递时间间隔AMQ_SCHEDULED_REPEAT

2017-09-11 10:29:26 3649 3

软考中高项10大管理119个工具和技术总结.pdf

信息系统项目管理师中高项十大管理119个工具与技术总结,包含各个工具与技术的分类,协助记忆

2019-07-31

论文范文.zip

本人2019年上半年参加考试,考前复习论文部分就参考了以上几个范文,最终论文45分贴地过线,特此分享

2019-07-31

cas单点登陆集成到简单maven项目的全部war包

zip中包含两个maven测试demo,demo引用cas服务端,直接导入然后tomcat7:run。就可以启动。cas服务端的包直接导入到项目中,启动tomcat即可。

2019-01-24

CAS单点登陆测试实例demo,源码

zip中包含两个maven测试demo,demo引用cas服务端,直接导入然后tomcat7:run。就可以启动。cas服务端的包直接导入到项目中,启动tomcat即可。

2019-01-24

cas单点登陆cas-server的war包

本资源是cas服务端的war包,内部配置文件常用的修改已经加了备注,直接放到tomcat中就能启动,键入http://localhost:8080/cas/login即可验证

2019-01-24

简单的Spring Boot 基于 Maven 的 Demo

简单的Spring Boot 基于 Maven 的 Demo;简单至极 包含指定端口的配置文件

2017-12-14

64位 tcnative-1.dll

64位 tcnative-1.dll 替换原有的tomcat bin 中的32位 tcnative-1.dll. 、64位 tcnative-1.dll 替换原有的tomcat bin 中的32位 tcnative-1.dll.

2017-09-28

pinpoint1.6.2 col

pinpoint1.6.2 colpinpoint1.6.2 colpinpoint1.6.2 colpinpoint1.6.2 colpinpoint1.6.2 colpinpoint1.6.2 col

2017-09-21

dwz框架源码 粘贴可用

dwz框架源码 粘贴可用 dwz框架源码 粘贴可用 dwz框架源码 粘贴可用 dwz框架源码 粘贴可用 dwz框架源码 粘贴可用

2017-09-08

java实现坦克大战 demo

java实现坦克大战 demojava实现坦克大战 demojava实现坦克大战 demojava实现坦克大战 demojava实现坦克大战 demojava实现坦克大战 demo

2017-09-01

ojdbc14-10.2.0.1.0.jar

如果有需要清下载本jar包 ojdbc14-10.2.0.1.0.jar ojdbc14-10.2.0.1.0.jarojdbc14-10.2.0.1.0.jarxxxxxxxxx

2017-09-01

springMVC+rest+threadpool

使用springmvc实现restful风格,同时整合了threadpool线程池

2017-08-29

maven +Jersey Restful实现源码

maven +Jersey Restful实现源码

2017-08-29

edtFTPj-2.0.3.jar

edtFTPj-2.0.3.jaredtFTPj-2.0.3.jaredtFTPj-2.0.3.jaredtFTPj-2.0.3.jaredtFTPj-2.0.3.jaredtFTPj-2.0.3.jar

2002-04-25

空空如也

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

TA关注的人

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