Commons-lang

求求你了,不要再自己实现这些逻辑了,开源工具类不香吗?

假装没事ソ 提交于 2020-08-13 06:17:33
最近公司来了一批实习生,小黑哥负责带一个。这位小师弟说实话,基本功很扎实,做事也非常靠谱,深得小黑哥真传。 不过最近给其 Review 代码的时候,小黑哥发现小师弟有些代码逻辑有些繁琐,有些代码小黑哥看来可以用一些开源工具类实现,不需要自己重复实现。 不过这也是正常的,小黑哥刚入行的时候写的代码也是这样,这几年慢慢接触了一些开源工具类,逐渐积累。现在写代码才会直接用工具类替换自己实现的这些繁琐的逻辑。 于是小黑哥给小师弟分享了几个自己常用的开源工具类,小师弟学完直呼:『666』。 这里小黑哥抛砖引玉,分享几个常用的工具类,希望帮助到刚入行的同学们。其他 编程老司机 如果还有其他好用的工具类,欢迎评论区分享。 下文主要分享这几个方向的常用工具类: 点赞再看,养成习惯,微信搜索『程序通事』,关注就完事了。 点击查看更多系列相关文章 字符串相关工具类 Java 中 String 应该是日常用的最多一个类吧,平常我们很多代码需要围绕 String ,做一些处理。 JDK 提供 String API 虽然比较多,但是功能比较基础,通常我们需要结合 String 多个方法才能完成一个业务功能。 下面介绍一下 Apache 提供的一个工具类 StringUtils. Maven Pom 信息如下: <dependency> <groupId>org.apache.commons</groupId

求求你了,不要再自己实现这些逻辑了,开源工具类不香吗?

て烟熏妆下的殇ゞ 提交于 2020-08-13 03:36:44
最近公司来了一批实习生,小黑哥负责带一个。这位小师弟说实话,基本功很扎实,做事也非常靠谱,深得小黑哥真传。 不过最近给其 Review 代码的时候,小黑哥发现小师弟有些代码逻辑有些繁琐,有些代码小黑哥看来可以用一些开源工具类实现,不需要自己重复实现。 不过这也是正常的,小黑哥刚入行的时候写的代码也是这样,这几年慢慢接触了一些开源工具类,逐渐积累。现在写代码才会直接用工具类替换自己实现的这些繁琐的逻辑。 于是小黑哥给小师弟分享了几个自己常用的开源工具类,小师弟学完直呼:『666』。 这里小黑哥抛砖引玉,分享几个常用的工具类,希望帮助到刚入行的同学们。其他 编程老司机 如果还有其他好用的工具类,欢迎评论区分享。 下文主要分享这几个方向的常用工具类: 点赞再看,养成习惯,微信搜索『程序通事』,关注就完事了。 点击查看更多系列相关文章 字符串相关工具类 Java 中 String 应该是日常用的最多一个类吧,平常我们很多代码需要围绕 String ,做一些处理。 JDK 提供 String API 虽然比较多,但是功能比较基础,通常我们需要结合 String 多个方法才能完成一个业务功能。 下面介绍一下 Apache 提供的一个工具类 StringUtils. Maven Pom 信息如下: <dependency> <groupId>org.apache.commons</groupId

强制行家更新

僤鯓⒐⒋嵵緔 提交于 2020-08-11 02:52:34
问题: I imported my working project on other computer so it started to download dependencies. 我将工作项目导入其他计算机,因此它开始下载依赖项。 Apparently in the meantime my internet connection crashed. 显然与此同时,我的互联网连接崩溃了。 Now I get: 现在我得到: Build errors for comics; 建立漫画错误; org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project comicsTest: Could not resolve dependencies for project comicsTest:comicsTest:war:0.0.1-SNAPSHOT: The following artifacts could not be resolved: org.springframework:spring-context:jar:3.0.5.RELEASE, org.hibernate:hibernate-entitymanager:jar:3.6.0.Final, org

使用位运算、值交换等方式反转java字符串-共四种方法

╄→尐↘猪︶ㄣ 提交于 2020-08-09 04:13:02
在本文中,我们将向您展示几种在Java中将String类型的字符串字母倒序的几种方法。 StringBuilder(str).reverse() char[] 循环与值交换 byte 循环与值交换 apache-commons-lang3 如果是为了进行开发,请选择 StringBuilder(str).reverse() API。出于学习的目的,我们可以研究 char[] 和 byte 方法,其中涉及到值互换和移位运算技术,这些技术对于了解 StringBuilder(str).reverse() API黑匣子背后原理非常有帮助。 1. StringBuilder(str).reverse() 在Java中,我们可以使用 StringBuilder(str).reverse() 使字符串字母倒序。 public class ReverseString1 { public static void main(String[] args) { String str = "Reverse a String in Java"; StringBuilder sb = new StringBuilder(str).reverse(); System.out.println(sb.toString()); } } 输出结果 avaJ ni gnirtS a esreveR 2. char[]

Spring Boot + Spring Security图形验证码

