如何开发一个maven插件

maven是当下最流行的项目管理工具,其丰富的插件为我们的工作带来了很大的便利。 但是在一些情况下,开源的插件并不能完全满足我们的需求,我们需要自己创建插件,本文就从0开始带大家一起创建自己的插件。 【命名规范】 首先,官方的命名规范是maven-xxx-plugin,为了避免于官方冲突,我们可以将 ... »

ArrayList 源码

总体介绍 ArrayList实现了List接口,是顺序容器,即元素存放的数据与放进去的顺序相同,允许放入null元素,底层通过数组实现。除该类未实现同步外,其余跟Vector大致相同。每个ArrayList都有一个容量(capacity),表示底层数组的实际大小,容器内存储元素的个数不能多于当前容量 ... »

Java基础 之三 继承

1.子类 1) 定义子类 //假设父类(也叫做超类)是Employee类,用extends来表示继承 public class Manager extends Employee{ //域和方法 private double bonus; //子类的域 ... private void setBonu ... »

感谢您的支持

有缘人我们见面了 何其荣幸,让我们再次相遇。 无与伦比的傻官方微信公众号:dasha500 微博:大傻二傻参上 微信:dasha404 B站:大傻二傻参上 淘宝商铺:无与伦比的傻 微信小店:大傻二傻参上 ... »

源码分析:ReentrantReadWriteLock之读写锁

简介 ReentrantReadWriteLock 从字面意思可以看出,是和重入、读写有关系的锁,实际上 ReentrantReadWriteLock 确实也是支持可重入的读写锁,并且支持公平和非公平获取锁两种模式。 为什么会出现读写锁? 普通锁可以保证共享数据在同一时刻只被一个线程访问,就算有多个 ... »

Java 类型信息详解和反射机制

本文部分摘自 On Java 8 RTTI RTTI(RunTime Type Information)运行时类型信息,能够在程序运行时发现和使用类型信息,把我们从只能在编译期知晓类型信息并操作的局限中解脱出来 传统的多态机制正是 RTTI 的基本使用:假设有一个基类 Shape 和它的三个子类 C ... »

nginx学习总结

nginx 安装 下载必要组件 nginx下载地址 http://nginx.org/en/download.html pcre库下载地址,nginx需要 http://sourceforge.net/projects/pcre/files/pcre/ zlib下载地址,nginx需要 http:/ ... »

使用GitHub API上传文件及GitHub做图床

本文介绍GitHub API基础及上传文件到仓库API,并应用API将GitHub作为图床 GitHub API官方页面 GitHub API版本 当前版本为v3,官方推荐在请求头中显示添加版本标识。 Accept: application/vnd.github.v3+json Postman示例如 ... »

Centos7上一次War包的部署与运行

Centos7上一次War包的部署与运行 前言 由于前段时间第一次部署一个小型的项目,时间一长所以有些步骤有时候时间一长就忘了,在此做个简单的记录 一、原始系统开发环境 操作系统:Windows10; 开发语言:前端:Html,CSS,JavaScript;后台:Java; 开发环境:Intelli ... »

Mybatis执行SQL的流程

SqlSession : SqlSession是一个接口,它有两个实现类:DefaultSqlSession (默认)和 SqlSessionManager (弃用,不做介绍) SqlSession是MyBatis中用于和数据库交互的顶层类,通常将它与ThreadLocal绑定,一个会话使用一 个 ... »

Mybatis初始化过程

Mybatis初始化过程 // 1. 读取配置文件,读成字节输入流,注意:现在还没解析 InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml"); // 2. 解析配置文件,封装Configura ... »

Java7 新特性 —— java.nio.file 文件操作

本文部分摘自 On Java 8 自 Java7 开始,Java 终于简化了文件读写的基本操作,新增了 java.nio.file 库,通过与 Java8 新增的 stream 结合可以使得文件操作变得更加优雅 文件和目录路径 java.nio.file.Paths 类包含一个重载方法 static ... »

第三章:操作符

一、操作符简介 操作符接受一个或多个参数,并生成一个新值。 操作目标:几乎所有的操作符都只能操作“基本类型”。有些操作符能改变操作数自身的值,被称为“副作用”,如自增符和自减符。例外的操作符是“=”、“==”、“!=”,这些操作符能操作所有的对象。String类支持“+”和“+=”。 优先级:括号 ... »

jdk的动态代理和静态代理你还写不出来嘛???

一、什么叫jdk的代理? 用另外一个对象去代理实际对象的操作 分为动态代理和静态代理二、先说说静态代理 从字面意思来看就是不会改变的,只可以代理某个固定对象的。 静态代理就是通过实现和目标对象实现的同一个接口来代理目标对象。 通俗一点:例如A类实现了B接口,这时候我们要代理A类,我们需要声明一个C类 ... »

Java—多线程

一、多线程 原理: 一个cpu内核有”一个指针“,由于cpu的频率过高,所以感觉不到卡顿。(伪线程) 二、进程&线程 进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。 线程:线程是进程中的一个执行单元,负责当前进程中程 ... »

Java8 新特性 —— Stream 流式编程

本文部分摘自 On Java 8 流概述 集合优化了对象的存储,大多数情况下,我们将对象存储在集合是为了处理他们。使用流可以帮助我们处理对象,无需迭代集合中的元素,即可直接提取和操作元素,并添加了很多便利的操作,例如查找、过滤、分组、排序等一系列操作。 流的一个核心好处是:它使得程序更加短小并且易于 ... »

Java—字符流

一、字符流 字符流概述: 在操作过程中字节流可以操作所有数据,操作的文件中有中文字符,并且需要对 中文字符做出处理 二、字符编码表 文字——>(数字):编码。"abc".getBytes() byte[] 数字——>(文字):解码。byte[] b = {97, 98, 99} new String ... »

Java—递归

递归 1. 概述 方法中调用当前方法 2. 递归需要注意的事项 递归次数不能过多,否则内存溢出 3. 案例 3.1 获取指定目录下的文件名 public class AllDirPath { /* * 递归打印所有子目录中的文件路径 */ public static void main(String ... »