From 526f919008a2a6e6688a3c91523539d9cd437589 Mon Sep 17 00:00:00 2001 From: unknowIfGuestInDream Date: Sat, 28 Oct 2023 22:24:13 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E4=BF=AE=E6=94=B9=E8=A1=A8=E6=A0=BC?= =?UTF-8?q?=E8=AF=AD=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: unknowIfGuestInDream --- docs/README.md | 22 ++-- docs/japanese/junior/2.md | 54 +++++----- docs/japanese/n3/Word.md | 54 +++++----- docs/java/base/math/Math.md | 78 +++++++-------- docs/linux/soft/redis.md | 30 +++--- docs/springBootDemo/basic/Converter.md | 58 +++++------ docs/springBootDemo/basic/Eclipse.md | 100 +++++++++---------- docs/springBootDemo/basic/IDEA.md | 36 +++---- docs/springBootDemo/basic/Spel.md | 74 +++++++------- docs/springBootDemo/imploded/Swagger2.md | 14 +-- docs/springBootDemo/imploded/Tomcat.md | 52 +++++----- docs/springBootDemo/imploded/Validator.md | 44 ++++---- docs/springBootDemo/imploded/restTemplate.md | 26 ++--- 13 files changed, 321 insertions(+), 321 deletions(-) diff --git a/docs/README.md b/docs/README.md index 4edf273..6c8d0ca 100644 --- a/docs/README.md +++ b/docs/README.md @@ -7,17 +7,17 @@ springBoot学习教程涵盖了SpringBoot 2.3.1、Elasticsearch 7.6.2、RabbitMQ > springBootDemo采用现阶主流技术实现,涵盖了一般项目中几乎所有使用的技术。 -技术 | 版本 | 说明 -----|----|---- -Spring Boot | 2.3.1 | MVC框架 -Spring Security | 5.1.4 | 认证和授权框架 -Swagger-UI | 2.7.0 | 文档生产工具 -Elasticsearch | 7.6.2 | 搜索引擎 -RabbitMq | 3.7.15 | 消息队列 -Redis | 5.0 | 分布式缓存 -MongoDb | 4.2.5 | NoSql数据库 -Druid | 1.1.9 | 数据库连接池 -Lombok | 1.18.12 | 简化对象封装工具 +| 技术 | 版本 | 说明 | +|-----------------|---------|----------| +| Spring Boot | 2.3.1 | MVC框架 | +| Spring Security | 5.1.4 | 认证和授权框架 | +| Swagger-UI | 2.7.0 | 文档生产工具 | +| Elasticsearch | 7.6.2 | 搜索引擎 | +| RabbitMq | 3.7.15 | 消息队列 | +| Redis | 5.0 | 分布式缓存 | +| MongoDb | 4.2.5 | NoSql数据库 | +| Druid | 1.1.9 | 数据库连接池 | +| Lombok | 1.18.12 | 简化对象封装工具 | ## 项目地址 - 博客地址:[https://blog.tlcsdm.com](https://blog.tlcsdm.com ':target=_blank') diff --git a/docs/japanese/junior/2.md b/docs/japanese/junior/2.md index 5dc2ac1..c4196c3 100644 --- a/docs/japanese/junior/2.md +++ b/docs/japanese/junior/2.md @@ -29,11 +29,11 @@ ーーいいえ、**あれ**は テレビでは ありません。パソコンです。 2. 特殊疑问句 -|特殊疑问词|声调与词性|翻译|备注| -----|----|----|---- -|何(なん)|①[疑]|什么|询问事物| -|だれ|①[疑]|谁|询问人,还可写成“誰”,多用于身份地位与自己相当或比自己低的人| -|どなた|①[名]|哪位|“だれ”的礼貌说法| +| 特殊疑问词 | 声调与词性 | 翻译 | 备注 | +|-------|-------|----|---------------------------------| +| 何(なん) | ①[疑] | 什么 | 询问事物 | +| だれ | ①[疑] | 谁 | 询问人,还可写成“誰”,多用于身份地位与自己相当或比自己低的人 | +| どなた | ①[名] | 哪位 | “だれ”的礼貌说法 | - それは **何**ですか。 ーーこれは テレビです。 @@ -125,33 +125,33 @@ 说到自己的亲属和别人的亲属时,要用不同的称谓。 -|自己的亲属|别人的亲属|自己的亲属|别人的亲属| -----|----|----|---- -|祖父(そふ) 祖父/外祖父|おじいさん|兄弟(きょうだい) 兄弟/姐妹|ご兄弟| -|祖母(そぼ) 祖母/外祖母|おばあさん|兄(あに) 哥哥|お兄(にい)さん| -|両親(りょうしん) 父母|ご両親(ごりょうしん)|姉(あね) 姐姐|お姉(ねえ)さん| -|父(ちち) 父亲|お父(とう)さん|弟(おとうと) 弟弟|弟(おとうと)さん| -|母(はは) 母亲|お母(かあ)さん|妹(いもうと) 妹妹|妹(いもうと)さん| -|息子(むすこ) 儿子|息子(むすこ)さん|おじ 伯伯/叔叔/舅舅/姑父|おじさん| -|娘(むすめ) 女儿|娘(むすめ)さん/お嬢(じょう)さん|おば 伯母/婶婶/舅妈/姑姑|おばさん| +| 自己的亲属 | 别人的亲属 | 自己的亲属 | 别人的亲属 | +|---------------|--------------------|-----------------|-----------| +| 祖父(そふ) 祖父/外祖父 | おじいさん | 兄弟(きょうだい) 兄弟/姐妹 | ご兄弟 | +| 祖母(そぼ) 祖母/外祖母 | おばあさん | 兄(あに) 哥哥 | お兄(にい)さん | +| 両親(りょうしん) 父母 | ご両親(ごりょうしん) | 姉(あね) 姐姐 | お姉(ねえ)さん | +| 父(ちち) 父亲 | お父(とう)さん | 弟(おとうと) 弟弟 | 弟(おとうと)さん | +| 母(はは) 母亲 | お母(かあ)さん | 妹(いもうと) 妹妹 | 妹(いもうと)さん | +| 息子(むすこ) 儿子 | 息子(むすこ)さん | おじ 伯伯/叔叔/舅舅/姑父 | おじさん | +| 娘(むすめ) 女儿 | 娘(むすめ)さん/お嬢(じょう)さん | おば 伯母/婶婶/舅妈/姑姑 | おばさん | 注意:直接称呼自己的亲属时,如“お父さん”“パパ”等,有多种多样的称谓。但称呼弟弟或妹妹时,一般直呼其名。 ### 100以下的数字 -数字|读法|数字|读法|数字|读法 -----|----|----|----|----|---- -|0|れい/ぜろ|10|じゅう|20|にじゅう| -|1|いち|11|じゅういち|30|さんじゅう| -|2|に|12|じゅうに|40|よんじゅう| -|3|さん|13|じゅうさん|50|ごじゅう| -|4|し/よん|14|じゅうし/じゅうよん|60|ろくじゅう| -|5|ご|15|じゅうご|70|ななじゅう| -|6|ろく|16|じゅうろく|80|はちじゅう| -|7|しち/なな|17|きゅうしち/じゅうなな|90|きゅうじゅう| -|8|はち|18|じゅうはち|100|ひゃく| -|9|く/きゅう|19|じゅうく/じゅうきゅう||| -|0.1|れいてんいち|2/3|さんぶんのに||| +| 数字 | 读法 | 数字 | 读法 | 数字 | 读法 | +|-----|--------|-----|-------------|-----|--------| +| 0 | れい/ぜろ | 10 | じゅう | 20 | にじゅう | +| 1 | いち | 11 | じゅういち | 30 | さんじゅう | +| 2 | に | 12 | じゅうに | 40 | よんじゅう | +| 3 | さん | 13 | じゅうさん | 50 | ごじゅう | +| 4 | し/よん | 14 | じゅうし/じゅうよん | 60 | ろくじゅう | +| 5 | ご | 15 | じゅうご | 70 | ななじゅう | +| 6 | ろく | 16 | じゅうろく | 80 | はちじゅう | +| 7 | しち/なな | 17 | きゅうしち/じゅうなな | 90 | きゅうじゅう | +| 8 | はち | 18 | じゅうはち | 100 | ひゃく | +| 9 | く/きゅう | 19 | じゅうく/じゅうきゅう | | | +| 0.1 | れいてんいち | 2/3 | さんぶんのに | | | 4的し的读法在日语中与死谐音,所以单独说的时候会避免使用。 diff --git a/docs/japanese/n3/Word.md b/docs/japanese/n3/Word.md index 4ed377f..87d0066 100644 --- a/docs/japanese/n3/Word.md +++ b/docs/japanese/n3/Word.md @@ -1,31 +1,31 @@ ### 重要词汇 -单词 | 读音 | 释义 | 类型 | 示例 -----|----|----|----|---- -合図 | あいず | 信号,暗号 | 名,自他动3 | 合図を送ろ/发送信号 -浅い | あさい | 浅的(颜色/程度) | イ形容词 | 浅い色/淡色 -深い | ふかい | 深的(颜色) | イ形容词 | -集めろ | あつめろ | 集合;收集;集中 | 他动2 | 学生たちを集めろ/召集学生 -散らす | ちらす | 分散,使散开,消肿,化瘀 | 他动1 | -行き先 | いきさき/ゆきさき | 目的地,去的地方 | 名 | 行き先を決めろ/决定去的地方 -以降 | いこう | (某个时间点)以后,之后 | 名 | 5時以降は会社にいない/五点以后不在公司 -以来 | いらい | (从某事开始)至今,依赖 | 名 | -以前 | いぜn | 以前,之前 | 名-接尾 | -要ろ | いろ | 需要,必要 | 自动1 | おつりは要らない/不用找零了 -必要 | ひつよう | 需要,必要 | 名 | -植えろ | うえろ | 种,种植 | 他动2 | 木を植えろ/种树 -受け入れろ | うけいれろ | 收,收进;接纳;接受,采纳 | 他动2 | 寄付金をうけいれろ/接收捐款 -動き | うごき | 活动,移动;动向 | 名 | 動きが鈍い/动作迟缓 -移ろ | うつろ | 移动,搬家;转移,改变;(疾病,火势)蔓延 | 自动1 | 新しい家へ移ろ/搬到新家 -噂 | うわさ | 传闻,谣言 | 名 | 新しい家へ移ろ/艺人圈的传言 -運休 | うんきゅう | 运行中止,停驶 | 名,自动3 | 電車の運休であろいて帰ろ/因为电车停驶,所以走路回去 -笑顔 | えがお | 笑脸 | 名 | 笑顔で接客すろ/带着微笑接待客人 -横暴 | おうぼう | 专横,粗暴 | 名,ナ形 | 横暴な振る舞い/粗暴的举动 -主に | おもに | 主要,大部分 | 副 | 主に若者をたいょうにして調査を行う/主要针对年轻人进行调查 -折る | おろ | 折,折断;折叠 | 他动1 | 枝を折る/折纸 -カーブ | curve | 弯曲;转弯处 | 名,自动3 | 急カーブ/急转弯 -外貨 | がいか | 外币;外国货,进口货 | 名 | 外貨預金/外汇存款 -改札 | かいさつ | 检票;检票口,检票员 | 名,自动3 | 改札口/检票口 -回収 | かいしゅう | 回收,收回 | 名,他动3 | 資源ゴミを回収すろ/回收资源垃圾 +| 单词 | 读音 | 释义 | 类型 | 示例 | +|-------|-----------|-----------------------|--------|-------------------------------| +| 合図 | あいず | 信号,暗号 | 名,自他动3 | 合図を送ろ/发送信号 | +| 浅い | あさい | 浅的(颜色/程度) | イ形容词 | 浅い色/淡色 | +| 深い | ふかい | 深的(颜色) | イ形容词 | | +| 集めろ | あつめろ | 集合;收集;集中 | 他动2 |  学生たちを集めろ/召集学生 | +| 散らす | ちらす | 分散,使散开,消肿,化瘀 | 他动1 | | +| 行き先 | いきさき/ゆきさき | 目的地,去的地方 | 名 | 行き先を決めろ/决定去的地方 | +| 以降 | いこう | (某个时间点)以后,之后 | 名 | 5時以降は会社にいない/五点以后不在公司 | +| 以来 | いらい | (从某事开始)至今,依赖 | 名 | | +| 以前 | いぜn | 以前,之前 | 名-接尾 | | +| 要ろ | いろ | 需要,必要 | 自动1 | おつりは要らない/不用找零了 | +| 必要 | ひつよう | 需要,必要 | 名 | | +| 植えろ | うえろ | 种,种植 | 他动2 | 木を植えろ/种树 | +| 受け入れろ | うけいれろ | 收,收进;接纳;接受,采纳 | 他动2 | 寄付金をうけいれろ/接收捐款 | +| 動き | うごき | 活动,移动;动向 | 名 | 動きが鈍い/动作迟缓 | +| 移ろ | うつろ | 移动,搬家;转移,改变;(疾病,火势)蔓延 | 自动1 | 新しい家へ移ろ/搬到新家 | +| 噂 | うわさ | 传闻,谣言 | 名 | 新しい家へ移ろ/艺人圈的传言 | +| 運休 | うんきゅう | 运行中止,停驶 | 名,自动3 | 電車の運休であろいて帰ろ/因为电车停驶,所以走路回去 | +| 笑顔 | えがお | 笑脸 | 名 | 笑顔で接客すろ/带着微笑接待客人 | +| 横暴 | おうぼう | 专横,粗暴 | 名,ナ形 | 横暴な振る舞い/粗暴的举动 | +| 主に | おもに | 主要,大部分 | 副 | 主に若者をたいょうにして調査を行う/主要针对年轻人进行调查 | +| 折る | おろ | 折,折断;折叠 | 他动1 | 枝を折る/折纸 | +| カーブ | curve | 弯曲;转弯处 | 名,自动3 | 急カーブ/急转弯 | +| 外貨 | がいか | 外币;外国货,进口货 | 名 | 外貨預金/外汇存款 | +| 改札 | かいさつ | 检票;检票口,检票员 | 名,自动3 | 改札口/检票口 | +| 回収 | かいしゅう | 回收,收回 | 名,他动3 | 資源ゴミを回収すろ/回收资源垃圾 | ### 第1单元 \ No newline at end of file diff --git a/docs/java/base/math/Math.md b/docs/java/base/math/Math.md index 145b4b8..2f1d173 100644 --- a/docs/java/base/math/Math.md +++ b/docs/java/base/math/Math.md @@ -14,20 +14,20 @@ System.out.println("PI 常量的值:" + Math.PI); ## 求最大值、最小值和绝对值 在程序中常见的就是求最大值、最小值和绝对值问题,如果使用 Math 类提供的方法可以很容易实现。 -方法 | 说明 -----|---- -static int abs(int a) | 返回 a 的绝对值 -static long abs(long a) | 返回 a 的绝对值 -static float abs(float a) | 返回 a 的绝对值 -static double abs(double a) | 返回 a 的绝对值 -static int max(int x,int y) | 返回 x 和 y 中的最大值 -static double max(double x,double y) | 返回 x 和 y 中的最大值 -static long max(long x,long y) | 返回 x 和 y 中的最大值 -static float max(float x,float y) | 返回 x 和 y 中的最大值 -static int min(int x,int y) | 返回 x 和 y 中的最小值 -static long min(long x,long y) | 返回 x 和 y 中的最小值 -static double min(double x,double y) | 返回 x 和 y 中的最小值 -static float min(float x,float y) | 返回 x 和 y 中的最小值 +| 方法 | 说明 | +|--------------------------------------|----------------| +| static int abs(int a) | 返回 a 的绝对值 | +| static long abs(long a) | 返回 a 的绝对值 | +| static float abs(float a) | 返回 a 的绝对值 | +| static double abs(double a) | 返回 a 的绝对值 | +| static int max(int x,int y) | 返回 x 和 y 中的最大值 | +| static double max(double x,double y) | 返回 x 和 y 中的最大值 | +| static long max(long x,long y) | 返回 x 和 y 中的最大值 | +| static float max(float x,float y) | 返回 x 和 y 中的最大值 | +| static int min(int x,int y) | 返回 x 和 y 中的最小值 | +| static long min(long x,long y) | 返回 x 和 y 中的最小值 | +| static double min(double x,double y) | 返回 x 和 y 中的最小值 | +| static float min(float x,float y) | 返回 x 和 y 中的最小值 | 求 10 和 20 的较大值、15.6 和 15 的较小值、-12 的绝对值,代码如下: ```java @@ -41,13 +41,13 @@ System.out.println("-12 的绝对值:" + Math.abs(-12)); ## 求整运算 -方法 | 说明 -----|---- -static double ceil(double a) | 返回大于或等于 a 的最小整数 -static double floor(double a) | 返回小于或等于 a 的最大整数 -static double rint(double a) | 返回最接近 a 的整数值,如果有两个同样接近的整数,则结果取偶数 -static int round(float a) | 将参数加上 1/2 后返回与参数最近的整数 -static long round(double a) | 将参数加上 1/2 后返回与参数最近的整数,然后强制转换为长整型 +| 方法 | 说明 | +|-------------------------------|----------------------------------| +| static double ceil(double a) | 返回大于或等于 a 的最小整数 | +| static double floor(double a) | 返回小于或等于 a 的最大整数 | +| static double rint(double a) | 返回最接近 a 的整数值,如果有两个同样接近的整数,则结果取偶数 | +| static int round(float a) | 将参数加上 1/2 后返回与参数最近的整数 | +| static long round(double a) | 将参数加上 1/2 后返回与参数最近的整数,然后强制转换为长整型 | ```java Scanner input = new Scanner(System.in); @@ -66,16 +66,16 @@ static long round(double a) | 将参数加上 1/2 后返回与参数最近的整 ``` ## 三角函数运算 -方法 | 说明 -----|---- -static double sin(double a) | 返回角的三角正弦值,参数以孤度为单位 -static double cos(double a) | 返回角的三角余弦值,参数以孤度为单位 -static double asin(double a) | 返回一个值的反正弦值,参数域在 [-1,1],值域在 [-PI/2,PI/2] -static double acos(double a) | 返回一个值的反余弦值,参数域在 [-1,1],值域在 [0.0,PI] -static double tan(double a) | 返回角的三角正切值,参数以弧度为单位 -static double atan(double a) | 返回一个值的反正切值,值域在 [-PI/2,PI/2] -static double toDegrees(double angrad) | 将用孤度表示的角转换为近似相等的用角度表示的角 -staticdouble toRadians(double angdeg) | 将用角度表示的角转换为近似相等的用弧度表示的角 +| 方法 | 说明 | +|----------------------------------------|-----------------------------------------| +| static double sin(double a) | 返回角的三角正弦值,参数以孤度为单位 | +| static double cos(double a) | 返回角的三角余弦值,参数以孤度为单位 | +| static double asin(double a) | 返回一个值的反正弦值,参数域在 [-1,1],值域在 [-PI/2,PI/2] | +| static double acos(double a) | 返回一个值的反余弦值,参数域在 [-1,1],值域在 [0.0,PI] | +| static double tan(double a) | 返回角的三角正切值,参数以弧度为单位 | +| static double atan(double a) | 返回一个值的反正切值,值域在 [-PI/2,PI/2] | +| static double toDegrees(double angrad) | 将用孤度表示的角转换为近似相等的用角度表示的角 | +| staticdouble toRadians(double angdeg) | 将用角度表示的角转换为近似相等的用弧度表示的角 | 每个方法的参数和返回值都是 double 类型,参数以弧度代替角度来实现,其中 1 度等于 π/180 弧度,因此平角就是 π 弧度。 @@ -95,14 +95,14 @@ staticdouble toRadians(double angdeg) | 将用角度表示的角转换为近似 即 Math.PI/180*90,故转换后的弧度为 Math.PI/2,然后调用 Math 类中的 sin() 方法计算其正弦值。 ## 指数运算 -方法 | 说明 -----|---- -static double exp(double a) | 返回 e 的 a 次幂 -static double pow(double a,double b) | 返回以 a 为底数,以 b 为指数的幂值 -static double sqrt(double a) | 返回 a 的平方根 -static double cbrt(double a) | 返回 a 的立方根 -static double log(double a) | 返回 a 的自然对数,即 lna 的值 -static double log10(double a) | 返回以 10 为底 a 的对数 +| 方法 | 说明 | +|--------------------------------------|----------------------| +| static double exp(double a) | 返回 e 的 a 次幂 | +| static double pow(double a,double b) | 返回以 a 为底数,以 b 为指数的幂值 | +| static double sqrt(double a) | 返回 a 的平方根 | +| static double cbrt(double a) | 返回 a 的立方根 | +| static double log(double a) | 返回 a 的自然对数,即 lna 的值 | +| static double log10(double a) | 返回以 10 为底 a 的对数 | ```java System.out.println("4 的立方值:" + Math.pow(4, 3)); diff --git a/docs/linux/soft/redis.md b/docs/linux/soft/redis.md index 405f58b..8975919 100644 --- a/docs/linux/soft/redis.md +++ b/docs/linux/soft/redis.md @@ -46,21 +46,21 @@ make PREFIX=/usr/local/redis install 这里列举下比较重要的配置项 -配置项名称 | 配置项值范围 | 说明 -----|----|---- -daemonize | yes、no | yes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行 -port | | 指定 Redis 监听端口,默认端口为 6379 -bind | | 绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可,这个属性和下面的protected-mode控制了是否可以远程访问 。 -protected-mode | yes 、no | 保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接rendis服务则需要将此属性改为no。 -timeout | 300 | 当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能 -loglevel | debug、verbose、notice、warning | 日志级别,默认为 notice -databases | 16 | 设置数据库的数量,默认的数据库是0。整个通过客户端工具可以看得到 -rdbcompression | yes、no | 指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大。 -dbfilename | dump.rdb | 指定本地数据库文件名,默认值为 dump.rdb -dir | | 指定本地数据库存放目录 -requirepass | | 设置 Redis 连接密码,如果配置了连接密码,客户端在连接 Redis 时需要通过 AUTH 命令提供密码,默认关闭 -maxclients | 0 | 设置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息。 -maxmemory | XXX | 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区。配置项值范围列里XXX为数值。 +| 配置项名称 | 配置项值范围 | 说明 | +|----------------|------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| daemonize | yes、no | yes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行 | +| port | | 指定 Redis 监听端口,默认端口为 6379 | +| bind | | 绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可,这个属性和下面的protected-mode控制了是否可以远程访问 。 | +| protected-mode | yes 、no | 保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接rendis服务则需要将此属性改为no。 | +| timeout | 300 | 当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能 | +| loglevel | debug、verbose、notice、warning | 日志级别,默认为 notice | +| databases | 16 | 设置数据库的数量,默认的数据库是0。整个通过客户端工具可以看得到 | +| rdbcompression | yes、no | 指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大。 | +| dbfilename | dump.rdb | 指定本地数据库文件名,默认值为 dump.rdb | +| dir | | 指定本地数据库存放目录 | +| requirepass | | 设置 Redis 连接密码,如果配置了连接密码,客户端在连接 Redis 时需要通过 AUTH 命令提供密码,默认关闭 | +| maxclients | 0 | 设置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息。 | +| maxmemory | XXX | 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区。配置项值范围列里XXX为数值。 | 这里我要将daemonize改为yes,不然我每次启动都得在redis-server命令后面加符号&,不这样操作则只要回到Linux控制台则redis服务会自动关闭,同时也将bind注释,将protected-mode设置为no。 这样启动后我就可以在外网访问了。 diff --git a/docs/springBootDemo/basic/Converter.md b/docs/springBootDemo/basic/Converter.md index 8a58c0a..bd2b07e 100644 --- a/docs/springBootDemo/basic/Converter.md +++ b/docs/springBootDemo/basic/Converter.md @@ -6,38 +6,38 @@ 1. 标量转换器 -名称 | 作用 -----|---- -StringToBooleanConverter | String 到 boolean 类型转换 -ObjectToStringConverter | Object 到 String 转换,调用 toString 方法转换 -StringToNumberConverterFactory | String 到数字转换(例如 Integer、Long 等) -NumberToNumberConverterFactory | 数字子类型(基本类型)到数字类型(包装类型)转换 -StringToCharacterConverter | String 到 Character 转换,取字符串中的第一个字符 -NumberToCharacterConverter | 数字子类型到 Character 转换 -CharacterToNumberFactory | Character 到数字子类型转换 -StringToEnumConverterFactory | String 到枚举类型转换,通过 Enum.valueOf 将字符串转换为需要的枚举类型 -EnumToStringConverter | 枚举类型到 String 转换,返回枚举对象的 name 值 -StringToLocaleConverter | String 到 java.util.Locale 转换 -PropertiesToStringConverter | java.util.Properties 到 String 转换,默认通过 ISO-8859-1 解码 -StringToPropertiesConverter | String 到 java.util.Properties 转换,默认使用 ISO-8859-1 编码 +| 名称 | 作用 | +|--------------------------------|-----------------------------------------------------| +| StringToBooleanConverter | String 到 boolean 类型转换 | +| ObjectToStringConverter | Object 到 String 转换,调用 toString 方法转换 | +| StringToNumberConverterFactory | String 到数字转换(例如 Integer、Long 等) | +| NumberToNumberConverterFactory | 数字子类型(基本类型)到数字类型(包装类型)转换 | +| StringToCharacterConverter | String 到 Character 转换,取字符串中的第一个字符 | +| NumberToCharacterConverter | 数字子类型到 Character 转换 | +| CharacterToNumberFactory | Character 到数字子类型转换 | +| StringToEnumConverterFactory | String 到枚举类型转换,通过 Enum.valueOf 将字符串转换为需要的枚举类型 | +| EnumToStringConverter | 枚举类型到 String 转换,返回枚举对象的 name 值 | +| StringToLocaleConverter | String 到 java.util.Locale 转换 | +| PropertiesToStringConverter | java.util.Properties 到 String 转换,默认通过 ISO-8859-1 解码 | +| StringToPropertiesConverter | String 到 java.util.Properties 转换,默认使用 ISO-8859-1 编码 | 2. 集合、数组相关转换器 -名称 | 作用 -----|---- -ArrayToCollectionConverter | 任意数组到任意集合(List、Set)转换 -CollectionToArrayConverter | 任意集合到任意数组转换 -ArrayToArrayConverter | 任意数组到任意数组转换 -CollectionToCollectionConverter | 集合之间的类型转换 -MapToMapConverter | Map之间的类型转换 -ArrayToStringConverter | 任意数组到 String 转换 -StringToArrayConverter | 字符串到数组的转换,默认通过“,”分割,且去除字符串两边的空格(trim) -ArrayToObjectConverter | 任意数组到 Object 的转换,如果目标类型和源类型兼容,直接返回源对象;否则返回数组的第一个元素并进行类型转换 -ObjectToArrayConverter | Object 到单元素数组转换 -CollectionToStringConverter | 任意集合(List、Set)到 String 转换 -StringToCollectionConverter | String 到集合(List、Set)转换,默认通过“,”分割,且去除字符串两边的空格(trim) -CollectionToObjectConverter | 任意集合到任意 Object 的转换,如果目标类型和源类型兼容,直接返回源对象;否则返回集合的第一个元素并进行类型转换 -ObjectToCollectionConverter | Object 到单元素集合的类型转换 +| 名称 | 作用 | +|---------------------------------|--------------------------------------------------------------| +| ArrayToCollectionConverter | 任意数组到任意集合(List、Set)转换 | +| CollectionToArrayConverter | 任意集合到任意数组转换 | +| ArrayToArrayConverter | 任意数组到任意数组转换 | +| CollectionToCollectionConverter | 集合之间的类型转换 | +| MapToMapConverter | Map之间的类型转换 | +| ArrayToStringConverter | 任意数组到 String 转换 | +| StringToArrayConverter | 字符串到数组的转换,默认通过“,”分割,且去除字符串两边的空格(trim) | +| ArrayToObjectConverter | 任意数组到 Object 的转换,如果目标类型和源类型兼容,直接返回源对象;否则返回数组的第一个元素并进行类型转换 | +| ObjectToArrayConverter | Object 到单元素数组转换 | +| CollectionToStringConverter | 任意集合(List、Set)到 String 转换 | +| StringToCollectionConverter | String 到集合(List、Set)转换,默认通过“,”分割,且去除字符串两边的空格(trim) | +| CollectionToObjectConverter | 任意集合到任意 Object 的转换,如果目标类型和源类型兼容,直接返回源对象;否则返回集合的第一个元素并进行类型转换 | +| ObjectToCollectionConverter | Object 到单元素集合的类型转换 | ## 自定义类型转换器 diff --git a/docs/springBootDemo/basic/Eclipse.md b/docs/springBootDemo/basic/Eclipse.md index 9166769..9e98b92 100644 --- a/docs/springBootDemo/basic/Eclipse.md +++ b/docs/springBootDemo/basic/Eclipse.md @@ -4,56 +4,56 @@ ### 常用默认快捷键 -快捷键 | 描述 -----|---- -Ctrl+1 | 快速修复(最经典的快捷键,可以解决很多问题,比如 import 类、try catch 包围等) -Ctrl+Shift+F | 格式化当前代码 -Ctrl+Shift+M | 添加类的 import 导入 -Ctrl+Shift+O | 组织类的 import 导入(既有 Ctrl+Shift+M 的作用,又可以去除没用的导入,一般用这个导入包) -Ctrl+Y | 重做(与撤销 Ctrl+Z 相反) -Alt+/ | 内容辅助(用户编辑的好帮手,省了很多次键盘敲打,太常用了) -Ctrl+D | 删除当前行或者多行(不用为删除一行而按那么多次的删除键) -Alt+↓ | 当前行和下面一行交互位置 -Alt+↑ | 当前行和上面一行交互位置 -Ctrl+Alt+↓ | 复制当前行到下一行 -Ctrl+Alt+↑ | 复制当前行到上一行 -ctrl+shift+x | 转为大写 -ctrl+shift+y | 转为小写 -Shift+Enter | 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后) -Ctrl+/ | 注释当前行,再按则取消注释 -Alt+Shift+↑ | 选择封装元素 -Alt+Shift+← | 选择上一个元素 -Alt+Shift+→ | 选择下一个元素 -Shift+← | 从光标处开始往左选择字符 -Shift+→ | 从光标处开始往右选择字符 -Ctrl+Shift+← | 选中光标左边的单词 -Ctrl+Shift+→ | 选中光标右边的单词 -Ctrl+← | 光标移到左边单词的开头,相当于 vim 的 b -Ctrl+→ | 光标移到右边单词的末尾,相当于 vim 的 e -Ctrl+K | 参照选中的 Word 快速定位到下一个(如果没有选中 word,则搜索上一次使用搜索的 word) -Ctrl+Shift+K | 参照选中的 Word 快速定位到上一个 -Ctrl+J | 正向增量查找(按下 Ctrl+J 后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在状态栏中显示没有找到了,查一个单词时,特别实用,要退出这个模式,按 escape 键) -Ctrl+Shift+J | 反向增量查找(和上条相同,只不过是从后往前查) -Ctrl+Shift+U | 列出所有包含字符串的行 -Ctrl+H | 打开搜索对话框 -Ctrl+G | 工作区中的声明 -Ctrl+L | 跳转到某行 -Ctrl+Shift+G | 工作区中的引用 -debug-F5 | 单步跳入 -debug-F6 | 单步跳过 -debug-F7 | 单步返回 -debug-F8 | 继续 -debug-Ctrl+Shift+D | 显示变量的值 -debug-Ctrl+Shift+B | 在当前行设置或者去掉断点 -debug-Ctrl+R | 运行至行(超好用,可以节省好多的断点) -Alt+Shift+R | 重命名方法名、属性或者变量名 (尤其是变量和类的 Rename,比手工方法能节省很多劳动力) -Alt+Shift+M | 把一段函数内的代码抽取成方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用) -Alt+Shift+C | 修改函数结构(比较实用,有 N 个函数调用了这个方法,修改一次搞定) -Alt+Shift+L | 抽取本地变量(可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候) -Alt+Shift+F | 把 Class 中的 local 变量变为 field 变量 (比较实用的功能) -Alt+Shift+I | 合并变量 -Alt+Shift+V | 移动函数和变量(不常用) -Alt+Shift+Z | 撤销(重构的后悔药) +| 快捷键 | 描述 | +|--------------------|--------------------------------------------------------------------------------------------------| +| Ctrl+1 | 快速修复(最经典的快捷键,可以解决很多问题,比如 import 类、try catch 包围等) | +| Ctrl+Shift+F | 格式化当前代码 | +| Ctrl+Shift+M | 添加类的 import 导入 | +| Ctrl+Shift+O | 组织类的 import 导入(既有 Ctrl+Shift+M 的作用,又可以去除没用的导入,一般用这个导入包) | +| Ctrl+Y | 重做(与撤销 Ctrl+Z 相反) | +| Alt+/ | 内容辅助(用户编辑的好帮手,省了很多次键盘敲打,太常用了) | +| Ctrl+D | 删除当前行或者多行(不用为删除一行而按那么多次的删除键) | +| Alt+↓ | 当前行和下面一行交互位置 | +| Alt+↑ | 当前行和上面一行交互位置 | +| Ctrl+Alt+↓ | 复制当前行到下一行 | +| Ctrl+Alt+↑ | 复制当前行到上一行 | +| ctrl+shift+x | 转为大写 | +| ctrl+shift+y | 转为小写 | +| Shift+Enter | 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后) | +| Ctrl+/ | 注释当前行,再按则取消注释 | +| Alt+Shift+↑ | 选择封装元素 | +| Alt+Shift+← | 选择上一个元素 | +| Alt+Shift+→ | 选择下一个元素 | +| Shift+← | 从光标处开始往左选择字符 | +| Shift+→ | 从光标处开始往右选择字符 | +| Ctrl+Shift+← | 选中光标左边的单词 | +| Ctrl+Shift+→ | 选中光标右边的单词 | +| Ctrl+← | 光标移到左边单词的开头,相当于 vim 的 b | +| Ctrl+→ | 光标移到右边单词的末尾,相当于 vim 的 e | +| Ctrl+K | 参照选中的 Word 快速定位到下一个(如果没有选中 word,则搜索上一次使用搜索的 word) | +| Ctrl+Shift+K | 参照选中的 Word 快速定位到上一个 | +| Ctrl+J | 正向增量查找(按下 Ctrl+J 后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在状态栏中显示没有找到了,查一个单词时,特别实用,要退出这个模式,按 escape 键) | +| Ctrl+Shift+J | 反向增量查找(和上条相同,只不过是从后往前查) | +| Ctrl+Shift+U | 列出所有包含字符串的行 | +| Ctrl+H | 打开搜索对话框 | +| Ctrl+G | 工作区中的声明 | +| Ctrl+L | 跳转到某行 | +| Ctrl+Shift+G | 工作区中的引用 | +| debug-F5 | 单步跳入 | +| debug-F6 | 单步跳过 | +| debug-F7 | 单步返回 | +| debug-F8 | 继续 | +| debug-Ctrl+Shift+D | 显示变量的值 | +| debug-Ctrl+Shift+B | 在当前行设置或者去掉断点 | +| debug-Ctrl+R | 运行至行(超好用,可以节省好多的断点) | +| Alt+Shift+R | 重命名方法名、属性或者变量名 (尤其是变量和类的 Rename,比手工方法能节省很多劳动力) | +| Alt+Shift+M | 把一段函数内的代码抽取成方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用) | +| Alt+Shift+C | 修改函数结构(比较实用,有 N 个函数调用了这个方法,修改一次搞定) | +| Alt+Shift+L | 抽取本地变量(可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候) | +| Alt+Shift+F | 把 Class 中的 local 变量变为 field 变量 (比较实用的功能) | +| Alt+Shift+I | 合并变量 | +| Alt+Shift+V | 移动函数和变量(不常用) | +| Alt+Shift+Z | 撤销(重构的后悔药) | ### 自动提示 Window > Preferences > Java > Editor > Content Assist diff --git a/docs/springBootDemo/basic/IDEA.md b/docs/springBootDemo/basic/IDEA.md index accc74a..dabacb8 100644 --- a/docs/springBootDemo/basic/IDEA.md +++ b/docs/springBootDemo/basic/IDEA.md @@ -4,24 +4,24 @@ ### 常用默认快捷键 -快捷键 | 描述 -----|---- -alt+f7 | 查找方法在哪里调用.变量在哪里被使用 -ctrl+shift+f | 全局搜索 -ctrl+shift+f | 全局替換 -ctrl+f | 当前文件搜索 -ctrl+f | 当前文件替換 -alt+insert | 生成getter,setter,tostring等 -ctrl+d | 复制当前行到下一行 -ctrl+alt+l | 代码格式化 -ctrl+alt+o | 格式化import引用 -alt+enter | 提示可能的操作 -ctrl+g | 跳转到指定行 -ctrl+shift+i | 查看方法定义 -Ctrl+y | 删除当前行 -Ctrl+F6 | 重构函数 -Shift+F6 | 重命名 -ctrl+shift+u | 切换大小写 +| 快捷键 | 描述 | +|--------------|---------------------------| +| alt+f7 | 查找方法在哪里调用.变量在哪里被使用 | +| ctrl+shift+f | 全局搜索 | +| ctrl+shift+f | 全局替換 | +| ctrl+f | 当前文件搜索 | +| ctrl+f | 当前文件替換 | +| alt+insert | 生成getter,setter,tostring等 | +| ctrl+d | 复制当前行到下一行 | +| ctrl+alt+l | 代码格式化 | +| ctrl+alt+o | 格式化import引用 | +| alt+enter | 提示可能的操作 | +| ctrl+g | 跳转到指定行 | +| ctrl+shift+i | 查看方法定义 | +| Ctrl+y | 删除当前行 | +| Ctrl+F6 | 重构函数 | +| Shift+F6 | 重命名 | +| ctrl+shift+u | 切换大小写 | ### 配置IDEA运行内存 diff --git a/docs/springBootDemo/basic/Spel.md b/docs/springBootDemo/basic/Spel.md index 0bf4a23..5add81f 100644 --- a/docs/springBootDemo/basic/Spel.md +++ b/docs/springBootDemo/basic/Spel.md @@ -30,49 +30,49 @@ SpringEL基础语法格式为#{...}或者${...}。其中以$开头的被称为 ### SpringEL支持的操作符如下 -语法 | 说明 | 示例 -----|----|---- -字面量 | 使用单引号或者通过转义双引号。 | “null”, " “jack” " -集合 (properties,lists,maps,arrays) | 像list,map,array等集合可以调用其方法 | “list.get(0)” -索引器 | 使用符号[]可以访问其成员 | “list[0]” -内部初始化(inner lists/maps) | 格式:{value}或{key:value},成员以逗号分隔 | " {0,1,2,3,4} “或” {0:name,1:age,3:gender} " -数组构造器(new 操作符) | 直接在表达式中,可初始化并分配数组 | " new int[3] ";支持所有的数组初始化语法 -比较操作符 | 可使用比如>,<,=等等的比较运算符 | “3<5” -逻辑操作符 | 表达式中的逻辑操作符,使用and,or和not | " ‘a’ =.= ‘a’ or ‘b’ =.=‘c’ " -算术操作符 | 表达式支持的有+,-,*,/,%,^(平方)等等 | " 5+3+2*10 " -instanceof操作符 | " obj instanceof Type ",返回Boolean类型 | “‘jack’ instanceof T(java.lang.String)” -matches操作符 | 正则匹配,支持大部分的匹配符 | " str matches ‘regex expression’ " -类型引用操作符 T() | 可以引用具体的类java.lang包中的引用不需全类名,反之使用. | " T(Math).random() " -new操作符 | 使用new操作符可实例化对象,但应使用全类名 | " new java.util.ArrayLis() " -变量引用操作符# | 与求值上下文有关,内置的有#this和#root | " #var " -bean引用操作符@ | 可引用容器中注册的bean,依据beanName | " @beanName " -三元操作符 ?: | 类似于java的三元操作符 | " 1+1 == 2 ? ‘y’:‘n’ " -安全导航操作符? | 考虑空值异常的情况,若使用?操作符,遇到此异常时,不抛出,而是返回null. | " list?.get(12) " +| 语法 | 说明 | 示例 | +|------------------------------------|----------------------------------------|---------------------------------------------| +| 字面量 | 使用单引号或者通过转义双引号。 | “null”, " “jack” " | +| 集合 (properties,lists,maps,arrays) | 像list,map,array等集合可以调用其方法 | “list.get(0)” | +| 索引器 | 使用符号[]可以访问其成员 | “list[0]” | +| 内部初始化(inner lists/maps) | 格式:{value}或{key:value},成员以逗号分隔 | " {0,1,2,3,4} “或” {0:name,1:age,3:gender} " | +| 数组构造器(new 操作符) | 直接在表达式中,可初始化并分配数组 | " new int[3] ";支持所有的数组初始化语法 | +| 比较操作符 | 可使用比如>,<,=等等的比较运算符 | “3<5” | +| 逻辑操作符 | 表达式中的逻辑操作符,使用and,or和not | " ‘a’ =.= ‘a’ or ‘b’ =.=‘c’ " | +| 算术操作符 | 表达式支持的有+,-,*,/,%,^(平方)等等 | " 5+3+2*10 " | +| instanceof操作符 | " obj instanceof Type ",返回Boolean类型 | “‘jack’ instanceof T(java.lang.String)” | +| matches操作符 | 正则匹配,支持大部分的匹配符 | " str matches ‘regex expression’ " | +| 类型引用操作符 T() | 可以引用具体的类java.lang包中的引用不需全类名,反之使用. | " T(Math).random() " | +| new操作符 | 使用new操作符可实例化对象,但应使用全类名 | " new java.util.ArrayLis() " | +| 变量引用操作符# | 与求值上下文有关,内置的有#this和#root | " #var " | +| bean引用操作符@ | 可引用容器中注册的bean,依据beanName | " @beanName " | +| 三元操作符 ?: | 类似于java的三元操作符 | " 1+1 == 2 ? ‘y’:‘n’ " | +| 安全导航操作符? | 考虑空值异常的情况,若使用?操作符,遇到此异常时,不抛出,而是返回null. | " list?.get(12) " | ### 关系表达式 -序号 | 符号 | 示例 -----|----|---- -1 | 等于 | 1 EQ 2, 1 == 2 -2 | 不等于 | 1 NE 2, 1 != 2 -3 | 大于 | 1 GT 2, 10 > 2 -4 | 大于等于 | 1 GE 2, 10 >= 2 -5 | 小于 | 1 LT 2, 10 < 2 -6 | 小于等于 | 1 LE 2, 10 <= 2 +| 序号 | 符号 | 示例 | +|----|------|-----------------| +| 1 | 等于 | 1 EQ 2, 1 == 2 | +| 2 | 不等于 | 1 NE 2, 1 != 2 | +| 3 | 大于 | 1 GT 2, 10 > 2 | +| 4 | 大于等于 | 1 GE 2, 10 >= 2 | +| 5 | 小于 | 1 LT 2, 10 < 2 | +| 6 | 小于等于 | 1 LE 2, 10 <= 2 | ### 逻辑表达式 -序号 | 符号 | 示例 -----|----|---- -1 | 与(且) ,AND( && ) | true && false, true and false -2 | 或,or(||) | true || false, true or false -3 | 非,not(!) | not true, ! true +| 序号 | 符号 | 示例 | +|----|--------------------|----------------------------------------| +| 1 | 与(且) ,AND( && ) | true && false, true and false | +| 2 | 或,or(||) | true || false, true or false | +| 3 | 非,not(!) | not true, ! true | ### 集合过滤 -序号 | 表达式 | 说明 -----|----|---- -1 | ?[expression] | 选择符合条件的元素 -2 | ^ [expression] | 选择符合条件的第一个元素 -3 | $[expression] | 选择符合条件的最后一个元素 -4 | ![expression] | 可对集合中的元素挨个进行处理 +| 序号 | 表达式 | 说明 | +|----|----------------|----------------| +| 1 | ?[expression] | 选择符合条件的元素 | +| 2 | ^ [expression] | 选择符合条件的第一个元素 | +| 3 | $[expression] | 选择符合条件的最后一个元素 | +| 4 | ![expression] | 可对集合中的元素挨个进行处理 | ```java // 集合 diff --git a/docs/springBootDemo/imploded/Swagger2.md b/docs/springBootDemo/imploded/Swagger2.md index afddaa3..a3b8066 100644 --- a/docs/springBootDemo/imploded/Swagger2.md +++ b/docs/springBootDemo/imploded/Swagger2.md @@ -9,13 +9,13 @@ 下面对比下传统URL请求和RESTful风格请求的区别: -描述 | 传统请求 | 方法 | RESTful请求 | 方法 -----|----|----|----|---- -查询 | /user/query?name=mrbird | GET | /user?name=mrbird | GET -详情 | /user/getInfo?id=1 | GET | /user/1 | GET -创建 | /user/create?name=mrbird | GET | /user | POST -修改 | /user/update?name=mrbird&id=1 | GET | /user | PUT -删除 | /user/delete?id=1 | GET | /user | DELETE +| 描述 | 传统请求 | 方法 | RESTful请求 | 方法 | +|----|-------------------------------|-----|-------------------|--------| +| 查询 | /user/query?name=mrbird | GET | /user?name=mrbird | GET | +| 详情 | /user/getInfo?id=1 | GET | /user/1 | GET | +| 创建 | /user/create?name=mrbird | GET | /user | POST | +| 修改 | /user/update?name=mrbird&id=1 | GET | /user | PUT | +| 删除 | /user/delete?id=1 | GET | /user | DELETE | 从上面这张表,我们大致可以总结下传统请求和RESTful请求的几个区别: diff --git a/docs/springBootDemo/imploded/Tomcat.md b/docs/springBootDemo/imploded/Tomcat.md index 8e0a504..b29448c 100644 --- a/docs/springBootDemo/imploded/Tomcat.md +++ b/docs/springBootDemo/imploded/Tomcat.md @@ -9,32 +9,32 @@ ``` ## 配置 -参数 | 介绍 -----|---- -server.tomcat.accept-count = 100 | 所有可能的请求处理线程正在使用时,传入连接请求的最大队列长度 -server.tomcat.accesslog.buffered = true | 缓冲区输出,使其只被定期刷新 -server.tomcat.accesslog.directory = logs | 创建日志文件的目录可以相对于tomcat base dir或absolute -server.tomcat.accesslog.enabled = false | 启用访问日志 -server.tomcat.accesslog.file-date-format = .yyyy-MM-dd | 要在日志文件名中放置的日期格式 -server.tomcat.accesslog.pattern = common | 访问日志的格式模式 -server.tomcat.accesslog.prefix = access_log | 日志文件名前缀 -server.tomcat.accesslog.rename-on-rotate = false | 将文件名中的日期戳延迟到旋转时间 -server.tomcat.accesslog.request-attributes-enabled = false | 设置请求的IP地址,主机名,协议和端口的请求属性 -server.tomcat.accesslog.rotate = true | 启用访问日志轮换 -server.tomcat.accesslog.suffix = .log | 日志文件名后缀 -server.tomcat.additional-tld-skip-patterns | 匹配要忽略TLD扫描的jar的附加模式的逗号分隔列表 -server.tomcat.background-processor-delay = 10s | 匹配要忽略TLD扫描的jar的附加模式的逗号分隔列表 -server.tomcat.basedir | Tomcat基本目录。如果未指定,将使用临时目录 -server.tomcat.max-connections = 8192 | 服务器在任何给定时间接受和处理的最大连接数 -server.tomcat.max-http-post-size = 2MB | HTTP帖子内容的最大大小 -server.tomcat.threads.max = 200 | 最大工作线程数 -server.tomcat.threads.min-spare = 10 | 最小工作线程数 -server.tomcat.port-header = X-Forwarded-Port | 用于覆盖原始端口值的HTTP头的名称 -server.tomcat.remoteip.protocol-header | 保存传入协议的头,通常命名为"X-Forwarded-Proto" -server.tomcat.remoteip.protocol-header-https-value = https | 指示传入请求使用SSL的协议头的值 -server.tomcat.redirect-context-root = true | 是否通过在路径上附加/重定向到上下文根的请求 -server.tomcat.remoteip.remote-ip-header | 从中提取远程ip的HTTP头的名称。例如X-FORWARDED-FOR -server.tomcat.uri-encoding = UTF-8 | 用于解码URI的字符编码 +| 参数 | 介绍 | +|----------------------------------------------------------------|----------------------------------------| +| server.tomcat.accept-count = 100 | 所有可能的请求处理线程正在使用时,传入连接请求的最大队列长度 | +| server.tomcat.accesslog.buffered = true | 缓冲区输出,使其只被定期刷新 | +| server.tomcat.accesslog.directory = logs | 创建日志文件的目录可以相对于tomcat base dir或absolute | +| server.tomcat.accesslog.enabled = false | 启用访问日志 | +| server.tomcat.accesslog.file-date-format = .yyyy-MM-dd | 要在日志文件名中放置的日期格式 | +| server.tomcat.accesslog.pattern = common | 访问日志的格式模式 | +| server.tomcat.accesslog.prefix = access_log | 日志文件名前缀 | +| server.tomcat.accesslog.rename-on-rotate = false | 将文件名中的日期戳延迟到旋转时间 | +| server.tomcat.accesslog.request-attributes-enabled = false | 设置请求的IP地址,主机名,协议和端口的请求属性 | +| server.tomcat.accesslog.rotate = true | 启用访问日志轮换 | +| server.tomcat.accesslog.suffix = .log | 日志文件名后缀 | +| server.tomcat.additional-tld-skip-patterns | 匹配要忽略TLD扫描的jar的附加模式的逗号分隔列表 | +| server.tomcat.background-processor-delay = 10s | 匹配要忽略TLD扫描的jar的附加模式的逗号分隔列表 | +| server.tomcat.basedir | Tomcat基本目录。如果未指定,将使用临时目录 | +| server.tomcat.max-connections = 8192 | 服务器在任何给定时间接受和处理的最大连接数 | +| server.tomcat.max-http-post-size = 2MB | HTTP帖子内容的最大大小 | +| server.tomcat.threads.max = 200 | 最大工作线程数 | +| server.tomcat.threads.min-spare = 10 | 最小工作线程数 | +| server.tomcat.port-header = X-Forwarded-Port | 用于覆盖原始端口值的HTTP头的名称 | +| server.tomcat.remoteip.protocol-header | 保存传入协议的头,通常命名为"X-Forwarded-Proto" | +| server.tomcat.remoteip.protocol-header-https-value = https | 指示传入请求使用SSL的协议头的值 | +| server.tomcat.redirect-context-root = true | 是否通过在路径上附加/重定向到上下文根的请求 | +| server.tomcat.remoteip.remote-ip-header | 从中提取远程ip的HTTP头的名称。例如X-FORWARDED-FOR | +| server.tomcat.uri-encoding = UTF-8 | 用于解码URI的字符编码 | 参数配置建议 * server.tomcat.accept-count: 队列做缓冲池用,但也不能无限长,消耗内存,出队入队也耗CPU,生产环境建议1000,触发的请求超过(最大工作线程数+等待队列长度)后拒绝处理 diff --git a/docs/springBootDemo/imploded/Validator.md b/docs/springBootDemo/imploded/Validator.md index 9495ca4..f5729ad 100644 --- a/docs/springBootDemo/imploded/Validator.md +++ b/docs/springBootDemo/imploded/Validator.md @@ -13,28 +13,28 @@ ## 校验注解 -注解 | 描述 -----|---- -@Null | 限制只能为null -@NotNull | 限制必须不为null -@AssertFalse | 限制必须为false -@AssertTrue | 限制必须为true -@DecimalMax(value) | 限制必须为一个不大于指定值的数字 -@DecimalMin(value) | 限制必须为一个不小于指定值的数字 -@Digits(integer,fraction) | 限制必须为一个小数,且整数部分的位数不能超过integer, 小数部分的位数不能超过fraction -@Future | 限制必须是一个将来的日期 -@Past | 限制必须是一个过去的日期 -@Max(value) | 限制必须为一个不大于指定值的数字 -@Min(value) | 限制必须为一个不小于指定值的数字 -@Past | 限制必须是一个过去的日期 -@Pattern(value) | 限制必须符合指定的正则表达式 -@Size(max,min) | 限制字符长度必须在min到max之间 -@SafeHtml | 字符串是安全的html -@URL | 字符串是合法的URL -@NotBlank | 字符串必须有字符 -@NotEmpty | 字符串不为NULL,集合有字符 -@AssertFalse | 必须是false -@AssertTrue | 必须是true +| 注解 | 描述 | +|---------------------------|----------------------------------------------------| +| @Null | 限制只能为null | +| @NotNull | 限制必须不为null | +| @AssertFalse | 限制必须为false | +| @AssertTrue | 限制必须为true | +| @DecimalMax(value) | 限制必须为一个不大于指定值的数字 | +| @DecimalMin(value) | 限制必须为一个不小于指定值的数字 | +| @Digits(integer,fraction) | 限制必须为一个小数,且整数部分的位数不能超过integer, 小数部分的位数不能超过fraction | +| @Future | 限制必须是一个将来的日期 | +| @Past | 限制必须是一个过去的日期 | +| @Max(value) | 限制必须为一个不大于指定值的数字 | +| @Min(value) | 限制必须为一个不小于指定值的数字 | +| @Past | 限制必须是一个过去的日期 | +| @Pattern(value) | 限制必须符合指定的正则表达式 | +| @Size(max,min) | 限制字符长度必须在min到max之间 | +| @SafeHtml | 字符串是安全的html | +| @URL | 字符串是合法的URL | +| @NotBlank | 字符串必须有字符 | +| @NotEmpty | 字符串不为NULL,集合有字符 | +| @AssertFalse | 必须是false | +| @AssertTrue | 必须是true | ## 示例 diff --git a/docs/springBootDemo/imploded/restTemplate.md b/docs/springBootDemo/imploded/restTemplate.md index 26abfd0..d3496b5 100644 --- a/docs/springBootDemo/imploded/restTemplate.md +++ b/docs/springBootDemo/imploded/restTemplate.md @@ -16,19 +16,19 @@ RestTemplate能大幅简化了提交表单数据的难度,并且附带了自 该类的入口主要是根据HTTP的六个方法制定: -HTTP method | RestTemplate methods -----|---- -DELETE | delete -GET | getForObject -GET | getForEntity -HEAD | headForHeaders -OPTIONS | optionsForAllow -POST | postForLocation -POST | postForObject -POST | postForEntity -PUT | put -any | exchange -any | execute +| HTTP method | RestTemplate methods | +|-------------|----------------------| +| DELETE | delete | +| GET | getForObject | +| GET | getForEntity | +| HEAD | headForHeaders | +| OPTIONS | optionsForAllow | +| POST | postForLocation | +| POST | postForObject | +| POST | postForEntity | +| PUT | put | +| any | exchange | +| any | execute | ## 配置 需要配置后才可以使用RestTemplate