雨燕双飞 提交于 2020-08-07 15:18:57
引入依赖: <dependency> <groupId>org.springframework.security.oauth</groupId> <artifactId>spring-security-oauth2</artifactId> <version>2.5.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.3</version> </dependency> <dependency> <groupId>mysql</groupId>

这 6 种统计代码执行时间的方法,你知道几个?

旧巷老猫 提交于 2020-08-06 01:21:07
我们在日常开发中经常 需要测试一些代码的执行时间 ,但又 不想使用向 JMH (Java Microbenchmark Harness,Java 微基准测试套件)这么重的测试框架,所以本文就汇总了一些 Java 中比较常用的执行时间统计方法,总共包含以下 6 种,如下图所示: 方法一:System.currentTimeMillis 此方法为 Java 内置的方法,使用 System#currentTimeMillis 来统计执行的时间(统计单位:毫秒),示例代码如下: public class TimeIntervalTest { public static void main (String[] args) throws InterruptedException { // 开始时间 long stime = System.currentTimeMillis(); // 执行时间(1s) Thread.sleep( 1000 ); // 结束时间 long etime = System.currentTimeMillis(); // 计算执行时间 System.out.printf( "执行时长:%d 毫秒." , (etime - stime)); } } 以上程序的执行结果为: 执行时长:1000 毫秒. 方法二:System.nanoTime 此方法为 Java 内置的方法

SpringBoot--实战开发--commons-lang3(三十五)

↘锁芯ラ 提交于 2020-07-29 09:48:06
一、commons-lang3简介 commons-lang3是Apache的Jakarta commons工程下具有一系列公共基础类。 Apache的Jakarta commons工程项目列表路径: http://commons.apache.org Commons基础类包基本上是基于JDK API开发而来,依赖微小,可重用性是Jakarta commons的灵魂所在。 Lang组件主要是一些工具类,涉及到数组工具类,字符串工具类,字符工具类,数学方面,时间日期工具类,异常,事件等工具类。 二、Maven依赖 <dependency > <groupId >org.apache.commons </groupId > <artifactId >commons-lang3 </artifactId > <version >3.9 </version > </dependency > 三、字符串的处理类(StringUtils) //缩短到某长度,用...结尾.其实就是(substring(str, 0, max-3) + "...") //public static String abbreviate(String str,int maxWidth) StringUtils . abbreviate ( "abcdefg" , 6 ) ; // ---"abc..." /

SpringBoot集成commons-lang3

亡梦爱人 提交于 2020-07-28 15:51:31
maven依赖 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.9</version> </dependency> ———————————————— 版权声明:本文为CSDN博主「天又热了」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_43404791/article/details/105870952 来源: oschina 链接: https://my.oschina.net/u/4321917/blog/4308527

Apache Commons-lang3提供的StopWatch执行时间监视器,以及Spring提供的StopWatch分析

笑着哭i 提交于 2020-07-27 11:47:37
编码过程中我们经常会希望得到一段代码(一个方法)的执行时间,本文将介绍两种时间监视器(秒表)来让你优雅的、灵活的处理这个问题。 Java源生方式 这种方式最最简单,最好理解,当然也是最为常用:我们自己书写。 例如:我们如果要统计一段代码的执行时间,经常会这么来写: public static void main(String[] args) { long startTime = System.currentTimeMillis(); //获取开始时间 //函数主体代码 //... long endTime = System.currentTimeMillis(); //获取结束时间 System.out.println("程序运行时间: " + (endTime - startTime) + "ms"); } 大多数时候我们使用ms来表示即可,但是这么写缺乏灵活性。倘若我们要展示成纳秒、秒、甚至分钟,还得我们自己处理(把毫秒值拿来进行转换~ ) 当然可能到了JDK8以后,我们这么做能变得稍微灵活一些:可以这么处理: public static void main(String[] args) { Instant start = Instant.now(); //doSomething(); Instant end = Instant.now(); Duration duration

Azkaban日志中文乱码问题解决

主宰稳场 提交于 2020-04-28 22:31:00
  Azkaban作为LinkedIn开源的任务流式管理工具,在工作中很大程度上被用到。但是,由于非国人开发,对中文的支持性很不好。大多数情况下,会出现几种乱码现象: - 执行内置脚本生成log乱码 - 直接command执行中文乱码 - 中文包名乱码等,其中对日常使用影响最大的就是日志乱码问题。不管是调度Hive、DataX还是Java程序,只要日志抛出来中文,中文都是乱码显示,将日志文件拷贝出来查看文件格式为GB2312,但是Linux系统编码和Azkaban日志编码明明设置的都是UTF-8,很疑惑,摸索许久,决定从源码入手开始层层解惑。   文中大部分内容从源码一步步进入解析,有经验的朋友可以跳至文末见具体解决方法。   根据页面获取日志的接口可以知道方法在 azkaban-web-server项目下package azkaban.webapp.servlet 下的方法handleAJAXAction,如下图 请求参数是fetchExecJobLogs    对应的处理方法为 ajaxFetchJobLogs(req, resp, ret, session.getUser(), exFlow)和ajaxFetchExecFlowLogs(req, resp, ret, session.getUser(), exFlow)   进入该方法后可以发现返回的data为经过