• Jenkins 学习笔记

    本学习笔记参考《Jenkins 2.x实践指南》。1. Jenkins 简介#Jenkins 是一款自动化的任务执行工具。通常用于持续集成/持续交付领域。可以通过界面或Jenkinsfile告诉Jenkins执行什么任务,何时执行。理论上,我们可以让它执行任何任务,但是通常只应用于持续集成和持续交付。持续集成将软件生产过程从手工模式带入流水线模式,软件生产的某个环节都对应流水线...

    Java 2021年09月14日 43 0
  • Java的“泛型”特性,你以为自己会了?(万字长文)

    使用Java的小伙伴,对于Java的一些高级特性一定再熟悉不过了,例如集合、反射、泛型、注解等等,这些可以说我们在平时开发中是经常使用到的,尤其是集合,基本是只要写代码没有用不到的,今天我们先来谈谈泛型。1. 定义在了解一个事物之前,我们必定要先知道他的定义,所以我们就从定义开始,去一步一步揭开泛型的神秘面纱。# 泛型(generics) 他是 JDK5 中引入的一个新特性,泛...

    Java 2021年09月14日 49 0
  • 分享BigDecimalUtil类

    /** * @Title: * @Description: 数学计算 */ public class BigDecimalUtil { /** * 功能描述: <br> * 精确度 */ private static final int DEF_DIV_SCALE = 5; /** * 提供精...

    Java 2021年09月14日 41 0
  • 再见 Shiro!权限认证我选择 Sa-Token:简单、优雅

    Sa-Token 介绍Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、Session会话、单点登录、OAuth2.0、微服务网关鉴权 等一系列权限相关问题。Sa-Token 的 API 设计非常简单,有多简单呢?以登录认证为例,你只需要:// 在登录时写入当前会话的账号id StpUtil.login(10001); // 然后在需要校验...

    Java 2021年09月09日 101 0
  • PHP关于获取时间的方法

    1、时间转换函数 date("Y-m-d H:i:s",$time);2、获取当天凌晨时间戳 $todaytime=strtotime("today");3、获取明天时间 strtotime("+1 day");4、获取昨天时间 strtotime("-1 day");5、获取下周时间 strtotime("+1 w...

    PHP 2021年09月01日 90 0
  • JAVA中直接用Jdbc就能操作数据库了,为什么还要用spring框架?

    不过随着业务的扩展,你就会发现jdbc建立一个连接居然要几百毫秒,而执行一个普通的SQL仅仅需要几毫秒。这么重量级的资源建立了就释放了不合适,得找个容器存起来,谁要就来取,不用了就还给容器,毕竟容器里的借取比建立一个连接要快的多。这样的容器叫做数据连接池。小日子继续过,业务也越做越大,慢慢地你就发现了:这jdbc的接口也太粗暴了,有一大半的代码在往bean里塞数据,下标还是从1...

    Java 2021年09月01日 96 0
  • Java教程:Java Float类

    Float类在对象中包装了一个基本类型float的值。Float类对象包含一个float类型的字段。此外,该类提供了多个方法,能在float类型与String类型之间互相转换,同时还提供了处理float类型时比较常用的常量和方法。Float类的构造方法Float类中的构造方法有以下3个。Float(double value):构造一个新分配的Float对象,它表示转换为floa...

    Java 2021年08月31日 81 0
  • 从一次netty 内存泄露问题来看netty对POST请求的解析

    背景最近生产环境一个基于 netty 的网关服务频繁 full gc观察内存占用,并把时间维度拉的比较长,可以看到可用内存有明显的下降趋势出现这种情况,按往常的经验,多半是内存泄露了问题定位找运维在生产环境 dump 了快照文件,一分析,果然不出所料,在一个 LinkedHashSet 里面, 放入 N 多的临时文件路径可以看到,该 LinkedHashSet 是被类 Dele...

    Java 2021年08月25日 86 0
  • 一次订单号重复引起的事故,可把我给坑惨了

    我们线上出了一次事故,这个事故的表象是这样的:系统出现了两个一模一样的订单号,订单的内容却不是不一样的,而且系统在按照订单号查询的时候一直跑错,也没法正常回调,而且事情发生的不止一次,所以这次系统升级一定要解决掉。经手的同事之前也改过几次,不过效果始终不好,总会出现订单号重复的问题,所以趁着这次问题我好好地理了一下我同事写的代码。这里简要展示下当时的代码:/** * OD单号...

    Java 2021年08月24日 88 0
  • Feign接口实现上传多个文件的坑

    前言这段时间需要做一个公共的上传文件资源的服务,可以通过前端直接调用上传文件;还有需求可以通过后台服务通过Feign接口方式 ,调用上传文件资源服务。在这过程中,遇到了一些问题,老顾在这里留个tag,避免小伙伴们也遇到相似的问题流程上面流程是常规的上传文件的2种方式,我们下面先来看看,正常的代码代码后台文件服务文件服务支持单个文件,以及多个文件上传Feign接口通过feign接...

    Java 2021年08月23日 97 0
  • Netty对Executor实现机制分析

    ThreadPerTaskExecutorThreadPerTaskExecutor每一个任务的执行器(代理和命令模式)线程解耦(执行线程和创建线程)public final class ThreadPerTaskExecutor implements Executor { //定义一个私有的线程工厂 private final ThreadFactory thr...

    Java 2021年08月23日 91 0
  • 统一认证授权平台keycloak初体验

    上一篇文章简单介绍了Keycloak,反响不错。看来大家都对这个东西感兴趣,今天就来进一步的体验Keycloak,让我们对它有一个直观的认识,然后逐步深入,把它的设计理念和概念各个击破。总体思路因为事先已经知道Keycloak提供了Spring Security的适配器。先独立把Keycloak的核心概念弄清楚,然后再去研究它如何结合Spring Security的。安装Key...

    Java 2021年08月23日 90 0
  • CKEditor 4.16.2 发布,修复浏览器兼容性问题

    CKEditor 4.16.2 维护版本已发布。此版本是一个维护版本,更新内容包括修复安全问题、修复浏览器兼容性问题、升级与 React 的集成,以及修复其他重要问题。修复安全问题修复了剪贴板插件中的安全漏洞 (CVE-2021-32809),该漏洞会引起出现滥用粘贴功能(使用格式错误的 HTML )的情况,进而导致将任意的 HTML 注入编辑器。此外,在 Widget 插件中...

    Java 2021年08月19日 95 0
  • OAuth2.1授权服务器Spring Authorization Server正式孵化成功

    今天Spring官方宣布 Spring Authorization Server 已正式退出实验状态并进入Spring 项目的产品家族!Spring 官方声明此举恰逢本周的 0.2.0 版本发布,这是第一个正式支持的生产就绪版本。自2020 年 4 月Spring Authorization Server公布以来以来,已经实现了OAuth 2.1 授权协议的绝大部分,并为 Op...

    Java 2021年08月18日 102 0
  • 8月份Github上Java开源项目排行

    8月份GitHub上最热门的Java开源项目排行已经出炉啦,一起来看看上榜详情吧1dataeasehttps://github.com/dataease/dataease Star 2472DataEase是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。DataEase支持丰富的数据源连接,能够通过拖拉拽方式快速制作图表,并可以方便的与...

    Java 2021年08月18日 107 0
  • 推荐!从零设计所见即所得的H5编辑器 PHP

    推荐!从零设计所见即所得的H5编辑器

    前言前段时间笔者一直忙于数据可视化方面的工作,比如如何实现拖拽式生成可视化大屏,如何定制可视化图表交互和数据导入方案等,这块需求在B端企业中应用非常大,所以非常有探索价值。本篇文章并非和数据可视化相关,而是通过抽象技术底层,将其应用于H5页面可视化搭建上,通过技术的手段实现拖拽式生成H5页面。这块也有非常多的应用场景,比如我们需要开发一个移动端网站,一个H5营销页面,H5活动页...

    PHP 2021年08月17日 108 0
  • 认识工作流程引擎

    相关概念BPM:Business Process Modeling,业务管理流程,是对实现生活工作中的流程问题进行抽象建模来推导解决方案。BPMN:Business Process Model and Notation,一种流程建模描述语言,是业务流程建模的一种标准注解BPMN2.0:专业组织和团体发布的一套标准或规范,定义业务流程的符号以及模型,确保流程的定义实现可移植性Wf...

    Java 2021年08月16日 95 0
  • 授权码模式(authorization code)获取access_token

    1.oauth2获取access_token的几种方式:简化模式(implicit):在redirect_url中传递access_token,oauth客户端运行在浏览器中。密码模式(password):将用户名和密码传过去,直接获取access_token。客户端模式(client credentials):用户向客户端注册,然后客户端以自己的名义向“服务端”获取资源。授权...

    Java 2021年08月16日 116 0
  • Uni-App一套代码多端(iOS、Android、H5、以及各种小程序)运行

    了解 Uni-Appuni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台。即使不跨端,uni-app同时也是更好的小程序开发框架。uni-app 是由 DCloud 公司打造的,DCloud公司拥有340万开发者用户,旗下uni-app有5万+...

    Android 2021年08月16日 175 0
  • 高并发高性能的定时器实现

    前言我们经常都会碰到延迟任务,定时任务这种需求。在网络连接的场景中,常常会出现一些超时控制。随着连接数量的增加,这些超时任务的数量往往也是很庞大的。实现对大量任务的超时管理并不是一个容易的事情。几种定时任务的实现java.util.TimerJDK 在 1.3 的时候引入了Timer数据结构用于实现定时任务。Timer的实现思路比较简单,其内部有两个主要属性:TaskQueue...

    Java 2021年08月13日 122 0
  • Spring 中 @Component、@Service 等注解如何被解析?

    前言@Component和@Service都是工作中常用的注解,Spring如何解析?1.@Component解析流程找入口Spring Framework2.0开始,引入可扩展的XML编程机制,该机制要求XML Schema命名空间需要与Handler建立映射关系。该关系配置在相对于classpath下的/META-INF/spring.handlers中。如上图所示 Con...

    Java 2021年08月12日 139 0
  • MyBatis 执行流程及源码解析

    我们在日常工作中广泛使用mybatis作为数据持久层框架, 但是mybatis的执行流程是怎么样的,你了解过吗。本文将从源码角度,带你分析mybatis的工作原理。先看一个简单的例子,以Service调用Mapper接口为例:public interface StudentMapper { @Select("select * from student") pub...

    Java 2021年08月12日 111 0
  • 撸个Spring Boot中的starter,解密自动化配置

    starter背景Spring Boot目前已经变成了后端开发者必备技能之一,其中一个主要原因是Spring Boot中有个非常重要的机制(starter机制)。starter能够抛弃以前繁杂的配置,将其统一集成进starter,使用的时候只需要在maven中引入对应的starter依赖即可,Spring Boot就能自动扫描到要加载的信息并启动相应的默认配置。starter让...

    Java 2021年07月22日 171 0
  • Spring Boot搭建 ELK,这才是正确看日志的方式

    在看大型网站的中间件技术,对于Elasticsearch有点兴趣,所以将配置流程记录了一下。为什么要用ELK“ELK实际上是三个工具,Elastricsearch + LogStash + Kibana,通过ELK,用来收集日志还有进行日志分析,最后通过可视化UI进行展示。一开始业务量比较小的时候,通过简单的SLF4J+Logger在服务器打印日志,通过grep进行简单查询,但...

    Java 2021年07月20日 161 0
  • 使用Debezium、Postgres和Kafka进行数据实时采集(CDC)

    1. 背景一直在完善自己的微服务架构,其中包含分布式工作流服务的建设,目前采用的是Camunda工作流引擎。使用Camunda工作流,就会涉及到工作流引擎的用户体系如何与现有用户体系集成的问题(Flowable、Activity也类似)。现有设计中,工作流定位偏重于企业内部流程的流转,因此系统中设计了单位、部门、人员以及人事归属与Camunda工作流用户体系对应。功能设计完成,...

    Java 2021年07月20日 134 0
  • zabbix 5系列之微信实时告警

    1. 微信报警:Zabbix除了可以使用邮件报警和钉钉告警之外,还可以通过微信报警,或者只要有api,你能想到的告警方式,zabbix都能实现。越灵活的告警机制越能及时有效地把告警信息推送到负责人,方便及时处理问题。看这篇文章之前,最好看我的上篇钉钉告警,因为在这篇文章中,媒介的设置,动作的设置等介绍得比较简单,主要是功能实现,在上篇文章中,每个参数都有详细介绍。zabbix ...

    Python 2021年07月13日 200 0
  • .NET 6 新特性 System.Text.Json 中的 Writeable DOM C#

    .NET 6 新特性 System.Text.Json 中的 Writeable DOM

    .NET 6 新特性 System.Text.Json 中的 Writeable DOM 特性Intro在 .NET 6 Preview 4 中,微软加入了 JSON Node 的支持,我们可以动态的编辑一个 JSON 文档,一个可以修改的 JSON 文档,就像 Newtonsoft.Json 里的 JToken,这样我们就可以更加灵活的操作一个 JSON 了。主要新增的 AP...

    C# 2021年07月13日 172 0
  • 自己搭建一个网站需要多少钱 PHP

    自己搭建一个网站需要多少钱

    如果是自己搭建网站,可以选择网上免费的开源CMS系统,自带模板,只需要到阿里云、腾讯云、西部数码等商家购买域名和空间,不懂后台程序也没有关系统,也不用学习做前端设计,只要会打字就可以建网站,这种费用比较便宜,也就几百元买空间和域名。当然网站要有效果,建设还是找专业的建站公司或个人技术员,这种方式做出来的网站,是完全符合自己的要求,也适用于现在互联网环境,对搜索引擎规则更友好,搭...

    PHP 2021年07月13日 176 0
  • MyBatisPlus集成

    1-5 MyBatisPlus集成  接下来我们完成一个品牌的CRUD操作、我们会集成MyBatisPlus来实现。1、MyBatis Plus介绍  MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis Plus特性:无侵入:只做增强不做改变,引入它不会对现有工程产生影...

    Java 2021年07月12日 254 0
  • Nanoid - 可能会取代 UUID 的ID产生器

    UUID以前开发时用得多了,它很好用,不过,现在有个强力的挑战者:Nanoid。Nanoid已经可以在多种语言C#, C++, Clojure and ClojureScript, Crystal, Dart & Flutter, Deno, Go, Elixir, Haskell, Janet, Java, Nim, Perl, PHP, Python with di...

    PHP 2021年07月12日 168 0