几乎在所有的项目中,定时任务的使用都是不可或缺的,如果使用不当甚至会造成资损。还记得多年前在做金融系统时,出款业务是通过定时任务对外打款,当时由于银行接口处理能力有限,外加定时任务使用不当,导致发出大量重复出款请求。还好在后面环节将交...
最近在工作中,遇到了这样一个业务场景,我们需要关注一个业务系统数据库中某几张表的数据,当数据发生新增或修改时,将它同步到另一个业务系统数据库中的表中。 一提到数据库的同步,估计大家第一时间想到的就是基于binlog的主从复制了,但是放在我...
由于最近经常在知乎上回答问题,所以吴某和都某的瓜我第一时间就吃了。我心想,这次XX彻底凉凉了呀,没想到最后警方通报是一期金钱诈骗案,我当时就炸了! 我去,还带这种操作呀! 这件事给二哥造成了极坏的后遗症,以至于我满脑子都是破案、破案、...
在最近几年间,不断的有java反序列化漏洞被曝光。最近的几次分别产生于spring框架以及Groovy还有文件上传的java库中,这些漏洞均得到了修复。 但在最近的研究中,安全人员发现java反序列漏洞远远不止上述几处,该漏洞广泛的存在于java库中。 Jav...
断言——assert 断言语句assert在JDK1.4中首次提供,专门用来进行代码测试和纠错,以提高程序的可靠性。它可以被应用在程序中的任何位置,也被称为运行断点。编程人员在assert语句中提供测试数据的范围或者条件,作为断言或者声明(assertion)。例...
此前的 Java 社区报告曾指出,Java 8 仍是开发人员使用的主要版本,新版本并未“得宠”。但 Snyk 近期发布的 JVM Ecosystem Report 2021 则指出,开发人员已经逐渐从 Java 8 迁移到了 Java 11。 JVM Ecosystem Report 2021 展示了关于 JVM 生态系统...
上周,因为要测试一个方法的在并发场景下的结果是不是符合预期,我写了一段单元测试的代码。写完之后截了个图发了一个朋友圈,很多人表示短短的几行代码,涉及到好几个知识点。 还有人给出了一些优化的建议。那么,这是怎样的一段代码呢?涉及到哪些...
要想了解Java的API有多变态,就不得不提一下队列这个接口,许多工作多年的人,依然是对此非常迷惑。虽然队列是计算机算法中的一个基本结构,但它并不仅仅只有add这个方法。 读完本文,再看到add、offer、put,不要再犯晕了! 1. 一段小代码 猜...
工作很多年后,才发现有很多工具类库,可以大大简化代码量,提升开发效率,初级开发者却不知道。而这些类库早就成为了业界标准类库,大公司的内部也都在使用,如果刚工作的时候就有人告诉我使用这些工具类库,该多好! 一块看一下有哪些工具类库你也...
我相信,绝大多数初始Java泛型的同学都会感到这个知识点理解起来有些困难,在这里我会对java泛型相关知识点做一个详细的介绍,包括:入门泛型必懂的知识点、通配符、泛型擦除以及泛型应用四个内容。今天我来讲解第一个知识点:入门泛型必懂的知识点。先...
线程是进程中的一个独立控制单元,线程在控制着进程的执行,一个进程中至少有一个线程。多线程可以更好地利用cpu的资源,线程之间还能进行数据共享。 在Java中,一个线程是指进程中的一个执行流程,一个进程可以运行多个线程,Java中每个线程都有一...
泛型! 当我第一次听到这个东西的时候,我是这样想的: 泛型?什么东西,听起来感觉挺高大上的,我能学会吗?我能理解吗?我会不会栽在这里? 是啊,听起来就蛮牛,蛮高大上的嘛,但是你需要仔细理解,啊不对,说得简单点,你就把这俩字拆开来...
一,org.apache.commons.lang.StringUtils字符串工具类 1、isBlank:字符串是否为空,空白字符(ascii为0)不算空 2、isEmpty:字符串是否为空,空白字符(ascii为0)不算空 3、equals:判断字符串内容是否相等 4、join:数组合并为字符串,可...
如果你想在这个竞争激烈的编程行业中,在一群Java开发者人群中保持优势,那么你应该学习很多东西,需要具备很多技能,并且需要具备的那些技能取决于你的职位,但是根据对Java程序员技能和当前市场需求的最新调查,这里我们将讨论Java程序员2021年应该学...
思路: 将原图,竖向划分为10个等份,前两个等份作为1个参考图,后8份作为1张样本图,所以总共需要分割9张图出来(第一张占两份),然后将第一张参考图和后面8张样本图合并成8个样本结果即可。 实现 新建普通java 项目,Java单类实现代码,...
在并发编程中我们都知道i++操作是非线程安全的,这是因为 i++操作不是原子操作。 如何保证原子性呢?常用的方法就是加锁。在Java语言中可以使用 Synchronized和CAS实现加锁效果。 Synchronized是悲观锁,线程开始执行第一步就是获取锁,一旦获得锁...
前言 Java 基本类型可谓是 Java 世界里使用最频繁的数据类型了。除此之外,有种数据类型你也一定会遇到,它在 Java 世界里使用也相当频繁。它就是字符串! 听到字符串,你是不是想起了字符这种类型。不过在 Java 里,字符和字符串是两种不同的类...
本文介绍下目前开发中所用到的开发工具。 硬件篇: 2014年入手MacPro 小米5 iPhone6s 两部手机主要用来测试和体验竞品。 目前最大问题就是电脑跟手机的存储空间不足,总需要去删除一些东西来倒出空间。 软件篇: app开发工具:...
本功能实现需要用到第三方jar包 jave,JAVE 是java调用FFmpeg的封装工具。 spring boot项目pom文件中添加以下依赖: <!-- https://mvnrepository.com/artifact/ws.schild/jave-core --> <dependency> <...
最近在搞Excel导入,数据校验是少不了的,但是不同的数据字段有不同的校验策略,五花八门的,甚至不确定,没有办法使用JSR303。所以就搞一个校验策略工具,把校验策略抽象出来。这里尝试了Java 8 提供的一个断言函数接口java.util.function.Predicate,...