2020年1月16日

SpringBoot 数据篇之使用JDBC

摘要: 目录 SpringBootTutorial :: Data :: Jdbc 简介 API 实战 引申和引用 SpringBootTutorial :: Data :: Jdbc 简介 API execute update query 实战 配置数据源 完整示例 引申和引用 简介 Spring Dat 阅读全文

posted @ 2020-01-16 15:27 星云留水 阅读(4031) 评论(0) 推荐(0)

[Spring]01_环境配置

摘要: 目录 1.1 Spring jar包下载1.2 Hello World参考资料 1.1 Spring jar包下载 (1)进入官网http://repo.spring.io (2)在资源库界面点击Artifacts标签,然后点击libs-release-local,展开后依次点击org -> spr 阅读全文

posted @ 2020-01-16 15:26 星云留水 阅读(118) 评论(0) 推荐(0)

[spring]03_装配Bean

摘要: 目录 3.1 JavaBean 3.1.1 JavaBean 是什么 3.1.2 JavaBean 特点 3.1.3 JavaBean的生命周期 3.2 声明Bean 3.2.1 创建Spring配置 3.2.2 声明JavaBean 3.2.3 构造器注入 3.2.4 通过工厂方法创建Bean 3 阅读全文

posted @ 2020-01-16 15:25 星云留水 阅读(136) 评论(0) 推荐(0)

[Spring]04_最小化Spring XML配置

摘要: 目录 4.1 自动装配 Bean 4.1.1 四种类型的自动装配 4.1.2 默认自动装配 4.2 使用注解装配 4.2.1 @Autowired 4.2.2 @Inject 4.3 自动检测 Bean 4.3.1 为自动检测标注 Bean 4.3.2 过滤组件扫描参考资料 4.1 自动装配 Bea 阅读全文

posted @ 2020-01-16 15:24 星云留水 阅读(167) 评论(0) 推荐(0)

[Quartz笔记]玩转定时调度

摘要: 目录 简介 Quartz是什么? Quartz的应用场景Quartz的安装 安装 源码Hello World范例API 核心API 其他常见APICronExpression表达式 表达式规则 符号说明 使用表达式的案例参考资料 简介 Quartz是什么? Quartz是一个特性丰富的、开源的作业调 阅读全文

posted @ 2020-01-16 15:23 星云留水 阅读(396) 评论(0) 推荐(0)

[Spring]支持注解的Spring调度器

摘要: 目录 概述实时触发调度任务 TaskScheduler接口 Trigger接口 完整范例@Scheduler的使用方法 启动注解 @Scheduler定义触发条件 完整范例参考 概述 如果想在Spring中使用任务调度功能,除了集成调度框架Quartz这种方式,也可以使用Spring自己的调度任务框 阅读全文

posted @ 2020-01-16 15:22 星云留水 阅读(492) 评论(0) 推荐(1)

[Spring]IoC容器之进击的注解

摘要: 目录 概述启动注解Spring注解 @Required @Autowired @QualifierJSR 250注解 @Resource @PostConstruct和@PreDestroyJSR 330注解 @Inject 先啰嗦两句:第一次在博客园使用markdown编辑,感觉渲染样式差强人意, 阅读全文

posted @ 2020-01-16 15:20 星云留水 阅读(333) 评论(0) 推荐(0)

Spring整合Ehcache管理缓存

摘要: 目录 前言 概述 安装 Ehcache的使用 Spring整合Ehcache 参考 前言 Ehcache 是一个成熟的缓存框架,你可以直接使用它来管理你的缓存。Spring 提供了对缓存功能的抽象:即允许绑定不同的缓存解决方案(如Ehcache),但本身不直接提供缓存功能的实现。它支持注解方式使用缓 阅读全文

posted @ 2020-01-16 15:19 星云留水 阅读(1429) 评论(0) 推荐(0)

spring 4 升级踩雷指南

摘要: 目录 spring 4 升级踩雷指南 前言 为什么升级 spring4 spring 4 重要新特性 升级 spring 4 步骤 资料 spring 4 升级踩雷指南 前言 最近,一直在为公司老项目做核心库升级工作。本来只是想升级一下 JDK8 ,却因为兼容性问题而不得不升级一些其他的库,而其他库 阅读全文

posted @ 2020-01-16 15:18 星云留水 阅读(865) 评论(0) 推荐(0)

Spring 面试问题 TOP 50

摘要: 目录 Spring 面试问题 TOP 50 1. 一般问题 2. 依赖注入(Ioc) 3. Beans 4. 注解 5. 数据访问 6. AOP 7. MVC 8. 资料 Spring 面试问题 TOP 50 Spring Framework 现在几乎已成为 Java Web 开发的标配框架。那么, 阅读全文

posted @ 2020-01-16 15:17 星云留水 阅读(406) 评论(0) 推荐(0)

OSGi 基本原理

摘要: 目录 定义 OSGi 框架模块层 Bundle 如何定义 Bundle生命周期层 重要接口服务层 发布服务 发现和绑定服务参考资料 定义 OSGi(Open Service Gateway Initiative)技术是面向Java的动态模型系统。 这个框架实现了一个优雅、完整和动态地组价模型。应用程 阅读全文

posted @ 2020-01-16 15:16 星云留水 阅读(452) 评论(0) 推荐(0)

[JSP]JSP 简介

摘要: 目录 1.1 概述 1.1.1 什么是 JSP? 1.1.2 JSP 的优点 1.2 工作原理 1.2.1 JSP 和 Servlet的区别 1.2.2 JSP 工作原理 1.3 生命周期参考资料 1.1 概述 1.1.1 什么是 JSP? JSP 全称是 Java Server Pages,是一种 阅读全文

posted @ 2020-01-16 15:13 星云留水 阅读(658) 评论(0) 推荐(0)

[Servlet] 初识Servlet

摘要: 目录 什么是Servlet? 定义 功能Java Web 开发的发展历程 静态网页技术 动态网页技术Servlet 生命周期 init () 方法 service() 方法 doGet()方法 doPost()方法 destroy() 方法Servlet 之 Hello World 环境设置 Hel 阅读全文

