JoshSu Blog

用自己的语言将学习领会到的技术知识记录下来 留作纪念

jooq-codegen-maven插件入门

非常全的插件文档 请查看官方文档 There is no substantial difference between running the code generator with Maven or in standalone mode. 使用Maven运行代码生成器或在独立模式下没有实质性区别。 Both modes use the exact same element. The ...

jOOQ入门

本篇博客对应官方英文文档, 只是原封不动的进行了翻译, 基本上是借助于Google翻译, 如果这篇博客被你不小心看见, 翻译不流畅的地方, 就直接看官方文档. 以下内容包含如何开始使用本手册和jOOQ的快速概述. 虽然后续章节包含大量参考信息,但本章仅包含基本内容. 3.1. 如何阅读本手册 本节帮助您在jOOQ的上下文中正确理解本手册. 代码块 以下是代码块: -- A SQL...

maven-assembly-plugin插件使用说明

引言 对于Spring-Boot项目而言, maven-jar-plugin、spring-boot-maven-plugin 这两个插件是必用的, 都作用于 package 阶段. 最终结果都是jar包. 这篇博客将引入一个作用于package阶段的另一个插件 maven-assembly-plugin. 插件用途 maven-assembly-plugin 插件主要是聚合项目的输出...

spring-boot-maven-plugin插件源码分析

通过之前的Maven相关博客, 我们对Maven整体运行流程应该有一个大体认识, 对具体项目运行mvn构建命令时, 能够知道有哪些插件参与此构建任务. 接下来, 我将不断对我们经常使用的插件, 进行源码分析. 这篇博客, 将分析在Spring-Boot项目, 必须使用的一个插件 spring-boot-maven-plugin spring-boot-maven-plugin 使用 ...

运行具体构建任务时, 由哪些插件来完成此构建任务?

通过这篇博客可知, Maven服务启动时, 系统就己经配置了大量的插件, 足以完成项目编译、打包、测试、部署等基本操作. 但是对于生产项目, 总是会添加一些插件, 并且根据功能需求来决定添加的插件是否应该绑定到生命周期中某个阶段还是单独运行. 这篇博客将说明, 针对采用Maven来进行构建的Java项目, 运行构建任务(mvn xxx), 到底由哪些插件来完成此构建任务? 通过阅读Ma...

Maven提供的默认插件

Maven的生命周期是抽象的,这意味着生命周期本身不做任何实际的工作,在Maven的设计中,实际的任务(如编译源代码)都交由插件来完成. 这篇文章将列出Maven不同生命周期各阶段所配置的默认插件. 在Maven源码中, 有一个配置文件, 配置了生命周期--阶段--插件的映射关系. 同时针对于不同的打包方式(pom、jar、ejb、maven-plugin、war、ear、rar) 配置...

Anoconda常用命令入门

Python 中的 Anaconda 等价于 Ruby中的rvm, 由于我之前从事过Ruby开发, 对rvm的使用非常熟悉, 所以理解起Anaconda很容易, 须要了解Anaconda更多概念, 推荐这篇 详细介绍下Anaconda 一、如何安装Anaconda? 官网下载: continuum.io 二、更新Anaconda里所有包 conda upgrade –all 三、创...

为什么存在线程安全?以及JVM、JDK提供了哪些组件来帮助我们更好的编写线程安全的程序

[TOC] 由于CPU的缓存一致性和乱序执行优化, 我们会知道在多核高并发下需要额外做很多事情, 才能保证程序执行的预期. Java虚拟机是如何解决这些问题? 为了屏蔽掉各种硬件和操作系统之间内存访问的各种差异, 以实现Java程序在各种平台下都能达到一致的并发效果, Java虚拟机规范中定义了Java内存模型(Java Memory Model, JMM), Java内存模型是一种规...

JDK1.5为什么要引入Future API, 以及它的实现类FutureTask底层源码分析

[TOC] Future API 定位 在JDK1.5版本中, 引入Future API用于帮助我们可以自由的控制异步任务: 可以通过它来查询异步任务的执行状态, 取消任务, 同时获得异步计算的结果。 疑问->难道在JDK1.5之前, 没有提供API可以获取异步计算的结果? 既然存在疑问, 就需要解除疑惑, 用己掌握的知识梳理出为什么在JDK1.5之前, 没有提供API获取异步计算...

通过一个简单的入门例子,结合源码推导出SpringAop底层实现原理

[TOC] 前提条件 本文不解释Aop是什么?、为什么要使用Aop?这些概念, 看本文前, 要求大家对这些概念要非常清楚, 不清楚的自行在网上搜索学习。 本文将通过一个简单的例子入手, 一步一步的剖析出SpringAop底层实现细节。由于SpringAop底层实现重要技术为动态代理(JDK动态代理、CGLIB), 在剖析中重点以JDK动态代理为切入点, 读本文前大家一定要熟悉JDK动态代...