博客园 - 小创
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=174954
2021-01-24T02:19:13Z
小创
https://www.cnblogs.com/chuonye/
feed.cnblogs.com
https://www.cnblogs.com/chuonye/p/14320166.html
React 入门-redux 和 react-redux - 小创
React 将页面元素拆分成组件,通过组装展示数据。组件又有无状态和有状态之分,所谓状态,可以简单的认为是组件要展示的数据。React 有个特性或者说是限制单向数据流,组件的状态数据只能在组件内部修改,对于其他组件是只读的,想要修改只能通过组件提供的接口回调。 随着组件数量的增多,组件间状态数据共享
2021-01-24T02:19:00Z
2021-01-24T02:19:00Z
小创
https://www.cnblogs.com/chuonye/
【摘要】React 将页面元素拆分成组件,通过组装展示数据。组件又有无状态和有状态之分,所谓状态,可以简单的认为是组件要展示的数据。React 有个特性或者说是限制单向数据流,组件的状态数据只能在组件内部修改,对于其他组件是只读的,想要修改只能通过组件提供的接口回调。 随着组件数量的增多,组件间状态数据共享 <a href="https://www.cnblogs.com/chuonye/p/14320166.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chuonye/p/14248895.html
Oracle RedoLog-二进制格式分析,文件头,DML,DDL - 小创
上篇文章,简单介绍了 RedoLog 是什么,以及怎么从 Oracle Dump 二进制日志。接下来,分析下 Redo Log 二进制文件的格式,主要包括:文件头,重做日志头,DML-INSERT 操作,DDL-CREATE 操作。 Redo Log 二进制文件中,采用的是小端序字节序。 原文链接:
2021-01-08T01:09:00Z
2021-01-08T01:09:00Z
小创
https://www.cnblogs.com/chuonye/
【摘要】上篇文章,简单介绍了 RedoLog 是什么,以及怎么从 Oracle Dump 二进制日志。接下来,分析下 Redo Log 二进制文件的格式,主要包括:文件头,重做日志头,DML-INSERT 操作,DDL-CREATE 操作。 Redo Log 二进制文件中,采用的是小端序字节序。 原文链接: <a href="https://www.cnblogs.com/chuonye/p/14248895.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chuonye/p/14229283.html
Oracle RedoLog-基本概念和组成 - 小创
Oracle 数据库恢复操作最关键的依据就是 redo log,它记录了对数据库所有的更改操作。在研究如何提取 redolog 中 DML 操作的过程可谓一波三折,因为介绍 redolog 结构细节的资料实在太少了,不过好在最后大致理清了它的结构,并开发了一个基于日志的同步软件。 本系列文章就记录下
2021-01-04T05:39:00Z
2021-01-04T05:39:00Z
小创
https://www.cnblogs.com/chuonye/
【摘要】Oracle 数据库恢复操作最关键的依据就是 redo log,它记录了对数据库所有的更改操作。在研究如何提取 redolog 中 DML 操作的过程可谓一波三折,因为介绍 redolog 结构细节的资料实在太少了,不过好在最后大致理清了它的结构,并开发了一个基于日志的同步软件。 本系列文章就记录下 <a href="https://www.cnblogs.com/chuonye/p/14229283.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chuonye/p/14215897.html
React 入门-写个 TodoList 实例 - 小创
React 是一个用于构建用户界面的 JavaScript 库,主要特点有: 声明式渲染:设计好数据和视图的关系,数据变化 React 自动渲染,不必亲自操作DOM 组件化:页面切分成多个小部件,通过组装拼成整体页面,利于代码复用 本文通过写个简单的 TodoList 实例,不求甚解,熟悉下 Rea
2020-12-31T04:39:00Z
2020-12-31T04:39:00Z
小创
https://www.cnblogs.com/chuonye/
【摘要】React 是一个用于构建用户界面的 JavaScript 库,主要特点有: 声明式渲染:设计好数据和视图的关系,数据变化 React 自动渲染,不必亲自操作DOM 组件化:页面切分成多个小部件,通过组装拼成整体页面,利于代码复用 本文通过写个简单的 TodoList 实例,不求甚解,熟悉下 Rea <a href="https://www.cnblogs.com/chuonye/p/14215897.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chuonye/p/11509377.html
Bootstrap4默认样式不对胃口?教你使用NPM+Webpack+SASS来定制 - 小创
Bootstrap 是一个流行的前端样式库,可以方便快速的构建应用,但默认样式可能不尽人意,本文就介绍如何使用 NPM , Webpack , SASS 针对它的源码来定制自己的主题。版本使用的是 Bootstrap v4.3.1。 本文提供了一个使用此方式编写的一个后台管理模板 Dunwoo Ad
2019-09-14T01:35:00Z
2019-09-14T01:35:00Z
小创
https://www.cnblogs.com/chuonye/
【摘要】Bootstrap 是一个流行的前端样式库,可以方便快速的构建应用,但默认样式可能不尽人意,本文就介绍如何使用 NPM , Webpack , SASS 针对它的源码来定制自己的主题。版本使用的是 Bootstrap v4.3.1。 本文提供了一个使用此方式编写的一个后台管理模板 Dunwoo Ad <a href="https://www.cnblogs.com/chuonye/p/11509377.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chuonye/p/11349042.html
Java 内存模型和 JVM 内存结构真不是一回事 - 小创
这两个概念估计有不少人会混淆,它们都可以说是 JVM 规范的一部分,但真不是一回事!它们描述和解决的是不同问题,简单来说, Java 内存模型 ,描述的是多线程允许的行为 JVM 内存结构 ,描述的是线程运行所设计的内存空间 JVM 是什么呢?它屏蔽了底层架构的差异性,是 Java 跨平台的依据,也
2019-08-20T01:21:00Z
2019-08-20T01:21:00Z
小创
https://www.cnblogs.com/chuonye/
【摘要】这两个概念估计有不少人会混淆,它们都可以说是 JVM 规范的一部分,但真不是一回事!它们描述和解决的是不同问题,简单来说, Java 内存模型 ,描述的是多线程允许的行为 JVM 内存结构 ,描述的是线程运行所设计的内存空间 JVM 是什么呢?它屏蔽了底层架构的差异性,是 Java 跨平台的依据,也 <a href="https://www.cnblogs.com/chuonye/p/11349042.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chuonye/p/11330570.html
还在为垂直居中苦恼?CSS 布局利器 flexbox 轻轻松松帮你搞定 - 小创
传统的 CSS 布局方式是基于 盒模型 (它是根据盒子与父盒子以及兄弟盒子的关系确定 大小 和 位置 的算法),实现时依赖于 block , inline , table , position , float 这些属性,但对于一些特殊布局不易实现,比如 垂直居中 。 Flexbox Layout 是
2019-08-12T01:39:00Z
2019-08-12T01:39:00Z
小创
https://www.cnblogs.com/chuonye/
【摘要】传统的 CSS 布局方式是基于 盒模型 (它是根据盒子与父盒子以及兄弟盒子的关系确定 大小 和 位置 的算法),实现时依赖于 block , inline , table , position , float 这些属性,但对于一些特殊布局不易实现,比如 垂直居中 。 Flexbox Layout 是 <a href="https://www.cnblogs.com/chuonye/p/11330570.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chuonye/p/11260056.html
这 3 个 Set 集合的实现有点简单,那来做个总结吧 - 小创
Set 接口是 Java Collections Framework 中的一员,它的特点是: 不能包含重复的元素 ,允许且最多只有一个 null 元素。Java 中有三个常用的 Set 实现类: HashSet: 将元素存储在 哈希表 中,性能最佳,但不能保证元素的迭代顺序 LinkedHashSe
2019-07-31T01:35:00Z
2019-07-31T01:35:00Z
小创
https://www.cnblogs.com/chuonye/
【摘要】Set 接口是 Java Collections Framework 中的一员,它的特点是: 不能包含重复的元素 ,允许且最多只有一个 null 元素。Java 中有三个常用的 Set 实现类: HashSet: 将元素存储在 哈希表 中,性能最佳,但不能保证元素的迭代顺序 LinkedHashSe <a href="https://www.cnblogs.com/chuonye/p/11260056.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chuonye/p/11245010.html
TreeMap 还能排序?分析下源码就明白了 - 小创
Java 中的 Map 是一种键值对 映射 ,又被称为 符号表 或 字典 的数据结构,通常使用 哈希表 来实现,但也可使用 二叉查找树 、 红黑树 实现。 HashMap 基于 哈希表 ,但迭代时不是插入顺序 LinkedHashMap 扩展了 HashMap,维护了一个贯穿所有元素的 双向链表 ,
2019-07-26T01:42:00Z
2019-07-26T01:42:00Z
小创
https://www.cnblogs.com/chuonye/
【摘要】Java 中的 Map 是一种键值对 映射 ,又被称为 符号表 或 字典 的数据结构,通常使用 哈希表 来实现,但也可使用 二叉查找树 、 红黑树 实现。 HashMap 基于 哈希表 ,但迭代时不是插入顺序 LinkedHashMap 扩展了 HashMap,维护了一个贯穿所有元素的 双向链表 , <a href="https://www.cnblogs.com/chuonye/p/11245010.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chuonye/p/11236136.html
红黑树这个数据结构,让你又爱又恨?看了这篇,妥妥的征服它 - 小创
红黑树 是一个比较复杂的数据结构,相信很多人也只知其名而不知其意,因为理解它的原理确实需要花费一定的功夫。之所以写这篇文章,也是为了更好的理解 Java 中 TreeMap 的源码。 写之前,搜了下网上的文章,说实话,看完有点懵,大部分一上来就给你它的五大 性质 ,然后就是一顿插入、删除、旋转操作,
2019-07-24T02:04:00Z
2019-07-24T02:04:00Z
小创
https://www.cnblogs.com/chuonye/
【摘要】红黑树 是一个比较复杂的数据结构,相信很多人也只知其名而不知其意,因为理解它的原理确实需要花费一定的功夫。之所以写这篇文章,也是为了更好的理解 Java 中 TreeMap 的源码。 写之前,搜了下网上的文章,说实话,看完有点懵,大部分一上来就给你它的五大 性质 ,然后就是一顿插入、删除、旋转操作, <a href="https://www.cnblogs.com/chuonye/p/11236136.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chuonye/p/10939562.html
模拟实现 Tomcat 的核心模块:NIO,HTTP,容器和集群 - 小创
如果你想看 Tomcat 源码但又无从入手,不妨从这个项目开始,代码量不多,但包含了 Tomcat 的核心处理流程,并且源码中 有相当丰富的注释 。相信通过此项目你能了解: NIO 基本编程、HTTP 协议的本质、基本的单元测试 Tomcat 应用部署、自定义类加载器的实现、Servlet 的管理和
2019-07-04T05:29:00Z
2019-07-04T05:29:00Z
小创
https://www.cnblogs.com/chuonye/
【摘要】如果你想看 Tomcat 源码但又无从入手,不妨从这个项目开始,代码量不多,但包含了 Tomcat 的核心处理流程,并且源码中 有相当丰富的注释 。相信通过此项目你能了解: NIO 基本编程、HTTP 协议的本质、基本的单元测试 Tomcat 应用部署、自定义类加载器的实现、Servlet 的管理和 <a href="https://www.cnblogs.com/chuonye/p/10939562.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chuonye/p/11008932.html
「福利」Java Swing 编写的可视化算法工程,包含树、图和排序 - 小创
之前在整理 "《学习排序算法,结合这个方法太容易理解了》" 这篇文章时,发现了一个用 Java Swing 编写的可视化算法工程,真心不错!包含了常用数据结构和算法的动态演示,先来张图感受下: 可以看到既有基本数据结构栈、队列基于数组和链表的元素插入和删除的动态演示,又有二叉查找树、平衡二叉树、B
2019-06-12T04:52:00Z
2019-06-12T04:52:00Z
小创
https://www.cnblogs.com/chuonye/
【摘要】之前在整理 "《学习排序算法,结合这个方法太容易理解了》" 这篇文章时,发现了一个用 Java Swing 编写的可视化算法工程,真心不错!包含了常用数据结构和算法的动态演示,先来张图感受下: 可以看到既有基本数据结构栈、队列基于数组和链表的元素插入和删除的动态演示,又有二叉查找树、平衡二叉树、B <a href="https://www.cnblogs.com/chuonye/p/11008932.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chuonye/p/10992529.html
LinkedHashMap 的核心就 2 点,搞清楚,也就掌握了 - 小创
HashMap 有一个不足之处就是在 迭代 元素时与 插入顺序不一致 。而大多数人都喜欢按顺序做某些事情,所以,LinkedHashMap 就是针对这一点对 HashMap 进行扩展,主要新增了 「两种迭代方式」 : 按插入顺序 保证迭代元素的顺序与插入顺序一致 按访问顺序 一种特殊的迭代顺序,从最
2019-06-10T01:46:00Z
2019-06-10T01:46:00Z
小创
https://www.cnblogs.com/chuonye/
【摘要】HashMap 有一个不足之处就是在 迭代 元素时与 插入顺序不一致 。而大多数人都喜欢按顺序做某些事情,所以,LinkedHashMap 就是针对这一点对 HashMap 进行扩展,主要新增了 「两种迭代方式」 : 按插入顺序 保证迭代元素的顺序与插入顺序一致 按访问顺序 一种特殊的迭代顺序,从最 <a href="https://www.cnblogs.com/chuonye/p/10992529.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chuonye/p/10963994.html
学习排序算法,结合这个方法太容易理解了 - 小创
排序 是一个经典的问题,它以一定的顺序对一个数组或列表中的元素进行重新排序。而排序算法也是各有千秋,每个都有自身的优点和局限性。虽然这些算法平常根本就不用自己去编写,但作为一个有追求的程序员,还是要了解它们从 不同角度 解决排序问题的思想。 学习算法是枯燥的,那怎么高效的理解它的原理呢?显然,如果以
2019-06-03T01:43:00Z
2019-06-03T01:43:00Z
小创
https://www.cnblogs.com/chuonye/
【摘要】排序 是一个经典的问题,它以一定的顺序对一个数组或列表中的元素进行重新排序。而排序算法也是各有千秋,每个都有自身的优点和局限性。虽然这些算法平常根本就不用自己去编写,但作为一个有追求的程序员,还是要了解它们从 不同角度 解决排序问题的思想。 学习算法是枯燥的,那怎么高效的理解它的原理呢?显然,如果以 <a href="https://www.cnblogs.com/chuonye/p/10963994.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chuonye/p/10934546.html
注意这几点,轻轻松松配置 Nginx + Tomcat 的集群和负载均衡 - 小创
Tomcat 集群是当单台服务器达到性能瓶颈,通过横向扩展的方式提高整体系统性能的有效手段。Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,可以通过简单的配置实现 Tomcat 集群的负载均衡。 本文使用的 Tomcat 是 8.5.35 版本,Nginx 是 1.14.2 版本。
2019-05-28T01:25:00Z
2019-05-28T01:25:00Z
小创
https://www.cnblogs.com/chuonye/
【摘要】Tomcat 集群是当单台服务器达到性能瓶颈,通过横向扩展的方式提高整体系统性能的有效手段。Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,可以通过简单的配置实现 Tomcat 集群的负载均衡。 本文使用的 Tomcat 是 8.5.35 版本,Nginx 是 1.14.2 版本。 <a href="https://www.cnblogs.com/chuonye/p/10934546.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chuonye/p/10907457.html
深入分析 JDK8 中 HashMap 的原理、实现和优化 - 小创
HashMap 可以说是使用频率最高的处理键值映射的数据结构,它不保证插入顺序,允许插入 null 的键和值。本文采用 JDK8 中的源码,深入分析 HashMap 的原理、实现和优化。首发于微信公众号 顿悟源码 . 1. 基本结构 HashMap 基于散列表实现,使用 拉链法 处理碰撞,在 JDK
2019-05-22T10:10:00Z
2019-05-22T10:10:00Z
小创
https://www.cnblogs.com/chuonye/
【摘要】HashMap 可以说是使用频率最高的处理键值映射的数据结构,它不保证插入顺序,允许插入 null 的键和值。本文采用 JDK8 中的源码,深入分析 HashMap 的原理、实现和优化。首发于微信公众号 顿悟源码 . 1. 基本结构 HashMap 基于散列表实现,使用 拉链法 处理碰撞,在 JDK <a href="https://www.cnblogs.com/chuonye/p/10907457.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chuonye/p/10877757.html
Tomcat 容器的安全认证和鉴权 - 小创
大量的 Web 应用都有 安全 相关的需求,正因如此,Servlet 规范建议容器要有满足这些需求的机制和基础设施,所以容器要对以下安全特性予以支持: 身份验证:验证授权用户的用户名和密码 资源访问控制:限制某些资源只允许部分用户访问 数据完整性:能够证明数据在传输过程中未被第三方修改 机密性或数据
2019-05-20T00:45:00Z
2019-05-20T00:45:00Z
小创
https://www.cnblogs.com/chuonye/
【摘要】大量的 Web 应用都有 安全 相关的需求,正因如此,Servlet 规范建议容器要有满足这些需求的机制和基础设施,所以容器要对以下安全特性予以支持: 身份验证:验证授权用户的用户名和密码 资源访问控制:限制某些资源只允许部分用户访问 数据完整性:能够证明数据在传输过程中未被第三方修改 机密性或数据 <a href="https://www.cnblogs.com/chuonye/p/10877757.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chuonye/p/10846998.html
Tomcat 中的 Session 和 Cookie - 小创
HTTP 是一种 无状态 通信协议,每个请求之间相互独立,服务器不能识别 曾经来过 的请求。而对于 Web 应用,它的活动都是 依赖某个状态 的,比如用户登录,此时使用 HTTP 就需要它在一次登录请求后,有为后续请求提供已登录信息的能力。本文首发于公众号 顿悟源码 . 解决办法就是使用 Cooki
2019-05-13T00:36:00Z
2019-05-13T00:36:00Z
小创
https://www.cnblogs.com/chuonye/
【摘要】HTTP 是一种 无状态 通信协议,每个请求之间相互独立,服务器不能识别 曾经来过 的请求。而对于 Web 应用,它的活动都是 依赖某个状态 的,比如用户登录,此时使用 HTTP 就需要它在一次登录请求后,有为后续请求提供已登录信息的能力。本文首发于公众号 顿悟源码 . 解决办法就是使用 Cooki <a href="https://www.cnblogs.com/chuonye/p/10846998.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chuonye/p/10827102.html
Tomcat 类加载器的实现 - 小创
Tomcat 内部定义了多个 ClassLoader,以便应用和容器访问不同存储库中的类和资源,同时达到应用间类隔离的目的。本文首发于公众号: 顿悟源码 。 1. Java 类加载机制 类加载就是把编译生成的 class 文件,加载到 JVM 内存中(永久代/元空间)。 类加载器之所以能实现 类隔离
2019-05-09T00:50:00Z
2019-05-09T00:50:00Z
小创
https://www.cnblogs.com/chuonye/
【摘要】Tomcat 内部定义了多个 ClassLoader,以便应用和容器访问不同存储库中的类和资源,同时达到应用间类隔离的目的。本文首发于公众号: 顿悟源码 。 1. Java 类加载机制 类加载就是把编译生成的 class 文件,加载到 JVM 内存中(永久代/元空间)。 类加载器之所以能实现 类隔离 <a href="https://www.cnblogs.com/chuonye/p/10827102.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chuonye/p/10816345.html
Tomcat 对静态资源的处理 - 小创
Tomcat 中的请求都是由 Servlet 处理,静态资源也不例外。在默认的 web.xml 中,配置了一个 DefaultServlet 用于处理静态资源,它支持缓存和断点续传。 DefaultServlet 的基本处理过程如下: 1. 查找资源是否存在缓存 2. 检查是否满足可选 If 头域指
2019-05-07T00:40:00Z
2019-05-07T00:40:00Z
小创
https://www.cnblogs.com/chuonye/
【摘要】Tomcat 中的请求都是由 Servlet 处理,静态资源也不例外。在默认的 web.xml 中,配置了一个 DefaultServlet 用于处理静态资源,它支持缓存和断点续传。 DefaultServlet 的基本处理过程如下: 1. 查找资源是否存在缓存 2. 检查是否满足可选 If 头域指 <a href="https://www.cnblogs.com/chuonye/p/10816345.html" target="_blank">阅读全文</a>