![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 58
xuxizhou1994
厚积薄发
展开
-
list转json json 转list
1 list转jsonString value = JSON.toJSONString(foodAddDto.getSkus());boxFood.setSkus(value); 入库对应的private List<Skus> skus;2 json 转listString res = JSON.toJSON(boxFood.getSkus()).toString();List<Skus> skusList = JSONArray.parseArray(..原创 2021-04-14 00:24:41 · 394 阅读 · 0 评论 -
微信app支付
导入maven依赖 <!--微信支付--> <dependency> <groupId>com.github.wxpay</groupId> <artifactId>wxpay-sdk</artifactId> <version>0.0.3</version> </dependency> 微信支付参数配置 import co.原创 2021-02-24 11:45:28 · 190 阅读 · 0 评论 -
Servlet生命周期
Servlet生命周期就是指创建Servlet实例后,存在的时间以及何时销毁的整个过程.--Servlet生命周期有三个方法 init()方法: service()方法:Dispatches client requests to theprotectedservicemethod destroy()方法:Called by the servlet container toindicate to a servlet that the servlet is being taken out of.原创 2021-01-29 14:42:09 · 85 阅读 · 0 评论 -
HashMap的实现原理--链表散列
1. HashMap概述HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。2. HashMap的数据结构在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。这样的结构结合了链表在增删方...原创 2021-01-28 19:01:37 · 1022 阅读 · 1 评论 -
集合总结
集合类型主要有3种:set(集)、list(列表)和map(映射)List是Java中比较常用的集合类,简单介绍下其中几个重点的实现ArrayList、LinkedList和Vector之间的关系和区别。List 是一个接口,它继承于Collection的接口。它代表着有序的队列。当我们讨论List的时候,一般都和Set作比较。List中元素可以重复,并且是有序的(这里的有序指的是按照放入的顺序进行存储。如按照顺序把1,2,3存入List,那么,从List中遍历出来的顺序也是1,2,3)。原创 2021-01-28 18:05:50 · 107 阅读 · 0 评论 -
对象(java bean)与xml之间的转换(Xstream)
一、前言之前在做一个微信公众号的项目,项目中有用到一种技术,将调用接口后返回的xml字符串转换为对象(java bean),个人觉得这种方式还是蛮好用的,所以在这里分享下。二、引入jar包我是采用的maven项目,所以直接引入依赖就可以了: <dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream</...原创 2021-01-12 14:59:42 · 338 阅读 · 0 评论 -
Java 使用Graphics2D图片上写字,计算宽和高 以及字体的位置
如上图,这个是一个有中文与英文的字符串。 中文与英文字符的宽高是不一样的,如果想要生成一张宽高刚的图片,这样我就需要计算每一个字符的宽度,及合适的高;java.awt.FontMetrics 这个类对文字的宽高位置有详细的介绍;计算使用字体的一段字符串的宽publicstaticintgetWordWidth(Fontfont,Stringcontent){FontDesignMetricsmetrics=FontDesignMetrics.getM...原创 2021-01-08 15:09:32 · 1700 阅读 · 0 评论 -
java后台生成图片(加载外部字体)
Java后台生成图片:自定义图片内文字和图片位置。 可背景透明。 字体尺寸、颜色、间距等基本设置和透明度设置。 文本换行与居中。 加载外部字体。原理使用java图形化工具绘制图片。 代码实现创建所需参数的实体类import lombok.Data;import java.awt.*;import java.awt.image.BufferedImage;/** * 生成图片参数控制 * * @author h * @date Created in 202原创 2021-01-01 21:34:11 · 665 阅读 · 0 评论 -
IDEA springboot 打成war包,并在本地tomcat部署
1. 修改pom.xml 1.1修改打包类型为war<packaging>war</packaging> 1.2 屏蔽tomcat <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <...原创 2020-12-15 13:08:33 · 216 阅读 · 0 评论 -
MESI缓存一致性协议
volatile在store前加锁,锁的粒度减小,基本上忽略加锁时间,加锁后,如果write还没执行,cpu总线嗅探机制让initFlag失效,再次获取的时候由于被锁了,拿不到值,保证可见性原创 2020-10-30 15:43:16 · 173 阅读 · 0 评论 -
java线程内存模型
原创 2020-10-30 15:34:03 · 64 阅读 · 0 评论 -
java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x87\xA8\xF0\x9F...‘
public class EmojiUtil { /** * emoji表情替换 * * @param source 原字符串 * @return 过滤后的字符串 */ public static String filterEmoji(String source) { if (source != null && source.length() > 0) { return sour...原创 2020-07-23 18:21:19 · 337 阅读 · 0 评论 -
JDK1.8按照一个属性去重或者多个属性去重
1、按照对象中的一个属性去重//明细详情List<ReceiptDetailListBack> receiptDetailListBackList1 = receiptBackBody.getDetailList();//去重进库任务明细状况List<ReceiptDetailListBack> receiptBackList= receiptDetailListBackList1.stream().collect( Collectors.collecti...原创 2020-07-22 10:28:45 · 1929 阅读 · 0 评论 -
Java 后端微信小程序支付
一、遇到的问题1.商户号该产品权限未开通,请前往商户平台>产品中心检查后重试2.签名错误3.已经调起微信统一下单接口,可以拿到预支付ID,但是前端支付的时候出现 支付验证签名失败网上的问题基本上就是这三类下面说解决方案。第一个问题:商户号的问题,微信app支付与微信小程序支付的商户号不同,微信app内支付与微信开放平台内的商户号绑定,微信小程序支付是与微信公众平台内的商户号绑定。第二个问题:签名错误, 第一次签名需要的appid mchid key 分别对应的是小程序的app.原创 2020-07-16 20:17:55 · 713 阅读 · 2 评论 -
小程序支付后端Java代码
由于公司前段时间要做小程序支付,所以这里把自己写的小程序后端支付controller记录下来,文档参考微信支付官方文档,地址:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_3&index=1,废话不多说,直接上代码:PayController@Api(tags = "支付模块")@RestController@RequestMapping("")public class PayControlle.原创 2020-07-09 15:32:47 · 320 阅读 · 1 评论 -
两个List集合取交集、并集、差集、去重并集
采用java8 lambda表达式 实现java list 交集/并集/差集/去重并集一般的javaList 交、并集采用简单的 removeAll retainAll 等操作,不过这也破坏了原始的javaList对象,采用java8 lambda表达式流操作则可以不影响原始list对象而得到两个javaList对象的 交、并、差集。import static java.util.stream.Collectors.toList;import java.util.ArrayList;import j原创 2020-06-13 10:49:04 · 619 阅读 · 0 评论 -
JPA EnableJpaAuditing 审计功能
在 Spring JPA 中,支持在字段或者方法上进行注解 @CreateDate、@CreatedBy、@LastModifiedDate、@LastModifiedBy@CreateDate表示该字段为创建时间时间字段,在这个实体被 insert 的时候,会设置默认值@CreatedBy表示该字段为创建人,在这个实体被insert的时候,会设置值。@LastModifiedDa...原创 2020-02-05 17:54:06 · 551 阅读 · 0 评论 -
redis总结
支持的数据类型String List Hash Set SortedSet特性redis的所有操作都是原子性的redis可以对key设置过期时间 定时删除 (惰性删除 定期删除)redis支持两种持久化方式RDB(快照,默认)备份数据 AOF 备份命令redis 快的原因1完全基于内存2单线程3多路IO复用...原创 2020-01-17 16:51:26 · 70 阅读 · 0 评论 -
签名生成 参数名ASCII码从小到大排序(新)
签名生成的通用步骤如下:第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。特别注意以下重要规则:◆ 参数名ASCII码从小到大排序(字典序);◆ 如果参数的值为空不参与签名;◆ 参数名区分大...原创 2019-12-02 16:09:59 · 1311 阅读 · 0 评论 -
centos linux 下 crontab -e 命令 及定时任务
root 身份登录到命令行输入 crontab -e按下 a 键进入到编辑模式输入 */10 * * * * nohup /home/sqlbackup/sqlbackup.sh >> /home/sqlbackup/out.log 2>&1 &同时按下 ctrl+c 退出编辑模式按下 shift+: 输入 wq 退出crontab...原创 2019-11-05 14:55:00 · 375 阅读 · 0 评论 -
nginx配置
server{ listen 6089; server_name localhost; index index.html; root /home/templeAdmin/dist;}nginx.conf配置user nginx;worker_processes auto;error_log /var/...原创 2019-11-05 10:19:40 · 363 阅读 · 0 评论 -
nginx的使用(启动、重启、关闭)
1.首先利用配置文件启动nginx。命令:nginx-c/usr/local/nginx/conf/nginx.conf重启服务:service nginx restart2.快速停止或关闭Nginx:nginx -s stop3. 正常停止或关闭Nginx:nginx -s quit4. 配置文件修改重装载命令:nginx -s reload...原创 2019-11-05 10:02:53 · 80 阅读 · 0 评论 -
java8 快速实现List转数组,JsonArray,map 、分组、过滤等操作
1、分组List里面的对象元素,以某个属性来分组,例如,以id分组,将id相同的放在一起:Map<Integer, List<Apple>> groupBy = appleList.stream().collect(Collectors.groupingBy(Apple::getId));排序Collections.sort(names, (s1, s2) ...原创 2019-10-31 17:10:07 · 9792 阅读 · 0 评论 -
一台Linux服务器上同时部署多个Tomcat方法
一、原理讲解:tomcat启动可以通过两个脚本分别进行启动./startup.sh 或者catalina.sh run形式执行启动其实startup.sh的启动也是调用的catalina.sh,然后去启动的,所以我们需要关注的就是catalina.sh文件1首先 tomcat在启动的时候会查找tomcat的安装目录,也就是它的根目录,然后通过CATALINA_BAS...原创 2019-07-14 15:33:05 · 956 阅读 · 0 评论 -
Javaweb上传Linux 没有读写权限
一、检查linuxlinux文件访问默认权限与umask有关,查看系统默认配置(/etc/profile)是否正常,如果是002或022就正常没有问题。[umask 002 对应文件权限664,文件夹权限775;umask 022对应文件权限644,文件夹权限755]二、检查tomcat打开bin/catalina.sh文件,检查大概在263行左右。将0027改改为0022,重...原创 2019-07-13 15:07:56 · 382 阅读 · 0 评论 -
Centos7 安装redis以及配置默认启动
1. 下载redis并解压tar -vxf redis-5.0.5.tar.gz2. 安装必备的依赖yum install gcc3. 编译安装cd redis-5.0.5make MALLOC=libccd srcmake installls -l /usr/local/bin/redis-*4. 启动redis-server redis.conf5. 修改...原创 2019-06-19 20:45:52 · 356 阅读 · 0 评论 -
Godaddy邮件发送
第一步:创建Godaddy邮箱账号如aifundcloud@wecex.vip(wecex.vip对应的godaddy域名)第二步:配置DNS可能报错修改DNS中的TXT第三步:查看邮箱配置DNS是否成功...原创 2019-05-07 17:36:48 · 1499 阅读 · 0 评论 -
git报错bad signature和index file corrupt的处理方法
今天打开工程,习惯性地git status下,却发现以下报错:λ git statuserror: bad signaturefatal: index file corrupt这该怎么办呢?index file在 git 里面一般指的是.git/index这个文件。这个文件保存的是暂存区的信息(索引信息)。可以通过git ls-files --stage来查看暂存...原创 2019-04-25 09:52:37 · 14823 阅读 · 0 评论 -
git提交代码
一.输入命令:git --version 可查看当前git版本二.安装后需要一些配置配置用户名和邮箱:$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com" 使用 --global 修饰后设置的全局的用户,如果设置单个项...原创 2019-04-23 12:02:31 · 89 阅读 · 0 评论 -
在SpringBoot中使用WebSocket并注入自定义Bean
楼上的回答未免太过复杂,搞清楚为什么不能注入就能很容易解决问题了/** * WebSocket 配置 * * @author Angus Liu * @data 2018/9/13 */@Configurationpublic class WebSocketConfig { /** * ServerEndpointExporter 用于扫描和注册所有携带 S...原创 2019-07-29 20:34:37 · 558 阅读 · 0 评论 -
springBoot 整合websocket
1:jar包的引入,只引这个的前提是使用tomcat7.0以上的版本,我用的是tomcat8,所以用这个就够了,若是低版本的还需引入javaee-api。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>...原创 2019-07-25 11:58:28 · 197 阅读 · 0 评论 -
Navicat Premium 12.1.8 中文破解 for windows
运行注册机修改参数这里一般需要修改的就是红框中的参数,即 软件版本、软件型号、软件语言,根据下载时的选择对应即可(照图来就行。。。其他的不知道,也没研究有什么用。。。)点击注册机右上角的“Patch”按钮,在弹窗中找到安装软件的目录,单击选中“navicat.exe”,然后点击“打开”等待,弹窗点击确认。如果出现下图情...原创 2019-07-23 11:21:18 · 2144 阅读 · 1 评论 -
WebSocket :用WebSocket实现推送你必须考虑的几个问题
1.WebSocket简介WebSocket_百度百科2.项目背景、硬件环境及客户端支持本项目通过WebSocket实现同时在线用户量几千的推送服务器(可内网运行)。且可实时查看用户在线状态。服务器:centos 6.5、tomcat 7 客户端:移动端(安卓、IOS)、网页端。 服务端第三方库 :javax.websocket3.本文研究内容应用的线上环境后各种异常情况...原创 2019-07-27 22:42:00 · 579 阅读 · 0 评论 -
MySQL安装之yum安装
在CentOS7中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。1. 下载并安装MySQL官方的Yum Repository 1 # wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10...原创 2019-08-22 18:34:58 · 81 阅读 · 0 评论 -
数据库不小心删除恢复
数据库不小心删除或者表不小心删除,通过mysql恢复的话需要确保删除前是mysql是开启binlog。具体步骤:1.查询binlog状态以及位置。在/etc/my.cfg查看binlog开启状态:cat /etc/my.cnf可以看到binlog开始状态是开启的。2.mysql查询执行的binlog文件。目标文件是mysql-bin.0000533.利用mysq...原创 2019-09-23 14:41:35 · 915 阅读 · 0 评论 -
tomcat配java环境配置
vim share/work/tomcat/apache-tomcat-8.5.38/bin/setclasspath.sh添加java信息,在开头添加export JAVA_HOME=/share/work/tomcat/jdk1.8.0_121export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:%{JAVA_HOME}/lib:%{J...原创 2019-10-08 20:34:07 · 115 阅读 · 0 评论 -
多tomcat项目配置
在catalina.sh中输入export JAVA_OPTS="$JAVA_OPTS -Duser.timezone=Asia/shanghai"# myself : addexport CATALINA_BASE=/home/ubuntu/tomcat/apache-tomcat-8.5.38export CATALINA_HOME=/home/ubuntu/tomcat/apach...原创 2019-10-08 20:34:47 · 89 阅读 · 0 评论 -
gitlab增加ssh-key并导入gitlab
下载git windows客户端,地址:https://www.git-scm.com/download/win安装完成后,打开git-客户端:1. 输入:ssh-keygen -o -t rsa -b 4096 -C "email@example.com"2. 找到C:\Users\jacky\.ssh 可以看到公玥id_rsa.pub,用编辑器打开复制到gitlab-->...原创 2019-04-23 09:56:22 · 429 阅读 · 0 评论