From 127f7559fbfd8392e73f659c12850081036a192e Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Sat, 22 Sep 2018 15:06:41 +0800 Subject: [PATCH 1/3] auto commit --- notes/Java 容器.md | 2 +- notes/Leetcode 题解.md | 8 ++++---- notes/分布式.md | 1 - notes/攻击技术.md | 2 +- notes/计算机操作系统.md | 2 +- notes/集群.md | 5 ----- pics/VP6n3i8W48Ptde8NQ9_0eSR5eOD6uqx.png | Bin 0 -> 21504 bytes 7 files changed, 7 insertions(+), 13 deletions(-) create mode 100644 pics/VP6n3i8W48Ptde8NQ9_0eSR5eOD6uqx.png diff --git a/notes/Java 容器.md b/notes/Java 容器.md index e42a42f0..3a7343f9 100644 --- a/notes/Java 容器.md +++ b/notes/Java 容器.md @@ -25,7 +25,7 @@ ## Collection -

+

### 1. Set diff --git a/notes/Leetcode 题解.md b/notes/Leetcode 题解.md index e128e1d3..def70c60 100644 --- a/notes/Leetcode 题解.md +++ b/notes/Leetcode 题解.md @@ -2415,7 +2415,8 @@ public int climbStairs(int n) { 定义 dp 数组用来存储最大的抢劫量,其中 dp[i] 表示抢到第 i 个住户时的最大抢劫量。 由于不能抢劫邻近住户,因此如果抢劫了第 i 个住户那么只能抢劫 i - 2 或者 i - 3 的住户,所以 -dp[i] = max(dp[i-1], dp[i-2] + nums[i])
+ +

