Java Basics
文章平均质量分 63
主要为一些基础知识和好用的工具类等
Timmer丿
不积跬步,无以至千里;不积小流,无以成江海
展开
-
markdown语法详解(readme语法看这一篇就够了)
Markdown就是一种文档的格式,文件名的末尾是.md,是一种轻量级的标记语言,目前已经在Github、csdn等多个网站使用。原创 2024-03-19 13:34:15 · 889 阅读 · 0 评论 -
Gradle使用shadow插件构建jar
一、构建内部jarbudild.gradle文件plugins {//gradle的插件,shadow这个插件可以构建的时候把引用的jar包合进去 id 'java'//加上此插件后会生成一个shadowJar的task id "com.github.johnrengelman.shadow" version "5.0.0"}version '1.0-SNAPSH...原创 2019-09-18 16:12:48 · 6214 阅读 · 3 评论 -
构建jar并上传到maven库并在Git上打Tag(使用Gradle插件axion-release和maven-publish)
简介在项目开发中,我们经常需要把一些公用的代码做成一个jar,并且发布到私有的repository中,以供开发中直接以lib的方式使用。今天主要讲讲解如何使用axion-release插件在git中给source code打标签,自动跟新version等;使用maven-publish构建发布lib到私有的repository。...原创 2020-07-16 16:33:22 · 989 阅读 · 0 评论 -
log4j2 ERROR StatusLogger Unrecognized conversion specifier解决
这个问题时使用自定义log4j2 transformers的时候,在使用shadow进行构建jir包后,如果出现og4j2 ERROR StatusLogger Unrecognized conversion specifier这样的错,此时需要在gradle中加入transform:import com.github.jengelman.gradle.plugins.shadow.transformers.Log4j2PluginsCacheFileTransformer// Create a原创 2020-12-14 15:44:26 · 1436 阅读 · 2 评论 -
Log4j2异步将log发送到kafka (kafka及其依赖环境的docker配置和使用)
一,kafka config1.下载,安装docker desktop在windowshttps://hub.docker.com/?overlay=onboarding2.设置docket kafka转接到本机的hostexport DOCKER_KAFKA_HOST=###.###.###.###3.在docker安装kafka相关的images并启动容器我们使用的是d...原创 2019-12-04 15:10:43 · 2280 阅读 · 1 评论 -
log4j2异步详解及高并发下的优化
基础概述对于log4j2的同步和异步的讲解,本人也是找了很多的资料,也阅读了官方的文档和源码。对于两者的区别已经发送log执行流程可参考下面的文章,讲的挺全面的:https://www.cnblogs.com/yeyang/p/7944906.html其中对于AsyncAppender和AsyncLogger源码的解读可参考:https://www.cnblogs.com/lewis09/...原创 2020-01-30 16:52:30 · 7082 阅读 · 0 评论 -
log4j2配置解析及发送log到kafka(xml/yml)
log4j2的优势 在异步,吞吐量等方面有极大的性能提升,Log4j2的性能为什么这么好https://www.jianshu.com/p/359b14067b9e maven <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api --><dependency>...原创 2019-11-01 16:38:16 · 1587 阅读 · 0 评论 -
Google Cloud Pubsub使用详解(二)
Google Cloud Pubsub(二)——Sub的使用要接收发布到某个(Topic)主题的消息,必须创建对该主题的(Subscriber)订阅。创建订阅后,只有发布到该主题的消息可用于订阅者应用程序。订阅将(Topic)主题连接到订阅者应用程序,订阅者应用程序接收和处理发布到主题的消息。一个主题可以有多个订阅,但是给定的订阅属于一个主题。发布/订阅为每个订阅至少传递一次已发布的消息。一旦消息发送给订户,只有订户在有限的时间确认该消息后,pubsub才不会传递重复的数据。订阅可以使用拉或推机制来原创 2020-12-11 14:49:11 · 2145 阅读 · 0 评论 -
验证IP地址是否在指定的网段内(kotlin版)
可作为工具类直接使用(kotlin版)package com.ipimport java.util.regex.Matcherimport java.util.regex.Patterndata class IPAddress(private val binaryValue: Int) : Comparable<IPAddress> { override fun compareTo(other: IPAddress): Int = Integer.原创 2021-01-22 14:22:40 · 438 阅读 · 0 评论 -
Google Cloud Pubsub使用详解(一)
Pubsub简介和Pub使用详解一.简介google cloud pub/sub是一种具有传递和接受消息的事件驱动以及流分析系统,跟kafka比较相似。它具有以下特点: 集成支持C++,C#,go,java,node.js,python,ruby 消息传递有序且发送效率支持从零到数百GB/秒 无需分区的自动扩展和自动配置 可跨区域系统(pubsub服务器在全球所有的Google Cloud区域中运行) 易上手且成本低 二.Pubsub配置Goog原创 2020-12-04 15:23:29 · 6111 阅读 · 4 评论 -
Typesafe加载HOCON为实体类详解
HOCON简介HOCON(Human-Optimized Config Object Notation):人性化配置对象表示法,是一种人类可读(百度百科这样翻译的,名字的确挺怪的)的数据格式,由Lightbend公司(代表项目有scala、play framework)主导的项目,并是JSON和properties的一个超集,意思就是说完全兼容JSON和properties格式的文件,但是除此之外还提供了更加强大的功能。自我感觉在配置文件方面是非常完善的,特被是在大中型项目中优势非常明显。特点原创 2020-12-18 15:40:14 · 1270 阅读 · 0 评论 -
Kotlin使用Typesafe加载HOCON为实体类
一.背景在上一片文章讲解了typesafe加载HOCON为实体类,那么为什么还要单独写一篇Kotlin加载的事例呢?java和kotlin不是都是依赖jvm么?是的理论上来说java能用的kotlin也是没有问题的,关键是我们在kotlin中使用实体类的方式和java中有所不同,而且typesafe转换实体类的接口并没有兼容kotlin的方式,也没有提供类似的接口,看下面我们同样使用java一样的方式转换实体类的时候的情况:data class AppConfigKotlin ( val原创 2020-12-25 14:41:26 · 280 阅读 · 0 评论