posted @ 2020-01-16 15:12 星云留水 阅读(162) 评论(0) 推荐(0)

[JavaEE笔记]Cookie

摘要: 目录 Cookie是什么?Cookie剖析Cookie类中的方法Cookie的有效期Cookie的域名Cookie的路径Cookie的安全属性实例 添加Cookie 显示Cookie 删除Cookie 引言 由于 Http 是一种无状态的协议,服务器单从网络连接上无从知道客户身份。 会话跟踪是 We 阅读全文

posted @ 2020-01-16 15:11 星云留水 阅读(418) 评论(0) 推荐(0)

[JSP]自定义标签库taglib

摘要: 目录 自定义标签的步骤标签API Tag接口 SimpleTag接口(JSP2.0)tld标签库描述文件 taglib主要元素实例 使用TagSupport自定义标签 使用SimpleTagSupport自定义标签(JSP2.0) 自定义标签的步骤 自定义标签的步骤大概有三步: 1.继承javax. 阅读全文

posted @ 2020-01-16 15:08 星云留水 阅读(283) 评论(0) 推荐(0)

认识Java Core和Heap Dump

摘要: 目录 什么是Java Core和Heap Dump JavaCore和Heap Dump的区别如何生成Java Core、Heap Dump文件如何分析 Java Core Heap Dump参考 什么是Java Core和Heap Dump Java程序运行时,有时会产生Java Core及Hea 阅读全文

posted @ 2020-01-16 15:06 星云留水 阅读(559) 评论(0) 推荐(0)

WebSocket 详解教程

摘要: 目录 概述 WebSocket 客户端 WebSocket 服务端 WebSocket 代理 FAQ 完整示例 资料 概述 WebSocket 是什么? WebSocket 是一种网络通信协议。RFC6455 定义了它的通信标准。 WebSocket 是 HTML5 开始提供的一种在单个 TCP 连 阅读全文

posted @ 2020-01-16 15:02 星云留水 阅读(430) 评论(0) 推荐(0)

Dozer 使用小结

摘要: 目录 概述 安装 使用 Dozer支持的数据类型转换 Dozer的映射配置 参考 这篇文章是本人在阅读Dozer官方文档(5.5.1版本,官网已经一年多没更新了)的过程中,整理下来我认为比较基础的应用场景。 本文中提到的例子应该能覆盖JavaBean映射的大部分场景,希望对你有所帮助。 概述 Doz 阅读全文

posted @ 2020-01-16 14:59 星云留水 阅读(2058) 评论(0) 推荐(1)

细说Java主流日志工具库

摘要: 目录 细说 Java 主流日志工具库 日志框架 日志门面 实施日志解决方案 log4j2 配置 logback 配置 log4j 配置 参考 细说 Java 主流日志工具库 日志框架 java.util.logging (JUL) Log4j Logback Log4j2 Log4j vs Logb 阅读全文

posted @ 2020-01-16 14:55 星云留水 阅读(1292) 评论(0) 推荐(1)

ZXing 生成、解析二维码图片的小示例

摘要: 目录 概述 实战 参考 概述 ZXing 是一个开源 Java 类库用于解析多种格式的 1D/2D 条形码。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。 其提供了多种平台下的客户端包括:J2ME、J2SE和Android。 官网:ZXing github仓库 实战 本例 阅读全文

posted @ 2020-01-16 14:54 星云留水 阅读(711) 评论(0) 推荐(0)

一行代码搞定图片缩放、旋转、加水印

摘要: 目录 概述核心 API Thumbnails Thumbnails.Builder 工作流实战 安装 图片缩放 图片旋转 加水印 批量处理图片参考 概述 Thumbnailator 是一个开源的 Java 项目,它提供了非常简单的 API 来对图片进行缩放、旋转以及加水印的处理。 有多简单呢?简单到 阅读全文

posted @ 2020-01-16 14:53 星云留水 阅读(396) 评论(0) 推荐(0)

Lombok 使用小结

摘要: 目录 Lombok 使用小结 Lombok 简介 Lombok 安装 Lombok 使用 示例源码 引用和引申 Lombok 使用小结 Lombok 简介 Lombok 安装 Lombok 使用 API 示例 示例源码 引用和引申 Lombok 简介 Lombok 是一种 Java 实用工具,可用来 阅读全文

posted @ 2020-01-16 14:49 星云留水 阅读(813) 评论(0) 推荐(1)

JUnit5 快速指南

摘要: 目录 JUnit5 快速指南 1. 安装 2. JUnit 注解 3. 编写单元测试 4. 引用和引申 JUnit5 快速指南 version: junit5 1. 安装 2. JUnit 注解 3. 编写单元测试 3.1. 基本的单元测试类和方法 3.2. 定制测试类和方法的显示名称 3.3. 断 阅读全文

posted @ 2020-01-16 14:45 星云留水 阅读(1456) 评论(0) 推荐(1)

[Java 进阶]Java中的国际化

摘要: 目录 背景知识 语言编码、国家/地区编码 字符编码国际化的 Java 实现 Java中实现国际化的方法支持国际化的国际化工具类 NumberFormat DateFormat MessageFormat 背景知识 现代软件开发,往往做出的应用程序不止给一个国家的人去使用。不同国家的人往往存在语言文字 阅读全文

posted @ 2020-01-16 14:43 星云留水 阅读(811) 评论(0) 推荐(0)

Java中的访问控制权限

摘要: 目录 简介包(package) 代码组织 包(package)的作用 创建包 导入包访问权限修饰词 package:包访问权限 public:接口访问权限 private:无法访问 protected:继承访问权限 访问权限修饰词的注意点 简介 Java中为什么要设计访问权限控制机制呢?主要作用有两 阅读全文

posted @ 2020-01-16 14:41 星云留水 阅读(1262) 评论(0) 推荐(0)

[Java IO]05_JSON操作

