自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 记一次问题处理对http请求超时时间的运用

问题突然明朗了一些,这个接口超时时间设置的比较长,如果超时的次数比较多,叠加的请求多了,会逐渐耗尽系统资源,导致本系统所有提供的对外接口响应都非常慢。所幸,经过仔细排查,没有漏掉的交易数据。本系统间接调用银行的接口主要有两类,一个是查询类,一个是交易类,这类接口都是用的同一个http请求公共方法(这个方法的超时时间写死了,120S)。最后果断决定,新写一个http请求公共方法,可以传入超时时间,上述查询社保卡余额的接口调用新的方法,并传入较短的超时时间(比如10S),让有问题的发卡行及时抛出超时错误。

2023-01-16 17:01:41 1609 1

原创 JAVA发送HTTP请求的多种方式总结

程序员日常工作中,发送http请求特别常见。本文以Java为例,总结发送http请求的多种方式。 1. HttpURLConnection 使用JDK原生提供的net,无需其他jar包,代码如下: 2. HttpClient 需要用到commons-httpclient-3.1.jar,maven依赖如下: 代码如下: 3. CloseableHttpClient 需要用

2022-06-13 16:58:38 32064 1

原创 java.net.SocketException: No buffer space available (maximum connections reached?): connect

最近,有项目反馈调用第三方接口失败,查不到数据。现场用soapUI工具试了下,点执行按钮,一闪而过,接口没有任何返回值。一开始以为是第三方服务问题,后来查看日志,发现是自己的问题,报错如下: Caused by: java.net.SocketException: No buffer space available (maximum connections reached?): connect,看样子是连接数太多,耗尽了某种资源。 执行命令:netstat -ano (wi

2022-06-13 15:42:38 10900

原创 调用webservice服务方式总结

程序员日常工作中经常涉及到接口的服务调用,其中webservice服务是比较常见的一种服务提供方式。本文以Java为例,总结调用webservice服务的七种方式,希望能对读者提供一定的参考。

2022-06-01 16:56:43 27599 7

原创 微信小程序开发常见问题总结

最近在做微信小程序开发,遇到了一些常见的问题,现总结一下。1、text标签文字首行缩进。.testText{ text-indent:2em;}2、改变radio的默认大小。radio { transform:scale(0.6);} 3、三目运算不起作用。问题原因:标签属性值一定要用双引号,单引号会导致里面的三目运算不起作用。<!-- 这是错误的 --><button clas...

2022-04-09 10:28:36 3328

原创 springboot集成mybatis的几点问题

最近,在springboot集成mybatis的过程中,遇到了几个问题,现总结一下。问题1:找不到bean。Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.read.mybatis.dao.OrderDao',报错截图如下: 问题原因:需要的bean没有生成并注入。...

2022-03-22 09:18:00 541

原创 mongodump备份报错问题

最近,在Mongodb中使用mongodump命令来备份MongoDB数据时,报了个错:uncaught exception: SyntaxError: unexpected token: identifier,如图:看字面意思是:未捕获的异常:SyntaxError:意外的标记,标识符百思不得其解。仔细检查命令语句,不断尝试,还是没有解决。最后通过查资料意识到,bin目录下缺乏mongodump.exe工具,安装MongoDB时用的msi安装版,本身带的工具不是太全,如图:...

2022-03-16 16:46:33 4154 1

原创 ThreadPoolTaskScheduler实现动态管理定时任务

最近,有个项目有需要用到定时任务,所以做了一个动态管理定时任务的模块。本文将从项目背景、需求、选型、思路、具体实现等方面展开介绍。 背景:有个支付类的项目,中间会产生一些中间态的订单,需要有个定时任务轮询确认订单状态。该类项目体量较小,单节点部署,客户比较多,需要简单快速的部署、维护。需求:定时任务能够通过表达式灵活指定执行计划,并支持动态启动、关闭、修改。定时任务模块最好和业务包在一个jar包内,部署简单。 选型:说到定时任务,当下最...

2021-12-20 23:10:56 6457 2

原创 http请求中文参数乱码

对于做后端的朋友来说,httpPost请求用的非常多,在参数传递过程中,中文参数乱码情况经常出现,有时很让我们头疼。最近解决了一些实际工作中的参数乱码问题后,我也做了些总结,现分享给大家。以HttpClient为例,常见的传参方式有:1、UrlEncodedFormEntity,如下面代码片段:nvps = new ArrayList<NameValuePair>();nvps.add(new BasicNameValuePair("name", "张三"));nvps.add

2021-04-12 22:31:11 7273

原创 SpringBoot加载application.properties配置文件的坑

事情的起因是这样的,一次,本人在现场升级程序,升级完成后进行测试,结果接口调用都报了这么个错误:大概意思是https接口需要证书校验,这就奇怪了,项目启动加载的是包外的application.properties配置文件,配置文件里没有配置使用https啊。本人马上检查了下包内的application.properties配置文件,发现包内确实配置了https相关的配置项:明明包外的配置文件优先级高于包内的,为啥包内的一部分配置项起作用了呢,我们了解的配置文件优先级是这样的:这是为.

2021-03-13 23:14:35 829 1

原创 Oracle、MySQL行级锁特点

加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作。在数据库中有两种基本的锁类型:排它锁(Exclusive Locks,即X锁)和共享锁(Share Locks,即S锁)。当数据对象被加上排它锁时,其他的事务不能对它读取和修改。加了共享锁的数据对象可以被其他事务读取,但不能修改。数据库利用这两种基本的锁类型来对数据库的事务进行并发控制。按照锁定的范

2020-12-29 23:15:44 259 1

原创 支付平台延时轮询/通知机制

在支付业务中经常会有一些轮询或者异步通知的场景,尤其是做为支付平台,往往接入多种支付渠道,需要轮询渠道交易结果或者为接入方提供标准的交易结果通知机制。有两种比较常见的场景:一、支付平台向渠道方下单成功后,由于不知道用户有没有支付,可能需要主动轮询渠道方获取交易结果。二、支付平台拿到交易结果后,可能需要以某种机制通知接入方,类似于支付宝/微信的通知机制(例如:通过一定的策略定期发起通知,如果接收方返回success,则退出通知,否则一直定期通知直到超过最大通知时效(如:通知频率为15s/15s/30s/3m/

2020-12-23 21:45:23 2944

原创 服务限流之redis实现

项目中有些场景可能需要服务限流,服务限流有多种实现方式,本文将做一个简单示例,采用计数器的方式,通过redis实现。需求举例:针对某个商户,限制一分钟内访问平台服务不超过10次。主要思路: 基于redis做一个计数器,可以以商户编号为key,初始值为0,设置失效时间为一分钟。该商户每访问服务一次,计数加1,如果不超过10,允许继续访问,超过10,则直接返回拒绝访问提示。当超过一分钟时,原有的设置的键值失效,相当于计数器重置,又开始新的一分钟监控。实现过程:Springboot整合redis详

2020-06-21 00:04:52 375

原创 Java调用存储过程的几种情况

项目中用到了Java调用存储过程,趟过了几个坑,现分享一下常用的几种情形。下面的例子用的JdbcTemplate对持久层进行操作,有关JdbcTemplate的配置本文不再做详细说明,如不清楚,可参考本人另一篇博文SpringBoot使用JdbcTemplate多种方式介绍。第一种情况:有普通返回值。存储过程示例:过程定义(获取学生信息):PROCEDURE proc_get_student(sno in VARCHAR2 --学号,name in out VARCHAR2 --

2020-06-10 15:25:52 508

原创 SpringBoot使用JdbcTemplate多种方式介绍

最近在一个springboot项目中使用到了JdbcTemplate,现将积累的一部分使用经验分享给大家。本文总结了springboot使用JdbcTemplate的三种方式。第一种:依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-test</artifact

2020-06-04 16:07:09 2237

原创 Oracle blob字段中文乱码

项目中,有些业务数据存放在blob类型的字段中,常遇到的一个问题就是中文乱码。本人参与的一个项目,在windows环境下,中文正常显示,有一天切换到了Linux服务器上,同样的代码,竟然出现了中文乱码。乱码并不可怕,解决方式无非是统一编码。于是乎,先查看了一下用的Oracle数据库的字符集select * from nls_database_parameters where param...

2020-04-22 16:16:34 8490 1

原创 post请求返回数据中包含文件

最近在工作中遇到一个需求,post请求查询某个业务记录,返回的数据中除包含该记录的基本信息外,还包含一个PDF文件。调用post请求后,需要将返回结果保存到数据库中,同时将PDF文件存到本地硬盘。经过一番尝试,解决了此需求,现将代码分享出来:客户端代码:public static void main(String[] args) { httpPost(); }...

2019-12-22 22:47:51 2318

原创 Caused by: java.lang.ClassNotFoundException: org.hamcrest.SelfDescribing

最近做的一个spring MVC项目,想用junit做单元测试,执行的时候报了一个错误:java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(C...

2019-01-25 14:00:25 3666 1

原创 mybatis查询结果返回至实体类

近期,利用mybatis做一个简单查询,先看主要代码:Service层:package com.example1.service;import java.util.List;import org.apache.log4j.Logger;import org.springframework.beans.factory.annotation.Autowired;import or...

2019-01-22 17:51:12 20806

原创 map与java对象相互转换

最近,研究map与java对象之间的相互转换,总结了5种方法:第一种:使用org.apache.commons.beanutils转换用到的主要jar包:commons-beanutils-1.9.3.jar//map转java对象public static Object mapToObject(Map&lt;String, Object&gt; map, Class&lt;?&g...

2019-01-22 17:01:21 32199 4

原创 Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.Transformer

今天做了一个java对象转Map的例子,执行的时候报错了,如下:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections/Transformer at java.lang.ClassLoader.defineClass1(Native Method) at java....

2019-01-22 16:25:28 5835 2

原创 Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type

今天做了一个Map转java对象的例子,用了一种比较简单的方法,就是通过net.sf.cglib.beans.BeanMap类中的方法进行转换。结果在一切准备就绪,执行的时候报错了,如下:Exception in thread "main" java.lang.NoClassDefFoundError: org/objectweb/asm/Type at net.sf.cglib.core...

2019-01-22 14:30:42 2964

原创 Spring MVC Did not find handler method for 页面显示404

最近做的一个Spring MVC项目,配置完成后,启动项目,控制台没有报错。通过浏览器调用某个controller里的get方法时,页面显示404错误,同时控制台报错如下:[2019-01-21 20:24:31,641] [http-8080-1] DispatcherServlet with name 'firstweb' processing GET request for [/fir...

2019-01-21 21:08:21 2050

原创 错误: 编码GBK的不可映射字符

今天在用命令窗口做java练习时,遇到一个情况,javac编译时报错:D:\class&gt;javac GreetingClient.javaGreetingClient.java:17: 错误: 编码GBK的不可映射字符 System.out.println("杩炴帴鍒颁富鏈猴細" + serverName + " 锛岀鍙e彿锛?" ...

2019-01-17 14:37:45 1253

原创 @Transactional注解不起作用

最近,在做springMVC框架练习时,体验了几种事务管理的方式,其中在用@Transactional注解实现事务管理时,遇到了一些问题,最终得到了解决,现跟大家分享下。先介绍下我做练习用的例子:在数据库中建了个学生信息表(t_student),通过程序插入一条数据,期间通过@Transactional注解实现事务的管理。下面是service层的主要代码块:@Service@Trans...

2019-01-14 21:58:21 3088 5

原创 java.lang.IncompatibleClassChangeError: class org.springframework.core.type.classreading.ClassMetada

最近在做spring框架练习时,启动程序报了个错,摘取部分片段如下:Caused by: java.lang.IncompatibleClassChangeError: class org.springframework.core.type.classreading.ClassMetadataReadingVisitor has interface org.springframework.a...

2019-01-14 21:47:33 2211

原创 java.lang.NoSuchMethodError: org.springframework.core.annotation.AnnotationUtils.isInJavaLangAnnotat

最近在做spring框架练习时,遇到启动程序报错,摘取部分片段如下:Caused by: java.lang.NoSuchMethodError: org.springframework.core.annotation.AnnotationUtils.isInJavaLangAnnotationPackage(Ljava/lang/annotation/Annotation;)Z at o...

2019-01-14 21:11:46 14646

原创 The type org.springframework.context.support.AbstractApplicationContext cannot be resolved. It is in

最近在学习spring框架中,在myeclipse中做hello world小例子,使用jdk6,下载了最新版本的spring-framework-5.1.3.RELEASE,代码如下:package com.read;import org.springframework.context.ApplicationContext;import org.springframework.con...

2019-01-08 16:09:10 4102

原创 计数排序Java示例

计数排序是一个非基于比较的排序算法,计数排序的基本思想是:对于给定的输入序列中的每一个元素x,确定该序列中值小于x的元素的个数。有了这个信息之后,就可以将x直接存放到最终的输出序列的正确位置上。例如,如果输入序列中只有10个元素的值小于x的值,则x可以直接存放在输出序列的第11个位置上。算法过程:假设输入的线性表L的长度为n,L=L1,L2,..,Ln;线性表的元素属于有限偏序集S,|S|...

2018-11-09 10:04:45 207

原创 堆排序Java示例

堆排序是指利用堆这种数据结构所设计的一种排序算法。堆的特点是子结点总是小于(或者大于)它的父节点,根节点最大的堆叫做最大堆,根节点最小的堆叫做最小堆。根据升序或降序的排序需求选择使用最大堆还是最小堆,本文以升序排列为例,所以选用最大堆。堆排序的基本思想是:将原始序列先调整为一个最大堆,这样根顶元素就是整个序列的最大值;将其与末尾元素交换,这样该序列最大元素就归位了;将剩下的N-1个元素再调整为...

2018-11-08 13:53:23 210

原创 归并排序java示例

归并排序是建立在归并操作上的一种有效的排序算法,该算法采用分治法的思想。分:将待排序序列拆分成一个个子序列。治:将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。可以采用递归的方式将待排序序列拆分,然后进行归并操作。归并操作的工作原理如下:第一步:申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列。第二步:设定两个指针,最初位置分别为...

2018-11-08 09:03:34 224

原创 Java实现快速排序

快速排序是经典排序算法之一,它的基本思想是:通过一趟排序使要排序的数据分为两部分,其中一部分的所有数据比另外一部分的所有数据都要小,然后再用此方法对这两部分继续排序。通过递归,最终使整个数据达到有序序列,其中也有二分的思想。设要排序的数组是arr[0]……arr[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,...

2018-11-06 21:32:06 190

原创 Java实现成语接龙

近来,想做一些算法练习,无意中想到了我们非常熟悉的成语接龙游戏(本次以四字成语为例),就想着如何用java实现成龙接龙的关键逻辑。说干就干,于是很快梳理了一下思路:1、首先在数据库构建一个表,导入大量的成语,作为成语储备。(这是基础)2、思考接龙逻辑,实现成语接龙。(这是核心)首先,我们来构建成语库,根据成语接龙的游戏规则,思考了下,表至少需要以下字段:成语内容、成语首字、成语末尾字。...

2018-11-06 09:40:07 8172 113

原创 Jdbc Template常用的几种查询

近期项目中用到Jdbc Template,常用到的几种查询,跟大家分享下。首先,Jdbc Template需要的jar包:以maven工程为例,需添加如下依赖: &lt;dependency&gt; &lt;groupId&gt;mysql&lt;/groupId&gt; &lt;artifactId&gt;mysql...

2018-10-29 15:51:50 2846

原创 Spring Boot 多数据源报错问题

最近做了个小项目,涉及到多个数据源,觉得挺容易,于是愉快的在spring.xml文件里,加上了如下代码:&lt;!-- 数据源1 --&gt; &lt;bean id="DataSource1" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="clo...

2018-10-27 11:47:33 3062

原创 Spring Data JPA 函数的用法

在今天的工作中,有一个分组查询需要按照日期分组统计业务数据。其中有个棘手的问题是业务时间是按照Calendar类型存的,如果是string类型的话,就可以直接截取年-月-日,然后按年-月-日group by就OK了。但是现在,涉及到时间的转换。想了半天,发现CriteriaBuilder里有个function方法,或许可以解决。网上翻了翻资料,没找到很合适的案例,不断尝试了下,问题解决了,现结合一...

2018-08-23 19:50:40 15989 1

原创 java经典算法-水仙花数

水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。用java实现其实很简单,遍历所有的三位数,设百位数为i,i的取值范围是1-9,设十位数为j,j的取值范围是0-9,设个位数为n,n的取值范围是0-9。实现代码如下: public static void main(String[] args) { ...

2018-07-29 10:29:45 1180

原创 Spring Data JPA分页查询

使用Spring Data JPA的朋友,在实际工作中经常需要用到分页查询。下面介绍一个简单的分页查询的例子:查询学生信息,每页10行数据,并按成绩排序。先看数据表: 实现:repo需要继承PagingAndSortingRepository,如下:public interface StudentRepo extends CrudRepository&lt;StudentEntity...

2018-07-28 22:46:02 3245 2

原创 java经典算法-兔子问题

问题:有一只兔子,从第3个月开始每月生1只兔子,小兔子长到第3个月开始每个月也会生1只兔子,假如兔子都不死,问每个月的兔子总数是多少?分析:乍一看觉得问题挺复杂,仔细分析之后发现,兔龄2个月及2个月以上的兔子在新的1个月每只都会生1只兔子。对于新的这个月来说,之前兔龄2个月及2个月以上的兔子就是2个月前的兔子总数,也就是说新的1个月相比上1个月增加的兔子数是2个月前的兔子数,其实就是当月的兔子...

2018-07-28 20:28:58 12893

原创 Spring Data JPA复杂动态查询

Spring Data JPA其诸多优点给我们的工作带来了很多便利,但对于接触不久的同学来说,有些情况让我们头疼。一些复杂的查询,比如涉及到聚合函数、动态多条件等,着实有些棘手。在不够了解的情况下,觉得Spring Data JPA在这方面不太人性化,有时候我们干脆使用原生sql粗暴的来解决这类查询问题。但这与Spring Data JPA的初衷是相悖的,在不断的学习中,慢慢发现Spring Da...

2018-07-28 00:33:54 9490 6

空空如也

空空如也

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

TA关注的人

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