- 博客(39)
- 收藏
- 关注
原创 简单方式调用WebService服务
1. 下载WebServiceStudio.exe并安装2. 打开软件在WSDL EndPoint中输入服务提供者提供的Endpoint address,这个地址就是访问地址,当然也可能是其他形式的,输入后别忘了添加?wsdl
2023-01-12 18:18:51
1038
原创 ScheduledExecutorService通过数据库控制启停
如何优雅的通过数据库控制ScheduledExecutorService周期任务的启停
2022-12-06 18:09:24
537
原创 http://mirrors.tencentyun.com/epel/7/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - “Could not reso
使用腾讯云安装软件报错:http://mirrors.tencentyun.com/epel/7/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: mirrors.tencentyun.com; 未知的错误"接着显示:One of the configured repositories failed (EPEL for redhat/centos 7 - x86_64), and yum doe
2022-02-17 15:18:26
2896
原创 使用java-sizeof估算对象占用内存的大小
实际开发中,如果在内存中一次性放入大量的数据,一旦超过内存设置的最大值,很容易出现堆溢出的情况,在当前环境允许的情况下,通过模拟对象估算生产实际对象在内存中占用空间大小就显得很有必要了。问题:批处理数据时使用lambda同步流导致CPU飙满,内存占用超过90%,极大侵占了其他的业务处理的资源解决方式:改写数据处理方式,控制内存占用量和CPU使用量关键点:确定数据处理规模,估算数据在内存中占用的空间大小,适时触发GC回收机制,及时清理结果。首先,模拟数据量在内存中占用的大小:1.添加依赖
2021-12-20 11:04:44
1246
原创 mybatis-plus集合判空避坑
昨天发现一个鬼畜问题,测试环境和生产的配置互换后,测试后把环境切换回测试就一直报错,原因是用户表中生的一个用户生成了两个openId,getOne后报错,于是做出了一些改变:QueryWrapper<MiniproUser> wrapper = new QueryWrapper<MiniproUser>().eq("openid", loginResult.getOpenid());MiniproUser user = this.list(wrapper) == n
2021-10-28 11:48:31
1993
原创 返回排除指定日期的下拉列表
有一场景,在指定的某个时间段不能预约服务,预约日期从当前日期算起往后30天。如果日期列表让前端渲染,就需要发送请求获取不能预约的日期列表,然后前端进行排除展示,作为小程序来说可能比较影响用户体验,既然都是发送一次请求,倒不如后端处理后直接返回给前端,前端省去了一个步骤。 /** * 获取当前时间往后30天的日期(yyyy-mm-dd格式字符串) * @param exculude 排除的日期列表 * @return */ public stat
2021-10-19 14:05:23
100
原创 解决使用lambda操作集合报 无法推断类型变量、参数不匹配的问题
项目中创建形如以下的类:@Datapublic class A{ private Long id; private List<B> b; @Data public static class B{ private String id; private String name;}然后项目中对此类型的集合进行数据筛选,当然,普通循环遍历很容易实现,但是用lambda更加简洁。使用lambda后,报出了如下错误:Error:(310, 21) java
2021-05-12 12:07:02
8972
2
原创 编码格式问题 错误:JSON parse error: Invalid UTF-8 middle byte 0x3f
接口因为编码不一致导致出错:org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Invalid UTF-8 middle byte 0x3f; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Invalid UTF-8 middle byte 0x3f at [Source: (Pus
2021-04-29 15:41:40
20027
5
原创 Oracle三班倒分时段查询数据的一种实现方式
现有库表如下:需求:在任意时间显示上一班车间的库存率情况,并用class字段进行标识。班次安排:08:15:00~16:15:0016:15:00~00:15:0000:15:00~08:15:00需求分析:如何按照不同的时间段将目标数据筛选出来? 目标数据筛选出来后怎么拿到当前时间上个班次的数据?需求实现:由于仅仅考虑当前时间的上个班次,因此对当前时间来说,确定上个班次的时间段筛选数据即可,有三个班次,需要做大量判断。考虑到班次是固定的,时间跨度上...
2021-02-28 22:37:36
810
原创 设置Win10 输入法默认简体中文
平时用快捷键比较多,本来使用的第三方输入法,但是对于不定时抽风的win10来说,可能偶尔第三方输入法用不了,只能用微软自带输入法,但是我输入法已经是繁体了,不想重启,就好好设置一下:如果没有用繁体的需要,尽量把热键给关掉,省心。win10菜单和设置隐藏太深,什么时候改进一下呢!win7时代解决设置问题需要1分钟,win10需要3分钟,还得上网查,更可笑的是win10也分版本,就算用搜索搜出的设置都不一样,郁闷。...
2020-12-17 15:57:45
1743
1
原创 封装RabbitMQ工具类出现required a bean of type ‘java.lang.String‘ that could not be found
封装RabbitMQ工具类过程中,报了required a bean of type 'java.lang.String' that could not be found这个问题:回看代码很容易发现在参数这里出现的问题:继续往下看:问题已经很明白了,由于疏忽,在注册Bean的过程中,参数并没有被spring托管,导致参数不能实例化注入到方法中,通过方法创建的Bean自然在没有参数的情况下创建Bean被spring托管。因此,在创建Bean的过程中,在Bean注册过程中把参数直接传入即
2020-11-23 15:55:03
9987
原创 记一次存储过程和prepareStatement执行速度的比较
这两天在存储过程和prepareStatement的选择上栽了个跟头,记录一下。需求是终端通过网关把数据放入redis中,综合考虑决定使用redis的发布订阅模式来接收数据入库,考虑到获取数量的不确定和多线程的安全性,最终决定了使用linkedblockingqueue来进行二次接受redis数据,防止直接接收redis订阅消息处理不及导致的数据丢失,为了提高数据的写入速度,创建线程池并行执行入库操作。在决定使用这种方式前其实测试过直接接收数据通过存储过程入库的方式,通过比较插入数据的数据量和实际入
2020-11-10 17:57:53
381
原创 去除接口返回字段的空值字段
写接口时,按需返回所需要的字段值。一般情况下会写多个DTO和DO去请求或者返回对象,使接口信息简洁,如果使用fastjson提供的注解,会少去很多麻烦。首先,添加fastjson依赖:<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>
2020-10-23 17:10:55
954
原创 安卓客户端访问服务器接口的登录认证的一种实现方式
sessionId的生成和利用浏览器在第一次请求服务器时,服务器响应请求的同时会生成一个sessionId返回给浏览器,这个sessionId会保存在浏览器的cookie中,由于浏览器测试不太方便,使用POSTMAN代替。浏览器端如下:服务器端如下:很明显能够看出来,sessionId架起了客户端与服务器的沟通桥梁,使得辨别请求用户身份成为了可能。客户端在请求后会保存sessionId到cookie中,而服务器端也可以在sessionId指向的session中保存一些用户信息。不同用户每
2020-10-13 15:56:54
1042
原创 Cause: java.sql.SQLException: Data truncated for column ‘XXX‘ at row X问题
由于业务需要在持久化数据时添加一个字段,结果测试就出现了以下问题:"org.springframework.dao.DataIntegrityViolationException: \r\n### Error updating database. Cause: java.sql.SQLException: Data truncated for column 'VIDEO_STATUS' at row 1\r\n### The error may exist in file [E:\\video-co
2020-10-09 15:35:37
5156
原创 spring项目的启动过程
下边利用tomcat启动spring项目来看看启动过程中发生了什么:项目启动过程比较长,本想着粘到编辑器中做解析,无奈字数超限,于是转为图片,结果超出长度,不得已做了二次截图才上传成功,项目启动的主要行为大概都截到了,可以参考一下。总结一下tomcat启动加载顺序:1.启动tomcat容器catalina,catalina 就是Tomcat服务器使用的 Apache实现的servlet容器的名字2.容器监听日志打印出当前运行系统
2020-07-02 19:22:40
3908
原创 Exception in thread "main" java.lang.SecurityException
工作时为了测试写的工具类好不好用,单独写了一个main方法进行测试,于是报了以下错误:Exception in thread "main" java.lang.SecurityException: Prohibited package name: java.poi.test at java.lang.ClassLoader.preDefineClass(ClassLoader.java:6...
2020-02-17 15:12:25
707
原创 POI动态合并下载文件的单元格
最近在做图表报表相关的开发时,遇到了一个问题:页面上展示的Excel在下载打开后发现同一类别下的单元格没有合并,是一行一行的状态:而预计的效果是要和页面上展示的一样:因为这块展示功能的数据是从数据库中取出来在页面动态展示的,不能确保每次展示的数据都是同一种合并情况,所以想要在后端写死不可能了,接下来分析一下下载合并的需求:把相同疑点编号的数据行进行合并,合并0~6以及第11列的...
2020-01-20 16:41:44
420
2
原创 java awt实现随机选课
朋友选课犯了难,我说不如给你写个抓阄程序吧,看天意,可以啊,于是说干就干。以下是源码,供参考:public class SelectClass extends JFrame { private static final long serialVersionUID = 1L; JPanel pn1 = null; JPanel pn2; JPanel pn3; JTextArea t...
2019-06-21 14:41:13
204
原创 IP Hash负载均衡算法
/** * IP Hash负载均衡算法 * * @author ZhaoFang * */class IpHash { //remoteIp为获取到的请求地址 public static String ipHash(String remoteIp) { //此Map结合存放要被分配处理业务的IP地址 Map<String, Integer>...
2019-06-15 09:13:04
2918
原创 重做系统后查不到jdk版本
由于本人Java,maven,tomcat都没装在C盘,所以做系统很随便,不过这次电脑重做了一下系统,恢复了一下环境变量,却死活找不到jdk,提示不是内部或者外部命令,于是使用了如下方法解决了。前提是Java安装没有问题,环境变量没有配错的情况下。1.打开运行CMD2.输入如下命令依次执行,“=”后边的地址和在环境配置中的地址相对应3.再次使用命令java -version后就正常...
2018-11-04 18:24:50
972
2
原创 dubbo-admin的安装
1.从网上下载打包好的dubbo-admin war包,如果不是打包好的,需要在命令提示行中进入到dubbo-admin目录下,使用mvn package命令手动打包,之后会在target文件夹下出现一个war包;2.把war包放在tomcat安装目录的webapps文件夹下,在tomcat的bin目录下启动tomcat,此时会在webapps目录下多出一个和war包同名的文件夹:3....
2018-10-10 10:38:45
677
原创 Linux常用资源查看命令
首先,附上JVM内存图,以此作为基准来看进程对资源的占用情况。1.使用ps -ef|grep jar 命令查看进程,接着,使用jmap -heap PID(25263)命令对对空间使用情况做一个了解:t-zyfs@t-zyfs-app-001:/zyfs/application>jmap -heap 25263Attaching to process ID 25263, pl...
2018-10-09 16:00:24
627
原创 org.eclipse.swt.SWTError: No more handles的解决
在线安装完一些插件后发现报出的这个问题,问题的出现困扰了我好多天,如果把组件全部删掉就太蠢了,这些组件下载安装可不容易,网上各种方法:删除workspace配置文件的一些内容、给ini文件添加配置,等等试过来还是不行。捣鼓了好几天,终于给解决了。先说一下症状:org.eclipse.swt.SWTError: No more handles......报这个错误的情况和原因很多,不同的...
2018-09-28 17:27:06
16306
2
原创 安装Jenkins
1.打开官网:https://jenkins.io/2.点击进入下载页:3.下载Java通用war包:4.把下载的war包放在自定义的目录,这里我放在了E:\JavaTool\Jenkins.war下5.打开CMD,运行以下命令:等待安装完毕。6.打开浏览器,访问Jenkins:http://localhost:8080,如下所示:7.复制页面中玫红色字...
2018-09-25 16:52:57
129
翻译 dubbo和spring cloud该选哪个?
dubbo和spring cloud作为当下比较流行的两种开发框架,相信在最初的学习或者开发选型时会纠结于于学习哪个框架。下边就来从横向和纵向分别对比一下这两者之间的异同,以便对这两种框架有更深入的理解。在对比之前,我们先来看看这两者之间分别有什么特点:Dubbo:Dubbo是一个阿里巴巴开源出来的一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理...
2018-09-25 15:21:40
5470
转载 CentOS7使用firewalld打开关闭防火墙与端口
1、firewalld的基本使用启动: systemctl start firewalld关闭: systemctl stop firewalld查看状态: systemctl status firewalld 开机禁用 : systemctl disable firewalld开机启用 : systemctl enable firewalld 2.systemct...
2018-09-25 14:04:04
81
原创 eclipse下安装fastdfs-client-java
fastdfs-client-java这个jar包在中央仓库找不到,不过为了方便的在本地使用,于是在官网下载了fastdfs-client-java这个源码工程,下载下来后目录结构是这样的:接下来要生成相应的jar包,之后安装进本地仓库即可。不过在进行操作之前,首先确保eclipse中有ant工具,怎么看很容易,在项目中的build.xml上右键--》run as--》Ant Build,...
2018-09-13 15:32:09
995
原创 eclipse debug属性值标红的几种情况
今天改着项目,Ctrl+G时项目自动退出了,重启呗。重启完之后照常启动本地zookeeper,app、web,再次打开浏览器调试,问题开始出现了:页面报500;后台报空,于是开始排查原因,debug一下,一看设置的俩值都标红,结果是封装返回对象的List集合的结果为空,这就说明这两个值不起作用了。网上有几种说法:1.可能在update的时候,mapping.xml文件有where条...
2018-09-10 17:11:40
2701
原创 rabbitmq的使用(一)
由于初次使用,官方文档是个不错的参考,于是打开文档,看了一下介绍,写了一个demo。很简单,目录结构如下:为了方便起见,我这里直接创建的maven项目,为使看着方便,详细注释已经加在了代码中。首先添加pom依赖: <dependency> <groupId>org.springframework.amqp</groupId> <artif...
2018-09-05 18:09:21
282
原创 rabbitmq的使用:安装(二)
上节中erl已经安装好了,接下来废话不多说,安装rabbitmq。默认下一步,我还是选择了安装在D盘:出现弹框都点击“允许”:之后点击下一步,finish就算安装完成了。打开安装目录,第一层,没有启动项:再点开文件夹,最终在sbin目录下找到了启动的bat文件,启动rabbitmq-server.bat:哎,报错了,打开服务看看有没有rabbitmq服务...
2018-09-05 16:29:54
170
原创 rabbitmq的使用:安装(一)
今天想试着用rabbitmq做个demo,于是乎就先安装一下rabbitmq呗,打开下载地址:http://www.rabbitmq.com/install-windows.html下载完了,点击安装,却弹出了这么个窗口:不用说,缺少了安装rabbitmq的环境,按照提示,又下载了Erlang,附上地址:http://www.erlang.org/打开之后又是一个页面,...
2018-09-05 15:44:06
225
原创 MySQL 使用存储过程插入千万数据
由于项目有数据导入数据库的需要,因此,准备一些测试数据也是很有必要的。我从公司服务器上导出了一张中间表,字段不多,数据量960w多点,用作平时练手,不过随着使用的深入,发现这点数据量已经不能满足我的需要了,决定动手写个存储过程人工增加点数据量,废话不多说了,看图,这时导出时的数据量,就是没增加前的数据量:导入到本地数据库后,试着查询了一下count,速度在15s左右,还能接受,查询中位的一...
2018-09-04 18:04:29
2671
原创 springboot中使用redis
项目目录:1.新建springboot项目,在pom文件中加入redis相关的依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId&...
2018-08-21 17:46:17
171
原创 logback常用配置说明
最近接手了一个门户系统的项目,写代码之余顺带参观了解一下项目的具体情况,今天先记录一下logback,这个项目是使用springboot构建的,摘取其中一个logback的配置文件解读一下,相关注释放在了代码区内,以便查看:<?xml version="1.0" encoding="UTF-8"?><configuration> <!-- 测试环境value="/...
2018-07-11 10:36:24
1298
原创 项目为什么要使用jar或war进行打包发布?区别是什么?
在做项目时,通常对即将要发布的项目打成两种类型的包:jar和war。那么究竟jar和war有什么区别呢? 回顾一下我们在做项目时,一般将项目分为两层:服务层和表现层(视图层),通常我们把服务层打包成jar,而把视图层的包打成war包。通过仔细对比可以发现:jar包中包含了你写程序的所有服务或者第三方类库,它通常是作为幕后工作者,为视图层用户与之交换数据处理的一个服务者,jar文件格式...
2018-07-10 23:26:34
25289
3
原创 java调用cmd命令
java程序运行在JVM虚拟机上,由于之前需要把分段的csv文件合并并上传插入数据库,感觉用java编写的程序合并速度太慢,好在Windows系统支持csv文件合并,于是换了种方式进行合并,下边是使用的方法1.java执行连续执行多条cmd命令命令之间用&连接例如:Process p = Runtime.getRuntime().exec("cmd /c d: & cd bin/"...
2018-06-25 23:29:53
283
转载 dubbo标签
dubbo的常用标签现大致整理一下,具体使用以后再丰富。<dubbo:service/> 服务配置,用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心。<dubbo:reference/> 引用配置,用于创建一个远程服务代理,一个引用可以指向多个注册中心。<dubbo:protocol/> 协议配置,用于配置提供服务...
2018-06-25 23:11:33
120
原创 冒泡排序
冒泡排序是java基础学习的基本功,综合性相对较强,也很锻炼逻辑能力,综合了数组、for循环以及基本的排序思想。public class MAOPAO { public static void main(String[] args) { int[] a = { 2, 5, 8, 20, 0, 1, 4, 3, 10, 13 }; int t = 0; for (int i = 0; ...
2018-06-25 23:08:15
70
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人