摘要: 目录 6.1 JSON 知识背景 6.1.1 JSON 简介 6.1.2 JSON 语法 6.1.3 JSON 的数据结构6.2 Java 中操作 JSON 数据 6.2.1 Jar包下载 6.2.2 基本方法参考资料 6.1 JSON 知识背景 6.1.1 JSON 简介 JSON: JavaSc 阅读全文

posted @ 2020-01-16 14:38 星云留水 阅读(190) 评论(0) 推荐(0)

[Java IO]04_系统标准IO

摘要: 目录 System.outSystem.inSystem.errIO 重定向参考资料 System表示系统类,它有3个与 Java IO 有关的常量。 System.out——系统标准输出 System.in——系统标准输入 System.err——错误信息输出 System.out System. 阅读全文

posted @ 2020-01-16 14:36 星云留水 阅读(188) 评论(0) 推荐(0)

[Java IO]03_字符流

摘要: 目录 WriterReader字节流 vs 字符流文件字符流 FileWriter FileReader 参考资料 Java程序中,一个字符等于两个字节。 Reader 和 Writer 两个就是专门用于操作字符流的类。 Writer Writer是一个字符流的抽象类。 它的定义如下: public 阅读全文

posted @ 2020-01-16 14:33 星云留水 阅读(171) 评论(0) 推荐(0)

[Java IO]02_字节流

摘要: 目录 概要InputStreamOutputStream文件字节流 FileOutputStream FileInputStream内存操作流管道流数据操作流 DataInputStream合并流参考资料 概要 字节流有两个核心抽象类:InputStream 和 OutputStream。所有的字节 阅读全文

posted @ 2020-01-16 14:32 星云留水 阅读(170) 评论(0) 推荐(0)

[Java IO]01_File类和RandomAccessFile类

摘要: 目录 File类 File类常用操作RandomAccessFile类参考资料 File类 File类是java.io包中唯一对文件本身进行操作的类。它可以进行创建、删除文件等操作。 File类常用操作 (1)创建文件 可以使用 createNewFille() 创建一个新文件。 注意: Windo 阅读全文

posted @ 2020-01-16 14:29 星云留水 阅读(136) 评论(0) 推荐(0)

[Java 安全]加密算法

摘要: 目录 Base64编码 算法简述 算法实现对称加密 算法简述 算法实现非对称加密 算法简述 算法实现术语参考 Base64编码 算法简述 定义 Base64内容传送编码是一种以任意8位字节序列组合的描述形式,这种形式不易被人直接识别。 Base64是一种很常见的编码规范,其作用是将二进制序列转换为人 阅读全文

posted @ 2020-01-16 14:28 星云留水 阅读(964) 评论(0) 推荐(0)

[Java 安全]消息摘要与数字签名

摘要: 目录 消息摘要 算法简述 算法实现数字签名 算法简述 算法实现参考 消息摘要 算法简述 定义 它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash加密函数对消息进行作用而产生。如果消息在途中改变了,则接收者通过对收到消息的新产生的摘要与原摘要比较,就可知道消息是否被改变了。因此消息摘要 阅读全文

posted @ 2020-01-16 14:27 星云留水 阅读(676) 评论(0) 推荐(0)

Java正则速成秘籍(三)之见招拆招篇

摘要: 目录 导读正则应用 最实用的正则 特定字符 特定数字参考 导读 正则表达式是什么?有什么用?正则表达式(Regular Expression)是一种文本规则,可以用来校验、查找、替换与规则匹配的文本。 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但是它的规则实在很繁琐,而且理解起来也颇为蛋疼 阅读全文

posted @ 2020-01-16 14:25 星云留水 阅读(383) 评论(0) 推荐(0)

Java正则速成秘籍(二)之心法篇

摘要: 目录 导读概述元字符 基本元字符 等价字符 元字符优先级顺序分组构造 捕获与非捕获 反向引用 非捕获组 零宽断言贪婪与懒惰附录 匹配正则字符串的方法 速查元字符字典参考 导读 正则表达式是什么?有什么用?正则表达式(Regular Expression)是一种文本规则,可以用来校验、查找、替换与规则 阅读全文

posted @ 2020-01-16 14:22 星云留水 阅读(407) 评论(0) 推荐(0)

Java正则速成秘籍(一)之招式篇

摘要: 目录 导读概述Pattern类Matcher类 校验文本是否与正则规则匹配 查找匹配正则规则的文本位置 替换匹配正则规则的文本 导读 正则表达式是什么?有什么用?正则表达式(Regular Expression)是一种文本规则,可以用来校验、查找、替换与规则匹配的文本。 又爱又恨的正则 正则表达式是 阅读全文

posted @ 2020-01-16 14:21 星云留水 阅读(187) 评论(0) 推荐(0)

Java 枚举

摘要: 目录 Java 枚举 知识点 概念 枚举的方法 枚举的特性 枚举的应用场景 EnumSet和EnumMap Java 枚举 知识点 概念 enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性。 在Java中,被 enum 关键字修饰的类型就是枚举类型。形式如下: enum 阅读全文

posted @ 2020-01-16 14:20 星云留水 阅读(510) 评论(0) 推荐(0)

JDK 升级问题小结

摘要: 目录 FAQ 资料 JDK8 发布很久了,它提供了许多吸引人的新特性,能够提高编程效率。 如果是新的项目,使用 JDK8 当然是最好的选择。但是,对于一些老的项目,升级到 JDK8 则存在一些兼容性问题,是否升级需要酌情考虑。 近期,我在工作中遇到一个任务,将部门所有项目的 JDK 版本升级到 1. 阅读全文

posted @ 2020-01-16 14:19 星云留水 阅读(569) 评论(0) 推荐(0)

JDK8 指南(译)

摘要: 目录 新特性 翻译自 java8-tutorial 新特性 Default Methods for Interfaces(接口的默认方法) Java 8 使我们能够通过使用 default 关键字将非抽象方法实现添加到接口。这个功能也被称为虚拟扩展方法。 这是我们的第一个例子: interface 阅读全文

posted @ 2020-01-16 14:16 星云留水 阅读(422) 评论(0) 推荐(0)

