From dff282aba9aaa7c6601679913b16ce201e4806b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=B5=8E=E8=8A=9D?= Date: Fri, 19 Jul 2024 11:28:45 +0800 Subject: [PATCH] =?UTF-8?q?feat(post):=20=E5=AE=8C=E5=96=84=E6=96=87?= =?UTF-8?q?=E7=AB=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- blog-site/public/index.xml | 138 ++++++++++-------- blog-site/public/posts/index.html | 70 +++++---- blog-site/public/posts/index.xml | 130 +++++++++-------- blog-site/public/tags/docker/index.xml | 4 +- blog-site/public/tags/elasticsearch/index.xml | 4 +- blog-site/public/tags/index.xml | 21 +-- blog-site/public/tags/java/index.xml | 91 +++++++----- .../java\345\237\272\347\241\200/index.xml" | 40 ++--- blog-site/public/tags/mq/index.xml | 6 +- blog-site/public/tags/mysql/index.xml | 4 +- blog-site/public/tags/netty/index.xml | 4 +- blog-site/public/tags/nginx/index.xml | 6 +- blog-site/public/tags/redis/index.xml | 4 +- .../index.xml" | 10 +- .../index.xml" | 4 +- .../tags/\345\205\266\344\273\226/index.xml" | 8 +- .../index.xml" | 18 +-- .../index.xml" | 4 +- .../tags/\345\260\261\344\270\232/index.xml" | 4 +- .../tags/\345\272\224\347\224\250/index.xml" | 18 +-- .../tags/\346\212\200\345\267\247/index.xml" | 4 +- .../tags/\347\216\251\345\205\267/index.xml" | 23 ++- .../tags/\347\272\277\347\250\213/index.xml" | 4 +- .../tags/\350\256\276\350\256\241/index.xml" | 34 ++--- .../tags/\350\257\246\350\247\243/index.xml" | 60 +++++--- .../tags/\351\233\206\345\220\210/index.xml" | 8 +- 26 files changed, 406 insertions(+), 315 deletions(-) diff --git a/blog-site/public/index.xml b/blog-site/public/index.xml index e36cf75f..3a84c575 100644 --- a/blog-site/public/index.xml +++ b/blog-site/public/index.xml @@ -17,9 +17,9 @@ Java泛型 - http://localhost:1313/iblog/posts/java/rookie-generics/ + http://localhost:1313/iblog/posts/javabasics/rookie-generics/ Mon, 15 Jul 2024 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-generics/ + http://localhost:1313/iblog/posts/javabasics/rookie-generics/ 概览 在Java中,泛型是一种强大的编程特性,允许类、接口和方法在定义时声明一种参数化类型,而在使用时可以指定具体的类型参数。泛型的主要目的是提高代码的重用性和类 @@ -30,14 +30,14 @@ 概览 语法糖是指编程语言中的一种语法结构,它们并不提供新的功能,而是为了让代码更易读、更易写而设计的。 语法糖使得某些常见的编程模式或操作变得更加简洁和直观,但在底 - synchronized关键字详解 + synchronized关键字 http://localhost:1313/iblog/posts/javakeyword/java-keyword-synchronized/ Thu, 11 Jul 2024 00:00:00 +0000 http://localhost:1313/iblog/posts/javakeyword/java-keyword-synchronized/ synchronized synchronized是Java提供的关键字译为同步,是Java中用于实现线程同步的一种机制。它可以确保在同一时间只有一个线程能够执行某段代码,从而避免线程 - volatile关键字详解 + volatile关键字 http://localhost:1313/iblog/posts/javakeyword/java-keyword-volatile/ Thu, 11 Jul 2024 00:00:00 +0000 http://localhost:1313/iblog/posts/javakeyword/java-keyword-volatile/ @@ -66,9 +66,9 @@ Java程序常见问题 - http://localhost:1313/iblog/posts/essays/java-always-problems/ + http://localhost:1313/iblog/posts/codeguide/java-always-problems/ Tue, 28 May 2024 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-always-problems/ + http://localhost:1313/iblog/posts/codeguide/java-always-problems/ CPU使用过高 一般在生产环境排查程序故障,都会查看日志什么的,但是有些故障日志是看不出来的,就比如:CPU使用过高。 那应该怎么办呢?我们需要结合linux命令和 @@ -500,9 +500,9 @@ 前端学习路线 - http://localhost:1313/iblog/posts/emp/front-learning-route/ + http://localhost:1313/iblog/posts/intro/front-learning-route/ Thu, 29 Feb 2024 00:00:00 +0000 - http://localhost:1313/iblog/posts/emp/front-learning-route/ + http://localhost:1313/iblog/posts/intro/front-learning-route/ 基础知识 网络知识 HTTP DNS 域名 云服务 网络安全 HTTPS CORS 网络渗透 OWASP HTML CSS JavaScript JQuery Ajax ES6-ES11 综合应用 工程化体系 代码规范 CSS预处理器 Less Sass PostCSS Node Promise Axios 工具 包管理工具 Yarn Npm 打包工具 Webpack Parcel 代码格式化工具 @@ -541,17 +541,17 @@ Nacos安装启动 一键傻瓜试安装即可,官网写的很清楚这里不在赘述。 这里以Window环境安装为例。 启动Nacos将模式改为单机模式。 启动成功 Nacos相关配置 demo-dev.yaml - 整合文件上传功能 - http://localhost:1313/iblog/posts/essays/uploadfile-code/ + Java整合文件上传功能 + http://localhost:1313/iblog/posts/toy/uploadfile-code/ Fri, 11 Aug 2023 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/uploadfile-code/ + http://localhost:1313/iblog/posts/toy/uploadfile-code/ 结构 pom.xml fastdfs-client-java-1.27.jar:点击下载 <dependencies> <!-- fastdfs --> <dependency> <groupId>org.csource</groupId> <artifactId>fastdfs-client-java</artifactId> <version>1.27</version> <systemPath>${project.basedir}/lib/fastdfs-client-java-1.27.jar</systemPath> <scope>system</scope> </dependency> <!--aliyun oss 依赖--> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.11</version> </dependency> - 整合支付功能 - http://localhost:1313/iblog/posts/essays/pay-code/ + Java整合支付功能 + http://localhost:1313/iblog/posts/toy/pay-code/ Thu, 10 Aug 2023 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/pay-code/ + http://localhost:1313/iblog/posts/toy/pay-code/ 结构 完整代码:https://gitee.com/gitee_pikaqiu/easy-archetype pom.xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.11</version> </dependency> <dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alipay-sdk-java</artifactId> <version>4.9.9</version> </dependency> <dependency> @@ -562,17 +562,17 @@ 常见参数校验 在日常的接口开发中,为了防止非法参数对业务造成影响,经常需要对接口的参数做校验。最简单就是用if条件语句来判断,但是随着参数越来越多,业务越来越复杂 - 管道流设计模式结合业务 - http://localhost:1313/iblog/posts/essays/pipeline-business/ + Java管道流设计模式结合业务 + http://localhost:1313/iblog/posts/toy/pipeline-business/ Thu, 15 Jun 2023 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/pipeline-business/ + http://localhost:1313/iblog/posts/toy/pipeline-business/ 流程图 代码实现 完整代码:https://gitee.com/gitee_pikaqiu/easy-pipeline pom <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.plugin</groupId> <artifactId>spring-plugin-core</artifactId> <version>${spring.plugin.core.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>cn.hutool</groupId> 重构一个程序 - http://localhost:1313/iblog/posts/essays/java-project-reconstitution/ + http://localhost:1313/iblog/posts/codeguide/java-project-reconstitution/ Thu, 20 Apr 2023 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-project-reconstitution/ + http://localhost:1313/iblog/posts/codeguide/java-project-reconstitution/ 什么是重构 摘自《重构:改善既有代码的设计》 重构(名词形式): 对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。 重构 @@ -591,9 +591,9 @@ 如何减少及解决bug - http://localhost:1313/iblog/posts/essays/java-bugs/ + http://localhost:1313/iblog/posts/codeguide/java-bugs/ Fri, 10 Mar 2023 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-bugs/ + http://localhost:1313/iblog/posts/codeguide/java-bugs/ bug的起源: 1945年,一只小飞蛾钻进了计算机电路里,导致系统无法工作,一位名叫格蕾丝·赫柏的人把飞蛾拍死在工作日志上,写道:就是这个 bug(虫子),害我们今 @@ -619,16 +619,16 @@ 整洁的代码 - http://localhost:1313/iblog/posts/essays/clean-code/ + http://localhost:1313/iblog/posts/codeguide/clean-code/ Thu, 01 Sep 2022 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/clean-code/ + http://localhost:1313/iblog/posts/codeguide/clean-code/ 为什么要写整洁的代码 为什么要写整洁的代码,回答这个问题之前,也许应该想想写糟糕的代码的原因 是想快点完成吗?还是要赶时间吗?有可能.或许你觉得自己要干好所需要的时 如何做好程序设计功能 - http://localhost:1313/iblog/posts/essays/java-design/ + http://localhost:1313/iblog/posts/codeguide/java-design/ Tue, 02 Aug 2022 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-design/ + http://localhost:1313/iblog/posts/codeguide/java-design/ 功能设计流程图 与外部系统交互、本系统模块之间流程,比较好用的画圈软件draw .io或在线的process on 数据库设计 从DDD角度界限上下文、ER图、评审表结构设 @@ -646,17 +646,17 @@ 写在前面 本文中所涉及的程序均为Java开发,如果您想要直接使用这些工具需要提前配置Java环境。所涉及到的程序均提供完整代码,如果您有兴趣可以尝试运行。 使用ja - 数据结构与算法 - http://localhost:1313/iblog/posts/essays/data-structures-algorithms/ + 数据结构与算法详解 + http://localhost:1313/iblog/posts/detailed/data-structures-algorithms/ Fri, 10 Dec 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/data-structures-algorithms/ + http://localhost:1313/iblog/posts/detailed/data-structures-algorithms/ 数据结构 数据结构是一门研究组织数据方式的学科,有了编程语言也就有了数据结构,学好数据结构可以编写出更有效率的代码。数据结构是算法的基础,想要学好算法,就必须把数 规范编写Java代码总结 - http://localhost:1313/iblog/posts/essays/java-code-rule/ + http://localhost:1313/iblog/posts/codeguide/java-code-rule/ Thu, 25 Nov 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-code-rule/ + http://localhost:1313/iblog/posts/codeguide/java-code-rule/ 编码规范 我们为什么要遵守规范来编码? 是因为通常在编码过程中我们不只自己进行开发,通常需要一个团队来进行,开发好之后还需要维护,所以编码规范就显的尤为重要。 代码维 @@ -667,7 +667,7 @@ 网络协议 以下内容摘自百度百科: https://baike.baidu.com/item/网络协议/328636 https://baike.baidu.com/i - MQ详解 + Kafka详解 http://localhost:1313/iblog/posts/detailed/java-mq/ Tue, 19 Oct 2021 00:00:00 +0000 http://localhost:1313/iblog/posts/detailed/java-mq/ @@ -675,23 +675,23 @@ Java集合 - http://localhost:1313/iblog/posts/java/rookie-java-container/ + http://localhost:1313/iblog/posts/javabasics/rookie-java-container/ Mon, 04 Oct 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-java-container/ + http://localhost:1313/iblog/posts/javabasics/rookie-java-container/ 概述 Java中的集合主要包括Collection和Map两种,Collection存储着对象的集合,而Map存储着键值对的映射表。 数组 如果你看过ArrayLis Java反射 - http://localhost:1313/iblog/posts/java/rookie-reflect/ + http://localhost:1313/iblog/posts/javabasics/rookie-reflect/ Sat, 02 Oct 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-reflect/ + http://localhost:1313/iblog/posts/javabasics/rookie-reflect/ 概述 在Java程序运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意方法和属性。这种动态获取信息以及动态调用 Java程序常见故障排查命令及工具 - http://localhost:1313/iblog/posts/essays/eye-beam/ + http://localhost:1313/iblog/posts/codeguide/eye-beam/ Wed, 08 Sep 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/eye-beam/ + http://localhost:1313/iblog/posts/codeguide/eye-beam/ 故障排查命令 收录Linux常用命令,以下命令来自https://www.bilibili.com/video/BV14A411378a 关机/重启/注销 常用命令 作 @@ -703,16 +703,16 @@ JavaObject类方法 - http://localhost:1313/iblog/posts/java/rookie-objectclass-methods/ + http://localhost:1313/iblog/posts/javabasics/rookie-objectclass-methods/ Sat, 10 Jul 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-objectclass-methods/ + http://localhost:1313/iblog/posts/javabasics/rookie-objectclass-methods/ 概览 Object类位于java.lang包中,编译时会自动导入。当我们创建一个类时,如果没有明确继承一个父类,那么它就会自动继承Object,成为Object的 微服务治理详解 - http://localhost:1313/iblog/posts/essays/java-small-service/ + http://localhost:1313/iblog/posts/detailed/java-small-service/ Mon, 21 Jun 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-small-service/ + http://localhost:1313/iblog/posts/detailed/java-small-service/ 什么是微服务架构 In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API。 These services are built around business capabilities and independently deployable @@ -738,11 +738,18 @@ Java多线程 - http://localhost:1313/iblog/posts/java/rookie-multi-thread/ + http://localhost:1313/iblog/posts/javabasics/rookie-multi-thread/ Wed, 05 May 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-multi-thread/ + http://localhost:1313/iblog/posts/javabasics/rookie-multi-thread/ 线程与进程 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。一个正在运行的程序的实例就是一个进程。 线程是操作系统能够进行运算调度的最小单位。它被包 + + HashMap详解 + http://localhost:1313/iblog/posts/detailed/java-hashmap/ + Mon, 03 May 2021 00:00:00 +0000 + http://localhost:1313/iblog/posts/detailed/java-hashmap/ + HashMap HashMap是一个散列表,它存储的内容是键值对(key-value)映射。 HashMap实现了Map接口,根据键的HashCode值存储数据,具有很快的访问 + JVM中的一些概念 http://localhost:1313/iblog/posts/jvm/jvm-about/ @@ -794,9 +801,9 @@ JavaIO - http://localhost:1313/iblog/posts/java/rookie-io/ + http://localhost:1313/iblog/posts/javabasics/rookie-io/ Fri, 09 Apr 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-io/ + http://localhost:1313/iblog/posts/javabasics/rookie-io/ 概览 IO,即in和out的缩写,也就是输入和输出,指应用程序和外部设备之间的数据传递,常见的外部设备包括文件、管道、网络连接。 从计算机结构的角度来看IO,IO就 @@ -856,10 +863,10 @@ 为什么要学习JVM 大部分Java开发人员,除了会在项目中使用到与Java平台相关的各种高精尖技术,对于Java技术的核心Java虚拟机了解甚少。 一些有一定工作经 - Nginx介绍 - http://localhost:1313/iblog/posts/essays/nginx-start/ + Nginx入门 + http://localhost:1313/iblog/posts/intro/nginx-start/ Thu, 04 Mar 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/nginx-start/ + http://localhost:1313/iblog/posts/intro/nginx-start/ Nginx介绍 Nginx (“engine x”)是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表 @@ -871,9 +878,9 @@ Java面向对象 - http://localhost:1313/iblog/posts/java/rookie-object-oriented/ + http://localhost:1313/iblog/posts/javabasics/rookie-object-oriented/ Mon, 15 Feb 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-object-oriented/ + http://localhost:1313/iblog/posts/javabasics/rookie-object-oriented/ 概览 面向对象简称OO(object-oriented)是相对面向过程(procedure-oriented)来说的,是一种编程思想,Java就是一门面向对象的语 @@ -885,23 +892,23 @@ Java运算 - http://localhost:1313/iblog/posts/java/rookie-operation/ + http://localhost:1313/iblog/posts/javabasics/rookie-operation/ Sat, 30 Jan 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-operation/ + http://localhost:1313/iblog/posts/javabasics/rookie-operation/ 运算符与表达式 运算符 运算符指明对操作数的运算方式。组成表达式的Java操作符有很多种。 运算符按照其要求的操作数数目来分,可以有单目运算符、双目运算符和三目运算符 Java数据类型 - http://localhost:1313/iblog/posts/java/rookie-datatype/ + http://localhost:1313/iblog/posts/javabasics/rookie-datatype/ Wed, 20 Jan 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-datatype/ + http://localhost:1313/iblog/posts/javabasics/rookie-datatype/ 基本类型 Java语言提供了八种基本类型。六种数值类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型,俗称4类8种。 这里只介绍称4类8种,实际上,Jav Java异常 - http://localhost:1313/iblog/posts/java/rookie-exception/ + http://localhost:1313/iblog/posts/javabasics/rookie-exception/ Wed, 13 Jan 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-exception/ + http://localhost:1313/iblog/posts/javabasics/rookie-exception/ 异常类型 Throwable可以用来表示任何可以作为异常抛出的类,分为两种:Error 和 Exception。 其中Error用来表示Java程序无法处理的错误,这类 @@ -934,9 +941,9 @@ Docker入门 - http://localhost:1313/iblog/posts/essays/docker-start/ + http://localhost:1313/iblog/posts/intro/docker-start/ Tue, 07 Apr 2020 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/docker-start/ + http://localhost:1313/iblog/posts/intro/docker-start/ 概述 Docker属于Linux容器的一种封装,提供简单易用的容器使用接口。它是目前流行的Linux容器解决方案。Docker将应用程序与该程序的依赖,打包在一个 @@ -953,6 +960,13 @@ http://localhost:1313/iblog/posts/essays/java-thread-collection/ Java中常用线程安全的集合 在多线程环境中,数据的一致性和线程的安全性是至关重要的。传统的集合类,如ArrayList、HashMap和HashSet,在并发访 + + CAS详解 + http://localhost:1313/iblog/posts/detailed/cas-detail/ + Sat, 04 Apr 2020 00:00:00 +0000 + http://localhost:1313/iblog/posts/detailed/cas-detail/ + CAS CAS全称为Compare and Swap被译为比较并交换,是一种无锁算法。用于实现并发编程中的原子操作。CAS操作检查某个变量是否与预期的值相同,如果相同则将其更 + SpringBoot整合Redis http://localhost:1313/iblog/posts/spring/springboot-redis/ @@ -1060,16 +1074,16 @@ - http://localhost:1313/iblog/posts/javakeyword/this%E5%85%B3%E9%94%AE%E5%AD%97%E8%AF%A6%E8%A7%A3/ + http://localhost:1313/iblog/posts/javakeyword/this%E5%85%B3%E9%94%AE%E5%AD%97/ Mon, 01 Jan 0001 00:00:00 +0000 - http://localhost:1313/iblog/posts/javakeyword/this%E5%85%B3%E9%94%AE%E5%AD%97%E8%AF%A6%E8%A7%A3/ + http://localhost:1313/iblog/posts/javakeyword/this%E5%85%B3%E9%94%AE%E5%AD%97/ - http://localhost:1313/iblog/posts/javakeyword/transient%E5%85%B3%E9%94%AE%E5%AD%97%E8%AF%A6%E8%A7%A3/ + http://localhost:1313/iblog/posts/javakeyword/transient%E5%85%B3%E9%94%AE%E5%AD%97/ Mon, 01 Jan 0001 00:00:00 +0000 - http://localhost:1313/iblog/posts/javakeyword/transient%E5%85%B3%E9%94%AE%E5%AD%97%E8%AF%A6%E8%A7%A3/ + http://localhost:1313/iblog/posts/javakeyword/transient%E5%85%B3%E9%94%AE%E5%AD%97/ diff --git a/blog-site/public/posts/index.html b/blog-site/public/posts/index.html index 1e20ba1d..c3677c75 100644 --- a/blog-site/public/posts/index.html +++ b/blog-site/public/posts/index.html @@ -169,7 +169,7 @@

