天雯柔情
梦回千年 =☞ 月出西山外,月归小窗前。陌道花开日,往事醉如烟。 ┏ (^ω^)=☞梦中伊甸园
  视频概况
  推荐文章
软件设计

软件程序设计原则

一、前言软件也像人一样,具有生命力,从出生到死亡,会经历多种变化。软件架构设计也不是一蹴而就的,是不断地演进发展。每个程序员都可以从理解编程

阅读更多
编程语言

Java IO 知识整理

各IO类关系梳理 InputStream: Java IO中的顶级的字节输入流的抽象类,定义了最基础的输入、读取的相关方法。实现了Close

阅读更多
编程语言

Java集合框架知识整理

Java集合框架主要由Collection和Map两个根接口及其子接口、实现类组成。 集合类关系梳理 Collection接口继承了Iter

阅读更多
编程语言

SpringBoot2.x 单元测试

一个 bug 被隐藏的时间越长,修复这个 bug 的代价就越大。 我曾经在 单元测试指南 一文中写到过单元测试的必要性和 Java 单元

阅读更多
测试 测试
擦撒的撒v现场v宣传宣传v查询查询
2026-09-27
Hexo博客主题之matery的介绍 Hexo博客主题之matery的介绍
这是一个采用 Material Design 和响应式设计的 Hexo 博客主题。 特性 简单漂亮,文章内容美观易读 Material Design 设计 响应式设计,博客在桌面端、平板、手机等设备上均能很好的展现 首页轮播文章及每天动态切换 Banner 图片 瀑布流式的博客文…
2020-09-28
css3编程之0基础学习 css3编程之0基础学习
CSS3是CSS(层叠样式表)技术的升级版本,于1999年开始制订,2001年5月23日W3C完成了CSS3的工作草案,主要包括盒子模型、列表模块、超链接方式、语言模块、背景和边框、文字特效、多栏布局等模块。 CSS演进的一个主要变化就是W3C决定将CSS3分成一系列模块。浏览器…
2020-04-24
hexo博客站点sitemap的使用 hexo博客站点sitemap的使用
Sitemap 可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页。最简单的 Sitemap 形式,就是XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间、更改的频率以及相对于网站上其他网址的重要程度为何等),以便搜索引擎可以更加智能地抓取网…
2020-04-22
Markdown的使用教程 Markdown的使用教程
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建。Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档。Mar…
2020-04-18
Fenix — 比 MyBatis 更加强大的 Spring Data JPA 扩展库 Fenix — 比 MyBatis 更加强大的 Spring Data JPA 扩展库
Fenix (菲尼克斯)是一个比 MyBatis 更加强大,为解决复杂、动态 SQL ( JPQL ) 而生的 Spring Data JPA 扩展库,目的是辅助开发者更方便、快捷的书写复杂、动态且易于维护的 SQL,支持 XML 和 Java 链式 API 两种方式来书写动态 …
2019-08-20
SpringBoot2.x 单元测试 SpringBoot2.x 单元测试
一个 bug 被隐藏的时间越长,修复这个 bug 的代价就越大。 我曾经在 单元测试指南 一文中写到过单元测试的必要性和 Java 单元测试相关的工具及方法。单元测试能帮助我们在早期就规避、发现和修复很多不易察觉的 bug 和漏洞,而且更能保障后期的需求变动和代码重构时所带来的隐…
2019-03-02
Java代码性能评估库Stalker介绍 Java代码性能评估库Stalker介绍
English Document 这是一个简单的用来对Java代码做性能评估的工具库。 特性 轻量级(jar包仅 26kb ) API简单易用 易于集成或扩展 Maven集成 1 2 3 4 5 < dependency > < groupId > com…
2019-02-14
一个极简的 Java ASCII 表格生成库 一个极简的 Java ASCII 表格生成库
一个轻量级、零依赖的 Java ASCII 表格生成库。 特性 轻量级、无依赖(jar包仅 9kb ) API简单易用 易于集成或定制修改,仅一个 Java 文件,且代码规范 集成使用 Maven集成 1 2 3 4 5 < dependency > < gro…
2019-01-25
Java面向对象设计之桥接模式 Java面向对象设计之桥接模式
模式动机 设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的颜色,如红色、绿色、蓝色等,此时至少有如下两种设计方案: 第一种设计方案是为每一种形状都提供一套各种颜色的版本。 第二种设计方案是根据实际需要对形状和颜色进行组合 对于有两个…
2018-12-19
Java面向对象设计之适配器模式 Java面向对象设计之适配器模式
模式动机 在软件开发中采用类似于电源适配器的设计和编码技巧被称为适配器模式。 通常情况下,客户端可以通过目标类的接口访问它所提供的服务。有时,现有的类可以满足客户类的功能需要,但是它所提供的接口不一定是客户类所期望的,这可能是因为现有类中方法名与目标类中定义的方法名不一致等原因所…
2018-12-12
软件程序设计原则 软件程序设计原则
一、前言 软件也像人一样,具有生命力,从出生到死亡,会经历多种变化。软件架构设计也不是一蹴而就的,是不断地演进发展。每个程序员都可以从理解编程原则和模式中受益。 软件设计原则是一组帮助我们避开不良设计的指导方针。根据 Robert Martin 的理论,应该避免不良设计的以下三个…
2018-11-24
GitLab CI/CD 介绍和使用 GitLab CI/CD 介绍和使用
一、持续集成介绍 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团…
2018-11-22
Vue 文档风格的 Typora 主题 Vue 文档风格的 Typora 主题
typora-vue-theme 是 Typora Markdown 文档编辑器中一款类似 Vue 文档风格的主题。 简介 Typora 是一款支持实时预览的 Markdown 编辑器和阅读器,支持 Windows 、 macOS 、 Linux 三大平台。Typora 作为一款…
2018-11-19
CPU多级缓存 CPU多级缓存
一、什么是CPU缓存 1. CPU缓存的来历 众所周知,CPU是计算机的大脑,它负责执行程序的指令,而内存负责存数据, 包括程序自身的数据。在很多年前,CPU的频率与内存总线的频率在同一层面上。内存的访问速度仅比寄存器慢一些。但是,这一局面在上世纪90年代被打破了。CPU的频率大…
2018-11-18
单元测试指南 单元测试指南
一、必要性 在我们公司中要做单元测试,确实比较难,因为公司缺少这种氛围,有也只是局部的,大多数工程师没有这方面的习惯和素养,很多人都是有一定的抵触的心理,经过我私下的了解大概有以下几种原因吧。 写单元测试太 耗费时间 了,项目要赶进度,编写单元测试会导致不能按时完成开发任务, 导…
2018-11-15
Java8新特性及使用(二) Java8新特性及使用(二)
扩展注解的支持 Java 8扩展了注解的上下文。 现在几乎可以为任何东西添加注解:局部变量、泛型类、父类与接口的实现,就连方法的异常也能添加注解 。下面演示几个例子: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22…
2018-11-14
Java8新特性及使用(一) Java8新特性及使用(一)
新特性列表 以下是Java8中的引入的部分新特性。关于Java8新特性更详细的介绍可参考 这里 。 接口默认方法和静态方法 Lambda 表达式 函数式接口 方法引用 Stream Optional Date/Time API 重复注解 扩展注解的支持 Base64 JavaFX…
2018-11-13
Java7新特性及使用 Java7新特性及使用
新特性列表 以下是Java7中的引入的部分新特性。关于Java7更详细的介绍可参考 这里 。 switch支持String try-with-resources catch多个异常 实例创建类型推断 数字字面量下划线分割 二进制字面量 增强的文件系统 Fork/Join框架 其它…
2018-11-12
Java6新特性及使用 Java6新特性及使用
新特性列表 以下是Java6中的引入的部分新特性,相比Java5的新特性就少了很多了。关于Java6更详细的介绍可参考 这里 。 Web Services Metadata Scripting Compiler API Light-weight HTTP server Commo…
2018-11-11
Java5新特性及使用 Java5新特性及使用
新特性列表 以下是Java5中的引入的部分新特性,关于更详细的新特性了解,可参考 这里 。 泛型(Generics) 增强for循环(Enhanced for Loop) 自动装箱拆箱(Autoboxing/Unboxing) 枚举(Enums) 可变参数(Varargs) 静态…
2018-11-09
Java注解的理解和应用 Java注解的理解和应用
概述 1. 什么是注解 注解( Annotation )是一种应用于类、方法、参数、变量、构造器及包声明中的特殊修饰符,它是一种由JSR-175标准选择用来描述元数据的一种工具。Java从 Java5 开始引入了注解。在注解出现之前,程序的元数据只是通过java注释和javado…
2018-11-08
Java反射基础 Java反射基础
一、概述 1. 简介 Java反射( Reflection )机制就是在运行状态中,对于任意一个类,都能够知道这个类的属性和方法。对于任意一个对象能够调用它的任意一个属性和方法。这种动态获取的信息和动态调用对象的方法的功能称为Java语言的反射机制。Java程序中一般的对象的类型…
2018-11-07
Java IO 知识整理 Java IO 知识整理
各IO类关系梳理 InputStream: Java IO中的顶级的字节输入流的抽象类,定义了最基础的输入、读取的相关方法。实现了 Closeable 接口。 FileInputStream: 继承自 InputStream 的文件输入流类,用于从本地文件中读取字节数据。 Byt…
2018-11-05
Java面向对象设计之责任链模式 Java面向对象设计之责任链模式
模式动机 很多情况下,在一个软件系统中可以处理某个请求的对象不止一个。例如审批工作流等,他们可以构成一条处理采购单的链式结构,采购单(可以看作是要处理的信息)沿着这条链进行传递,这条链就称为责任链。责任链可以是一条直线、一个环或者一个树形结构,最常见的职责链是直线型,即沿着一条单…
2018-11-04
JavaScript之再学习 JavaScript之再学习
概览 JavaScript 是一种面向对象的动态语言,它包含类型、运算符、标准内置( built-in)对象和方法。它的语法来源于 Java 和 C,所以这两种语言的许多语法特性同样适用于 JavaScript。需要注意的一个主要区别是 JavaScript 不支持类,类这一概念…
2018-10-30
Java面向对象设计之单例模式 Java面向对象设计之单例模式
模式动机 对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统只能有一个窗口管理器或文件系统;一个系统只能有一个计时工具或ID(序号)生成器。 如何保证一个类只有一个实例并且这个实例易于被访问呢?定义一个全局变量…
2018-10-29
Java异常知识汇总 Java异常知识汇总
前言 为什么要使用异常 在我们的程序中,任何时候任何地方因为任何原因都有可能会出现异常,在没有异常机制的时候我们是这样处理的:通过函数的返回值来判断是否发生了异常(这个返回值通常是已经约定好了的),调用该函数的程序负责检查并且分析返回值。虽然可以解决异常问题,但是这样做存在几个缺…
2018-10-28
你需要知道的Java枚举知识 你需要知道的Java枚举知识
概述 定义 枚举 ( enum 全称为 enumeration )类型是 Java 5 新增的类型,存放在 java.lang 包中,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。 定义格式 创建枚举类型要使用 enum 关键字,隐含了所创建的类型都是 jav…
2018-10-27
Java集合框架知识整理 Java集合框架知识整理
Java集合框架主要由 Collection 和 Map 两个根接口及其子接口、实现类组成。 集合类关系梳理 Collection 接口继承了 Iterable 接口,依赖了 Predicate 、 Spliterator 、 Stream 接口(这些均为 Java8 新增), …
2018-10-24
UML各类关系介绍 UML各类关系介绍
继承关系(generalization) 继承 关系用一条带 空心箭头的直线 表示。如下图所示(A继承自B): 继承 指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。 继承关系为 is-a 的关系 ,是类与类或者接口与接…
2018-10-22
面向对象编程的理解 面向对象编程的理解
面向过程和面向对象 面向过程思想概述 面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求。 面向对象思想概述 当需求单一,或者简单时,我们一步一步去操作没问题,并且效率也挺高。可随着需求的更改,功能的增多,发现需要面对每一个步骤很麻烦了,这…
2018-10-21
Java面向对象设计之建造者模式 Java面向对象设计之建造者模式
一、模式动机 无论是在现实世界中还是在软件系统中,都存在一些复杂的对象,它们拥有多个组成部分,如汽车,它包括车轮、方向盘、发动机等各种部件。而对于大多数用户而言,无须知道这些部件的装配细节,也几乎不会使用单独某个部件,而是使用一辆完整的汽车,可以通过建造者模式对其进行设计与描述,…
2018-10-20
Java面向对象设计之外观模式 Java面向对象设计之外观模式
一、模式定义 外观模式 ( Facade Pattern ):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式又称为 门面模式 ,它是一种对象结构型模式。 二、模…
2018-10-18
Java面向对象设计之中介者模式 Java面向对象设计之中介者模式
一、模式动机 在用户与用户直接聊天的设计方案中,用户对象之间存在很强的关联性,将导致系统出现如下问题: 系统结构复杂:对象之间存在大量的相互关联和调用,若有一个对象发生变化,则需要跟踪和该对象关联的其他所有对象,并进行适当处理。 对象可重用性差:由于一个对象和其他对象具有很强的关…
2018-10-17
Java面向对象设计之命令模式 Java面向对象设计之命令模式
一、模式动机 在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接收者即可,此时,可以使用命令模式来进行设计,使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活。 命令…
2018-10-16
代码整洁之道内容概要 代码整洁之道内容概要
读了代码整洁之道,觉得这本书写的很好,所以就将里面自己觉得很经典的内容记录下来,作为自己以后写代码的标准和准则。同时也为那些曾经困惑过的人一点参考吧! 一、在正式开始之前,我们先思考几个几个问题: 1.需求与代码哪个重要? 答:并不是所有的产品都能提出合理的需求,当你面对一个提出…
2018-10-15
Java面向对象设计之观察者模式 Java面向对象设计之观察者模式
一、模式动机 建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应做出反应。在此,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且这些观察者之间没有相互联系,可以根据需要增加和删除观察者,使得系统更易于扩…
2018-10-14
常用Bash命令整理之其他常用命令 常用Bash命令整理之其他常用命令
1. hostname - 查看主机名 hostname 命令用于查看系统的主机名,或是修改系统的主机名。 hostname 的常用命令如下: 1 2 3 4 5 6 7 8 # 显示系统的当前主机名 hostname # 修改你系统的主机名 hostname blinkfox-…
2018-10-13
常用Bash命令整理之文本处理 常用Bash命令整理之文本处理
1. sort - 文本排序 sort 命令用于将文本文件的行排序。默认情况下, sort 命令是按照字符串的字母顺序排序。 sort 的常用命令如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # 将文本内容按字母顺序排序 sort example.tx…
2018-10-11
常用Bash命令整理之操作文件和目录 常用Bash命令整理之操作文件和目录
1. touch - 创建文件 touch 命令就可用于创建、变更和修改文件的时间戳。它是 Linux 操作系统的标准程序。 touch 命令又如下选项: 1 2 3 4 5 -a: 只改变访问时间 -c: 不创建任何文件 -m: 只改变修改时间 -r: 使用指定文件的时间替代当…
2018-10-10
常用Bash命令整理之查看文件和目录 常用Bash命令整理之查看文件和目录
1. ls - 列出文件名和目录 ls 命令是 Linux 中最常用的命令之一,其作用就是列出文件名和目录。在命令行提示符下,直接输入 ls 命令,不带任何选项,将列出当前目录下所有文件和目录,但不会显示详细的信息,比如,文件类型、大小、修改日期和时间、权限等。 以下便是 ls …
2018-10-09
轻量级滚动动画JavaScript库aos.js 轻量级滚动动画JavaScript库aos.js
一、简介 aos.js 是一款效果超赞的页面滚动的 JavaScript 动画库插件。该动画库可以在页面滚动时提供28种不同的元素动画效果,以及多种 easing 效果。在页面往回滚动时,元素会恢复到原来的状态。 注:从 2.0.0 版本之后,只支持使用 data-aos 属性,…
2018-10-08
全功能JavaScript灯箱画廊插件lightgallery.js 全功能JavaScript灯箱画廊插件lightgallery.js
一、简介 lightgallery.js 是一个全功能、轻量级、无依赖的灯箱画廊显示库。 二、主要特性 全响应式兼容 模块化的架构和内置插件 移动设备和触摸支持 桌面设备拖拽支持 双击查看图像的实际大小 动画缩略图 社交媒体分享 YouTube,Vimeo,DailyMotion…
2018-10-06
Google Java编程风格指南 Google Java编程风格指南
1 前言 这份文档是 Google Java 编程风格规范的完整定义。当且仅当一个 Java 源文件符合此文档中的规则,我们才认为它符合 Google 的 Java 编程风格。 与其它的编程风格指南一样,这里所讨论的不仅仅是编码格式美不美观的问题,同时也讨论一些约定及编码标准。然…
2018-10-05
使用Java调用PhantomJS动态导出ECharts图片到Word文件中 使用Java调用PhantomJS动态导出ECharts图片到Word文件中
前言 最近在一个项目中遇到导出为Word文件的问题,导出Word的功能很简单,但是导出Word文件中包含数据库动态查询的统计数据而生成的Echarts图片,且导出Word的时机又是在凌晨的服务器定时执行,所以不能通过客户端访问统计页面时再去生成。 服务端语言使用Java语言,最开…
2018-10-01
Apache Commons Lang之日期时间工具类 Apache Commons Lang之日期时间工具类
码农不识Apache,码尽一生也枉然。 FastDateFormat FastDateFormat 是一个快速且线程安全的时间操作类,它完全可以替代 SimpleDateFromat 。因为是线程安全的,所以你可以把它作为一个类的静态字段使用。构造方法为protected,不允许…
2018-09-29
Apache Commons Lang之ArrayUtils Apache Commons Lang之ArrayUtils
码农不识Apache,码尽一生也枉然。 常量数组 1 2 3 4 5 6 7 public static final Object[] EMPTYOBJECTARRAY = new Object[ 0 ]; public static final Class<?>[]…
2018-09-28
Apache Commons Lang之StringUtils Apache Commons Lang之StringUtils
码农不识Apache,码尽一生也枉然。 判断空字符串 isEmpty(CharSequence cs) 判断是否是空字符串,代码示例: 1 2 3 4 5 StringUtils.isEmpty( null ) = true StringUtils.isEmpty( "" ) =…
2018-09-27
PostgreSQL基础知识整理 PostgreSQL基础知识整理
数据库操作DML CREATE TABLE CREATE TABLE 语句用于创建数据库中的表。语法是: 1 2 3 4 5 6 CREATE TABLE 表名称 ( 列名 1 数据类型, 列名 2 数据类型, 列名 3 数据类型, .... ); 例: 1 2 3 4 5 6 …
2018-09-25
Git知识点整理 Git知识点整理
1. Git基本概念。 repository config init clone fetch pull commit push branch head tag merge conflict diff log show status 2. Git工作空间和文件状态 (1).工作空间…
2018-09-24
Java面向对象设计之状态模式 Java面向对象设计之状态模式
一、模式动机 在很多情况下,一个对象的行为取决于一个或多个动态变化的属性,这样的属性叫做状态,这样的对象叫做有状态的( stateful )对象,这样的对象状态是从事先定义好的一系列值中取出的。当一个这样的对象与外部事件产生互动时,其内部状态就会改变,从而使得系统的行为也随之发生…
2018-09-21
Java面向对象设计之代理模式 Java面向对象设计之代理模式
一、模式动机 在某些情况下,一个客户不想或者不能直接引用一个对象,此时可以通过一个称之为“代理”的第三者来实现间接引用。代理对象可以在客户端和目标对象之间起到中介的作用,并且可以通过代理对象去掉客户不能看到 的内容和服务或者添加客户需要的额外服务。 通过引入一个新的对象来实现对真…
2018-09-20
MVEL2.x模板指南 MVEL2.x模板指南
简介 MVEL 最初作为Mike Brock创建的 Valhalla项目的表达式计算器( expression evaluator )。Valhalla本身是一个早期的类似 Seam 的“开箱即用”的Web 应用框架,而 Valhalla 项目现在处于休眠状态, MVEL则成为一…
2018-09-19
MVEL 2.x语法指南 MVEL 2.x语法指南
MVEL 2.x语法指南 MVEL 全称为:MVFLEX Expression Language,是用来计算Java语法所编写的表达式值的表达式语言。MVEL的语法很大程度上受到Java语法的启发,但为了使表达式语法更高效,还是有一些基本差异,例如可以像正则表达式一样直接支持集合…
2018-09-18
Spring基础介绍 Spring基础介绍
一、Spring 概述 (一)Spring 的简史 Spring 的历史网上有很多的介绍,下面是 Spring 发展历程的一个简介。 1. 第一阶段:xml 配置 在 Spring 1.x 时代,使用 Spring 开发满眼都是 xml 配置的 Bean,随着项目的扩大,我们需要…
2018-09-17
Java面向对象设计之策略模式 Java面向对象设计之策略模式
一、模式动机 完成一项任务,往往可以有多种不同的方式,每一种方式称为一个策略,我们可以根据环境或者条件的不同选择不同的策略来完成该项任务。在软件开发中也常常遇到类似的情况,实现某一个功能有多个途径,此时可以使用一种设计模式来使得系统可以灵活地选择解决途径,也能够方便地增加新的解决…
2018-09-14
Java面向对象设计之工厂方法模式 Java面向对象设计之工厂方法模式
一、模式定义 工厂方法模式( Factory Method Pattern )又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory)模式,它属于类创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象…
2018-09-14
Java面向对象设计之装饰模式 Java面向对象设计之装饰模式
一、模式动机 一般有两种方式可以实现给一个类或对象增加行为: 继承机制 ,使用继承机制是给现有类添加功能的一种有效途径,通过继承一个现有类可以使得子类在拥有自身方法的同时还拥有父类的方法。但是这种方法是静态的,用户不能控制增加行为的方式和时机。 关联机制 ,即将一个类的对象嵌入另…
2018-09-14
JavaScript基础教程 JavaScript基础教程
一、JavaScript介绍 JavaScript 是目前所有主流浏览器上唯一支持的脚本语言,这也是早期 JavaScript 的唯一用途。其主要作用是在不与服务器交互的情况下修改 HTML 页面内容,因此其最关键的部分是 DOM (文档对象模型),也就是 HTML 元素的结构。…
2018-09-14
Apache Commons Collections包和简介 Apache Commons Collections包和简介
背景介绍 Apache Commons 是Apache软件基金会的项目,曾经隶属于 Jakarta 项目。 Commons 的目的是提供可重用的、解决各种实际的通用问题且开源的Java代码。Commons由三部分组成: Proper (是一些已发布的项目)、 Sandbox (是…
2018-09-13
Java8中关于日期和时间API的20个使用示例 Java8中关于日期和时间API的20个使用示例
一、前言 随着 lambda 表达式、 streams 以及一系列小优化,Java8推出了全新的日期时间API,在一下的指南中我们将通过一些简单的示例来学习如何使用新API。Java处理日期、日历和时间的方式一直为社区所诟病,将 java.util.Date 设定为可变类型,以及…
2018-09-13
Hello World Hello World
Welcome to Hexo ! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the…
2018-09-12
Hexo博客主题之matery的介绍 Hexo博客主题之matery的介绍
这是一个采用Material Design和响应式设计的 Hexo 博客主题。 特性 简单漂亮,文章内容美观易读 Material Design 设计 响应式设计,博客在桌面端、平板、手机等设备上均能很好的展现 首页轮播文章及每天动态切
2020-09-28
css3编程之0基础学习 css3编程之0基础学习
CSS3是CSS(层叠样式表)技术的升级版本,于1999年开始制订,2001年5月23日W3C完成了CSS3的工作草案,主要包括盒子模型、列表模块、超链接方式、语言模块、背景和边框、文字特效、多栏布局等模块。CSS演进的一个主要变化就是W3
2020-04-24
hexo博客站点sitemap的使用 hexo博客站点sitemap的使用
Sitemap 可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页。最简单的 Sitemap 形式,就是XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间、更改的频率以及相对于网站上其他网址的重要程度为
2020-04-22
Markdown的使用教程 Markdown的使用教程
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建。Markdown 编写的文档可以导出 HTML 、Word、图像、P
2020-04-18
Fenix — 比 MyBatis 更加强大的 Spring Data JPA 扩展库 Fenix — 比 MyBatis 更加强大的 Spring Data JPA 扩展库
Fenix(菲尼克斯)是一个比 MyBatis 更加强大,为解决复杂、动态 SQL (JPQL) 而生的 Spring Data JPA 扩展库,目的是辅助开发者更方便、快捷的书写复杂、动态且易于维护的 SQL,支持 XML 和 Java
2019-08-20
SpringBoot2.x 单元测试 SpringBoot2.x 单元测试
一个 bug 被隐藏的时间越长,修复这个 bug 的代价就越大。 我曾经在 单元测试指南 一文中写到过单元测试的必要性和 Java 单元测试相关的工具及方法。单元测试能帮助我们在早期就规避、发现和修复很多不易察觉的 bug 和漏洞,而且
2019-03-02
Java代码性能评估库Stalker介绍 Java代码性能评估库Stalker介绍
English Document 这是一个简单的用来对Java代码做性能评估的工具库。 特性 轻量级(jar包仅26kb) API简单易用 易于集成或扩展 Maven集成12345<dependency> <g
2019-02-14
一个极简的 Java ASCII 表格生成库 一个极简的 Java ASCII 表格生成库
一个轻量级、零依赖的 Java ASCII 表格生成库。 特性 轻量级、无依赖(jar包仅9kb) API简单易用 易于集成或定制修改,仅一个Java文件,且代码规范 集成使用Maven集成12345<dependency>
2019-01-25
Java面向对象设计之桥接模式 Java面向对象设计之桥接模式
模式动机设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的颜色,如红色、绿色、蓝色等,此时至少有如下两种设计方案: 第一种设计方案是为每一种形状都提供一套各种颜色的版本。 第二种设计方案是根据
2018-12-19
Java面向对象设计之适配器模式 Java面向对象设计之适配器模式
模式动机 在软件开发中采用类似于电源适配器的设计和编码技巧被称为适配器模式。 通常情况下,客户端可以通过目标类的接口访问它所提供的服务。有时,现有的类可以满足客户类的功能需要,但是它所提供的接口不一定是客户类所期望的,这可能是因为现有类中方
2018-12-12
软件程序设计原则 软件程序设计原则
一、前言软件也像人一样,具有生命力,从出生到死亡,会经历多种变化。软件架构设计也不是一蹴而就的,是不断地演进发展。每个程序员都可以从理解编程原则和模式中受益。 软件设计原则是一组帮助我们避开不良设计的指导方针。根据Robert Martin
2018-11-24
GitLab CI/CD 介绍和使用 GitLab CI/CD 介绍和使用
一、持续集成介绍 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队
2018-11-22
1 / 6