如何学习一门编程语言

摘要: 目录 前言 学习编程语言的步骤 小结 前言 很多人喜欢争论什么什么编程语言好,我认为这个话题如果不限定应用范围,就毫无意义。 每种编程语言必然有其优点和缺点,这也决定了它有适合的应用场景和不适合的应用场景。现代软件行业,想一门编程语言包打天下是不现实的。这中现状也造成了一种现象,一个程序员往往要掌握 阅读全文

posted @ 2020-01-16 14:15 星云留水 阅读(480) 评论(0) 推荐(0)

深入理解 Java 基本数据类型

摘要: 目录 深入理解 Java 基本数据类型 数据类型分类 数据转换 装箱和拆箱 小结 参考资料 深入理解 Java 基本数据类型 📓 本文已归档到:「blog」 数据类型分类 值类型 值类型和引用类型的区别 数据转换 自动转换 强制转换 装箱和拆箱 包装类、装箱、拆箱 自动装箱、自动拆箱 装箱、拆箱的 阅读全文

posted @ 2020-01-16 14:11 星云留水 阅读(206) 评论(0) 推荐(0)

深入理解 Java 反射和动态代理

摘要: 目录 1. 简介 2. 反射机制 3. 使用反射 4. 动态代理 5. 小结 6. 参考资料 📓 本文已归档到:「javacore」 🔁 本文中的示例代码已归档到:「javacore」 1. 简介 1.1. 什么是反射 反射(Reflection)是 Java 程序开发语言的特征之一,它允许运行 阅读全文

posted @ 2020-01-16 14:09 星云留水 阅读(711) 评论(0) 推荐(0)

深入理解 Java 泛型

摘要: 目录 1. 为什么需要泛型 2. 泛型类型 3. 泛型方法 4. 类型擦除 5. 泛型和继承 6. 类型边界 7. 类型通配符 8. 泛型的约束 9. 泛型最佳实践 10. 小结 11. 参考资料 📓 本文已归档到:「javacore」 🔁 本文中的示例代码已归档到:「javacore」 1. 阅读全文

posted @ 2020-01-16 14:07 星云留水 阅读(235) 评论(0) 推荐(0)

深入理解 Java 基本数据类型

摘要: 目录 1. 数据类型分类 2. 数据转换 3. 装箱和拆箱 4. 小结 5. 参考资料 📓 本文已归档到:「javacore」 1. 数据类型分类 Java 中的数据类型有两类: 值类型(又叫内置数据类型,基本数据类型) 引用类型(除值类型以外,都是引用类型,包括 String、数组) 1.1. 阅读全文

posted @ 2020-01-16 14:05 星云留水 阅读(298) 评论(0) 推荐(0)

深入理解 Java 方法

摘要: 目录 1. 方法的使用 2. 方法参数 3. 方法修饰符 4. 特殊方法 5. 覆写和重载 6. 小结 7. 参考资料 方法(有的人喜欢叫函数)是一段可重用的代码段。 📓 本文已归档到:「javacore」 🔁 本文中的示例代码已归档到:「javacore」 1. 方法的使用 1.1. 方法定义 阅读全文

posted @ 2020-01-16 14:02 星云留水 阅读(204) 评论(0) 推荐(0)

Java 控制语句

摘要: 目录 Java 控制语句 1. 选择语句 2. 循环语句 3. 中断语句 4. 最佳实践 5. 参考资料 Java 控制语句 📓 本文已归档到:「javacore」 🔁 本文中的示例代码已归档到:「javacore」 Java 控制语句大致可分为三大类: 选择语句 if, else-if, el 阅读全文

posted @ 2020-01-16 14:01 星云留水 阅读(288) 评论(0) 推荐(0)

深入理解 Java 枚举

摘要: 目录 1. 简介 2. 枚举的本质 3. 枚举的方法 4. 枚举的特性 5. 枚举的应用 6. 枚举工具类 7. 小结 8. 参考资料 📓 本文已归档到:「javacore」 🔁 本文中的示例代码已归档到:「javacore」 1. 简介 enum 的全称为 enumeration, 是 JDK 阅读全文

posted @ 2020-01-16 13:58 星云留水 阅读(286) 评论(0) 推荐(0)

深入理解 Java 数组

摘要: 目录 1. 简介 2. 声明数组 3. 创建数组 4. 访问数组 5. 数组的引用 6. 泛型和数组 7. 多维数组 8. Arrays 类 9. 小结 10. 参考资料 📓 本文已归档到:「javacore」 🔁 本文中的示例代码已归档到:「javacore」 1. 简介 1.1. 数组的特性 阅读全文

posted @ 2020-01-16 13:57 星云留水 阅读(799) 评论(0) 推荐(0)

深入理解 Java 异常

摘要: 目录 1. 异常框架 2. 自定义异常 3. 抛出异常 4. 捕获异常 5. 异常链 6. 异常注意事项 7. 最佳实践 8. 小结 9. 参考资料 📓 本文已归档到:「javacore」 🔁 本文中的示例代码已归档到:「javacore」 1. 异常框架 1.1. Throwable Thro 阅读全文

posted @ 2020-01-16 13:52 星云留水 阅读(207) 评论(0) 推荐(0)

深入理解 Java 注解

摘要: 目录 深入理解 Java 注解 1. 简介 2. 内置注解 3. 元注解 4. 自定义注解 5. 小结 6. 参考资料 深入理解 Java 注解 本文内容基于 JDK8。注解是 JDK5 引入的,后续 JDK 版本扩展了一些内容,本文中没有明确指明版本的注解都是 JDK5 就已经支持的注解。 📓 阅读全文

posted @ 2020-01-16 13:50 星云留水 阅读(370) 评论(0) 推荐(0)

深入理解 Java 线程池

摘要: 目录 一、简介 二、Executor 框架 三、ThreadPoolExecutor 四、Executors 参考资料 一、简介 什么是线程池 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。 为什么要用线程池 如果并发请求数量很多,但每个线程执行的时间很短 阅读全文

