java
jasin4j
这个作者很懒,什么都没留下…
展开
-
JAVA服务器端发送邮件问题:Could not connect to SMTP host: smtp.qq.com, port: 465
在开发过程中,发送邮件经过测试是没有问题,然后部署到服务器中(腾讯云服务器),发送邮件一直报Could not connect to SMTP host: smtp.qq.com, port: 465,报错信息如下:于是试过了开放云服务器25端口,发现问题依然存在,问题没有解决。腾讯云解封:https://console.cloud.tencent.com/secctrl/smtp。原创 2022-11-19 12:47:33 · 4214 阅读 · 0 评论 -
优惠金额分配算法
【代码】优惠金额分配算法。原创 2022-09-09 14:01:14 · 1707 阅读 · 0 评论 -
Java8使用Collectors.toMap,当value为null时报空指针异常
Collectors.toMap()方法底层调用merge方法,会报空指针异常。public static <T, K, U, M extends Map<K, U>> Collector<T, ?, M> toMap(Function<? super T, ? extends K> keyMapper, Function<? super T, ? extends U>原创 2021-04-07 16:55:38 · 902 阅读 · 0 评论 -
对List对象按照某个成员变量进行排序
import java.lang.reflect.Field;import java.lang.reflect.Method;import java.sql.Timestamp;import java.util.Collections;import java.util.Comparator;import java.util.Date;import java.util.List;public class SortUtil { /** * 对List对象按照某个成员变量进行.原创 2021-03-19 17:20:00 · 324 阅读 · 0 评论 -
在spring中获取代理对象代理的目标对象工具类
问题描述我现在遇到个棘手的问题,要通过spring托管的service类保存对象,这个类是通过反射拿到的,经过实验发现这个类只能反射取得sservice实现了接口的方法,而extends类的方法一律不出现,debug后发现这个servie实例被spring替换成jdkdynmicproxy类,而不是原始对象了,,它里面只有service继承的接口方法,而没有extends 过的super class方法,怎么调用原生对象的方法!!!!!用托管的spring service类调用getClass...原创 2020-10-17 12:18:51 · 939 阅读 · 0 评论 -
漫画了解程序世界
2019年汇总算法漫画:寻找无序数组的第k大元素(修订版)Table of Contents2019年汇总2018汇总2017汇总漫画:如何将一个链表“逆序”?漫画:什么是加密算法?漫画:什么是 “图”?(修订版)漫画:深度优先遍历 和 广度优先遍历漫画:图的 “最短路径” 问题漫画:Dijkstra 算法的优化漫画:图的 “多源” 最短路径漫画:有趣的 “切蛋糕“ 问题概念漫画:什么是 HTTPS 协议?写给对 ”游戏...转载 2020-05-30 16:15:03 · 310 阅读 · 0 评论 -
如何保证用户唯一登录(即一用户名无法多人使用)
系统在设计时需要保证用户唯一登录,如现在的QQ等只能在一端登入。就是用户用A这个账号登录之后,其他人都不能再使用登录了。如果另一个用户登录的话,就会把当前这个用户踢下线来。设计流程核心代码 // 用户每一个端登录成功之后,会对应生成一个token令牌(临时且唯一)存放在redis中作为rediskey TransactionStatus transactionS...原创 2020-03-22 21:26:19 · 3279 阅读 · 0 评论 -
linux查看java的安装路径及配置JAVA环境
今天找了个新的centos7的系统配置apollo, 一直启动不了,仔细想应该是Java环境配置的问题,找资料发现centos7里自带Java,只需要配置一下即可。在linux下,找java的安装路径[root@192 apollo-build-scripts-master]# whereis javajava: /usr/bin/java /usr/lib/java /etc/j...原创 2020-03-07 00:10:53 · 2341 阅读 · 0 评论 -
【java】使用lambda表达式来处理List的交集和差集
使用背景:有两个List集合,一个从数据库取的数据,一个从前端修改的数据,需要拿出他们某个字段相同的部分和不相同的部分拿出来,一个修改的数据的集合,一个删除原来的数据集合,一个新增的数据的集合,产生3个新的list来做不同的操作。//从数据库取的数据List<SaleTaskItem> saleTaskItemOldList = new ArrayList<>();...原创 2019-11-05 10:05:37 · 969 阅读 · 0 评论 -
【Java】计算出准确的字符长度
java中:1字符=2字节,1字节=8位英文和数字占一个字节,中文占一个字符,也就是两个字节在计算的字符串长度的时候,若有汉字,直接用String.length()方法是没法计算出准确的长度。计算出字符的长度:方式一:会有些问题,如“墘”字两个方法计算的长度不一样String newStr = new String(strData.getBytes("GB2312"), ...原创 2019-05-14 16:34:13 · 5607 阅读 · 0 评论 -
【设计模式】设计模式之策略模式
在策略模式中,一个行为可以在系统运行时动态修改。这种类型设计模式是行为型设计模式,策略模式中,会有代表各种策略的对象和执行策略的context上下文对象。策略对象改变context执行的算法。举例:出门旅行,拥有很多出行策略,比如飞机,汽车,火车等; 支付系统中,有很多支付策略,比如支付宝,微信,银联。在支付时需要选择其中一种支付策略进行支付业务。简要介绍用途:定义一系列策略,他们...原创 2019-05-19 19:56:02 · 178 阅读 · 0 评论 -
【Java】StringUtils的常用方法
StringUtils 为 org.apache.commons.lang.StringUtils;中的工具类。StringUtils方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException,而是做了相应处理,例如,如果输入为null则返回...转载 2019-05-13 11:15:57 · 120 阅读 · 0 评论 -
【Java】Java8中Lambda表达式的简单使用
Lambda表达式的本质只是一个"语法糖",由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能。本人建议不要乱用,简洁,难懂,难以调试,维护人员不懂的话难以维护。LambdaTest.java一、Lambda 表达式的基础语法:Java8中引入了一个新的操作符 "->" 该操作符称为箭头操作符或 Lambda 操作符箭头操作符将 Lambda 表达式拆分...原创 2019-05-18 09:51:57 · 296 阅读 · 0 评论 -
【Jackson】Jackson转换实体 double 保留两位小数
根据业务,需要通过后端给前端返回金额值,一般需要保留两位小数,使用jackson转换对象列表import com.fasterxml.jackson.core.JsonGenerator;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.JsonS...原创 2019-06-21 16:56:05 · 3007 阅读 · 0 评论 -
【java】java 中对象属性和数据库中字段名的转换
在开发过程中数据中的字段的命名一般是这样的:user_name book_id 等,而对应的java对象中的属性命名是这样的:userName、bookId等,写了个方法使这2种命名互相转换。/** * 对象属性转换为字段 例如:userName to user_name * @param property 字段名 * @return */ public static ...转载 2019-07-08 13:39:48 · 3013 阅读 · 0 评论 -
【Java】将2018-09-12T19:19:30.000+0000这类时间格式转换成yyyy-MM-dd等时间格式
import java.text.SimpleDateFormat;import java.util.Date;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Test { public static void main(String[] args) throws Excep...原创 2019-07-26 15:55:05 · 818 阅读 · 0 评论 -
【java】全局唯一ID之雪花算法
import com.google.code.kaptcha.servlet.KaptchaServlet;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Value;import org.springfr...转载 2019-08-22 10:09:03 · 350 阅读 · 0 评论 -
【java】Java -jar 如何在后台运行项目
nohup java -Dserver.port=9999 -jar xxxx.jar > log.file 2>&1 &上面的2 和 1 的意思如下:0 标准输入(一般是键盘)1 标准输出(一般是显示屏,是用户终端控制台)2 标准错误(错误信息输出)> log.file 2 将运行的jar 错误日志信息输出到log.file文...原创 2019-09-05 18:03:11 · 271 阅读 · 0 评论 -
【Linux】linux安装redis
1.获取redis资源wget http://download.redis.io/releases/redis-5.0.5.tar.gz2.解压tar xzvf redis-5.0.5.tar.gz3.安装编译cd redis-5.0.5makecd srcmake install PREFIX=/usr/local/redis4.移动配置文件到安装...转载 2019-09-05 18:15:25 · 217 阅读 · 0 评论 -
【github】用tortoiseGit管理GitHub项目代码
1.首先创建github仓库2.再把GitHub的仓库下载到本地3.项目提交4.右键菜单git提交到本地仓库master,然后再推送到GitHub仓库5.推送之后配置远端仓库6.确定之后会弹出输入github账号密码7.输入账号密码成功之后...原创 2019-09-07 00:50:05 · 182 阅读 · 0 评论 -
【Linux】Linux安装JDK
1.进入官网下载jdk8的tar.gz的压缩包http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html或者通过wget下载wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2...原创 2019-09-07 13:20:28 · 111 阅读 · 0 评论 -
【Linux】Linux安装tomcat
1.先安装好了jdk环境2.创建文件夹mkdir /usr/local/tomcatcd /usr/local/tomcat3.下载tomcat到官网https://tomcat.apache.org查看版本4.右键复制链接,使用wget下载wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomca...原创 2019-09-07 14:04:26 · 109 阅读 · 0 评论 -
【身份证】java 校验15位或18位身份证号码
import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.HashMap;import java.util.Map;公共类 ValidateIdCardUtil { 最终静态 Map <Integer,String> ...转载 2018-06-28 11:56:22 · 5086 阅读 · 1 评论 -
【BeanUtils】BeanUtils使用赋值
两个对象的属性值差不多相同的情况下,使用beanutil可以很方便的进行两个对象的赋值。<!-- https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils --><dependency> <groupId>commons-beanutils</groupId...原创 2019-04-24 10:03:01 · 521 阅读 · 0 评论 -
【Java】Java并发编程中Semaphore的用法
Semaphore类其实就是synchronized关键字的升级版,这个类主要作用就是控制线程并发的数量,而在这方面synchronized就有点力不足了,接下来我们就开始先了解一下Semaphore的一些常用方法就注意细节。在new 这个类的时候需要给这个类传递一个参数permits,这个参数是整数类型,这个参数的意思是同一时间内,最多允许多少个线程同时执行acquire方法和release...转载 2018-09-06 22:39:07 · 218 阅读 · 0 评论 -
【Java】Java时间和时间戳的相互转换
/* * 将时间转换为时间戳 */ public static String dateToStamp(String s) throws ParseException{ String res; SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-d...转载 2018-09-06 11:47:10 · 214 阅读 · 0 评论 -
【Java】Java数组统计 数组 中相同值的个数及实例
在Java中将数组统计import java.util.HashMap;import java.util.Map;public class test { public static void main(String[] args) { //如需要保存顺序,则使用LinkedHashMap Map<String, String> m = ...原创 2018-09-06 11:46:13 · 7326 阅读 · 0 评论 -
【java】Java像数据库一样加减操作时间
import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class test { public static void main(Str...原创 2018-09-04 17:02:00 · 204 阅读 · 0 评论 -
【身份证、手机号码隐藏】Java身份证、手机号码隐藏
1.ValidateIdCardAndPhoneUtilimport java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.HashMap;import java.util.Map;import java.util.regex.Matcher;import ...原创 2018-06-28 14:45:35 · 810 阅读 · 0 评论 -
【Java】获取当天时间的毫秒数,并随机当天的时间
当天7点到当天23点Calendar calStart = Calendar.getInstance();calStart.set(Calendar.HOUR, 7);calStart.set(Calendar.SECOND, 0);calStart.set(Calendar.MINUTE, 0);calStart.set(Calendar.MILLISECOND, 0);Calend...原创 2018-07-03 11:21:16 · 1836 阅读 · 0 评论 -
【pdf】使用itext生成pdf的,各种布局和使用itext导出pdf,图片、表格、背景图
一、使用itext生成pdf的,各种布局代码如下,jar包为itext.jar,itextAsia.jar,最好都是最新的 ;2张图片也在最后贴出,把图片放到D盘可以直接生成制定格式的pdf。 最后生成的pdf如下: 代码如下:package com.itext.test;import java.io.FileOutputStream;import com.itextpdf.text.Ba...转载 2018-06-06 10:40:39 · 4645 阅读 · 0 评论 -
【去重】Java去除list里的重复数据
// 存放去重后的excel数据List<PageData> tempList = new ArrayList<PageData>(); for (PageData list : varList) { if (!tempList.contains(list)) { tempList.add...原创 2018-05-16 18:09:28 · 188 阅读 · 0 评论 -
java读取xml指定标签的内容
package com.fenuang.sec; import java.io.File; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.List; import jav...转载 2018-05-16 17:33:07 · 9715 阅读 · 0 评论 -
【Java】Java多线程笔记总结
1.线程的三种创建方式参考之前的总结: 多线程-创建线程的三种方式对比三种方式:通过继承Thread类实现通过实现Runnable接口实现Callable接口第1种方式无法继承其他类,第2,3种可以继承其他类;第2,3种方式多线程可以共享同一个target对象,多个线程处理同一个资源;一般使用第2,3种方式创建线程。2.线程的生命周期1.新建(new) 2.就绪(start) 3.运行(获得cpu...转载 2018-04-13 23:24:05 · 118 阅读 · 0 评论 -
【Java】指定两个日期相隔的天数日期及月份日期
import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class Test { public static void main(Str...原创 2018-10-09 16:41:25 · 277 阅读 · 0 评论 -
【Java】clob 转换 String
从Oracle取出的字段类型有CLOB类型,转换成json会报错。直接加上这段代码就行: if(null != list && list.size() > 0){ // clob 转换 String for (int i = 0; i < list.size(); i++){ Map<String,...原创 2018-11-07 15:15:48 · 844 阅读 · 0 评论 -
【java】java常用正则表达式
代码 //提前预编译加快正则判断速度private static Pattern ENGLISH_NUMBER_PATTERN = Pattern.compile("^[A-Za-z0-9]+$");private static Pattern NUMBER_PATTERN = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$"); /**...转载 2019-02-13 16:22:40 · 135 阅读 · 0 评论 -
【Java】HashMap与ArrayList的PK
优化自己的导入代码,在虎哥的指引下自己一步步理解优化这个过程很艰辛啊,其中在这个过程中理解到了,一个好的设计并非那么容易,同样一段程序如何让这段代码学的非常有精髓,有思想,这一点是非常不容易的。 对于以前自己很多地方都是用的list这样在循环太可怕了,五千次不怕,怕的是五千乘以五千这样你的代码现的非常没有代码深度,这样你的代码循环起来太慢了,这个自己这次做工程自己有切身感受,对于这...转载 2019-01-14 15:45:49 · 619 阅读 · 0 评论 -
【java】验证excel是否全部为空
/** * 验证excel是否全部为空 * @param row 当前行 * @param firstRow 第一行标题行 * @return */public static boolean isAllRowEmpty(Row row,Row firstRow) { int count = 0; //单元格数量 int rowCount = firstRow....转载 2019-01-14 15:17:21 · 2646 阅读 · 0 评论 -
【验证码】页面生成数字或字母图片验证码
一、工具类,生成验证码图片 import javax.imageio.ImageIO;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import java.awt....原创 2019-01-23 23:53:45 · 663 阅读 · 0 评论