```java public int rob(int[] nums) { @@ -2427,7 +2428,6 @@ public int rob(int[] nums) { } return pre1; } - ``` **强盗在环形街区抢劫** @@ -2505,9 +2505,9 @@ public int minPathSum(int[][] grid) { for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { if (i == 0) { - if (j>0) dp[j] = dp[j - 1]; + dp[j] = dp[j - 1]; } else { - if (j>0) dp[j] = Math.min(dp[j - 1], dp[j]); + dp[j] = Math.min(dp[j - 1], dp[j]); } dp[j] += grid[i][j]; } diff --git a/notes/分布式.md b/notes/分布式.md index d2b2f974..2adba608 100644 --- a/notes/分布式.md +++ b/notes/分布式.md @@ -335,5 +335,4 @@ Raft 也是分布式一致性协议,主要是用来竞选主节点。 - [What is CAP theorem in distributed database system?](http://www.colooshiki.com/index.php/2017/04/20/what-is-cap-theorem-in-distributed-database-system/) - [NEAT ALGORITHMS - PAXOS](http://harry.me/blog/2014/12/27/neat-algorithms-paxos/) - [Paxos By Example](https://angus.nyc/2012/paxos-by-example/) -- [ACID](https://en.wikipedia.org/wiki/ACID_(computer_science)) diff --git a/notes/攻击技术.md b/notes/攻击技术.md index 31eeaaa4..115456cb 100644 --- a/notes/攻击技术.md +++ b/notes/攻击技术.md @@ -111,7 +111,7 @@ http://www.examplebank.com/withdraw?account=AccoutName&amount=1000&for=PayeeName 这种恶意的网址可以有很多种形式,藏身于网页中的许多地方。此外,攻击者也不需要控制放置恶意网址的网站。例如他可以将这种地址藏在论坛,博客等任何用户生成内容的网站中。这意味着如果服务器端没有合适的防御措施的话,用户即使访问熟悉的可信网站也有受攻击的危险。 -透过例子能够看出,攻击者并不能通过 CSRF 攻击来直接获取用户的账户控制权,也不能直接窃取用户的任何信息。他们能做到的,是欺骗用户浏览器,让其以用户的名义执行操作。 +通过例子能够看出,攻击者并不能通过 CSRF 攻击来直接获取用户的账户控制权,也不能直接窃取用户的任何信息。他们能做到的,是欺骗用户浏览器,让其以用户的名义执行操作。 ## 防范手段 diff --git a/notes/计算机操作系统.md b/notes/计算机操作系统.md index c0c4364e..00d26160 100644 --- a/notes/计算机操作系统.md +++ b/notes/计算机操作系统.md @@ -879,7 +879,7 @@ FIFO 常用于客户-服务器应用程序中,FIFO 用作汇聚点,在客户 虽然无法知道将来要使用的页面情况,但是可以知道过去使用页面的情况。LRU 将最近最久未使用的页面换出。 -为了实现 LRU,需要在内存中维护一个所有页面的链表。当一个页面被访问时,将这个页面移到链表表头。这样就能保证链表表尾的页面时最近最久未访问的。 +为了实现 LRU,需要在内存中维护一个所有页面的链表。当一个页面被访问时,将这个页面移到链表表头。这样就能保证链表表尾的页面是最近最久未访问的。 因为每次访问都需要更新链表,因此这种方式实现的 LRU 代价很高。 diff --git a/notes/集群.md b/notes/集群.md index 111495c3..cd2af078 100644 --- a/notes/集群.md +++ b/notes/集群.md @@ -116,11 +116,6 @@ HTTP 重定向负载均衡服务器使用某种负载均衡算法计算得到服 ### 3. 反向代理服务器 -首先了解一下正向代理与反向代理的区别: - -- 正向代理:发生在客户端,是由用户主动发起的。比如翻墙,客户端通过主动访问代理服务器,让代理服务器获得需要的外网数据,然后转发回客户端; -- 反向代理:发生在服务器端,用户不知道反向代理的存在。 - 反向代理服务器位于源服务器前面,用户的请求需要先经过反向代理服务器才能到达源服务器。反向代理可以用来进行缓存、日志记录等,同时也可以用来做为负载均衡服务器。 在这种负载均衡转发方式下,客户端不直接请求源服务器,因此源服务器不需要外部 IP 地址,而反向代理需要配置内部和外部两套 IP 地址。 diff --git a/pics/VP6n3i8W48Ptde8NQ9_0eSR5eOD6uqx.png b/pics/VP6n3i8W48Ptde8NQ9_0eSR5eOD6uqx.png new file mode 100644 index 0000000000000000000000000000000000000000..d2559cf3c8acb1656a802e9e155720145b96486a GIT binary patch literal 21504 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 Z3HBAIVYA@|hIH6ayGYCC%3sa@e*ppvRUQBU literal 0 HcmV?d00001 From b57f404cd400ae7de80d8c081db73943e2f90f81 Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Sat, 22 Sep 2018 15:46:59 +0800 Subject: [PATCH 2/3] auto commit --- notes/CyC 学习交流群 问题汇总.md | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 notes/CyC 学习交流群 问题汇总.md diff --git a/notes/CyC 学习交流群 问题汇总.md b/notes/CyC 学习交流群 问题汇总.md deleted file mode 100644 index 806d48d0..00000000 --- a/notes/CyC 学习交流群 问题汇总.md +++ /dev/null @@ -1,16 +0,0 @@ - -* [0. 进程内存空间中,堆和栈的区别](#0-进程内存空间中,堆和栈的区别) - - - -# 0. 进程内存空间中,堆和栈的区别 - -> C++ - -堆:动态、malloc()、new、链式分配、向上生长;栈:函数调用、编译器分配回收、向下生长。 - -https://www.cnblogs.com/sunziying/p/6510030.html - -By @CyC - ---- From 3ab4f89da6d560e3d641d09930eb8a16e053e870 Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Sat, 22 Sep 2018 20:35:51 +0800 Subject: [PATCH 3/3] auto commit --- notes/CyC 学习交流群 问题汇总.md | 16 ++++++++++++++++ notes/Leetcode 题解.md | 1 - notes/Redis.md | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 notes/CyC 学习交流群 问题汇总.md diff --git a/notes/CyC 学习交流群 问题汇总.md b/notes/CyC 学习交流群 问题汇总.md new file mode 100644 index 00000000..806d48d0 --- /dev/null +++ b/notes/CyC 学习交流群 问题汇总.md @@ -0,0 +1,16 @@ + +* [0. 进程内存空间中,堆和栈的区别](#0-进程内存空间中,堆和栈的区别) + + + +# 0. 进程内存空间中,堆和栈的区别 + +> C++ + +堆:动态、malloc()、new、链式分配、向上生长;栈:函数调用、编译器分配回收、向下生长。 + +https://www.cnblogs.com/sunziying/p/6510030.html + +By @CyC + +--- diff --git a/notes/Leetcode 题解.md b/notes/Leetcode 题解.md index def70c60..3e19a632 100644 --- a/notes/Leetcode 题解.md +++ b/notes/Leetcode 题解.md @@ -3086,7 +3086,6 @@ public int findTargetSumWays(int[] nums, int S) { int W = (sum + S) / 2; int[] dp = new int[W + 1]; dp[0] = 1; - Arrays.sort(nums); for (int num : nums) { for (int i = W; i >= num; i--) { dp[i] = dp[i] + dp[i - num]; diff --git a/notes/Redis.md b/notes/Redis.md index 58320dfa..fe34c7e7 100644 --- a/notes/Redis.md +++ b/notes/Redis.md @@ -355,7 +355,7 @@ List 是一个双向链表,可以通过 lpop 和 lpush 写入和读取消息 ## 会话缓存 -在分布式场景下具有多个应用服务器,可以使用 Redis 来统一存储这些应用服务器的会话信息。 +可以使用 Redis 来统一存储多台应用服务器的会话信息。 当应用服务器不再存储用户的会话信息,也就不再具有状态,一个用户可以请求任意一个应用服务器,从而更容易实现高可用性以及可伸缩性。