posted @ 2020-01-16 13:49 星云留水 阅读(382) 评论(0) 推荐(0)

Java 线程基础

摘要: 目录 Java 线程基础 一、线程简介 二、线程基本用法 三、线程间通信 四、线程状态 参考资料 Java 线程基础 📦 本文以及示例源码已归档在 javacore 一、线程简介 什么是进程 什么是线程 进程和线程的区别 二、线程基本用法 创建线程 线程休眠 线程礼让 终止线程 守护线程 FAQ 阅读全文

posted @ 2020-01-16 13:46 星云留水 阅读(249) 评论(0) 推荐(0)

Java 内存模型

摘要: 目录 一、物理内存模型 二、Java 内存模型 三、Java 内存模型规则 参考资料 📦 本文以及示例源码已归档在 javacore Java 内存模型(Java Memory Model),简称 JMM。 JVM 中试图定义一种 JMM 来屏蔽各种硬件和操作系统的内存访问差异,以实现让 Java 阅读全文

posted @ 2020-01-16 11:33 星云留水 阅读(433) 评论(0) 推荐(0)

Java 并发核心机制

摘要: 目录 一、J.U.C 简介 二、synchronized 三、volatile 四、CAS 五、ThreadLocal 参考资料 📦 本文以及示例源码已归档在 javacore 一、J.U.C 简介 Java 的 java.util.concurrent 包(简称 J.U.C)中提供了大量并发工具 阅读全文

posted @ 2020-01-16 11:32 星云留水 阅读(230) 评论(0) 推荐(0)

全面了解 Java 原子变量类

摘要: 目录 一、原子变量类简介 二、基本类型 三、引用类型 四、数组类型 五、属性更新器类型 参考资料 📦 本文以及示例源码已归档在 javacore 一、原子变量类简介 为何需要原子变量类 保证线程安全是 Java 并发编程必须要解决的重要问题。Java 从原子性、可见性、有序性这三大特性入手,确保多 阅读全文

posted @ 2020-01-16 11:30 星云留水 阅读(458) 评论(0) 推荐(0)

深入理解 Java 并发锁

摘要: 目录 一、并发锁简介 二、AQS 三、ReentrantLock 四、ReentrantReadWriteLock 五、Condition 参考资料 📦 本文以及示例源码已归档在 javacore 一、并发锁简介 确保线程安全最常见的做法是利用锁机制(Lock、sychronized)来对共享数据 阅读全文

posted @ 2020-01-16 11:28 星云留水 阅读(1928) 评论(0) 推荐(1)

Elastic 技术栈之 Filebeat

摘要: 目录 Elastic 技术栈之 Filebeat 简介 安装 配置 命令 模块 原理 资料 Elastic 技术栈之 Filebeat 简介 Beats 是安装在服务器上的数据中转代理。 Beats 可以将数据直接传输到 Elasticsearch 或传输到 Logstash 。 Beats 有多种 阅读全文

posted @ 2020-01-16 11:26 星云留水 阅读(351) 评论(0) 推荐(0)

Elastic 技术栈之 Logstash 基础

摘要: 目录 Elastic 技术栈之 Logstash 基础 简介 设置 启动 插件 实战 小技巧 资料 推荐阅读 Elastic 技术栈之 Logstash 基础 本文是 Elastic 技术栈(ELK)的 Logstash 应用。 如果不了解 Elastic 的安装、配置、部署,可以参考:Elasti 阅读全文

posted @ 2020-01-16 11:24 星云留水 阅读(549) 评论(0) 推荐(0)

Elastic 技术栈之快速入门

摘要: 目录 Elastic 技术栈之快速入门 概念 安装 使用 资料 Elastic 技术栈之快速入门 概念 ELK 是什么 ELK 是 elastic 公司旗下三款产品 ElasticSearch 、Logstash 、Kibana 的首字母组合。 ElasticSearch 是一个基于 Lucene  阅读全文

posted @ 2020-01-16 11:23 星云留水 阅读(293) 评论(0) 推荐(0)

嵌入式服务器jetty,让你更快开发web

摘要: 目录 概述jetty的嵌入式启动 API方式 Maven插件方式参考 概述 jetty是什么? jetty是轻量级的web服务器和servlet引擎。 它的最大特点是:可以很方便的作为嵌入式服务器。 它是eclipse的一个开源项目。不用怀疑,就是你常用的那个eclipse。 它是使用Java开发的 阅读全文

posted @ 2020-01-16 11:22 星云留水 阅读(478) 评论(0) 推荐(0)

Ant 简易教程

摘要: 目录 前言1 下载和安装 1.1 下载 1.2 配置环境变量 1.3 验证2 例子3 关键元素 3.1 Project 元素 3.2 Target 元素 3.3 Task 元素 3.4 Property 元素 3.5 extension-point元素参考资料 前言 Apache Ant,是一个将软 阅读全文

posted @ 2020-01-16 11:21 星云留水 阅读(259) 评论(0) 推荐(0)

Maven入门教程

摘要: 目录 概念 Maven是什么 Maven的生命周期 Maven的标准工程结构 Maven的"约定优于配置" Maven的版本规范安装 官网下载地址 配置环境变量 本地仓储配置第一个Maven工程 在Eclipse中创建Maven工程 使用Maven进行构建使用指导 如何添加外部依赖jar包 如何寻找 阅读全文

posted @ 2020-01-16 11:20 星云留水 阅读(382) 评论(0) 推荐(0)

Eclipse 使用小结

摘要: 目录 代码智能提示 插件安装 基本设置 设置文本文件及JSP文件编码 设置JDK本地JavaDOC API路径及源码路径 设置Servlet源码或其它Jar包源码 反编译插件 JD-Eclipse Validate优化 常用快捷键 代码智能提示 Java智能提示 Window -> Preferen 阅读全文

posted @ 2020-01-16 11:17 星云留水 阅读(130) 评论(0) 推荐(0)

Intellij IDEA 使用小结