@@ -183,14 +183,14 @@

@@ -218,7 +218,7 @@

@@ -652,7 +652,7 @@

@@ -699,14 +699,14 @@

@@ -720,14 +720,14 @@

@@ -748,7 +748,7 @@

@@ -781,14 +781,14 @@

@@ -814,14 +814,14 @@

@@ -835,28 +835,28 @@

- MQ详解 + Kafka详解
10-19
@@ -870,14 +870,14 @@

@@ -905,11 +905,18 @@

+
+
+ HashMap详解 +
05-03
+
+
+
JVM中的一些概念 @@ -968,7 +975,7 @@

- JavaIO + JavaIO
04-09
@@ -1024,14 +1031,14 @@

@@ -1045,21 +1052,21 @@

@@ -1106,7 +1113,7 @@

@@ -1118,6 +1125,13 @@

+
+
+ CAS详解 +
04-04
+
+
+
SpringBoot整合Redis diff --git a/blog-site/public/posts/index.xml b/blog-site/public/posts/index.xml index edb8a7e3..3a19cf17 100644 --- a/blog-site/public/posts/index.xml +++ b/blog-site/public/posts/index.xml @@ -17,9 +17,9 @@ Java泛型 - http://localhost:1313/iblog/posts/java/rookie-generics/ + http://localhost:1313/iblog/posts/javabasics/rookie-generics/ Mon, 15 Jul 2024 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-generics/ + http://localhost:1313/iblog/posts/javabasics/rookie-generics/ 概览 在Java中,泛型是一种强大的编程特性,允许类、接口和方法在定义时声明一种参数化类型,而在使用时可以指定具体的类型参数。泛型的主要目的是提高代码的重用性和类 @@ -30,14 +30,14 @@ 概览 语法糖是指编程语言中的一种语法结构,它们并不提供新的功能,而是为了让代码更易读、更易写而设计的。 语法糖使得某些常见的编程模式或操作变得更加简洁和直观,但在底 - synchronized关键字详解 + synchronized关键字 http://localhost:1313/iblog/posts/javakeyword/java-keyword-synchronized/ Thu, 11 Jul 2024 00:00:00 +0000 http://localhost:1313/iblog/posts/javakeyword/java-keyword-synchronized/ synchronized synchronized是Java提供的关键字译为同步,是Java中用于实现线程同步的一种机制。它可以确保在同一时间只有一个线程能够执行某段代码,从而避免线程 - volatile关键字详解 + volatile关键字 http://localhost:1313/iblog/posts/javakeyword/java-keyword-volatile/ Thu, 11 Jul 2024 00:00:00 +0000 http://localhost:1313/iblog/posts/javakeyword/java-keyword-volatile/ @@ -66,9 +66,9 @@ Java程序常见问题 - http://localhost:1313/iblog/posts/essays/java-always-problems/ + http://localhost:1313/iblog/posts/codeguide/java-always-problems/ Tue, 28 May 2024 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-always-problems/ + http://localhost:1313/iblog/posts/codeguide/java-always-problems/ CPU使用过高 一般在生产环境排查程序故障,都会查看日志什么的,但是有些故障日志是看不出来的,就比如:CPU使用过高。 那应该怎么办呢?我们需要结合linux命令和 @@ -500,9 +500,9 @@ 前端学习路线 - http://localhost:1313/iblog/posts/emp/front-learning-route/ + http://localhost:1313/iblog/posts/intro/front-learning-route/ Thu, 29 Feb 2024 00:00:00 +0000 - http://localhost:1313/iblog/posts/emp/front-learning-route/ + http://localhost:1313/iblog/posts/intro/front-learning-route/ 基础知识 网络知识 HTTP DNS 域名 云服务 网络安全 HTTPS CORS 网络渗透 OWASP HTML CSS JavaScript JQuery Ajax ES6-ES11 综合应用 工程化体系 代码规范 CSS预处理器 Less Sass PostCSS Node Promise Axios 工具 包管理工具 Yarn Npm 打包工具 Webpack Parcel 代码格式化工具 @@ -541,17 +541,17 @@ Nacos安装启动 一键傻瓜试安装即可,官网写的很清楚这里不在赘述。 这里以Window环境安装为例。 启动Nacos将模式改为单机模式。 启动成功 Nacos相关配置 demo-dev.yaml - 整合文件上传功能 - http://localhost:1313/iblog/posts/essays/uploadfile-code/ + Java整合文件上传功能 + http://localhost:1313/iblog/posts/toy/uploadfile-code/ Fri, 11 Aug 2023 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/uploadfile-code/ + http://localhost:1313/iblog/posts/toy/uploadfile-code/ 结构 pom.xml fastdfs-client-java-1.27.jar:点击下载 <dependencies> <!-- fastdfs --> <dependency> <groupId>org.csource</groupId> <artifactId>fastdfs-client-java</artifactId> <version>1.27</version> <systemPath>${project.basedir}/lib/fastdfs-client-java-1.27.jar</systemPath> <scope>system</scope> </dependency> <!--aliyun oss 依赖--> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.11</version> </dependency> - 整合支付功能 - http://localhost:1313/iblog/posts/essays/pay-code/ + Java整合支付功能 + http://localhost:1313/iblog/posts/toy/pay-code/ Thu, 10 Aug 2023 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/pay-code/ + http://localhost:1313/iblog/posts/toy/pay-code/ 结构 完整代码:https://gitee.com/gitee_pikaqiu/easy-archetype pom.xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.11</version> </dependency> <dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alipay-sdk-java</artifactId> <version>4.9.9</version> </dependency> <dependency> @@ -562,17 +562,17 @@ 常见参数校验 在日常的接口开发中,为了防止非法参数对业务造成影响,经常需要对接口的参数做校验。最简单就是用if条件语句来判断,但是随着参数越来越多,业务越来越复杂 - 管道流设计模式结合业务 - http://localhost:1313/iblog/posts/essays/pipeline-business/ + Java管道流设计模式结合业务 + http://localhost:1313/iblog/posts/toy/pipeline-business/ Thu, 15 Jun 2023 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/pipeline-business/ + http://localhost:1313/iblog/posts/toy/pipeline-business/ 流程图 代码实现 完整代码:https://gitee.com/gitee_pikaqiu/easy-pipeline pom <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.plugin</groupId> <artifactId>spring-plugin-core</artifactId> <version>${spring.plugin.core.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>cn.hutool</groupId> 重构一个程序 - http://localhost:1313/iblog/posts/essays/java-project-reconstitution/ + http://localhost:1313/iblog/posts/codeguide/java-project-reconstitution/ Thu, 20 Apr 2023 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-project-reconstitution/ + http://localhost:1313/iblog/posts/codeguide/java-project-reconstitution/ 什么是重构 摘自《重构:改善既有代码的设计》 重构(名词形式): 对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。 重构 @@ -591,9 +591,9 @@ 如何减少及解决bug - http://localhost:1313/iblog/posts/essays/java-bugs/ + http://localhost:1313/iblog/posts/codeguide/java-bugs/ Fri, 10 Mar 2023 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-bugs/ + http://localhost:1313/iblog/posts/codeguide/java-bugs/ bug的起源: 1945年,一只小飞蛾钻进了计算机电路里,导致系统无法工作,一位名叫格蕾丝·赫柏的人把飞蛾拍死在工作日志上,写道:就是这个 bug(虫子),害我们今 @@ -619,16 +619,16 @@ 整洁的代码 - http://localhost:1313/iblog/posts/essays/clean-code/ + http://localhost:1313/iblog/posts/codeguide/clean-code/ Thu, 01 Sep 2022 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/clean-code/ + http://localhost:1313/iblog/posts/codeguide/clean-code/ 为什么要写整洁的代码 为什么要写整洁的代码,回答这个问题之前,也许应该想想写糟糕的代码的原因 是想快点完成吗?还是要赶时间吗?有可能.或许你觉得自己要干好所需要的时 如何做好程序设计功能 - http://localhost:1313/iblog/posts/essays/java-design/ + http://localhost:1313/iblog/posts/codeguide/java-design/ Tue, 02 Aug 2022 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-design/ + http://localhost:1313/iblog/posts/codeguide/java-design/ 功能设计流程图 与外部系统交互、本系统模块之间流程,比较好用的画圈软件draw .io或在线的process on 数据库设计 从DDD角度界限上下文、ER图、评审表结构设 @@ -646,17 +646,17 @@ 写在前面 本文中所涉及的程序均为Java开发,如果您想要直接使用这些工具需要提前配置Java环境。所涉及到的程序均提供完整代码,如果您有兴趣可以尝试运行。 使用ja - 数据结构与算法 - http://localhost:1313/iblog/posts/essays/data-structures-algorithms/ + 数据结构与算法详解 + http://localhost:1313/iblog/posts/detailed/data-structures-algorithms/ Fri, 10 Dec 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/data-structures-algorithms/ + http://localhost:1313/iblog/posts/detailed/data-structures-algorithms/ 数据结构 数据结构是一门研究组织数据方式的学科,有了编程语言也就有了数据结构,学好数据结构可以编写出更有效率的代码。数据结构是算法的基础,想要学好算法,就必须把数 规范编写Java代码总结 - http://localhost:1313/iblog/posts/essays/java-code-rule/ + http://localhost:1313/iblog/posts/codeguide/java-code-rule/ Thu, 25 Nov 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-code-rule/ + http://localhost:1313/iblog/posts/codeguide/java-code-rule/ 编码规范 我们为什么要遵守规范来编码? 是因为通常在编码过程中我们不只自己进行开发,通常需要一个团队来进行,开发好之后还需要维护,所以编码规范就显的尤为重要。 代码维 @@ -667,7 +667,7 @@ 网络协议 以下内容摘自百度百科: https://baike.baidu.com/item/网络协议/328636 https://baike.baidu.com/i - MQ详解 + Kafka详解 http://localhost:1313/iblog/posts/detailed/java-mq/ Tue, 19 Oct 2021 00:00:00 +0000 http://localhost:1313/iblog/posts/detailed/java-mq/ @@ -675,23 +675,23 @@ Java集合 - http://localhost:1313/iblog/posts/java/rookie-java-container/ + http://localhost:1313/iblog/posts/javabasics/rookie-java-container/ Mon, 04 Oct 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-java-container/ + http://localhost:1313/iblog/posts/javabasics/rookie-java-container/ 概述 Java中的集合主要包括Collection和Map两种,Collection存储着对象的集合,而Map存储着键值对的映射表。 数组 如果你看过ArrayLis Java反射 - http://localhost:1313/iblog/posts/java/rookie-reflect/ + http://localhost:1313/iblog/posts/javabasics/rookie-reflect/ Sat, 02 Oct 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-reflect/ + http://localhost:1313/iblog/posts/javabasics/rookie-reflect/ 概述 在Java程序运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意方法和属性。这种动态获取信息以及动态调用 Java程序常见故障排查命令及工具 - http://localhost:1313/iblog/posts/essays/eye-beam/ + http://localhost:1313/iblog/posts/codeguide/eye-beam/ Wed, 08 Sep 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/eye-beam/ + http://localhost:1313/iblog/posts/codeguide/eye-beam/ 故障排查命令 收录Linux常用命令,以下命令来自https://www.bilibili.com/video/BV14A411378a 关机/重启/注销 常用命令 作 @@ -703,16 +703,16 @@ JavaObject类方法 - http://localhost:1313/iblog/posts/java/rookie-objectclass-methods/ + http://localhost:1313/iblog/posts/javabasics/rookie-objectclass-methods/ Sat, 10 Jul 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-objectclass-methods/ + http://localhost:1313/iblog/posts/javabasics/rookie-objectclass-methods/ 概览 Object类位于java.lang包中,编译时会自动导入。当我们创建一个类时,如果没有明确继承一个父类,那么它就会自动继承Object,成为Object的 微服务治理详解 - http://localhost:1313/iblog/posts/essays/java-small-service/ + http://localhost:1313/iblog/posts/detailed/java-small-service/ Mon, 21 Jun 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-small-service/ + http://localhost:1313/iblog/posts/detailed/java-small-service/ 什么是微服务架构 In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API。 These services are built around business capabilities and independently deployable @@ -738,11 +738,18 @@ Java多线程 - http://localhost:1313/iblog/posts/java/rookie-multi-thread/ + http://localhost:1313/iblog/posts/javabasics/rookie-multi-thread/ Wed, 05 May 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-multi-thread/ + http://localhost:1313/iblog/posts/javabasics/rookie-multi-thread/ 线程与进程 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。一个正在运行的程序的实例就是一个进程。 线程是操作系统能够进行运算调度的最小单位。它被包 + + HashMap详解 + http://localhost:1313/iblog/posts/detailed/java-hashmap/ + Mon, 03 May 2021 00:00:00 +0000 + http://localhost:1313/iblog/posts/detailed/java-hashmap/ + HashMap HashMap是一个散列表,它存储的内容是键值对(key-value)映射。 HashMap实现了Map接口,根据键的HashCode值存储数据,具有很快的访问 + JVM中的一些概念 http://localhost:1313/iblog/posts/jvm/jvm-about/ @@ -794,9 +801,9 @@ JavaIO - http://localhost:1313/iblog/posts/java/rookie-io/ + http://localhost:1313/iblog/posts/javabasics/rookie-io/ Fri, 09 Apr 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-io/ + http://localhost:1313/iblog/posts/javabasics/rookie-io/ 概览 IO,即in和out的缩写,也就是输入和输出,指应用程序和外部设备之间的数据传递,常见的外部设备包括文件、管道、网络连接。 从计算机结构的角度来看IO,IO就 @@ -856,17 +863,17 @@ 为什么要学习JVM 大部分Java开发人员,除了会在项目中使用到与Java平台相关的各种高精尖技术,对于Java技术的核心Java虚拟机了解甚少。 一些有一定工作经 - Nginx介绍 - http://localhost:1313/iblog/posts/essays/nginx-start/ + Nginx入门 + http://localhost:1313/iblog/posts/intro/nginx-start/ Thu, 04 Mar 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/nginx-start/ + http://localhost:1313/iblog/posts/intro/nginx-start/ Nginx介绍 Nginx (“engine x”)是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表 Java面向对象 - http://localhost:1313/iblog/posts/java/rookie-object-oriented/ + http://localhost:1313/iblog/posts/javabasics/rookie-object-oriented/ Mon, 15 Feb 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-object-oriented/ + http://localhost:1313/iblog/posts/javabasics/rookie-object-oriented/ 概览 面向对象简称OO(object-oriented)是相对面向过程(procedure-oriented)来说的,是一种编程思想,Java就是一门面向对象的语 @@ -878,23 +885,23 @@ Java运算 - http://localhost:1313/iblog/posts/java/rookie-operation/ + http://localhost:1313/iblog/posts/javabasics/rookie-operation/ Sat, 30 Jan 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-operation/ + http://localhost:1313/iblog/posts/javabasics/rookie-operation/ 运算符与表达式 运算符 运算符指明对操作数的运算方式。组成表达式的Java操作符有很多种。 运算符按照其要求的操作数数目来分,可以有单目运算符、双目运算符和三目运算符 Java数据类型 - http://localhost:1313/iblog/posts/java/rookie-datatype/ + http://localhost:1313/iblog/posts/javabasics/rookie-datatype/ Wed, 20 Jan 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-datatype/ + http://localhost:1313/iblog/posts/javabasics/rookie-datatype/ 基本类型 Java语言提供了八种基本类型。六种数值类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型,俗称4类8种。 这里只介绍称4类8种,实际上,Jav Java异常 - http://localhost:1313/iblog/posts/java/rookie-exception/ + http://localhost:1313/iblog/posts/javabasics/rookie-exception/ Wed, 13 Jan 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-exception/ + http://localhost:1313/iblog/posts/javabasics/rookie-exception/ 异常类型 Throwable可以用来表示任何可以作为异常抛出的类,分为两种:Error 和 Exception。 其中Error用来表示Java程序无法处理的错误,这类 @@ -927,9 +934,9 @@ Docker入门 - http://localhost:1313/iblog/posts/essays/docker-start/ + http://localhost:1313/iblog/posts/intro/docker-start/ Tue, 07 Apr 2020 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/docker-start/ + http://localhost:1313/iblog/posts/intro/docker-start/ 概述 Docker属于Linux容器的一种封装,提供简单易用的容器使用接口。它是目前流行的Linux容器解决方案。Docker将应用程序与该程序的依赖,打包在一个 @@ -946,6 +953,13 @@ http://localhost:1313/iblog/posts/essays/java-thread-collection/ Java中常用线程安全的集合 在多线程环境中,数据的一致性和线程的安全性是至关重要的。传统的集合类,如ArrayList、HashMap和HashSet,在并发访 + + CAS详解 + http://localhost:1313/iblog/posts/detailed/cas-detail/ + Sat, 04 Apr 2020 00:00:00 +0000 + http://localhost:1313/iblog/posts/detailed/cas-detail/ + CAS CAS全称为Compare and Swap被译为比较并交换,是一种无锁算法。用于实现并发编程中的原子操作。CAS操作检查某个变量是否与预期的值相同,如果相同则将其更 + SpringBoot整合Redis http://localhost:1313/iblog/posts/spring/springboot-redis/ diff --git a/blog-site/public/tags/docker/index.xml b/blog-site/public/tags/docker/index.xml index dca2860c..2e210e7a 100644 --- a/blog-site/public/tags/docker/index.xml +++ b/blog-site/public/tags/docker/index.xml @@ -17,9 +17,9 @@ Docker入门 - http://localhost:1313/iblog/posts/essays/docker-start/ + http://localhost:1313/iblog/posts/intro/docker-start/ Tue, 07 Apr 2020 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/docker-start/ + http://localhost:1313/iblog/posts/intro/docker-start/ 概述 Docker属于Linux容器的一种封装,提供简单易用的容器使用接口。它是目前流行的Linux容器解决方案。Docker将应用程序与该程序的依赖,打包在一个 diff --git a/blog-site/public/tags/elasticsearch/index.xml b/blog-site/public/tags/elasticsearch/index.xml index 34d5d0b9..18d59706 100644 --- a/blog-site/public/tags/elasticsearch/index.xml +++ b/blog-site/public/tags/elasticsearch/index.xml @@ -10,9 +10,9 @@ Elasticsearch详解 - http://localhost:1313/iblog/posts/essays/elasticsearch/ + http://localhost:1313/iblog/posts/detailed/elasticsearch/ Tue, 14 Feb 2023 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/elasticsearch/ + http://localhost:1313/iblog/posts/detailed/elasticsearch/ 概览 Elasticsearch,简称为 ES, ES是一个开源的高扩展的分布式全文搜索引擎, 是整个 ElasticStack 技术栈的核心。它可以近乎实时的存储、检索数据;本身扩展性很好,可 diff --git a/blog-site/public/tags/index.xml b/blog-site/public/tags/index.xml index b170f67a..4995b23f 100644 --- a/blog-site/public/tags/index.xml +++ b/blog-site/public/tags/index.xml @@ -218,6 +218,13 @@ http://localhost:1313/iblog/tags/springboot/ + + 玩具 + http://localhost:1313/iblog/tags/%E7%8E%A9%E5%85%B7/ + Fri, 11 Aug 2023 00:00:00 +0000 + http://localhost:1313/iblog/tags/%E7%8E%A9%E5%85%B7/ + + 技巧 http://localhost:1313/iblog/tags/%E6%8A%80%E5%B7%A7/ @@ -232,20 +239,6 @@ http://localhost:1313/iblog/tags/elasticsearch/ - - 玩具 - http://localhost:1313/iblog/tags/%E7%8E%A9%E5%85%B7/ - Sat, 09 Apr 2022 00:00:00 +0000 - http://localhost:1313/iblog/tags/%E7%8E%A9%E5%85%B7/ - - - - 算法 - http://localhost:1313/iblog/tags/%E7%AE%97%E6%B3%95/ - Fri, 10 Dec 2021 00:00:00 +0000 - http://localhost:1313/iblog/tags/%E7%AE%97%E6%B3%95/ - - 网络 http://localhost:1313/iblog/tags/%E7%BD%91%E7%BB%9C/ diff --git a/blog-site/public/tags/java/index.xml b/blog-site/public/tags/java/index.xml index 70a2c2c4..54a09c4a 100644 --- a/blog-site/public/tags/java/index.xml +++ b/blog-site/public/tags/java/index.xml @@ -17,9 +17,9 @@ Java泛型 - http://localhost:1313/iblog/posts/java/rookie-generics/ + http://localhost:1313/iblog/posts/javabasics/rookie-generics/ Mon, 15 Jul 2024 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-generics/ + http://localhost:1313/iblog/posts/javabasics/rookie-generics/ 概览 在Java中,泛型是一种强大的编程特性,允许类、接口和方法在定义时声明一种参数化类型,而在使用时可以指定具体的类型参数。泛型的主要目的是提高代码的重用性和类 @@ -30,14 +30,14 @@ 概览 语法糖是指编程语言中的一种语法结构,它们并不提供新的功能,而是为了让代码更易读、更易写而设计的。 语法糖使得某些常见的编程模式或操作变得更加简洁和直观,但在底 - synchronized关键字详解 + synchronized关键字 http://localhost:1313/iblog/posts/javakeyword/java-keyword-synchronized/ Thu, 11 Jul 2024 00:00:00 +0000 http://localhost:1313/iblog/posts/javakeyword/java-keyword-synchronized/ synchronized synchronized是Java提供的关键字译为同步,是Java中用于实现线程同步的一种机制。它可以确保在同一时间只有一个线程能够执行某段代码,从而避免线程 - volatile关键字详解 + volatile关键字 http://localhost:1313/iblog/posts/javakeyword/java-keyword-volatile/ Thu, 11 Jul 2024 00:00:00 +0000 http://localhost:1313/iblog/posts/javakeyword/java-keyword-volatile/ @@ -45,9 +45,9 @@ ArrayList详解 - http://localhost:1313/iblog/posts/essays/java-arraylist/ + http://localhost:1313/iblog/posts/detailed/java-arraylist/ Wed, 26 Jun 2024 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-arraylist/ + http://localhost:1313/iblog/posts/detailed/java-arraylist/ ArrayList 在List接口实现类中,最常用的就是ArrayList,ArrayList类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,可以添加或删 @@ -59,9 +59,9 @@ Java程序常见问题 - http://localhost:1313/iblog/posts/essays/java-always-problems/ + http://localhost:1313/iblog/posts/codeguide/java-always-problems/ Tue, 28 May 2024 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-always-problems/ + http://localhost:1313/iblog/posts/codeguide/java-always-problems/ CPU使用过高 一般在生产环境排查程序故障,都会查看日志什么的,但是有些故障日志是看不出来的,就比如:CPU使用过高。 那应该怎么办呢?我们需要结合linux命令和 @@ -85,6 +85,27 @@ http://localhost:1313/iblog/posts/keepupd/valuable-resource/ 读书推荐 Java电子书 《深入理解计算机系统》 《HeadFirst设计模式》 《Java数据结构和算法》 《大话数据结构》 《Java核心技术卷I基础知识》 《Java编 + + Java整合文件上传功能 + http://localhost:1313/iblog/posts/toy/uploadfile-code/ + Fri, 11 Aug 2023 00:00:00 +0000 + http://localhost:1313/iblog/posts/toy/uploadfile-code/ + 结构 pom.xml fastdfs-client-java-1.27.jar:点击下载 <dependencies> <!-- fastdfs --> <dependency> <groupId>org.csource</groupId> <artifactId>fastdfs-client-java</artifactId> <version>1.27</version> <systemPath>${project.basedir}/lib/fastdfs-client-java-1.27.jar</systemPath> <scope>system</scope> </dependency> <!--aliyun oss 依赖--> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.11</version> </dependency> + + + Java整合支付功能 + http://localhost:1313/iblog/posts/toy/pay-code/ + Thu, 10 Aug 2023 00:00:00 +0000 + http://localhost:1313/iblog/posts/toy/pay-code/ + 结构 完整代码:https://gitee.com/gitee_pikaqiu/easy-archetype pom.xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.11</version> </dependency> <dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alipay-sdk-java</artifactId> <version>4.9.9</version> </dependency> <dependency> + + + Java管道流设计模式结合业务 + http://localhost:1313/iblog/posts/toy/pipeline-business/ + Thu, 15 Jun 2023 00:00:00 +0000 + http://localhost:1313/iblog/posts/toy/pipeline-business/ + 流程图 代码实现 完整代码:https://gitee.com/gitee_pikaqiu/easy-pipeline pom <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.plugin</groupId> <artifactId>spring-plugin-core</artifactId> <version>${spring.plugin.core.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>cn.hutool</groupId> + SpringMVC与SpringWebFlux http://localhost:1313/iblog/posts/spring/java-spring-mvc-webflux/ @@ -101,9 +122,9 @@ 如何做好程序设计功能 - http://localhost:1313/iblog/posts/essays/java-design/ + http://localhost:1313/iblog/posts/codeguide/java-design/ Tue, 02 Aug 2022 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-design/ + http://localhost:1313/iblog/posts/codeguide/java-design/ 功能设计流程图 与外部系统交互、本系统模块之间流程,比较好用的画圈软件draw .io或在线的process on 数据库设计 从DDD角度界限上下文、ER图、评审表结构设 @@ -114,10 +135,10 @@ 写在前面 本文中所涉及的程序均为Java开发,如果您想要直接使用这些工具需要提前配置Java环境。所涉及到的程序均提供完整代码,如果您有兴趣可以尝试运行。 使用ja - 数据结构与算法 - http://localhost:1313/iblog/posts/essays/data-structures-algorithms/ + 数据结构与算法详解 + http://localhost:1313/iblog/posts/detailed/data-structures-algorithms/ Fri, 10 Dec 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/data-structures-algorithms/ + http://localhost:1313/iblog/posts/detailed/data-structures-algorithms/ 数据结构 数据结构是一门研究组织数据方式的学科,有了编程语言也就有了数据结构,学好数据结构可以编写出更有效率的代码。数据结构是算法的基础,想要学好算法,就必须把数 @@ -129,30 +150,30 @@ Java集合 - http://localhost:1313/iblog/posts/java/rookie-java-container/ + http://localhost:1313/iblog/posts/javabasics/rookie-java-container/ Mon, 04 Oct 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-java-container/ + http://localhost:1313/iblog/posts/javabasics/rookie-java-container/ 概述 Java中的集合主要包括Collection和Map两种,Collection存储着对象的集合,而Map存储着键值对的映射表。 数组 如果你看过ArrayLis Java反射 - http://localhost:1313/iblog/posts/java/rookie-reflect/ + http://localhost:1313/iblog/posts/javabasics/rookie-reflect/ Sat, 02 Oct 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-reflect/ + http://localhost:1313/iblog/posts/javabasics/rookie-reflect/ 概述 在Java程序运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意方法和属性。这种动态获取信息以及动态调用 Java程序常见故障排查命令及工具 - http://localhost:1313/iblog/posts/essays/eye-beam/ + http://localhost:1313/iblog/posts/codeguide/eye-beam/ Wed, 08 Sep 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/eye-beam/ + http://localhost:1313/iblog/posts/codeguide/eye-beam/ 故障排查命令 收录Linux常用命令,以下命令来自https://www.bilibili.com/video/BV14A411378a 关机/重启/注销 常用命令 作 JavaObject类方法 - http://localhost:1313/iblog/posts/java/rookie-objectclass-methods/ + http://localhost:1313/iblog/posts/javabasics/rookie-objectclass-methods/ Sat, 10 Jul 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-objectclass-methods/ + http://localhost:1313/iblog/posts/javabasics/rookie-objectclass-methods/ 概览 Object类位于java.lang包中,编译时会自动导入。当我们创建一个类时,如果没有明确继承一个父类,那么它就会自动继承Object,成为Object的 @@ -171,16 +192,16 @@ Java多线程 - http://localhost:1313/iblog/posts/java/rookie-multi-thread/ + http://localhost:1313/iblog/posts/javabasics/rookie-multi-thread/ Wed, 05 May 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-multi-thread/ + http://localhost:1313/iblog/posts/javabasics/rookie-multi-thread/ 线程与进程 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。一个正在运行的程序的实例就是一个进程。 线程是操作系统能够进行运算调度的最小单位。它被包 HashMap详解 - http://localhost:1313/iblog/posts/essays/java-hashmap/ + http://localhost:1313/iblog/posts/detailed/java-hashmap/ Mon, 03 May 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-hashmap/ + http://localhost:1313/iblog/posts/detailed/java-hashmap/ HashMap HashMap是一个散列表,它存储的内容是键值对(key-value)映射。 HashMap实现了Map接口,根据键的HashCode值存储数据,具有很快的访问 @@ -220,9 +241,9 @@ JavaIO - http://localhost:1313/iblog/posts/java/rookie-io/ + http://localhost:1313/iblog/posts/javabasics/rookie-io/ Fri, 09 Apr 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-io/ + http://localhost:1313/iblog/posts/javabasics/rookie-io/ 概览 IO,即in和out的缩写,也就是输入和输出,指应用程序和外部设备之间的数据传递,常见的外部设备包括文件、管道、网络连接。 从计算机结构的角度来看IO,IO就 @@ -276,9 +297,9 @@ Java面向对象 - http://localhost:1313/iblog/posts/java/rookie-object-oriented/ + http://localhost:1313/iblog/posts/javabasics/rookie-object-oriented/ Mon, 15 Feb 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-object-oriented/ + http://localhost:1313/iblog/posts/javabasics/rookie-object-oriented/ 概览 面向对象简称OO(object-oriented)是相对面向过程(procedure-oriented)来说的,是一种编程思想,Java就是一门面向对象的语 @@ -290,23 +311,23 @@ Java运算 - http://localhost:1313/iblog/posts/java/rookie-operation/ + http://localhost:1313/iblog/posts/javabasics/rookie-operation/ Sat, 30 Jan 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-operation/ + http://localhost:1313/iblog/posts/javabasics/rookie-operation/ 运算符与表达式 运算符 运算符指明对操作数的运算方式。组成表达式的Java操作符有很多种。 运算符按照其要求的操作数数目来分,可以有单目运算符、双目运算符和三目运算符 Java数据类型 - http://localhost:1313/iblog/posts/java/rookie-datatype/ + http://localhost:1313/iblog/posts/javabasics/rookie-datatype/ Wed, 20 Jan 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-datatype/ + http://localhost:1313/iblog/posts/javabasics/rookie-datatype/ 基本类型 Java语言提供了八种基本类型。六种数值类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型,俗称4类8种。 这里只介绍称4类8种,实际上,Jav Java异常 - http://localhost:1313/iblog/posts/java/rookie-exception/ + http://localhost:1313/iblog/posts/javabasics/rookie-exception/ Wed, 13 Jan 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-exception/ + http://localhost:1313/iblog/posts/javabasics/rookie-exception/ 异常类型 Throwable可以用来表示任何可以作为异常抛出的类,分为两种:Error 和 Exception。 其中Error用来表示Java程序无法处理的错误,这类 diff --git "a/blog-site/public/tags/java\345\237\272\347\241\200/index.xml" "b/blog-site/public/tags/java\345\237\272\347\241\200/index.xml" index f8aef725..5a3b1d5f 100644 --- "a/blog-site/public/tags/java\345\237\272\347\241\200/index.xml" +++ "b/blog-site/public/tags/java\345\237\272\347\241\200/index.xml" @@ -10,72 +10,72 @@ Java泛型 - http://localhost:1313/iblog/posts/java/rookie-generics/ + http://localhost:1313/iblog/posts/javabasics/rookie-generics/ Mon, 15 Jul 2024 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-generics/ + http://localhost:1313/iblog/posts/javabasics/rookie-generics/ 概览 在Java中,泛型是一种强大的编程特性,允许类、接口和方法在定义时声明一种参数化类型,而在使用时可以指定具体的类型参数。泛型的主要目的是提高代码的重用性和类 Java集合 - http://localhost:1313/iblog/posts/java/rookie-java-container/ + http://localhost:1313/iblog/posts/javabasics/rookie-java-container/ Mon, 04 Oct 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-java-container/ + http://localhost:1313/iblog/posts/javabasics/rookie-java-container/ 概述 Java中的集合主要包括Collection和Map两种,Collection存储着对象的集合,而Map存储着键值对的映射表。 数组 如果你看过ArrayLis Java反射 - http://localhost:1313/iblog/posts/java/rookie-reflect/ + http://localhost:1313/iblog/posts/javabasics/rookie-reflect/ Sat, 02 Oct 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-reflect/ + http://localhost:1313/iblog/posts/javabasics/rookie-reflect/ 概述 在Java程序运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意方法和属性。这种动态获取信息以及动态调用 JavaObject类方法 - http://localhost:1313/iblog/posts/java/rookie-objectclass-methods/ + http://localhost:1313/iblog/posts/javabasics/rookie-objectclass-methods/ Sat, 10 Jul 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-objectclass-methods/ + http://localhost:1313/iblog/posts/javabasics/rookie-objectclass-methods/ 概览 Object类位于java.lang包中,编译时会自动导入。当我们创建一个类时,如果没有明确继承一个父类,那么它就会自动继承Object,成为Object的 Java多线程 - http://localhost:1313/iblog/posts/java/rookie-multi-thread/ + http://localhost:1313/iblog/posts/javabasics/rookie-multi-thread/ Wed, 05 May 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-multi-thread/ + http://localhost:1313/iblog/posts/javabasics/rookie-multi-thread/ 线程与进程 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。一个正在运行的程序的实例就是一个进程。 线程是操作系统能够进行运算调度的最小单位。它被包 JavaIO - http://localhost:1313/iblog/posts/java/rookie-io/ + http://localhost:1313/iblog/posts/javabasics/rookie-io/ Fri, 09 Apr 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-io/ + http://localhost:1313/iblog/posts/javabasics/rookie-io/ 概览 IO,即in和out的缩写,也就是输入和输出,指应用程序和外部设备之间的数据传递,常见的外部设备包括文件、管道、网络连接。 从计算机结构的角度来看IO,IO就 Java面向对象 - http://localhost:1313/iblog/posts/java/rookie-object-oriented/ + http://localhost:1313/iblog/posts/javabasics/rookie-object-oriented/ Mon, 15 Feb 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-object-oriented/ + http://localhost:1313/iblog/posts/javabasics/rookie-object-oriented/ 概览 面向对象简称OO(object-oriented)是相对面向过程(procedure-oriented)来说的,是一种编程思想,Java就是一门面向对象的语 Java运算 - http://localhost:1313/iblog/posts/java/rookie-operation/ + http://localhost:1313/iblog/posts/javabasics/rookie-operation/ Sat, 30 Jan 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-operation/ + http://localhost:1313/iblog/posts/javabasics/rookie-operation/ 运算符与表达式 运算符 运算符指明对操作数的运算方式。组成表达式的Java操作符有很多种。 运算符按照其要求的操作数数目来分,可以有单目运算符、双目运算符和三目运算符 Java数据类型 - http://localhost:1313/iblog/posts/java/rookie-datatype/ + http://localhost:1313/iblog/posts/javabasics/rookie-datatype/ Wed, 20 Jan 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-datatype/ + http://localhost:1313/iblog/posts/javabasics/rookie-datatype/ 基本类型 Java语言提供了八种基本类型。六种数值类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型,俗称4类8种。 这里只介绍称4类8种,实际上,Jav Java异常 - http://localhost:1313/iblog/posts/java/rookie-exception/ + http://localhost:1313/iblog/posts/javabasics/rookie-exception/ Wed, 13 Jan 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/java/rookie-exception/ + http://localhost:1313/iblog/posts/javabasics/rookie-exception/ 异常类型 Throwable可以用来表示任何可以作为异常抛出的类,分为两种:Error 和 Exception。 其中Error用来表示Java程序无法处理的错误,这类 diff --git a/blog-site/public/tags/mq/index.xml b/blog-site/public/tags/mq/index.xml index 51a2392b..7b0a6aa5 100644 --- a/blog-site/public/tags/mq/index.xml +++ b/blog-site/public/tags/mq/index.xml @@ -9,10 +9,10 @@ Tue, 19 Oct 2021 00:00:00 +0000 - MQ详解 - http://localhost:1313/iblog/posts/essays/java-mq/ + Kafka详解 + http://localhost:1313/iblog/posts/detailed/java-mq/ Tue, 19 Oct 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-mq/ + http://localhost:1313/iblog/posts/detailed/java-mq/ 概览 MQ 即 messagequeue 消息队列,是分布式系统的重要组件,主要解决异步消息,应用解耦,消峰等问题。从而实现高可用,高性能,可伸缩和最终一致性的架构。使用较多的MQ有:acti diff --git a/blog-site/public/tags/mysql/index.xml b/blog-site/public/tags/mysql/index.xml index 9deacc02..61e8975b 100644 --- a/blog-site/public/tags/mysql/index.xml +++ b/blog-site/public/tags/mysql/index.xml @@ -10,9 +10,9 @@ MySQL详解 - http://localhost:1313/iblog/posts/essays/sql-select-fast/ + http://localhost:1313/iblog/posts/detailed/sql-select-fast/ Thu, 30 May 2024 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/sql-select-fast/ + http://localhost:1313/iblog/posts/detailed/sql-select-fast/ MySQL介绍 MySQL 是一种关系型数据库,主要用于持久化存储我们系统中的一些数据。 MySQL 如此流行的原因,主要具有下面这些优点: 成熟稳定,功能完善。 开源免费。 文档丰富,既有 diff --git a/blog-site/public/tags/netty/index.xml b/blog-site/public/tags/netty/index.xml index 6c0041ba..6b67f7b9 100644 --- a/blog-site/public/tags/netty/index.xml +++ b/blog-site/public/tags/netty/index.xml @@ -10,9 +10,9 @@ Netty详解 - http://localhost:1313/iblog/posts/essays/java-netty/ + http://localhost:1313/iblog/posts/detailed/java-netty/ Fri, 09 Apr 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-netty/ + http://localhost:1313/iblog/posts/detailed/java-netty/ Netty 参考文章:https://dongzl.github.io/netty-handbook/#/ 概述 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty 是一个异步的、基于事 diff --git a/blog-site/public/tags/nginx/index.xml b/blog-site/public/tags/nginx/index.xml index 9717e9d1..2925845e 100644 --- a/blog-site/public/tags/nginx/index.xml +++ b/blog-site/public/tags/nginx/index.xml @@ -9,10 +9,10 @@ Thu, 04 Mar 2021 00:00:00 +0000 - Nginx介绍 - http://localhost:1313/iblog/posts/essays/nginx-start/ + Nginx入门 + http://localhost:1313/iblog/posts/intro/nginx-start/ Thu, 04 Mar 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/nginx-start/ + http://localhost:1313/iblog/posts/intro/nginx-start/ Nginx介绍 Nginx (“engine x”)是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表 diff --git a/blog-site/public/tags/redis/index.xml b/blog-site/public/tags/redis/index.xml index 9b372fb5..a2db6807 100644 --- a/blog-site/public/tags/redis/index.xml +++ b/blog-site/public/tags/redis/index.xml @@ -10,9 +10,9 @@ Redis详解 - http://localhost:1313/iblog/posts/essays/java-redis/ + http://localhost:1313/iblog/posts/detailed/java-redis/ Thu, 17 Jun 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-redis/ + http://localhost:1313/iblog/posts/detailed/java-redis/ Redis概述 参考文章: https://www.runoob.com/redis/redis-intro.html https://www.redis.com.cn/redis-interview-questions.html 什么是Redis Redis(Remote Dictionary Server) Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库, diff --git "a/blog-site/public/tags/\344\275\277\347\224\250\344\273\213\347\273\215/index.xml" "b/blog-site/public/tags/\344\275\277\347\224\250\344\273\213\347\273\215/index.xml" index 9f2b10a1..414a6e1d 100644 --- "a/blog-site/public/tags/\344\275\277\347\224\250\344\273\213\347\273\215/index.xml" +++ "b/blog-site/public/tags/\344\275\277\347\224\250\344\273\213\347\273\215/index.xml" @@ -16,17 +16,17 @@ 为什么要学习JVM 大部分Java开发人员,除了会在项目中使用到与Java平台相关的各种高精尖技术,对于Java技术的核心Java虚拟机了解甚少。 一些有一定工作经 - Nginx介绍 - http://localhost:1313/iblog/posts/essays/nginx-start/ + Nginx入门 + http://localhost:1313/iblog/posts/intro/nginx-start/ Thu, 04 Mar 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/nginx-start/ + http://localhost:1313/iblog/posts/intro/nginx-start/ Nginx介绍 Nginx (“engine x”)是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表 Docker入门 - http://localhost:1313/iblog/posts/essays/docker-start/ + http://localhost:1313/iblog/posts/intro/docker-start/ Tue, 07 Apr 2020 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/docker-start/ + http://localhost:1313/iblog/posts/intro/docker-start/ 概述 Docker属于Linux容器的一种封装,提供简单易用的容器使用接口。它是目前流行的Linux容器解决方案。Docker将应用程序与该程序的依赖,打包在一个 diff --git "a/blog-site/public/tags/\345\205\263\351\224\256\345\255\227/index.xml" "b/blog-site/public/tags/\345\205\263\351\224\256\345\255\227/index.xml" index f4914870..81f3370d 100644 --- "a/blog-site/public/tags/\345\205\263\351\224\256\345\255\227/index.xml" +++ "b/blog-site/public/tags/\345\205\263\351\224\256\345\255\227/index.xml" @@ -9,14 +9,14 @@ Thu, 11 Jul 2024 00:00:00 +0000 - synchronized关键字详解 + synchronized关键字 http://localhost:1313/iblog/posts/javakeyword/java-keyword-synchronized/ Thu, 11 Jul 2024 00:00:00 +0000 http://localhost:1313/iblog/posts/javakeyword/java-keyword-synchronized/ synchronized synchronized是Java提供的关键字译为同步,是Java中用于实现线程同步的一种机制。它可以确保在同一时间只有一个线程能够执行某段代码,从而避免线程 - volatile关键字详解 + volatile关键字 http://localhost:1313/iblog/posts/javakeyword/java-keyword-volatile/ Thu, 11 Jul 2024 00:00:00 +0000 http://localhost:1313/iblog/posts/javakeyword/java-keyword-volatile/ diff --git "a/blog-site/public/tags/\345\205\266\344\273\226/index.xml" "b/blog-site/public/tags/\345\205\266\344\273\226/index.xml" index 84aeb967..a2711606 100644 --- "a/blog-site/public/tags/\345\205\266\344\273\226/index.xml" +++ "b/blog-site/public/tags/\345\205\266\344\273\226/index.xml" @@ -10,9 +10,9 @@ Java程序常见问题 - http://localhost:1313/iblog/posts/essays/java-always-problems/ + http://localhost:1313/iblog/posts/codeguide/java-always-problems/ Tue, 28 May 2024 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-always-problems/ + http://localhost:1313/iblog/posts/codeguide/java-always-problems/ CPU使用过高 一般在生产环境排查程序故障,都会查看日志什么的,但是有些故障日志是看不出来的,就比如:CPU使用过高。 那应该怎么办呢?我们需要结合linux命令和 @@ -38,9 +38,9 @@ Java程序常见故障排查命令及工具 - http://localhost:1313/iblog/posts/essays/eye-beam/ + http://localhost:1313/iblog/posts/codeguide/eye-beam/ Wed, 08 Sep 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/eye-beam/ + http://localhost:1313/iblog/posts/codeguide/eye-beam/ 故障排查命令 收录Linux常用命令,以下命令来自https://www.bilibili.com/video/BV14A411378a 关机/重启/注销 常用命令 作 diff --git "a/blog-site/public/tags/\345\210\206\345\270\203\345\274\217/index.xml" "b/blog-site/public/tags/\345\210\206\345\270\203\345\274\217/index.xml" index 13b6ea98..2fbdba88 100644 --- "a/blog-site/public/tags/\345\210\206\345\270\203\345\274\217/index.xml" +++ "b/blog-site/public/tags/\345\210\206\345\270\203\345\274\217/index.xml" @@ -10,30 +10,30 @@ 分布式锁详解 - http://localhost:1313/iblog/posts/essays/distributed-lock/ + http://localhost:1313/iblog/posts/detailed/distributed-lock/ Sat, 25 May 2024 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/distributed-lock/ + http://localhost:1313/iblog/posts/detailed/distributed-lock/ 概述 在代码里面我们常用ReetrantLock、synchronized保证线程安全。通过上面的锁,在某个时刻只能保证一个线程执行锁作用域内的代码。 类似这样: public - 分布式ID - http://localhost:1313/iblog/posts/essays/distributed-id/ + 分布式ID详解 + http://localhost:1313/iblog/posts/detailed/distributed-id/ Mon, 13 Mar 2023 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/distributed-id/ + http://localhost:1313/iblog/posts/detailed/distributed-id/ 分布式ID 在我们业务数据量不大的时候,单库单表完全可以支撑现有业务,数据再大一点搞个MySQL主从同步读写分离也能对付。 但随着数据日渐增长,主从同步也扛不住了, 分布式事务详解 - http://localhost:1313/iblog/posts/essays/java-transaction/ + http://localhost:1313/iblog/posts/detailed/java-transaction/ Mon, 02 Aug 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-transaction/ + http://localhost:1313/iblog/posts/detailed/java-transaction/ 基础概念 什么是事务 什么是事务?举个例子:你去超市买东西,“一手交钱,一手交货"就是一个事务的例子。 交钱和交货必须同时成功,事务才算成功,其 微服务治理详解 - http://localhost:1313/iblog/posts/essays/java-small-service/ + http://localhost:1313/iblog/posts/detailed/java-small-service/ Mon, 21 Jun 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-small-service/ + http://localhost:1313/iblog/posts/detailed/java-small-service/ 什么是微服务架构 In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API。 These services are built around business capabilities and independently deployable diff --git "a/blog-site/public/tags/\345\255\246\344\271\240\350\267\257\347\272\277/index.xml" "b/blog-site/public/tags/\345\255\246\344\271\240\350\267\257\347\272\277/index.xml" index 1f19eae7..2531d66e 100644 --- "a/blog-site/public/tags/\345\255\246\344\271\240\350\267\257\347\272\277/index.xml" +++ "b/blog-site/public/tags/\345\255\246\344\271\240\350\267\257\347\272\277/index.xml" @@ -10,9 +10,9 @@ 前端学习路线 - http://localhost:1313/iblog/posts/emp/front-learning-route/ + http://localhost:1313/iblog/posts/intro/front-learning-route/ Thu, 29 Feb 2024 00:00:00 +0000 - http://localhost:1313/iblog/posts/emp/front-learning-route/ + http://localhost:1313/iblog/posts/intro/front-learning-route/ 基础知识 网络知识 HTTP DNS 域名 云服务 网络安全 HTTPS CORS 网络渗透 OWASP HTML CSS JavaScript JQuery Ajax ES6-ES11 综合应用 工程化体系 代码规范 CSS预处理器 Less Sass PostCSS Node Promise Axios 工具 包管理工具 Yarn Npm 打包工具 Webpack Parcel 代码格式化工具 diff --git "a/blog-site/public/tags/\345\260\261\344\270\232/index.xml" "b/blog-site/public/tags/\345\260\261\344\270\232/index.xml" index a9cdfba5..6b6101ec 100644 --- "a/blog-site/public/tags/\345\260\261\344\270\232/index.xml" +++ "b/blog-site/public/tags/\345\260\261\344\270\232/index.xml" @@ -24,9 +24,9 @@ 前端学习路线 - http://localhost:1313/iblog/posts/emp/front-learning-route/ + http://localhost:1313/iblog/posts/intro/front-learning-route/ Thu, 29 Feb 2024 00:00:00 +0000 - http://localhost:1313/iblog/posts/emp/front-learning-route/ + http://localhost:1313/iblog/posts/intro/front-learning-route/ 基础知识 网络知识 HTTP DNS 域名 云服务 网络安全 HTTPS CORS 网络渗透 OWASP HTML CSS JavaScript JQuery Ajax ES6-ES11 综合应用 工程化体系 代码规范 CSS预处理器 Less Sass PostCSS Node Promise Axios 工具 包管理工具 Yarn Npm 打包工具 Webpack Parcel 代码格式化工具 diff --git "a/blog-site/public/tags/\345\272\224\347\224\250/index.xml" "b/blog-site/public/tags/\345\272\224\347\224\250/index.xml" index 6755d927..a3353187 100644 --- "a/blog-site/public/tags/\345\272\224\347\224\250/index.xml" +++ "b/blog-site/public/tags/\345\272\224\347\224\250/index.xml" @@ -16,24 +16,24 @@ 代码实现 代码结构 pom <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> </dependency> 库表结构 -- ---------------------------- -- 定时任务调度表 -- ---------------------------- drop table if exists sys_job; create table sys_job ( job_id bigint(20) not null auto_increment comment '任务ID', job_name varchar(64) default '' comment - 整合文件上传功能 - http://localhost:1313/iblog/posts/essays/uploadfile-code/ + Java整合文件上传功能 + http://localhost:1313/iblog/posts/toy/uploadfile-code/ Fri, 11 Aug 2023 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/uploadfile-code/ + http://localhost:1313/iblog/posts/toy/uploadfile-code/ 结构 pom.xml fastdfs-client-java-1.27.jar:点击下载 <dependencies> <!-- fastdfs --> <dependency> <groupId>org.csource</groupId> <artifactId>fastdfs-client-java</artifactId> <version>1.27</version> <systemPath>${project.basedir}/lib/fastdfs-client-java-1.27.jar</systemPath> <scope>system</scope> </dependency> <!--aliyun oss 依赖--> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.11</version> </dependency> - 整合支付功能 - http://localhost:1313/iblog/posts/essays/pay-code/ + Java整合支付功能 + http://localhost:1313/iblog/posts/toy/pay-code/ Thu, 10 Aug 2023 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/pay-code/ + http://localhost:1313/iblog/posts/toy/pay-code/ 结构 完整代码:https://gitee.com/gitee_pikaqiu/easy-archetype pom.xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.11</version> </dependency> <dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alipay-sdk-java</artifactId> <version>4.9.9</version> </dependency> <dependency> - 管道流设计模式结合业务 - http://localhost:1313/iblog/posts/essays/pipeline-business/ + Java管道流设计模式结合业务 + http://localhost:1313/iblog/posts/toy/pipeline-business/ Thu, 15 Jun 2023 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/pipeline-business/ + http://localhost:1313/iblog/posts/toy/pipeline-business/ 流程图 代码实现 完整代码:https://gitee.com/gitee_pikaqiu/easy-pipeline pom <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.plugin</groupId> <artifactId>spring-plugin-core</artifactId> <version>${spring.plugin.core.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>cn.hutool</groupId> diff --git "a/blog-site/public/tags/\346\212\200\345\267\247/index.xml" "b/blog-site/public/tags/\346\212\200\345\267\247/index.xml" index 934cc217..0cd34d41 100644 --- "a/blog-site/public/tags/\346\212\200\345\267\247/index.xml" +++ "b/blog-site/public/tags/\346\212\200\345\267\247/index.xml" @@ -10,9 +10,9 @@ 如何减少及解决bug - http://localhost:1313/iblog/posts/essays/java-bugs/ + http://localhost:1313/iblog/posts/codeguide/java-bugs/ Fri, 10 Mar 2023 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-bugs/ + http://localhost:1313/iblog/posts/codeguide/java-bugs/ bug的起源: 1945年,一只小飞蛾钻进了计算机电路里,导致系统无法工作,一位名叫格蕾丝·赫柏的人把飞蛾拍死在工作日志上,写道:就是这个 bug(虫子),害我们今 diff --git "a/blog-site/public/tags/\347\216\251\345\205\267/index.xml" "b/blog-site/public/tags/\347\216\251\345\205\267/index.xml" index 99b8ec58..26b03df0 100644 --- "a/blog-site/public/tags/\347\216\251\345\205\267/index.xml" +++ "b/blog-site/public/tags/\347\216\251\345\205\267/index.xml" @@ -6,8 +6,29 @@ Recent content in 玩具 on 脚踏实地 Hugo -- gohugo.io zh - Sat, 09 Apr 2022 00:00:00 +0000 + Fri, 11 Aug 2023 00:00:00 +0000 + + Java整合文件上传功能 + http://localhost:1313/iblog/posts/toy/uploadfile-code/ + Fri, 11 Aug 2023 00:00:00 +0000 + http://localhost:1313/iblog/posts/toy/uploadfile-code/ + 结构 pom.xml fastdfs-client-java-1.27.jar:点击下载 <dependencies> <!-- fastdfs --> <dependency> <groupId>org.csource</groupId> <artifactId>fastdfs-client-java</artifactId> <version>1.27</version> <systemPath>${project.basedir}/lib/fastdfs-client-java-1.27.jar</systemPath> <scope>system</scope> </dependency> <!--aliyun oss 依赖--> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.11</version> </dependency> + + + Java整合支付功能 + http://localhost:1313/iblog/posts/toy/pay-code/ + Thu, 10 Aug 2023 00:00:00 +0000 + http://localhost:1313/iblog/posts/toy/pay-code/ + 结构 完整代码:https://gitee.com/gitee_pikaqiu/easy-archetype pom.xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.11</version> </dependency> <dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alipay-sdk-java</artifactId> <version>4.9.9</version> </dependency> <dependency> + + + Java管道流设计模式结合业务 + http://localhost:1313/iblog/posts/toy/pipeline-business/ + Thu, 15 Jun 2023 00:00:00 +0000 + http://localhost:1313/iblog/posts/toy/pipeline-business/ + 流程图 代码实现 完整代码:https://gitee.com/gitee_pikaqiu/easy-pipeline pom <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.plugin</groupId> <artifactId>spring-plugin-core</artifactId> <version>${spring.plugin.core.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>cn.hutool</groupId> + Java小程序集合 http://localhost:1313/iblog/posts/toy/java-multi-gadget/ diff --git "a/blog-site/public/tags/\347\272\277\347\250\213/index.xml" "b/blog-site/public/tags/\347\272\277\347\250\213/index.xml" index 2d42d717..87200420 100644 --- "a/blog-site/public/tags/\347\272\277\347\250\213/index.xml" +++ "b/blog-site/public/tags/\347\272\277\347\250\213/index.xml" @@ -31,9 +31,9 @@ CAS详解 - http://localhost:1313/iblog/posts/essays/cas-detail/ + http://localhost:1313/iblog/posts/detailed/cas-detail/ Sat, 04 Apr 2020 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/cas-detail/ + http://localhost:1313/iblog/posts/detailed/cas-detail/ CAS CAS全称为Compare and Swap被译为比较并交换,是一种无锁算法。用于实现并发编程中的原子操作。CAS操作检查某个变量是否与预期的值相同,如果相同则将其更 diff --git "a/blog-site/public/tags/\350\256\276\350\256\241/index.xml" "b/blog-site/public/tags/\350\256\276\350\256\241/index.xml" index 3237c9bd..328fee40 100644 --- "a/blog-site/public/tags/\350\256\276\350\256\241/index.xml" +++ "b/blog-site/public/tags/\350\256\276\350\256\241/index.xml" @@ -16,52 +16,52 @@ 代码实现 代码结构 pom <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> </dependency> 库表结构 -- ---------------------------- -- 定时任务调度表 -- ---------------------------- drop table if exists sys_job; create table sys_job ( job_id bigint(20) not null auto_increment comment '任务ID', job_name varchar(64) default '' comment - 整合文件上传功能 - http://localhost:1313/iblog/posts/essays/uploadfile-code/ + Java整合文件上传功能 + http://localhost:1313/iblog/posts/toy/uploadfile-code/ Fri, 11 Aug 2023 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/uploadfile-code/ + http://localhost:1313/iblog/posts/toy/uploadfile-code/ 结构 pom.xml fastdfs-client-java-1.27.jar:点击下载 <dependencies> <!-- fastdfs --> <dependency> <groupId>org.csource</groupId> <artifactId>fastdfs-client-java</artifactId> <version>1.27</version> <systemPath>${project.basedir}/lib/fastdfs-client-java-1.27.jar</systemPath> <scope>system</scope> </dependency> <!--aliyun oss 依赖--> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.11</version> </dependency> - 整合支付功能 - http://localhost:1313/iblog/posts/essays/pay-code/ + Java整合支付功能 + http://localhost:1313/iblog/posts/toy/pay-code/ Thu, 10 Aug 2023 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/pay-code/ + http://localhost:1313/iblog/posts/toy/pay-code/ 结构 完整代码:https://gitee.com/gitee_pikaqiu/easy-archetype pom.xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.11</version> </dependency> <dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alipay-sdk-java</artifactId> <version>4.9.9</version> </dependency> <dependency> - 管道流设计模式结合业务 - http://localhost:1313/iblog/posts/essays/pipeline-business/ + Java管道流设计模式结合业务 + http://localhost:1313/iblog/posts/toy/pipeline-business/ Thu, 15 Jun 2023 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/pipeline-business/ + http://localhost:1313/iblog/posts/toy/pipeline-business/ 流程图 代码实现 完整代码:https://gitee.com/gitee_pikaqiu/easy-pipeline pom <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.plugin</groupId> <artifactId>spring-plugin-core</artifactId> <version>${spring.plugin.core.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>cn.hutool</groupId> 重构一个程序 - http://localhost:1313/iblog/posts/essays/java-project-reconstitution/ + http://localhost:1313/iblog/posts/codeguide/java-project-reconstitution/ Thu, 20 Apr 2023 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-project-reconstitution/ + http://localhost:1313/iblog/posts/codeguide/java-project-reconstitution/ 什么是重构 摘自《重构:改善既有代码的设计》 重构(名词形式): 对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。 重构 整洁的代码 - http://localhost:1313/iblog/posts/essays/clean-code/ + http://localhost:1313/iblog/posts/codeguide/clean-code/ Thu, 01 Sep 2022 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/clean-code/ + http://localhost:1313/iblog/posts/codeguide/clean-code/ 为什么要写整洁的代码 为什么要写整洁的代码,回答这个问题之前,也许应该想想写糟糕的代码的原因 是想快点完成吗?还是要赶时间吗?有可能.或许你觉得自己要干好所需要的时 如何做好程序设计功能 - http://localhost:1313/iblog/posts/essays/java-design/ + http://localhost:1313/iblog/posts/codeguide/java-design/ Tue, 02 Aug 2022 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-design/ + http://localhost:1313/iblog/posts/codeguide/java-design/ 功能设计流程图 与外部系统交互、本系统模块之间流程,比较好用的画圈软件draw .io或在线的process on 数据库设计 从DDD角度界限上下文、ER图、评审表结构设 规范编写Java代码总结 - http://localhost:1313/iblog/posts/essays/java-code-rule/ + http://localhost:1313/iblog/posts/codeguide/java-code-rule/ Thu, 25 Nov 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-code-rule/ + http://localhost:1313/iblog/posts/codeguide/java-code-rule/ 编码规范 我们为什么要遵守规范来编码? 是因为通常在编码过程中我们不只自己进行开发,通常需要一个团队来进行,开发好之后还需要维护,所以编码规范就显的尤为重要。 代码维 diff --git "a/blog-site/public/tags/\350\257\246\350\247\243/index.xml" "b/blog-site/public/tags/\350\257\246\350\247\243/index.xml" index 204da25a..7882e5f8 100644 --- "a/blog-site/public/tags/\350\257\246\350\247\243/index.xml" +++ "b/blog-site/public/tags/\350\257\246\350\247\243/index.xml" @@ -16,14 +16,14 @@ 概览 SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。 该框架使用了特定的方式来进行配置,从 - synchronized关键字详解 + synchronized关键字 http://localhost:1313/iblog/posts/javakeyword/java-keyword-synchronized/ Thu, 11 Jul 2024 00:00:00 +0000 http://localhost:1313/iblog/posts/javakeyword/java-keyword-synchronized/ synchronized synchronized是Java提供的关键字译为同步,是Java中用于实现线程同步的一种机制。它可以确保在同一时间只有一个线程能够执行某段代码,从而避免线程 - volatile关键字详解 + volatile关键字 http://localhost:1313/iblog/posts/javakeyword/java-keyword-volatile/ Thu, 11 Jul 2024 00:00:00 +0000 http://localhost:1313/iblog/posts/javakeyword/java-keyword-volatile/ @@ -31,16 +31,16 @@ ArrayList详解 - http://localhost:1313/iblog/posts/essays/java-arraylist/ + http://localhost:1313/iblog/posts/detailed/java-arraylist/ Wed, 26 Jun 2024 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-arraylist/ + http://localhost:1313/iblog/posts/detailed/java-arraylist/ ArrayList 在List接口实现类中,最常用的就是ArrayList,ArrayList类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,可以添加或删 MySQL详解 - http://localhost:1313/iblog/posts/essays/sql-select-fast/ + http://localhost:1313/iblog/posts/detailed/sql-select-fast/ Thu, 30 May 2024 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/sql-select-fast/ + http://localhost:1313/iblog/posts/detailed/sql-select-fast/ MySQL介绍 MySQL 是一种关系型数据库,主要用于持久化存储我们系统中的一些数据。 MySQL 如此流行的原因,主要具有下面这些优点: 成熟稳定,功能完善。 开源免费。 文档丰富,既有 @@ -52,44 +52,58 @@ 分布式锁详解 - http://localhost:1313/iblog/posts/essays/distributed-lock/ + http://localhost:1313/iblog/posts/detailed/distributed-lock/ Sat, 25 May 2024 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/distributed-lock/ + http://localhost:1313/iblog/posts/detailed/distributed-lock/ 概述 在代码里面我们常用ReetrantLock、synchronized保证线程安全。通过上面的锁,在某个时刻只能保证一个线程执行锁作用域内的代码。 类似这样: public + + 分布式ID详解 + http://localhost:1313/iblog/posts/detailed/distributed-id/ + Mon, 13 Mar 2023 00:00:00 +0000 + http://localhost:1313/iblog/posts/detailed/distributed-id/ + 分布式ID 在我们业务数据量不大的时候,单库单表完全可以支撑现有业务,数据再大一点搞个MySQL主从同步读写分离也能对付。 但随着数据日渐增长,主从同步也扛不住了, + Elasticsearch详解 - http://localhost:1313/iblog/posts/essays/elasticsearch/ + http://localhost:1313/iblog/posts/detailed/elasticsearch/ Tue, 14 Feb 2023 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/elasticsearch/ + http://localhost:1313/iblog/posts/detailed/elasticsearch/ 概览 Elasticsearch,简称为 ES, ES是一个开源的高扩展的分布式全文搜索引擎, 是整个 ElasticStack 技术栈的核心。它可以近乎实时的存储、检索数据;本身扩展性很好,可 - MQ详解 - http://localhost:1313/iblog/posts/essays/java-mq/ + 数据结构与算法详解 + http://localhost:1313/iblog/posts/detailed/data-structures-algorithms/ + Fri, 10 Dec 2021 00:00:00 +0000 + http://localhost:1313/iblog/posts/detailed/data-structures-algorithms/ + 数据结构 数据结构是一门研究组织数据方式的学科,有了编程语言也就有了数据结构,学好数据结构可以编写出更有效率的代码。数据结构是算法的基础,想要学好算法,就必须把数 + + + Kafka详解 + http://localhost:1313/iblog/posts/detailed/java-mq/ Tue, 19 Oct 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-mq/ + http://localhost:1313/iblog/posts/detailed/java-mq/ 概览 MQ 即 messagequeue 消息队列,是分布式系统的重要组件,主要解决异步消息,应用解耦,消峰等问题。从而实现高可用,高性能,可伸缩和最终一致性的架构。使用较多的MQ有:acti 分布式事务详解 - http://localhost:1313/iblog/posts/essays/java-transaction/ + http://localhost:1313/iblog/posts/detailed/java-transaction/ Mon, 02 Aug 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-transaction/ + http://localhost:1313/iblog/posts/detailed/java-transaction/ 基础概念 什么是事务 什么是事务?举个例子:你去超市买东西,“一手交钱,一手交货"就是一个事务的例子。 交钱和交货必须同时成功,事务才算成功,其 微服务治理详解 - http://localhost:1313/iblog/posts/essays/java-small-service/ + http://localhost:1313/iblog/posts/detailed/java-small-service/ Mon, 21 Jun 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-small-service/ + http://localhost:1313/iblog/posts/detailed/java-small-service/ 什么是微服务架构 In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API。 These services are built around business capabilities and independently deployable Redis详解 - http://localhost:1313/iblog/posts/essays/java-redis/ + http://localhost:1313/iblog/posts/detailed/java-redis/ Thu, 17 Jun 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-redis/ + http://localhost:1313/iblog/posts/detailed/java-redis/ Redis概述 参考文章: https://www.runoob.com/redis/redis-intro.html https://www.redis.com.cn/redis-interview-questions.html 什么是Redis Redis(Remote Dictionary Server) Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库, @@ -101,16 +115,16 @@ HashMap详解 - http://localhost:1313/iblog/posts/essays/java-hashmap/ + http://localhost:1313/iblog/posts/detailed/java-hashmap/ Mon, 03 May 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-hashmap/ + http://localhost:1313/iblog/posts/detailed/java-hashmap/ HashMap HashMap是一个散列表,它存储的内容是键值对(key-value)映射。 HashMap实现了Map接口,根据键的HashCode值存储数据,具有很快的访问 Netty详解 - http://localhost:1313/iblog/posts/essays/java-netty/ + http://localhost:1313/iblog/posts/detailed/java-netty/ Fri, 09 Apr 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-netty/ + http://localhost:1313/iblog/posts/detailed/java-netty/ Netty 参考文章:https://dongzl.github.io/netty-handbook/#/ 概述 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty 是一个异步的、基于事 diff --git "a/blog-site/public/tags/\351\233\206\345\220\210/index.xml" "b/blog-site/public/tags/\351\233\206\345\220\210/index.xml" index 7c13f77a..7ddbc0a9 100644 --- "a/blog-site/public/tags/\351\233\206\345\220\210/index.xml" +++ "b/blog-site/public/tags/\351\233\206\345\220\210/index.xml" @@ -10,16 +10,16 @@ ArrayList详解 - http://localhost:1313/iblog/posts/essays/java-arraylist/ + http://localhost:1313/iblog/posts/detailed/java-arraylist/ Wed, 26 Jun 2024 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-arraylist/ + http://localhost:1313/iblog/posts/detailed/java-arraylist/ ArrayList 在List接口实现类中,最常用的就是ArrayList,ArrayList类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,可以添加或删 HashMap详解 - http://localhost:1313/iblog/posts/essays/java-hashmap/ + http://localhost:1313/iblog/posts/detailed/java-hashmap/ Mon, 03 May 2021 00:00:00 +0000 - http://localhost:1313/iblog/posts/essays/java-hashmap/ + http://localhost:1313/iblog/posts/detailed/java-hashmap/ HashMap HashMap是一个散列表,它存储的内容是键值对(key-value)映射。 HashMap实现了Map接口,根据键的HashCode值存储数据,具有很快的访问