
java
文章平均质量分 67
xiaolong2230
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
camunda入门教程及实现原理
camunda流程引擎介绍及使用原创 2022-12-12 19:17:33 · 30476 阅读 · 9 评论 -
for循环与串行化、并行化Stream流性能对比
并行流parallelStream注意事项1、parallelStream是线程不安全的2、parallelStream适用的场景是CPU密集型的,只是做到别浪费CPU,假如本身电脑CPU的负载很大,那还到处用并行流,那并不能起到作用3、I/O密集型 磁盘I/O、网络I/O都属于I/O操作,这部分操作是较少消耗CPU资源,一般并行流中不适用于I/O密集型的操作,就比如使用并流行进行大批量的消息推送,涉及到了大量I/O,使用并行流反而慢了很多4、在使用并行流的时候是无法保证元素的顺序的,也就是即原创 2021-02-03 15:02:52 · 1723 阅读 · 1 评论 -
java面试算法题整理
文章目录1.找到字符串的最长无重复字符子串?2.大数加法?3.字符串排序?4.合并有序数组?5 两个链表的第一个公共节点?(a+b=b+a思想)6.数组中的最长连续子序列?7.矩阵的最小路径和?8.矩阵查找?9.数字在升序数组中出现的次数?10.二叉树的层序遍历?11.反转单链表12.最小的K个数?13.包含重复数字的二分查找?14.寻找第K大的数?(快排思想)15给出一个整数数组,请在数组中找出两个加起来等于目标值的数?16.求平方根?17. 一个升序链表,删除链表中的所有重复出现的元素,只保留原链表中只原创 2021-02-02 12:06:27 · 874 阅读 · 0 评论 -
使用Redisson实现分布式锁
最近由于工作很忙,很长时间没有更新博客了,今天为大家带来一篇有关Redisson实现分布式锁的文章,好了,不多说了,直接进入主题。1. 可重入锁(Reentrant Lock)Redisson的分布式可重入锁RLock Java对象实现了java.util.concurrent.locks.Lock接口,同时还支持自动过期解锁。public void testReentrantLock(RedissonClient redisson){ RLock lock = redisson.getLock("转载 2020-12-30 17:40:27 · 225 阅读 · 0 评论 -
日志打印TraceId,一栈查log
1、在springBoot启动类上加上@ServletComponentScan2、添加filter类LogTraceFilter.java,其中Tid的生成规则可按需修改。package com.xxx.xxx.xxx.provider.common.filter;import cn.com.xxx.xxx.core.commons.utils.CommonIdGenerator;import lombok.extern.slf4j.Slf4j;import org.slf4j.MDC;原创 2020-12-22 15:32:22 · 2698 阅读 · 1 评论 -
maven的deploy配置
maven的deploy:1、需要在pom.xml中添加如下代码:<distributionManagement> <repository> <id>nexus</id> <url>http://nexus.xxx.com.cn/nexus/content/repositories/releases/</url> </repository> <snapshotRepository>原创 2020-12-17 14:29:22 · 550 阅读 · 0 评论 -
idea修改autowared校验级别
https://www.cnblogs.com/Eric-F/p/9992204.html原创 2020-12-03 15:35:55 · 653 阅读 · 0 评论 -
JDK8新特性之lambda和stream
1.java8中Lambda表达式基础语法:(x,y) -> {}左侧是一个小括号,里面是要实现的抽象方法的参数,有几个参数就写几个参数名,无参可写空括号,无需声明参数类型;中间是一个jdk8新定义的箭头符号;右侧是一个大括号,在括号内编写抽象方法的实现内容,有参时,可直接使用左侧括号中的对应参数,与正常方法的方法体相同;使用方式:实现只有一个抽象方法的接口时会自行匹配到该方法,在箭头左侧编写对应参数个数的参数名,箭头右侧编写方法的实现代码(代码实现为单行时可去掉大括号{})示例:@Te转载 2020-09-02 17:44:14 · 218 阅读 · 0 评论 -
Spring Boot 统一异常处理
统一返回数据结构定义接口返回数据结构先定义接口返回数据结构,code为0表示操作成功,非0表示异常。其中data只有在处理成功才会返回,其他情况不会返回,或者那些不需要返回数据的接口(更新、删除…){ "code": 0, "message": "SUCCESS", "data": { }}数据接口字段模型定义创建/domain/Result.java类,对以上数据接口涉及的字段进行定义。Result.javapackage com.angelo.domain;pub转载 2020-09-02 16:31:01 · 872 阅读 · 0 评论 -
Java设计模式之模板模式及使用场景
模板模式,顾名思义,就是通过模板拓印的方式。定义模板,就是定义框架、结构、原型。定义一个我们共同遵守的约定。定义了模板,我们的剩余工作就是对其进行充实、丰润,完善它的不足之处。定义模板采用抽象类来定义,公共的结构化逻辑需要在抽象类中完成,只将非公共的部分逻辑抽象成抽象方法,留待子类充实实现。所以上文所述不足之处就是这些抽象方法。总的来说,模板模式就是通过抽象类来定义一个逻辑模板,逻辑框架、逻辑原型,然后将无法决定的部分抽象成抽象类交由子类来实现,一般这些抽象类的调用逻辑还是在抽象类中完成的。这么看转载 2020-08-21 13:54:54 · 745 阅读 · 2 评论 -
Sharding-JDBC 执行原理
Sharding-JDBC 执行原理基本概念在了解Sharding-JDBC的执行原理前,需要了解以下概念:逻辑表水平拆分的数据表的总称。例:订单数据表根据主键尾数拆分为10张表,分别是 t_order_0 、 t_order_1 到t_order_9 ,他们的逻辑表名为 t_order 。真实表在分片的数据库中真实存在的物理表。即上个示例中的 t_order_0 到 t_order_9 。数据节点数据分片的最小物理单元。由数据源名称和数据表组成,例: ds_0.t_order_0 。绑定转载 2020-08-19 14:50:25 · 1409 阅读 · 0 评论 -
如何发布RMI服务;Java实现简易RPC框架
1 、RMI是什么在 Java 世界里,有一种技术可以实现“跨虚拟机”的调用,它就是 RMI(Remote Method Invocation,远程方法调用)。例如,服务A 在 JVM1 中运行,服务B 在 JVM2 中运行,服务A 与 服务B 可相互进行远程调用,就像调用本地方法一样,这就是 RMI。在分布式系统中,我们使用 RMI 技术可轻松将服务提供者(Service Provider)与...原创 2019-12-03 16:39:58 · 301 阅读 · 0 评论 -
线程池任务执行器配置以及ExecutorService的invallkeAll、submit、execute方法的区别
一、任务调度器配置:task:scheduler/@pool-size:调度线程池的大小,调度线程在被调度任务完成前不会空闲task:scheduled/@cron:cron表达式,注意,若上次任务未完成,即使到了下一次调度时间,任务也不会重复调度<task:scheduled-tasks scheduler="scheduler"> <task:schedul...原创 2019-12-02 18:13:55 · 2284 阅读 · 0 评论 -
springboot中使用swagger
spring boot下建议使用: https://github.com/SpringForAll/spring-boot-starter-swagger&lt;dependency&gt; &lt;groupId&gt;com.spring4all&lt;/groupId&gt; &lt;artifactId&gt;swagger-spring-boot-s原创 2018-08-01 16:24:49 · 586 阅读 · 0 评论 -
java多线程问题以及spring jpa事物问题以及httpost传输问题总结
1、多线程事物控制问题:在新线程中执行dao中的方法的时候出现错误如下java.lang.reflect.InvocationTargetExceptionorg.springframework.dao.InvalidDataAccessApiUsageException: Executing an update/delete query; nested exception is javax....原创 2018-11-01 18:36:24 · 1630 阅读 · 0 评论 -
spring-data-elasticsearch简单案例
关于spring-data-es注解以及案例还可以参照https://blog.youkuaiyun.com/qq_43652509/article/details/83989257一、spring-data-elasticsearch 的工程介绍spring-data-elasticsearch 的工程,介绍 Spring Data Elasticsearch 简单的 ES 操作。Spring Data...原创 2019-05-28 11:14:25 · 1502 阅读 · 0 评论 -
用策略模式优化代码的实例
实例一:利用利用策略模式实际开发中 if else 条件判断过多的问题,条件少还好,一旦 else if 过多这里的逻辑将会比较混乱,并很容易出错。比如:刚开始条件较少,也就没管那么多直接写的;现在功能多了导致每次新增一个 else 条件都得仔细核对,生怕影响之前的逻辑。重构之后这里的结构如下:最后直接变为两行代码,简洁了许多。而之前所有的实现逻辑都单独抽取到其他实现类中。拆分后的条件...原创 2019-06-14 17:20:01 · 1081 阅读 · 0 评论 -
ThreadLocalRandom和Random区别与用法
Random原理:在JDK7之前包括现在java.util.Random应该是使用比较广泛的随机数生成工具类,另外java.lang.Math中的随机数生成也是使用的java.util.Random的实例。下面先看看java.util.Random的使用:public class RandomTest { public static void main(String[] args) {...原创 2019-07-23 16:39:56 · 3162 阅读 · 0 评论 -
java多线程之倒计时器CountDownLatch
示例一、原文:https://www.relaxheart.cn/to/master/blog?uuid=83CountDownLatch是一个非常实用的多线程控制工具类。常用的就下面几个方法:CountDownLatch(int count) //实例化一个倒计数器,count指定计数个数countDown() // 计数减一await() //等待,当计数减到0时,所有线程并行执行...原创 2019-07-12 14:13:23 · 2518 阅读 · 0 评论 -
LongAdder及AtomicLong
AtomicLong原理 就像我们所知道的那样,AtomicLong的原理是依靠底层的cas来保障原子性的更新数据,在要添加或者减少的时候,会使用死循环不断地cas到特定的值,从而达到更新数据的目的。那么LongAdder又是使用到了什么原理?难道有比cas更加快速的方式?LongAdder原理这里让我困惑的一个问题是LongAdder中没有类似于AtomicLong中getAndIncr...原创 2019-07-23 19:41:16 · 301 阅读 · 0 评论 -
myeclipse安装sonarlint插件失败
前言:在用高版本myeclipse安装sonarlint4.1插件时报错:下面通过离线安装方式来安装sonar插件:SonarLint 插件离线安装包:org.sonarlint.eclipse.site-2.0.0.20160404-1547-RELEASE.zip下载地址:https://bintray.com/sonarsource/SonarLint-for-Eclipse/rel...原创 2019-07-24 11:48:33 · 1642 阅读 · 0 评论 -
java规范之卫语句以及try-with-resource语法
卫语句如果条件语句极其复杂,就应该将条件语句拆解开,然后逐个检查,并在条件为真时立刻从函数中返回,这样的单独检查通常被称之为“卫语句”(guard clauses)摘自《重构—改善既有代码的设计》卫语句的效果就是将原来需要仔细阅读代码、细心整理逻辑的条件判断整理成一眼能看透的逻辑关系,效果就像以下:if(it == 活的){ if(it == 人){ if(it...转载 2019-07-25 14:24:31 · 427 阅读 · 0 评论 -
MyBatis以及Druid 防止sql注入攻击
SQL注入是一种代码注入技术,用于攻击数据驱动的应用,恶意的SQL语句被插入到执行的实体字段中(例如,为了转储数据库内容给攻击者)。[摘自] SQL injection - WikipediaSQL注入,大家都不陌生,是一种常见的攻击方式。攻击者在界面的表单信息或URL上输入一些奇怪的SQL片段(例如“or ‘1’=’1’”这样的语句),有可能入侵参数检验不足的应用程序。所以,在我们的应用中需要...转载 2019-07-25 17:23:46 · 7164 阅读 · 0 评论 -
ElasticSearch搜索引擎在JAVA中的简单使用
Elasticsearch常用操作和核心原理见文章:https://blog.youkuaiyun.com/sdksdk0/article/details/78469190 本文参照:https://www.2cto.com/kf/201802/719374.html 一、引入ElasticSearch的jar org.elasticsearch e...原创 2018-07-31 16:41:54 · 2333 阅读 · 0 评论