
java
文章平均质量分 91
溪.源
夫学须静也,才须学也;非学无以广才,非志无以成学。
展开
-
【Restful】你还不懂Restful API规范吗?
进入正文之前,先带着小伙伴们了解几个名词,源自百度百科。标题中涉及的核心名词API,restful扩展何为API呢?API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。何为restful呢?restful是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。原创 2021-08-11 23:02:56 · 1010 阅读 · 9 评论 -
windoes服务器搭建Jenkins和部署war项目
目录背景环境准备安装JDKTomcatmaven安装Jenkins安装解决无法下载插件安装中文插件构建项目解决入站规则总结背景背景介绍:由于工作原因,小编申请新的服务器环境需要搭建Jenkin环境部署项目,新的服务器上项目部署用的环境和依赖基本上为零,小编没有求助运维的帮助,想尝试一下自己搭建,毕竟自己动手能遇到很多“坑”,提升自己的经验和解决问题的能力;服务器搭建过程中,自己确实也遇到了很多的问题,故整理一份笔记,希望能将自己遇到的坑分享出来,能够帮助第一次搭建Jenkins伙伴快速解决一下问题;原创 2021-05-22 21:17:43 · 1287 阅读 · 6 评论 -
Java编码手册之华山版小精华
最近又复习了一下阿里出品的<Java开发手册–华山版>,对于开发过程中绝大多数开发者都遵循开发手册,相信开发团队的代码可维护性能够绝对性提高。为什么要整理出这篇文章呢?相信大家会有这种感觉—读书或者接触新知识时,如果没有人提出相关的知识点,大家看过之后会发现没有任何收获一样。开发手册我自问也看了好几遍,但是其中的部分点有时也会遗漏忘记遵循,故小编将自己容易遗漏或者开发过程中强制遵循的点列出来,同时也给新手抛砖,引玉就不敢了。。。。1.【强制】类名使用 UpperCamelCase 风格,但以原创 2021-03-28 18:28:16 · 951 阅读 · 4 评论 -
初探Java枚举类
目录1.何为枚举2.枚举本质3.枚举特性3.1基本特性3.2枚举方法3.3 枚举接口3.4 获取枚举元素3.5 状态机4.枚举工具类4.1EnumSet4.2EnumMap5.总结1.何为枚举枚举是一种数据类型,具有集合的一些特点,可以存放多个元素,但存储对象有限且固定,枚举也有比较常见的使用场景。如性别(男、女),颜色(红、黄、蓝),星期(星期一、星期二…星期日)均可以使用枚举存储。2.枚举本质从源码角度:public abstract class Enum<E extends Enum原创 2020-12-09 22:02:29 · 1522 阅读 · 4 评论 -
复盘Spring中定时任务和异步线程池
项目中最近使用了多个定时任务处理业务需求,于是在实现业务逻辑过程中,产生了上图一些思考和疑问,现在利用空余时间进行一次复盘。项目搭建项目搭建环境:JDK1.8+SpringBoot主启动类:加上@EnableScheduling新建定时任务配置类:ScheduledTask;定义两个定时任务,简单打印一下线程名字和时间戳源码如下:@Componentpublic class ScheduledTask { @Scheduled(cron = "0/1 * * * * ?")原创 2020-12-09 20:13:29 · 1969 阅读 · 0 评论 -
Java系列之雪花算法和原理
SnowFlake 算法:是 Twitter 开源的分布式 id 生成算法。核心思想:使用一个 64 bit 的 long 型的数字作为全局唯一 id。首先了解一下雪花ID的结构:从网上盗用一张;针对上面各个部分做简单说明:1bit:不用;因为二进制中最高位是符号位,1表示负数,0表示正数。生成的id一般都是用整数,所以最高位固定为0。41bit-时间戳,用来记录时间戳,毫秒级。41位可以表示241-1个数字,如果只用来表示正整数(计算机中正数包含0),可以表示的数值范围是:0原创 2020-11-20 20:36:56 · 2776 阅读 · 0 评论 -
【File操作】Java实现导出ZIP压缩包
最近接触到一个需求要求压缩导出文件,于是乎便要致力于研究一下工具类啦,故也诞生了此篇文章。下面代码中,溪源也将import导入的依赖也贴出来了,避免大家引入错误。import org.apache.commons.io.FileUtils;import org.apache.commons.io.IOUtils;import javax.servlet.http.HttpServletResponse;import java.io.*;import java.text.SimpleDateFo原创 2020-11-01 21:27:43 · 10357 阅读 · 19 评论 -
Excel文件导入导出操作
日常开发工作中对于文件的相关操作大家多少都会涉及:上传解析、数据导出等。此篇内容主要分享一下工作中常用的Excel文件的解析和导出工作类实现。实践1.maven依赖首先引入POI包依赖<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version></dep原创 2020-10-11 21:44:14 · 7787 阅读 · 19 评论 -
字符串匹配算法之KMP
目录需求基础知识逻辑解析源码实现需求先简单描述溪源曾经遇到的需求:需求一:项目结果文件中实验结论可能会存在未知类型、转换错误、空指针、超过索引长度等等。这里是类比需求,用日常开发中常出现的错误类型作为需求,如果要以上结论则判断这个项目检测失败;解决方案一:大家常用的方式可能是if(){continue;} esle if (){continue;} …或者switch-case等;方案二:可能会使用集合contain()方法;方案三:依次匹配字符串中字符(暴力匹配);以上两种方案都能解决;然原创 2020-07-22 22:46:55 · 4602 阅读 · 0 评论 -
java实践SPI机制及浅析源码
1.概念正式步入今天的核心内容之前,溪源先给大家介绍一下关于SPI机制的相关概念。SPI即Service Provider Interface,属于JDK内置的一种动态的服务提供发现机制,可以理解为运行时动态加载接口的实现类。更甚至,大家可以将SPI机制与设计模式中的策略模式建立联系。SPI机制:从上图中理解SPI机制:标准化接口+策略模式+配置文件;SPI机制核心思想:系统设计的各个抽象,往往有很多不同的实现方案,在面向的对象的设计里,一般推荐模块之间基于接口编程,模块之间不对实现类进行硬原创 2020-07-21 22:03:52 · 3922 阅读 · 1 评论 -
阿里云安装Jdk1.8,So easy!
目录准备xshell6、xftpJDK安装下载、解压缩、安装设置环境变量测试准备官网下载地址:JDK1.8现在下载JDK需要登录Oracle账户,小编在网上寻找了一个账户,与此同时感谢账户主人的分享,亲测可用,分享给大家:账号:2696671285@qq.com密码:Oracle123xshell6、xftp虽然这篇文章的主题是安装JDK,但是由于在阿里云服务器上直接下载JDK压缩包比较慢,所以选择先下载压缩包后,使用xftp客户端上传至阿里云服务器。由于xshell系列工具需要购买许可证或原创 2020-07-12 13:06:19 · 8756 阅读 · 0 评论 -
如何优雅的处理Restful
最近公司搭建的项目,前端反映后端返回格式不统一的问题,因此引发小编的思考,如何能够优雅的处理返回值格式呢?在度娘中仔细研读了一番,决定总结一下,于是乎此文便诞生了。一、背景首先,大家都会思考为什么要做统一格式处理呢?现阶段的开发模式多以前后端分离形式存在,前后端开发人员需要通过大量 API 来进行数据交互,如果在交互过程中前后端人员经常遭遇如下问题:前端人员不能快速理解接口字...原创 2020-04-07 21:42:00 · 3967 阅读 · 0 评论