Java
文章平均质量分 55
尼古拉斯__赵四
这个作者很懒,什么都没留下…
展开
-
集合并集、交集、交集的补集、集合相减
import org.apache.commons.collections.CollectionUtils;import org.apache.commons.lang.ArrayUtils;import java.util.Arrays;import java.util.Collection;import java.util.Collections;import java.util.List;public class CollectionUtilsIntro { @Suppress.原创 2020-07-03 15:36:33 · 1050 阅读 · 0 评论 -
HttpClient上传文件传入MultipartFile类型
httpClient post方式上传MultipartFile文件注意:builder.addBinaryBody("file", file.getInputStream(), ContentType.MULTIPART_FORM_DATA, fileName);// 文件流第一个参数:"file" 表现需要调用的上传文件接口 文件名第二个参数:传入文件流第三个参数:文件类型第四个参数:上传文件的名称/** * post请求接口 * @param url原创 2020-06-24 10:09:08 · 5920 阅读 · 1 评论 -
SPRINGBOOT中logback-spring.xml读取application.properties配置文件中url
解决方案:需要通过springProperty标签来引用:<springProperty scope="context" name="elkLoggerUrl" source="elk.logger.destination"/> 这里的name和上面property标签一样不多说,source其实就是上面的value啦,只不过要注意:千万不要加${}。...原创 2020-04-29 21:48:55 · 2338 阅读 · 0 评论 -
LinkedHashMap 转实体对象
rpc调用返回的List里是 LinkedHashMap,无法get()字段内容,将LinkedHashMap转实体对象List<CustVehicleResponse> custVehicleResponseList = (List<CustVehicleResponse>) bizBaseResponse.getData(); if (Colle...原创 2020-04-20 20:27:05 · 2820 阅读 · 1 评论 -
多线程基本概念
目录什么是叫一个进程? 什么叫一个线程?进程 线程如何销毁一个线程请你说说启动线程的三种方式?继承 Thread 类实现 Runnable 接口实现 Callable 接口多线程APIDaemonsleep()yield()interrupted() 中断Executor 的中断操作多线程同步锁、异步锁什么是叫一个进程? 什...原创 2020-03-04 05:42:00 · 136 阅读 · 0 评论 -
arthas安装
下载地址:https://alibaba.github.io/arthas/install-detail.htmlwindows安装1.下载之后,在文件夹解压2.cmd切换进入解压文件夹目录,输入: java -jar arthas-boot.jar可以看到启动成功,再就可以输入 arthas相关命令。也可以 在浏览器输入:http://localhost:856...原创 2020-02-28 19:15:53 · 479 阅读 · 0 评论 -
Linux 用JAR的方式运行SpringBoot项目
1.将可运行的项目整体打包,利用 开发工具idea 执行打包命令 mvn install 或者cmd 进入项目目录中 执行 mvn install 命令整体打包java -jar qpmall-trad-api.jar...原创 2020-02-22 13:15:40 · 259 阅读 · 0 评论 -
request.getRemoteAddr()/request.getRemoteHost()
当请求地址写localhost的话, request.getLocalAddr() 获取到的地址是0:0:0:0:0:0:0:1会出现此问题 改成127.0.0.1即可得到 127.0.0.1 ip地址request.getRemoteAddr() :获得客户端的ip地址request.getRemoteHost():获得客户端的主机名当请求地址写localhost的话 会出...转载 2020-02-11 21:13:15 · 7097 阅读 · 1 评论 -
redis 分布式锁1 redisson
各场景下线程安全的锁一、同步锁:当在一个java虚拟机多个线程操作一个变量的时候就会出现线程安全问题,这个时候就会用到同步锁。二、异步锁:就是多个java 虚拟机或者说是服务器,操作同一个变量是,会出现线程安全问题,使用需要使用异步锁来处理。1)数据库 乐观锁 悲观锁 唯一标示 不推荐使用,容易出现锁表,出现死锁。2)Redis 分布式锁:就是设置一个flag标识,当一个服务...原创 2020-02-04 13:39:20 · 394 阅读 · 0 评论 -
Drools 例子
1. 项目文件结构2. maven 依赖<!-- https://mvnrepository.com/artifact/org.drools/drools-core --> <dependency> <groupId>org.drools</groupId> <artifactId>drools-core</...原创 2019-09-15 21:57:39 · 579 阅读 · 0 评论 -
elasticsearch 异常信息
目录1. SearchPhaseExecutionException1. SearchPhaseExecutionExceptionnested: SearchPhaseExecutionException[all shards failed]; nested: QueryPhaseExecutionException[Result window is too large, ...原创 2018-12-29 10:23:54 · 532 阅读 · 0 评论 -
SimpleDateFormat安全的时间格式化
转载地址: https://www.cnblogs.com/peida/archive/2013/05/31/3070790.html想必大家对SimpleDateFormat并不陌生。SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 SimpleDate...转载 2019-09-16 16:44:21 · 875 阅读 · 0 评论 -
有状态与无状态
1、概念 有状态对象(Stateful Bean):就是有数据存储功能。有状态对象,就是有实例变量的对象,可以保存数据,是非线程安全的。在不同方法调用间不保留任何状态。eg:Bean类 无状态对象(Stateless Bean):就是一次操作,不能保存数据。无状态对象,就是没有实例变量的对象.不能保存数据,是不变类,是线程安全的。衡量一个方法是否是无状态的,就看它...原创 2019-12-04 16:35:27 · 157 阅读 · 0 评论 -
MySql规范
一、基础规范(1)必须使用InnoDB存储引擎解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高(2)必须使用utf8mb4字符集解读:utf8mb4是utf8的超集,emoji表情以及部分不常见汉字在utf8下会表现为乱码,故需要升级至utf8mb4。默认使用这个字符集的原因是:“标准,万国码,无需转码,无乱码风险”,并不“节省空间”。...转载 2020-01-08 19:31:18 · 112 阅读 · 0 评论 -
Spring事务异常回滚,捕获异常不抛出就不会回滚
spring事务失效的一些原因目录1、数据库引擎不支持事务2、没有被 Spring 管理3、方法不是 public 的4、自身调用问题5、数据源没有配置事务管理器6、不支持事务7、异常被吃了8、异常类型错误1、数据库引擎不支持事务这里以 MySQL 为例,其 MyISAM 引擎是不支持事务操作的,InnoDB 才是支持事务的引擎,一般要支持事务都会使用...原创 2019-10-15 22:24:04 · 820 阅读 · 0 评论 -
并发-JAVA锁 分类
1.线程要不要锁住同步资源?锁住--悲观锁不锁住--乐观锁2.锁住同步资源如果失败,线程要不要阻塞?阻塞不阻塞--自旋锁,适应性自旋锁3.多个线程竞争同步资源的流程细节上的区别?不锁住资源,多个线程中只有一个能够修改资源成功,其它线程会去重试--无锁同一个线程执行同步资源时自动获取资源--偏向锁多个线程竞争同步资源的时候,没有获取资源的线程通过自旋等待锁释放-...原创 2019-12-27 19:48:48 · 138 阅读 · 0 评论 -
LocalDate 根据时间获取星期几
星期对应的枚举/** * @author sp */public enum WeekEnum { MONDAY("MONDAY",1,"星期一"), TUESDAY("TUESDAY",2,"星期二"), WEDNESDAY("WEDNESDAY",3,"星期三"), THURSDAY("THURSDAY",4,"星期四"), FRIDAY(...原创 2019-12-12 10:26:17 · 7749 阅读 · 3 评论 -
获取指定日期 的开始、结束使时间
/** * 获取指定 月份的开始时间 * @param year * @param month * @return */ public static Date getBeginTime(int year, int month) { YearMonth yearMonth = YearMonth.of(year, mont...原创 2019-12-05 10:39:24 · 415 阅读 · 0 评论 -
Mybatis 使用注意
使用PageHelper 做分页,手写的 sql 出错:check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 5'原因:在sql 语句结尾 加了 冒号 " ; ",导致 limit 追加在sql语句后面 语法错误...原创 2019-11-13 19:38:06 · 135 阅读 · 0 评论 -
面向对象的特征
面向对象的特征有哪些方面 在上大学初步认识面向对象的时候,很多老师说:类是对象的模板,对象是类的实例。老师曾经问过我们,人存不存在,当然,我们答错了,人是一个抽象的概念,只有当把人具体化,比如,有个叫张三的人、或者李四的人,这就叫类的实例化。 问:一个人坐电梯上楼,用到了哪些方法?答:调用了电梯上楼的方法以下为网上对面向对象特征的资料:1 . 抽象原创 2015-11-16 17:21:38 · 310 阅读 · 0 评论 -
Springboot重试支持Spring Retry
背景 在调用第三方接口或者使用mq时,会出现网络抖动,连接超时等网络异常,所以需要重试。为了使处理更加健壮并且不太容易出现故障,后续的尝试操作,有时候会帮助失败的操作最后执行成功。例如,由于网络故障或数据库更新中的DeadLockLoserException导致Web服务或RMI服务的远程调用可能会在短暂等待后自行解决。 为了自动执行这些操作的重试,Spring Batch具有Re...原创 2019-07-27 10:30:51 · 698 阅读 · 0 评论 -
http
HTTP一、基础概念1. http概念1.1 http是什么:1.2 http作用:1.3 TCP/IP 三次握手的过程:1.4 HTTP 返回状态码1.5 URI 、 URL 、 URN。1.6 HTTP请求头2. HTTP请求方法(java)2.1 根据HTTP标准,HTTP请求可以使用多种请求方法。2.2 GET/POST调用demo:http...原创 2019-07-08 21:57:12 · 422 阅读 · 0 评论 -
localTime LocalDate localDateTime 时间
2.1比较时间大小,使用时间格式的方法进行比较,返回boolean类型2.22.2.1 java8 之前Date,Calendar类易用性差,不支持时区,并且是可变的,线程不安全的、使用起来麻烦2.2.2 java8LocalDateTime,LocalDate,LocalTime等日期时间类(类的设计都使用了不变模式,因此是线程安全的设计)。* LocalDate专...原创 2019-06-02 22:26:44 · 2682 阅读 · 0 评论 -
SpringBoot_线程池_ThreadPoolTaskExecutor
SpringBoot_线程池_ThreadPoolTaskExecutor 使用1.线程池配置import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.scheduli...原创 2019-03-08 15:58:53 · 227 阅读 · 0 评论 -
CountDownLatch
1.CountDownLatch是什么? CountDownLatch是可以用来协调多个线程之间的同步,或者说起到线程之间的通信作用的工具类。它能够使一个线程在等待另外一些线程完成各自工作之后,再继续执行。使用一个计数器进行实现。计数器初始值为线程的数量。当每一个线程完成自己任务后,计数器的值就会减一。当计数器的值为0时,表示所有的线程都已经完成了任务,然后在CountDownLat...原创 2019-08-25 17:57:28 · 200 阅读 · 0 评论 -
Webservice发布服务
1.编写接口注意使用 @WebService注解@WebServicepublic interface DynamicRegistrationNotifyInterface { /** * demo 查看服务是否正常 * @param InMsg * @return */ public String thirdPushDemoInfo(@...原创 2019-09-03 16:22:01 · 215 阅读 · 0 评论 -
命令模式
目录简单实现命令模式配合责任链模式使用简单实现命令模式1. 命令接口package com.learn.headfirst.designpatterns.command01;/** * 命令接口 */public interface RegistrationHandlerCommand { public void handleRequest();}...原创 2019-09-17 10:04:37 · 115 阅读 · 0 评论 -
适配器模式
适用场景:1. 类的适配器模式:当希望将一个类转换成满足另一个新接口的类时,可以使用类的适配器模式,创建一个新类,继承原有的类,实现新的接口即可。2. 对象的适配器模式:当希望将一个对象转换成满足另一个新接口的对象时,可以创建一个Wrapper类,持有原类的一个实例,在Wrapper类的方法中,调用实例的方法就行。3. 接口的适配器模式:当不希望实现一个接口中所有的方法时,可以创建一个...原创 2019-09-23 20:44:13 · 123 阅读 · 0 评论 -
Java8 Stream
什么是 Stream Stream是数据渠道,用于操作数据源(集合,数组等)所生成得元素序列。而集合讲得是数据,流讲得是计算。 注意: ①. Stream 自己不会存储元素。 ②. Stream 不会改变源对象。相反,它会返回一个持有结果得新Stream ③. Stream 操作时延迟执行得,这意味着它们会等到需要结果时才执行。(延迟加载)二、S...原创 2019-09-29 22:20:47 · 184 阅读 · 0 评论 -
MyBatis-Plus代码自动生成工具
maven 依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.25</version&...原创 2019-09-29 22:54:39 · 218 阅读 · 0 评论 -
Rabbitmq基本原理
一、RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。消息中间件最主要的作用是解耦,中间件最标准的用法是生产者生产消息传送到队列,消费者从队列中拿取消息并处理,生产者不用关心是谁来消费,消费者不用关心谁在生产消息,从而达到解耦的目的。在分布式的系统中,消息队列也会被用在很多其它的方面,比如:分布式事务的支持,RPC的调用等等。 Ra...原创 2018-10-02 17:06:33 · 3382 阅读 · 0 评论 -
BeanUtils.copyProperties()方法和PropertyUtils.copyProperties()的区别
转自:BeanUtils.copyProperties()方法和PropertyUtils.copyProperties()的区别首先两者来源于同一个包: 1 2 import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.PropertyU...转载 2018-08-09 14:55:08 · 463 阅读 · 0 评论 -
SpringBoot_线程池_ThreadPoolTaskExecutor
1. 线程池配置import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;原创 2018-01-25 16:52:42 · 4231 阅读 · 0 评论 -
jdbc 批量操作数据库(插入、更新)
package jdbc.json;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import net.sf.json.JSONObjec原创 2016-07-04 15:39:40 · 7646 阅读 · 0 评论 -
jdbcTemplate 批量操作
/** * 将该院在 hy_schedule_everday里的所有排班插入 hy_schedule_everday * @param strList */ public void insertDoctorScheduleHisBatch(List<HashMap<String,Object>> strList) { final Li...原创 2017-08-09 20:32:47 · 440 阅读 · 0 评论 -
SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
http://blog.csdn.net/gebitan505/article/details/44455235挺不错的转载 2016-06-17 14:53:10 · 298 阅读 · 0 评论 -
HtmlUnit的简单例子
1.首先下载HtmlUnit的jar包,导入。package com.shu.htmlUnit;import com.gargoylesoftware.htmlunit.BrowserVersion;import com.gargoylesoftware.htmlunit.WebClient;import com.gargoylesoftware.htmlunit.html原创 2016-06-29 11:34:47 · 2961 阅读 · 2 评论 -
static的一个例子(静态变量、静态方法、静态块)
package com.shu.oop;/** * static的演示 * .static:静态的 1)静态变量: 1.1)由static修饰 1.2)属于类,存在方法区中,只有一份 1.3)常常通过类名.来访问 1.4)何时用:所有对象数据都一样时使用 2)静态方法: 2.1)由s原创 2015-12-12 20:59:51 · 804 阅读 · 0 评论 -
jdbc
//因为使用了JUnit,所以,先要 JUnit//步骤:反键-->build path -->configure build path --> Libraies --> Add Libraies,选中JUnit,然后选择JUnit4就可以了//因为重复连接和一定要关闭连接,所以,将它们提出到一个类DBUtil中,代码在后面package jdbc.原创 2016-02-08 12:18:07 · 238 阅读 · 0 评论 -
DAO使用的例子
首先还是声明,数据库的连接封装在DBUtil类中,上一篇文章中有,这里说的是DAO,就不赘述,见谅DAO (Data Access Object)数据访问对象建立在数据库和业务层之间,封装所有对数据库的访问。DAO的目的: 数据访问逻辑 和 业务逻辑分开1.首先要有一个实例类,比如,一个职工类 Emp,它有一些私有属性,比如empno,empname右键-->sou原创 2016-02-19 21:21:22 · 766 阅读 · 0 评论