摘要: 目录 快捷键 插件 个性化 参考资料 快捷键 核心快捷键 IntelliJ IDEA 作为一个以快捷键为中心的 IDE,为大多数操作建议了键盘快捷键。在这个主题中,您可以找到最不可缺少的列表,使 IntelliJ IDEA 轻松实现第一步。 核心快捷键表 操作快捷键 根据名称查找操作 Ctrl+Sh 阅读全文

posted @ 2020-01-16 11:16 星云留水 阅读(236) 评论(0) 推荐(0)

Tomcat 快速入门

摘要: 目录 Tomcat 快速入门 简介 安装 配置 启动 资料 推荐 Tomcat 快速入门 版本说明 本文使用 Tomcat 版本为 Tomcat 8.5.24。 Tomcat 8.5 要求 JDK 版本为 1.7 以上。 简介 Tomcat 是什么 Tomcat 是由 Apache 开发的一个 Se 阅读全文

posted @ 2020-01-16 11:15 星云留水 阅读(178) 评论(0) 推荐(0)

剖析 HTTP 协议

摘要: 目录 HTTP 概述 HTTP 是什么? 实例 工作原理 特点HTTP 消息结构 客户端请求消息 服务器响应消息HTTP 请求HTTP 响应HTTP 状态码参考 HTTP 概述 HTTP 是什么? HTTP(HyperText Transfer Protocol,超文本传输协议)是WWW (Worl 阅读全文

posted @ 2020-01-16 11:13 星云留水 阅读(202) 评论(0) 推荐(0)

DNS 协议

摘要: 目录 DNS 入门 简介 域名解析 Linux 上的域名相关命令 引用和引申 DNS 入门 域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 TCP 和 UDP 端口 阅读全文

posted @ 2020-01-16 11:12 星云留水 阅读(1033) 评论(0) 推荐(0)

java架构之路-(spring源码篇)由浅入深-spring实战详细使用

摘要: 今天我更新了一篇jvm垃圾回收的算法和垃圾回收器的内部逻辑,但是看的人不多啊......貌似大家还是比较喜欢看源码吧,毕竟实战要比理论用的多。 这篇文章不会详细的深入底层源码,只是基于注解和配置来说说我们的spring的使用,别小看基础,保证有你没用过的注解和配置,走起。我们先来建立一个maven项 阅读全文

posted @ 2020-01-16 11:09 星云留水 阅读(264) 评论(0) 推荐(0)

消息中间件(一)MQ详解及四大MQ比较

摘要: 一、消息中间件相关知识 1、概述 消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发Ro 阅读全文

posted @ 2020-01-16 11:07 星云留水 阅读(3139) 评论(0) 推荐(0)

WebSocket 详解教程

摘要: 目录 概述 WebSocket 客户端 WebSocket 服务端 WebSocket 代理 FAQ 完整示例 资料 概述 WebSocket 是什么? WebSocket 是一种网络通信协议。RFC6455 定义了它的通信标准。 WebSocket 是 HTML5 开始提供的一种在单个 TCP 连 阅读全文

posted @ 2020-01-16 11:06 星云留水 阅读(1288) 评论(1) 推荐(0)

Nginx 简易教程

摘要: 目录 Nginx 概述 安装与使用 nginx 配置实战 更多内容 Nginx 本项目是一个 Nginx 极简教程,目的在于帮助新手快速入门 Nginx。 demos 目录中的示例模拟了工作中的一些常用实战场景,并且都可以通过脚本一键式启动,让您可以快速看到演示效果。 概述 安装与使用 安装 使用 阅读全文

posted @ 2020-01-16 11:04 星云留水 阅读(260) 评论(0) 推荐(0)

排序七 归并排序

摘要: 目录 要点 归并排序的基本思想算法分析 归并排序算法的性能 时间复杂度 空间复杂度 算法稳定性 归并排序和堆排序、快速排序的比较完整参考代码 Java版本参考资料相关阅读 要点 归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的 阅读全文

posted @ 2020-01-16 11:03 星云留水 阅读(230) 评论(0) 推荐(0)

排序五 简单选择排序

摘要: 目录 要点 简单排序处理流程算法分析 简单选择排序算法的性能 时间复杂度 空间复杂度完整参考代码 JAVA版本参考资料相关阅读 要点 简单选择排序是一种选择排序。 选择排序:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止。 简单排序处理流程 (1)从待排 阅读全文

posted @ 2020-01-16 11:02 星云留水 阅读(229) 评论(0) 推荐(0)

排序四 希尔排序

摘要: 目录 要点算法分析 希尔排序的算法性能 时间复杂度 算法稳定性 直接插入排序和希尔排序的比较完整参考代码 JAVA版本参考资料相关阅读 要点 希尔(Shell)排序又称为缩小增量排序,它是一种插入排序。它是直接插入排序算法的一种威力加强版。 该方法因DL.Shell于1959年提出而得名。 希尔排序 阅读全文

posted @ 2020-01-16 11:00 星云留水 阅读(214) 评论(0) 推荐(0)

排序二 快速排序

摘要: 目录 要点算法分析 快速排序算法的性能 时间复杂度 空间复杂度 算法稳定性完整参考代码 JAVA版本参考资料相关阅读 要点 快速排序是一种交换排序。 快速排序由C. A. R. Hoare在1962年提出。 它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分:分割点左边都是比它小的数,右边 阅读全文

posted @ 2020-01-16 10:43 星云留水 阅读(230) 评论(0) 推荐(0)

排序一 冒泡排序

摘要: 目录 要点 算法思想算法分析 冒泡排序算法的性能 时间复杂度 算法稳定性优化完整参考代码 JAVA版本参考资料相关阅读 要点 冒泡排序是一种交换排序。 什么是交换排序呢? 交换排序:两两比较待排序的关键字,并交换不满足次序要求的那对数,直到整个表都满足次序要求为止。 算法思想 它重复地走访过要排序的 阅读全文

posted @ 2020-01-16 10:42 星云留水 阅读(217) 评论(0) 推荐(0)

[算法题] 人民币大小写转换(阿拉伯数字和汉字转换)

摘要: 目录 在一次面试中遇到一个有意思的小算法题:要求将阿拉伯数字转为汉字显示出来(包含单位)。 当时虽然实现出来,但是代码写的有点凌乱。所以回家后,重新整理了一下。 这个算法有几个小的注意点: 1、中文字符占两个字节,所以如果用C语言实现,需要用char数组的形式保存单个汉字。 2、如果数字中出现连续的 阅读全文

posted @ 2020-01-16 10:39 星云留水 阅读(735) 评论(0) 推荐(0)

队列

摘要: 目录 队列的基本操作有初始化队列,判队列是否为空,入队,出队 栈可分为两种存储结构:顺序队和链队。 顺序队 /* 顺序队结构 */typedef struct {ElemType data[MAXSIZE];int front;int rear;} SqQueue; 顺序队四个要素: (1)队空条件 阅读全文

posted @ 2020-01-16 10:38 星云留水 阅读(139) 评论(0) 推荐(0)

查找三 哈希表的查找

摘要: 目录 要点 哈希表和哈希函数 在记录的存储位置和它的关键字之间是建立一个确定的对应关系(映射函数),使每个关键字和一个存储位置能唯一对应。这个映射函数称为哈希函数,根据这个原则建立的表称为哈希表(Hash Table),也叫散列表。 以上描述,如果通过数学形式来描述就是: 若查找关键字为 key,则 阅读全文

posted @ 2020-01-16 10:31 星云留水 阅读(228) 评论(0) 推荐(0)

单链表的算法

摘要: 目录 要点 链表 单链表基本算法 插入结点 删除结点参考代码 基本操作 测试例部分 参考资料相关阅读 要点 在顺序表的算法文章中,我们讨论了线性表的顺序存储结构——顺序表。 顺序表是用一组地址连续的存储单元来保存数据的,所以它具有随机存取的特点。即查找快速,但是做插入或删除动作是,需要移动大量元素, 阅读全文

posted @ 2020-01-16 10:30 星云留水 阅读(687) 评论(0) 推荐(0)

顺序表的算法

摘要: 目录 顺序表 要点 基本算法 参考代码相关阅读 顺序表 要点 顺序表是在计算机内存中以数组的形式保存的线性表,是指使用一组地址连续的存储单元依次存储数据元素的线性结构。 顺序表的存储结构可表示如下: #define MAXSIZE 10 typedef int ElemType; typedef s 阅读全文

posted @ 2020-01-16 10:27 星云留水 阅读(304) 评论(0) 推荐(0)

程序员的内功——数据结构和算法系列

摘要: 目录 如果说各种编程语言是程序员的招式,那么数据结构和算法就相当于程序员的内功。 想写出精炼、优秀的代码,不通过不断的锤炼,是很难做到的。 开这个系列的目的是为了自我不断积累。不积跬步无以至千里嘛。 数据结构篇 线性表 顺序表的算法 单链表的算法 双链表的算法 循环链表的算法 栈 队列 算法篇 五大 阅读全文

posted @ 2020-01-16 10:24 星云留水 阅读(146) 评论(0) 推荐(0)

查找一 线性表的查找

摘要: 目录 查找的基本概念顺序查找二分查找分块查找三种线性查找的PK参考资料相关阅读 查找的基本概念 什么是查找? 查找是根据给定的某个值,在表中确定一个关键字的值等于给定值的记录或数据元素。 查找算法的分类 若在查找的同时对表记录做修改操作(如插入和删除),则相应的表称之为动态查找表; 否则,称之为静态 阅读全文

posted @ 2020-01-16 10:23 星云留水 阅读(294) 评论(0) 推荐(0)

摘要: 目录 栈的基本操作有初始化栈,判栈是否为空,入栈,出栈,获取栈顶元素。 栈可分为两种存储结构:顺序栈和链栈。 顺序栈 顺序栈结构:typedef struct {ElemType data[MAXSIZE];int top;} SqStack; 顺序栈四个要素: (1)栈空条件:st.top == 阅读全文

posted @ 2020-01-16 10:21 星云留水 阅读(250) 评论(0) 推荐(0)

排序算法系列

摘要: 目录 概述 概念 排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。 排序分为内部排序和外部排序。 若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。 反之,若参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则称此类排序问题为外 阅读全文

posted @ 2020-01-16 10:17 星云留水 阅读(135) 评论(0) 推荐(0)

排序三 直接插入排序

摘要: 目录 要点算法分析 直接插入排序的算法性能 时间复杂度 空间复杂度 算法稳定性完整参考代码 JAVA版本参考资料相关阅读 要点 直接插入排序是一种最简单的插入排序。 插入排序:每一趟将一个待排序的记录,按照其关键字的大小插入到有序队列的合适位置里,知道全部插入完成。 在讲解直接插入排序之前,先让我们 阅读全文

posted @ 2020-01-16 10:15 星云留水 阅读(200) 评论(0) 推荐(0)

排序八 基数排序

摘要: 目录 要点完整参考代码算法分析 基数排序的性能 时间复杂度 空间复杂度 算法稳定性相关阅读 要点 基数排序与本系列前面讲解的七种排序方法都不同,它不需要比较关键字的大小。 它是根据关键字中各位的值,通过对排序的N个元素进行若干趟“分配”与“收集”来实现排序的。 不妨通过一个具体的实例来展示一下,基数 阅读全文

posted @ 2020-01-16 10:13 星云留水 阅读(189) 评论(0) 推荐(0)

排序六 堆排序

摘要: 目录 堆的概念要点算法分析 堆排序算法的总体情况 时间复杂度 算法稳定性完整参考代码 JAVA版本参考资料相关阅读 说明 堆的概念 在介绍堆排序之前,首先需要说明一下,堆是个什么玩意儿。 堆是一棵顺序存储的完全二叉树。 其中每个结点的关键字都不大于其孩子结点的关键字,这样的堆称为小根堆。 其中每个结 阅读全文

posted @ 2020-01-16 10:07 星云留水 阅读(149) 评论(0) 推荐(0)

maven全局配置文件settings.xml详解

摘要: 目录 概要 settings.xml有什么用? settings.xml文件位置 配置优先级settings.xml元素详解 顶级元素概览 LocalRepository InteractiveMode UsePluginRegistry Offline PluginGroups Servers M 阅读全文

posted @ 2020-01-16 10:05 星云留水 阅读(5078) 评论(0) 推荐(1)

公司没有 DBA,Mysql 运维自己来

摘要: 目录 一、虚拟机部署 二、基本运维 三、配置 四、常见问题 五、脚本 参考资料 如果你的公司有 DBA,那么我恭喜你,你可以无视 Mysql 运维。如果你的公司没有 DBA,那你就好好学两手 Mysql 基本运维操作,行走江湖,防身必备。 环境:CentOS7 版本: 一、虚拟机部署 本文仅介绍 r 阅读全文

posted @ 2020-01-16 10:02 星云留水 阅读(310) 评论(0) 推荐(0)

java架构之路-(面试篇)Mysql面试大全

摘要: 说一下mysql比较宏观的面试,具体咋写sql的这里就不过多举例了。后面我还会给出一个关于mysql面试优化的试题,这里主要说的索引和B+Tree结构,很少提到我们的集群配置优化方案。 1.索引是什么?有什么作用以及缺点 答:索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据 阅读全文

posted @ 2020-01-16 09:59 星云留水 阅读(311) 评论(0) 推荐(0)

三天讲透SpringBoot-初识基础使用

摘要: 这次我们来说一下我们的SpringBoot,现在SpringBoot已经成为趋势,在我这里我用三篇文章的形式来讲清楚我们的SpringBoot,大致分为,第一篇讲搭建,基本使用,第二篇三方集成,自动装配原理,第三篇,将main方法启动原理,总结史上最全的SpringBoot注解及其含义。后面有机会再 阅读全文

posted @ 2020-01-16 09:53 星云留水 阅读(362) 评论(0) 推荐(0)

java架构之路(多线程)AQS之ReetrantLock显示锁的使用和底层源码解读

摘要: 锁的粗化和锁的消除 这个本来应该是在synchronized里面去说的,忘记了,不是很重要,但是需要知道有这么一个东西啦。 我们先来演示一下锁的粗化: StringBuffer sb = new StringBuffer(); public void lockCoarseningMethod(){ 阅读全文

posted @ 2020-01-16 09:51 星云留水 阅读(215) 评论(0) 推荐(0)

SEATA 分布式事务入门DEMO

摘要: Simple Extensible Autonomous Transacation Architecture,seata是简单的、可扩展、自主性高的分布式架构 SEATA Server Configure 因我们使用正式的1.0.0-GA 版本,网上大多数找到的说明都是0.X版本,有不少变动,比如, 阅读全文

posted @ 2020-01-16 09:49 星云留水 阅读(556) 评论(0) 推荐(0)

Oracle索引大全

摘要: 文档结构如下: 前言: Oracle 官方文档对索引的描述真是弱透了,对索引的说明就是一坨……,support也没有很好的资料,下面还是用的官方上的内容经过自己的整理加上网上的资料;至于为什么用索引,以及索引的重要性,相信大家都知晓;如果把数据库所有的表比如成一本书,那么,索引就是书的目录,你不可能 阅读全文

posted @ 2020-01-16 09:47 星云留水 阅读(773) 评论(0) 推荐(0)

初识Activiti工作流

摘要: 一、背景介绍 公司最近接了一个监狱AB门系统的项目,在对项目进行调研时,发现客户的关注点主要是在AB门流程这块,项目大部分功能都是审批流程和单据流动状态等。而之前公司的项目关于流程主要都是在表中设置状态后使用代码进行流程控制,正好基于此项目,将工作流框架整合到项目中,记录整合过程中框架知识和在整合过 阅读全文

posted @ 2020-01-16 09:46 星云留水 阅读(4951) 评论(1) 推荐(1)

Java设计模式-工厂模式

摘要: 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 1|1介绍 意图:定义一个创建对象的接口,让其 阅读全文

posted @ 2020-01-16 09:44 星云留水 阅读(239) 评论(0) 推荐(0)

Java小白集合源码的学习系列:ArrayList

摘要: 目录 ArrayList源码学习 ArrayList的继承体系 ArrayList核心源码 ArrayList扩容机制 最后的总结 ArrayList源码学习 本文基于JDK1.8版本,对集合中的巨头ArrayList做一定的源码学习,将会参考大量资料,在文章后面都将会给出参考文章链接,本文用以巩固 阅读全文

posted @ 2020-01-16 09:33 星云留水 阅读(205) 评论(0) 推荐(0)

计算机网络常见面试题

摘要: 一 OSI与TCP/IP各层的结构与功能,都有哪些协议? 学习计算机网络时我们一般采用折中的办法,也就是中和 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构,这样既简洁又能将概念阐述清楚。 结合互联网的情况,自上而下地,非常简要的介绍一下各层的作用。 1.1 应用层 应用层(app 阅读全文

posted @ 2020-01-16 09:31 星云留水 阅读(334) 评论(0) 推荐(0)

【算法】递归

摘要: 递归 递归实现的原理: 一个递归函数的调用过程类似于多个函数的嵌套的调用,只不过调用函数和被调用函数是同一个函数。为了保证递归函数的正确执行,系统需设立一个工作栈。具体地说,递归调用的内部执行过程如下: 运动开始时,首先为递归调用建立一个工作栈,其结构包括值参、局部变量和返回地址; 每次执行递归调用 阅读全文

posted @ 2020-01-16 09:27 星云留水 阅读(324) 评论(0) 推荐(0)

常见的基本数据结构——栈

摘要: 栈ADT 栈(stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈顶。栈的基本操作有进栈(push)和出栈(pop),前者相当于插入,后者相当于删除最后的元素。在最后插入的元素可以通过使用Top例程在执行Pop之前进行考查。对空栈进行的Pop或Top一般被认为是栈ADT的错 阅读全文

posted @ 2020-01-16 09:19 星云留水 阅读(588) 评论(0) 推荐(0)

导航