![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 63
liangshitian
java开发工程师
展开
-
Canal集群搭建
springboot使用canal中间件原创 2023-10-25 15:25:46 · 245 阅读 · 0 评论 -
SpringBoot集成移动云MAS平台(SDK版本)
公司的一个街道项目的微信公众号需要发短信的验证码,需求原型如下图,对比了三大运营商,移动的云MAS平台,不需要硬件,直接联系移动客户经理注册即可,可以通过SDK,WebService,CMPP协议等方式进行发信操作,价格比联通贵一点点。1、下载SDK云MAS平台网址:http://mas.10086.cn/login下载上图中的这两个SDK的demo和接口文档,具体对接这里的接口文档描述的非常清楚,按照步骤操作就行了。2、申请测试账号在正式购买之前需要申请一个开发用的测试账号,申原创 2020-11-23 16:41:58 · 5830 阅读 · 4 评论 -
构建JDK8源码阅读环境
1、打开IDEA,创建一个普通的Java工程。选着好jdk,点击下一步不用选项,直接下一步完成2、导入源码由于我们创建项目时选择了JDK8版本,因此会自动配置好代码之间的依赖,我们需要做的就是将源码导入项目。JDK的源码位于JDK文件夹下的src压缩包里。进行解压到项目下的src目录下解压完成,可以直接阅读源码了。...原创 2020-11-11 17:11:26 · 1351 阅读 · 0 评论 -
java8使用去重、判断、包含新增成list
1、字符串集合去重List<String> distinctList = list.stream().distinct().collect(Collectors.toList());2、根据对象属性去重 List<User> list = new ArrayList<>(); list.add(new User(1,"张三")); list.add(new User(1,"张三")); list.add(new User(2,"李四")); Li原创 2020-10-30 15:59:43 · 2613 阅读 · 0 评论 -
POI操作word填充数据
1、pom引入POI包 <!--poid--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17}</version> .原创 2020-10-28 15:30:45 · 3312 阅读 · 0 评论 -
java对接阿里云短信平台
1、使用自己的支付宝登录阿里云https://www.aliyun.com/,购买免费的短信服务。搜索“短信”找到图中的【三网合一】进入点击立即购买,你也可以买有费用的,我测试用就免费申请的(每个用户只能申请一次免费的)。点击“立即开通”支付成功后,点击“管理控制台”,可以看到自己的短信服务2、再次进入购买界面,查看短信接口的定义以及调用方式。本次案例是发送短信验证码,短信信息也是如此,换下接口和参数即可。3、编写代码需要pom引入一下http工具原创 2020-08-27 16:50:36 · 5428 阅读 · 0 评论 -
java自定义校验注解
前言在日常的开发中可能会对手机号、邮箱、身份证号的合法性进行校验,然而每次使用if语句调用校验函数进行校验又显得过于麻烦,这时候自定义校验注解用处就很大了。此文编写一个对应0,1值的校验。1、引入依赖<dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version&原创 2020-07-17 11:04:15 · 4266 阅读 · 0 评论 -
如何保证库存在高并发的场景下是安全的
一、 问题一件商品只有100个库存,现在有1000或者更多的用户来购买,每个用户计划同时购买1个到几个不等商品。如何保证库存在高并发的场景下是安全的?(1)不多发(2)不少发二、 下单的步骤(1)下单(2)下单同时预占库存(3)支付(4)支付成功真正减扣库存(5)取消订单(6)回退预占库存三、 什么时候进行预占库存?...转载 2020-05-07 16:46:26 · 15434 阅读 · 0 评论 -
Java Stream流使用语法详解
如何使用Stream?聚合操作是Java 8针对集合类,使编程更为便利的方式,可以与Lambda表达式一起使用,达到更加简洁的目的。前面例子中,对聚合操作的使用可以归结为3个部分:1)创建Stream:通过stream()方法,取得集合对象的数据集。 2) Intermediate:通过一系列中间(Intermediate)方法,对数据集进行过滤、检索等数据集的再次...转载 2020-04-25 15:19:09 · 22513 阅读 · 0 评论 -
java可重入锁、读写锁、synchronized 和lock有什么区别?用新的lock有什么好处?你挙例说说
1、原子引用package com.example.mybaties;import lombok.AllArgsConstructor;import lombok.Getter;import lombok.ToString;import java.util.concurrent.atomic.AtomicReference;/** * @DESCRIPTION 原子引用 ...原创 2020-04-20 16:31:15 · 14420 阅读 · 0 评论 -
form-data、x-www-form-urlencoded、raw、binary的区别
在日常开发中,通常会因为提交数据的方式不同而导致各种各样的问题,归根结底是因为未能正确认识到POST方式上传数据的几种方式的区别。所以很有必要研究一下这几种提交方式的区别。1、form-data方式。表示http请求中的multipart/form-data方式,会将表单的数据处理为一条消息,用分割符隔开,可以上传键值对或者上传文件;比如按照如下方式传输提交数据。对于一段utf8编码的字节...原创 2020-04-20 11:20:08 · 24405 阅读 · 0 评论 -
java的CAS原理、解决案例
1、单例模式在多线程环境下可能存在安全问题package com.example.mybaties;/** * @DESCRIPTION 单例模式在多线程环境下可能存在安全问题 * @Author lst * @Date 2020-03-24 09:00 */public class SingletonDemo { //高并发下加载完成再取值 volatile(禁止指...原创 2020-03-30 16:48:32 · 13422 阅读 · 0 评论 -
HashMap面试题,看这一篇就够了。
看到一篇不错的hashmap讲解,分享一下。链接地址:https://blog.csdn.net/valada/article/details/103359320源码分析:http://www.jmlson.com/jmls/diaodadetail?30原创 2019-12-24 10:22:42 · 26978 阅读 · 0 评论 -
java面试题(持续更新)
(持续更新中...)1、JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境。 JRE:Java Runtime Environment 的简称,Java 运行环境,为 Java 的运行提供了所需环境。具体来说 JDK 其实包含了 JRE,同时还包含了编译 Java 源码的编译器 Java...原创 2020-02-21 17:34:46 · 14465 阅读 · 0 评论 -
jvm面试原理
1、什么是JVMJVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码...原创 2020-01-18 15:40:49 · 16936 阅读 · 0 评论 -
SpringBoot打成war包,部署到Tomcat服务器
前言SpringBoot默认达成jar包,默认使用内置的Tomcat。但考虑到项目需要打成war包部署到外部的Tomcat服务器中。把SpringBoot项目按照平常的web项目一样发布到tomcat容器下。1、修改pom.xml文件将默认的jar(默认创建项目的时候没有packaging)方式改为war。 <modelVersion>4.0.0</mode...原创 2020-01-17 16:31:52 · 13855 阅读 · 0 评论 -
Java通过SMS短信平台实现发短信功能
前言本文记录的是使用中国网建的SMS短信平台,使用前需要注册,这里只记录SMS接口的使用。1、登录http://sms.webchinese.cn/User/?action=key网站注册。2、注册后直接登录。3、登录成功后,首先找到短信秘钥,调接口需要。找到秘钥后,要先把签名的内容填入,这样在调接口后会验证签名的。网站也有API接口调用案例(短信API接口菜单)。...原创 2020-01-16 15:40:57 · 30539 阅读 · 0 评论 -
spring动态获取bean
在实际的项目中,在使用spring注解的方式管理bean时,只能通过注解或者配置文件注入的方式获取相应的bean。但是在某些特殊情况下,我们需要在一个普通的JAVA类中获取由spring所管理的bean,一下是解决方法,实现接口ApplicationContextAware。package com.example.demo.service;import com.baomidou.myba...原创 2020-01-13 15:09:20 · 20639 阅读 · 0 评论 -
javaBean与Map之间的转换工具
前言在日常我们的工作中,很多时候都会将我们的bean转换成Map做一些数据操作,对于这些我们可以写成一个工具类中,以下是我在工作中的bean和Map互转的工具,分享一下,可以直接拷贝过去使用的呦。1、map转bean1)普通转换(网上找的),但是像是父类或者bean中又一个变量也是bean时转换不了。 public static <T> T map2bean(...原创 2020-01-10 14:45:36 · 13411 阅读 · 0 评论