
java开发步步为营
文章平均质量分 61
志飞
技术总结,方便参考
展开
-
Android中RSA公钥加密后Java服务端私钥无法解密问题解决
工作中经常需要Android客户端使用RSA公钥加密敏感数据,服务端再使用配套的RSA私钥解密数据,最近碰到一个问题,使用RSA加密后服务端无法解密,查阅相关资料后,发现是这个问题:RSA操作的填充方式不对。android系统的RSA实现是"RSA/None/NoPadding",而标准JDK实现是"RSA/None/PKCS1Padding" ,那解决方法是加解密填充方法改成一致呗。比如填充方式统一改成:RSA/ECB/PKCS1Padding。原创 2024-06-23 21:23:59 · 625 阅读 · 0 评论 -
HttpClient4使用连接池
httpclient连接池的使用原创 2024-06-12 18:08:44 · 469 阅读 · 0 评论 -
静态代码块,非静态代码块,构造函数的执行顺序?
父类的优先执行,静态代码块优先执行,静态代码块>非静态代码块>构造函数>被调用方法。原创 2024-05-13 09:47:14 · 242 阅读 · 0 评论 -
jdbc批量插入或更新数据
mybatis可以批量插入或更新数据,不过mybatis底层也是基于jdbc来实现的,如何使用jdbc批量操作数据?原创 2023-11-23 17:49:26 · 785 阅读 · 1 评论 -
多线程工具类ExecutorService的使用(所有任务执行完成后获取最终结果)
我们经常会有这种需求,比如APP首页,需要同时加载20多个接口,你怎么做?一个个按顺序调用接口吗?如果网络通畅还好,如果网络不好,你可能会让首页加载几分钟,用户体验肯定不好,那么我们就需要使用多线程来做。那假设其中有几个接口需要都执行完了,你才能继续执行后面的代码,怎么做?那这时候就需要 ExecutorService中的 Future submit(Callable task);方法了。原创 2023-11-23 15:43:44 · 892 阅读 · 0 评论 -
httpclient5 工具类
最近公司升级httpclient,从httpclient-4.3.2.jar升级到httpclient5-5.1.3.jar,写了个工具类供参考,可以去mvn仓库下载。4、不论服务端是阻塞还是异步的实现,httpclient5均能支持服务端的过滤。从支持HHTP/2到新的连接池实现。从版本号的跳跃和包名和groupId的变更都显示着这次的变动非常之大。6、使用严格连接有限保证的方式重构连接池的实现。通过减少全局连接池的锁,连接池在高并发下获得更好的性能。7、新的不严格连接有限保证连接池的实现。原创 2022-12-08 15:25:35 · 4691 阅读 · 0 评论 -
springboot集成jsp
本来我想放在resources/templates目录下面,发现启动后jsp页面找不到,那只能新建webapp文件夹,和resources同一级。file-->project structure-->modules-->web +刚才新增的webapp文件夹。如果启动后还访问不了,那么pom.xml build里面加上resources这段试一下。一般这样就可以了,springboot,我用的是2.7.1的。4.pom.xml添加相关依赖。5.测试页面test.jsp。#spring mvc配置jsp。原创 2022-10-08 22:45:58 · 832 阅读 · 0 评论 -
java动态代理两种实现方式
java.lang.reflect.InvocationHandler和java.lang.reflect.Proxy;代理顾名思义就是代理别人完成某件任务,比如张三代理李四去交物业费。张三就是代理人,李四是被代理人,代理分为静态代理(编译后即产生代理class)和动态代理(需要运行时才产生代理class)。本文主要写动态代理如何实现。原创 2022-09-20 14:31:40 · 2454 阅读 · 0 评论 -
idea自定义maven配置
为什么要自定义,如果默认本地仓库放c盘,系统盘很快就会满了,系统盘满了,系统就越来越慢了,另外连默认的maven仓库可能会比较慢,连接国内的会比较快一点。目前下载挺快,打包都正常的settings.xml分享给大家。原创 2022-09-16 11:41:17 · 196 阅读 · 0 评论 -
idea集成mybatisx自动生成dao代码
mybatisx插件是idea开发工具中挺好用的dao插件,之前eclipse中使用的是mybatis generator,搜了一下idea插件市场没有,mybatisx看了下应该是国人开发的,使用教程,我这里就再写了,人家官网已经有了,我把地址发一下,大家可以自行参考:MybatisX快速开发插件 | MyBatis-Plus原创 2022-09-08 10:26:43 · 781 阅读 · 0 评论 -
windows和linux下安装memcached
32位系统1.2.5版本http//static.runoob.com/download/memcached-1.2.5-win32-bin.zip。32位系统1.2.6版本http//static.runoob.com/download/memcached-1.2.6-win32-bin.zip。32位系统1.4.4版本http//static.runoob.com/download/memcached-win32-1.4.4-14.zip。启动,默认以11211端口运行。...原创 2022-08-02 16:57:43 · 480 阅读 · 0 评论 -
将jar添加到本地mvn仓库
验证maven是否配置成功cmd-->mvn-version)2、跳转到jar所在文件夹执行命令行,当然得事先配置mvn环境变量。MAVEN_HOME(maven位置)M2_HOME(maven位置)通过gav三个名称定义一个jar。原创 2022-07-28 15:59:40 · 348 阅读 · 0 评论 -
java强应用,软引用,弱引用,虚引用的区别
软引用是通过SoftRefrence实现的,它的生命周期比强引用短,在内存不足,抛出OOM之前,垃圾回收器会回收软引用引用的对象。虚引用常见的使用场景是跟踪对象被垃圾回收的活动,当一个虚引用关联的对象被垃圾回收器回收之前会收到一条系统通知。如果一个对象只被虚引用引用,我们无法通过虚引用来访问这个对象的任何属性和方法。另外提示一下软引用和弱引用不能同时使用,否则gc后发现弱引用引用的对象还是存在的,因为软引用只有在oom后对象才会被当做垃圾回收。强引用指的是通过new对象创建的引用,垃圾回收器。......原创 2022-07-20 14:07:00 · 451 阅读 · 0 评论 -
springboot集成kafka,创建及删除topic,生产消息及消费消息
springboot集成kafka还是挺方便了,spring提供了KafkaTemplate,用来生产消息,消费者消费消息,就需要使用KafkaListener了,创建和删除topic使用AdminClient。原创 2022-06-18 22:39:10 · 1710 阅读 · 0 评论 -
(ES1)ElasticSearch+Kibana+Elasticsearch-analysis-ik系统环境搭建
ElasticSearch+Kibana+Elasticsearch-analysis-ik环境搭建原创 2022-03-14 21:46:06 · 3116 阅读 · 0 评论 -
springboot集成sharding-jdbc
springboot集成sharding-jdbc,通过sharding-jdbc实现mysql主备分库,数据库连接池采用阿里巴巴的druid,数据库orm框架采用mybatis原创 2022-06-08 15:32:30 · 3041 阅读 · 0 评论 -
It has been compressed and nested jar files must be stored without compression
springboot项目打包成war或者jar,生产环境我们一般不会发全量包的,一般都是发增量包,最近项目里面需要更新fastjson,然后用winRAR打开war直接将新的jar放入lib下重新部署后,启动时发现报错了It has been compressed and nested jar files must be stored without compression这么改:添加好相关的jar之后,压缩方式改成存储,再继续部署就没有问题了另外pom.xml也记得原创 2022-05-30 14:29:25 · 4523 阅读 · 0 评论 -
(ES4)SpringBoot集成ElasticSearch
RestHighLevelClient操作elastic原创 2022-04-03 23:09:24 · 2631 阅读 · 0 评论 -
(ES3)Kibana基础操作
查看自带standard分词POST _analyze{ "analyzer": "standard", "text": ["中华人民共和国"]}POST _analyze{ "analyzer": "ik_smart", "text": ["中华人民共和国"]}POST _analyze{ "analyzer": "ik_max_word", "text": ["中华人民共和国"]}POST _analyze{ "analyzer": "ik_max_wo......原创 2022-04-03 22:48:04 · 508 阅读 · 0 评论 -
(ES2)ElasticSearch及Kibana配置用户名和密码访问
在上一篇文章中ElasticSearch+Kibana+Elasticsearch-analysis-ik系统环境搭建_志飞的博客-优快云博客介绍了环境的搭建,但是没有设置密码,不设密码,无疑是不安全的,数据都有可能被删光,所以数据传输需要证书,访问需要设置密码。ElasticSearch设置密码1)为 ES 集群创建节点认证中心 ,生成证书 (直接回车,设置空密码)$ ./bin/elasticsearch-certutil ca 一路回车完成后会生成一个文件:elastic-st..原创 2022-03-21 22:23:16 · 6652 阅读 · 0 评论 -
websphere application server (was)如何让jsp文件生成java文件
最近生产一个jsp文件报了个空指针的异常,但是显示的是_bound.java文件390行,页面是bound.jsp页面,咋办?需要想办法得到_bound.java这个文件,有两个办法:方法一:添加属性,访问页面后自动生成文件名:ibm-web-ext.xmi位置:xxxx.war\WEB-INF内容:<?xml version="1.0" encoding="UTF-8"?><com.ibm.ejs.models.base.extensions.webappext:WebA原创 2022-03-08 14:07:26 · 562 阅读 · 0 评论 -
Eclipse相关技术总结
1)、Eclipse: The declared package does not match the expected packageClose and reopen the already opened java file (F5 refreshing it did not work).2)、Java compiler level does not match进入项目--properties --project Facets设置java文件的版本为 1.7或者其他 确保和本机安装的jdk原创 2022-02-24 14:58:08 · 817 阅读 · 0 评论 -
springboot相关技术总结
11.1、打成jar部署1)、配置端口号server.port=80882)、C:\Users\figo>e:E:\>cd E:\CompayProjects\TariffSystem\Trunk\TariffLetterE:\CompayProjects\TariffSystem\Trunk\TariffLetter>mvn clean install -Dmaven.test.skip=true3)、启动:加上&后台关闭后,服务不会中..原创 2022-02-24 14:48:57 · 721 阅读 · 0 评论 -
Timeout waiting for connection from pool
springboot使用httpclient在高并发的情况下会出现Timeout waiting for connection from pool,经测试是因为和有些银行的链接会超时,需要设长从连接池中获取到连接的最长时间http.connectionRequestTimeout=10000,之前是500,单位毫秒,另外并发数http.defaultMaxPerRoute =200,需要设置大一点,之前是20。完整的配置文件参考如下:#httpclient config#最大连接数http.m原创 2022-01-10 17:32:53 · 8699 阅读 · 0 评论 -
H5使用spin.js实现正在加载中动画
正在加载中...,这个需求还是很常见的,不管是app还是h5都需要,否则网络不顺畅的情况下,用户都不知道到底提交了没有,会出现多次点击的情况,spin.js是一个开源的第三方进度展示js组件,官网地址:spin.js,github开源地址:GitHub - fgnass/spin.js: A spinning activity indicator,目前将近10000颗星星,可以自定义样式,还是挺受欢迎的。在他们的官网还可以设置样式,实时看效果,之前我从他们的官网引入js:http://s...原创 2021-09-27 21:22:07 · 959 阅读 · 0 评论 -
springboot集成RestTemplate
RestTemplate其实是spring框架对ApacheHttpClient的封装。 对比一下用法: 先看HttpClient /** * 带参数的post请求 . * * @param url . * @param map . * @return . * @throws Exception . */ public Ht...原创 2021-08-24 11:02:04 · 2104 阅读 · 0 评论 -
springboot配置日志框架log4j2
先有Log4j,2015年作者已经停更了,后面又有了Logback,再后面有了Log4j2,Apache Log4j 2 is an upgrade to Log4j that provides significant improvements over its predecessor, Log4j 1.x, and provides many of the improvements available in Logback while fixing some inherent problems in ..原创 2021-08-24 00:24:13 · 237 阅读 · 0 评论 -
springboot集成springsession
springsession实现原理:将sessionid保存在客户端的cookie里面,然后将该sessionid作为key将session保存在redis服务端,可以就可以实现分布式及跨域(跨域指a.com站点跳转到b.com站点保持session,需要特殊处理一下)。开始我们的实验。 第一步:pom.xml引入相关jar <!--Redis起步依赖 --> <dependency> <groupId>or...原创 2021-08-13 14:06:59 · 1206 阅读 · 0 评论 -
springboot使用redis客户端redistemplate
redis客户端有多种,常见有jedis,redisson,redistemplate,而redistemplate其实是对jedis的封装,本文着重讲使用方法,关于原理,后续再研究。 第一步:添加依赖jar <!-- redis --> <dependency> <groupId>org.springframework.data</groupId> &...原创 2021-08-12 12:59:22 · 1068 阅读 · 0 评论 -
mvn仓库镜像配置
1.镜像地址 仓库名称 阿里云仓库地址 源地址 central https://maven.aliyun.com/repository/central https://repo1.maven.org/maven2/ jcenter https://maven.aliyun.com/repository/public http:/原创 2021-08-05 10:16:04 · 1119 阅读 · 0 评论 -
springboot配置数据库连接池hikari
Springboot2.0以后默认数据库连接池选择了Hikari(性能高)开源地址:https://github.com/brettwooldridge/HikariCP里面有技术文档性能方面hikariCP>druid>tomcat-jdbc>dbcp>c3p0,可以参考性能对比https://blog.youkuaiyun.com/qq_31125793/article/details/51241943本文介绍配置默认的hikari,对比线程池大小设置的运行...原创 2021-07-18 19:23:38 · 1612 阅读 · 0 评论 -
nginx站点根目录配置验证文件
比如百度联盟需要配置验证文件1.编辑nginx.config配置文件vi nginx.config在80和443的 server{}中添加以下配置http 80端口配置server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; locatio...原创 2021-04-02 13:58:25 · 1753 阅读 · 0 评论 -
linux下安装单机版redis
1.创建目录cd /usr/localmkdir redis2.检查是否安装gcc(The GNU Compiler Collection 编译c或者c++等等的编译器,redis c写的)gcc -v如果没有安装,安装一下yum install gcc-c++3.下载及编译官网下载地址:https://redis.io/download$ wget https://download.redis.io/releases/redis-6.2.1.tar.gz$ tar .原创 2021-03-31 22:52:27 · 110 阅读 · 0 评论 -
ngixn配置https及负载均衡
打开nginx.conf配置文件进行编辑,完整的配置如下vi/usr/local/nginx/conf/nginx.conf#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_co.原创 2021-03-26 22:59:19 · 1053 阅读 · 0 评论 -
linux下安装nginx
1.下载nginxhttp://nginx.org/en/download.html我下载的是nginx-1.18.02.创建目录及解压cd /usr/localmkdir nginx将nginx安装包上传到该目录,或者使用wget在线下载,解压安装包tar -zxvf nginx-1.18.0.tar.gz”3.配置./configure4.这时发现会报错,因为缺少pcre依赖包5.下载pcrePCRE(Perl Compatible Regular..原创 2021-03-26 14:07:45 · 234 阅读 · 0 评论 -
springboot相关问题总结
springboot开发过程中相关问题记录,供参考.1. 打成jar部署1)、配置端口号server.port=80882)、C:\Users\figo>e:E:\>cd E:\CompayProjects\TestSystem\Trunk\TestE:\CompayProjects\TestSystem\Trunk\Test>mvn clean install –DskipTests3)、启动:加上&后台关闭后,服务不会中断...原创 2020-12-15 10:05:55 · 305 阅读 · 0 评论 -
Redis集群采用Redisson客户端实现分布式锁
之前文章实现了zookeeper集群采用curator客户端实现分布式锁,最近一直在做实验,希望使用redis的客户端reddisson实现分布锁,在大型电商项目或者银行项目,扣减库存,扣减余额面临的是高并发的环境,保证数据的一致性非常重要,不管是zookeeper,还是redis实现分布式锁,我理解其实都是将多线程变成了单线程去获取锁,每次只能一个线程能获取到锁,没有获取到的,自旋去等待。等上一个线程释放了,再获取。每次只有一个线程去操作库存或者余额当然就不会出现同时扣减的情况。好,下面...原创 2020-07-29 18:15:09 · 650 阅读 · 0 评论 -
springboot项目mybatis代码自动生成
Mybatis目前应用的很广泛,dao,model,mapper.xml如果手动写很麻烦而且容易出错,所以需要使用mybatis generator插件。 1.eclipse下载插件help-->eclipse marketplace这两个都安装,第一个是自动生成代码的,第二个是Content assists to reduce typing. Validations to detect errors before running the application....原创 2020-07-26 21:20:16 · 386 阅读 · 1 评论 -
springboot实现zookeeper统一配置中心
配置文件比如数据库连接,缓存更新时间,接口调用地址,加解密密钥,sesion超时时间,等等每个项目里面用的太多,如果项目里面都统一放在一个properties文件里面,会出现的问题,就是一旦一个地方修改了,假如有10台机器或者上百台,那么就需要重新部署这10台或者上百台的服务器,有没有更好的方法来管理配置文件?有,目前用的比较多的就是使用zookeeper,目前我还没仔细阅读过zookeeper的源码,不过实际使用已经做过测试,这里分享一下,如何在springboot项目里面使用zookee...原创 2020-07-22 11:14:14 · 3454 阅读 · 0 评论 -
zookeeper集群搭建
zookeeper可以实现统一的配置中心和分布式锁。 先简单来说一下搭建一个zookeeper集群(本文简单描述使用一台服务器实现伪集群,测试机器多的话,可以拿3台或者更多来试验一下)1.确保已经安装了java ,没有的话,安装一下java -version2.下载安装cd /usr/localmkdir zookeeper_clustercd zookeeper_cluster创建zookeeper3个节点目录mkdir zookeeper01mkdi...原创 2020-07-18 23:22:48 · 271 阅读 · 0 评论