<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[八面玲珑]]></title><description><![CDATA[最近有点健忘，得多记下来]]></description><link>https://blog.youkuaiyun.com/vMars_K</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; vMars_K]]></copyright><item><title><![CDATA[Python------time库踩过的坑]]></title><link>https://blog.youkuaiyun.com/vMars_K/article/details/117705039</link><guid>https://blog.youkuaiyun.com/vMars_K/article/details/117705039</guid><author>vMars_K</author><pubDate>Tue, 08 Jun 2021 16:26:29 +0800</pubDate><description><![CDATA[1. 获取时间

一般来说获取一个时间戳是通过time.time()，这个是获取的是从epoch开始到现在的



	epoch是时间开始的点，并且取决于平台。对于Unix， epoch 是1970年1月1日00:00:00(UTC)。要找出给定平台上的 epoch ，请查看time.gmtime(0)。
	

...]]></description><category></category></item><item><title><![CDATA[C++基础------无符号数相减问题]]></title><link>https://blog.youkuaiyun.com/vMars_K/article/details/102978037</link><guid>https://blog.youkuaiyun.com/vMars_K/article/details/102978037</guid><author>vMars_K</author><pubDate>Sat, 09 Nov 2019 16:23:30 +0800</pubDate><description><![CDATA[C语言中 int 型是有符号的，但也存在 unsigned int 无符号类型的，他们之间的区别是什么呢？

假如我们用8位来表示这个 int，在有符号的情况下我们需要用头一位来作为符号位，以此记录其的正负，用剩下的7位来记录数值，所以此时 int 的取值范围是 -128~127


我们知道用7位的二进制最大值是127，那为什么有符号的 int 的取值范围可以到 -128 呢？

这是因为在计...]]></description><category></category></item><item><title><![CDATA[设计模式------单例模式(Singleton Pattern)]]></title><link>https://blog.youkuaiyun.com/vMars_K/article/details/102543922</link><guid>https://blog.youkuaiyun.com/vMars_K/article/details/102543922</guid><author>vMars_K</author><pubDate>Fri, 18 Oct 2019 10:45:46 +0800</pubDate><description><![CDATA[1. 什么是单例模式

单例模式一般涉及单一的一个类，该类负责创建自己的对象，同时确保某一个类只有一个实例，而且自行实例化并向整个系统提供这个实例，这个类被称为单例类，它提供全局访问的方法。

其类图如下：



通过类图我们可以发现几个注意的点：

构造器应为 private。因为单例模式就是为了让一个类仅有一个实例，所以需要防止外部创建类实例，仅通过静态方法调用。
	通过 public 的 g...]]></description><category></category></item><item><title><![CDATA[Java基础 Object类回顾------" == " 、equals()、hashCode() 之间的关系]]></title><link>https://blog.youkuaiyun.com/vMars_K/article/details/101431004</link><guid>https://blog.youkuaiyun.com/vMars_K/article/details/101431004</guid><author>vMars_K</author><pubDate>Sat, 28 Sep 2019 11:39:45 +0800</pubDate><description><![CDATA[在 Java 中 Object 类是所有类的父类，任何类都会默认继承 Object 类。


1." == "

它的作用是判断两个对象的内存地址是否相等。如果地址相同则判为同一个对象。

1.1. 对于基本数据类型类型

基本数据类型 == 比较的是值

1.2. 对于引用数据类型

引用数据类型 == 比较的是内存地址



2. equals()

2.1. 未重写



equals...]]></description><category></category></item><item><title><![CDATA[设计模式------反应器模式(Reactor Pattern)]]></title><link>https://blog.youkuaiyun.com/vMars_K/article/details/100848709</link><guid>https://blog.youkuaiyun.com/vMars_K/article/details/100848709</guid><author>vMars_K</author><pubDate>Sun, 15 Sep 2019 21:05:15 +0800</pubDate><description><![CDATA[目录

1. 简介

2. 为什么要使用该模式

3. Reactor 的结构

4. Reactor 模式的实现

4.1. 单线程Reactor 模式

4.2. 单线程 Reactor 模式 + 线程池

4.3 多线程的 Reactor 模式

5. 参考

1. 简介


Reactor模式(反应器模式)是一种处理一个或多个客户端并发交付服务请求的事件设计模式。（百度百科）

Rea...]]></description><category></category></item><item><title><![CDATA[设计模式------代理模式(Proxy Pattern)]]></title><link>https://blog.youkuaiyun.com/vMars_K/article/details/100575254</link><guid>https://blog.youkuaiyun.com/vMars_K/article/details/100575254</guid><author>vMars_K</author><pubDate>Fri, 06 Sep 2019 23:43:36 +0800</pubDate><description><![CDATA[1. 什么是代理模式

代理模式指给某个类对象（被代理者）提供一个代理对象（代理者），并且代理类中会保存一个被代理者的引用，这样只要让代理者与被代理者实现相同的接口，代理类就可以代替被代理类了。举个例子：

就好像我们平时的登录操作，实体类只需简单的校验账号密码即可，又代理被处理其它的安全校验。

此时类图关系如下：



由于代理类的登录操作还需要依赖实体类的校验，所以我们需要保存一个实体类的引...]]></description><category></category></item><item><title><![CDATA[操作系统 进程与线程------进程间通信方式]]></title><link>https://blog.youkuaiyun.com/vMars_K/article/details/100549436</link><guid>https://blog.youkuaiyun.com/vMars_K/article/details/100549436</guid><author>vMars_K</author><pubDate>Thu, 05 Sep 2019 15:31:23 +0800</pubDate><description><![CDATA[目录

1. 共享文件

2. 共享内存

3. 管道

4. 消息队列

5. 套接字

6. 信号

总结




IPC（Inter-Process Communication，进程间通信）是指进程之间的信息交换。由于进程的互斥与同步，需要在进程间交换一定的信息，对于同一个进程的线程我们可以通过之间共享内存来通信，但对于进程来说，默认情况下是不能共享内存的，所以有了下面的这些进程间通信方法...]]></description><category></category></item><item><title><![CDATA[计算机网络 网络安全------XSS与CSRF的原理与防范]]></title><link>https://blog.youkuaiyun.com/vMars_K/article/details/100188752</link><guid>https://blog.youkuaiyun.com/vMars_K/article/details/100188752</guid><author>vMars_K</author><pubDate>Tue, 03 Sep 2019 11:13:55 +0800</pubDate><description><![CDATA[目录

XSS的原理与防范

XSS的介绍

XSS的种类

· 反射型：

· 存储型：

·DOM-Based型：

XSS的防范

1. 输入处理

2. 输出处理

3. cookie设置

CSRF的原理与防范

CSRF的介绍

CSRF的原理

CSRF的防范

1. 尽量使用 POST

2. 加入验证码

3. 验证Referer

4. Token

参考

XSS的原理与防范...]]></description><category></category></item><item><title><![CDATA[MyBatis 如何预防SQL注入------使用#{}与${}的区别]]></title><link>https://blog.youkuaiyun.com/vMars_K/article/details/100180720</link><guid>https://blog.youkuaiyun.com/vMars_K/article/details/100180720</guid><author>vMars_K</author><pubDate>Sun, 01 Sep 2019 16:03:39 +0800</pubDate><description><![CDATA[什么是SQL注入 所谓SQL注入，就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串，最终达到欺骗服务器执行恶意的SQL命令。（百度百科） 例如攻击者在密码栏上输入 ' or 1 = 1 # ，如果后台是通过SQL直接拼接用户输入来做查询的话，攻击者就可以成功侵入了。如： SELECT * FROM user WHERE uername=' ' or 1 = 1 # ' AND password = '' 由于 1 = 1 是恒等式，所以该 SQL 就相当于： SELECT * FRO]]></description><category></category></item><item><title><![CDATA[Java基础 并发知识回顾------线程池]]></title><link>https://blog.youkuaiyun.com/vMars_K/article/details/100156727</link><guid>https://blog.youkuaiyun.com/vMars_K/article/details/100156727</guid><author>vMars_K</author><pubDate>Sun, 01 Sep 2019 00:02:21 +0800</pubDate><description><![CDATA[目录

1. 为什么要使用线程池

2. 线程池的主要执行过程

3. JDK提供的线程池API

4. ThreadPoolExecutor 详解

4.1. workQueue 参数

4.1.1. 直接提交队列（SynchronousQueue）

4.1.2. 有界的任务队列（ArrayBlockingQueue）

4.1.3. 无界的任务队列（LinkedBlockingQueue...]]></description><category></category></item><item><title><![CDATA[什么是REST？RESTful架构的设计？]]></title><link>https://blog.youkuaiyun.com/vMars_K/article/details/94355655</link><guid>https://blog.youkuaiyun.com/vMars_K/article/details/94355655</guid><author>vMars_K</author><pubDate>Tue, 27 Aug 2019 23:41:26 +0800</pubDate><description><![CDATA[什么是REST？

REST是 (Resource)Representational State Transfer 的缩写 (不是英文单词 rest )，直接翻译过来是“表现层状态转移”，但这个名词听了相信一定更加懵逼，所以后面就从作用上论述什么是REST。

REST的作用

REST指的是一组架构约束条件和原则，满足这些约束条件和原则的应用程序或设计就是 RESTful, 一般我们使用RES...]]></description><category></category></item><item><title><![CDATA[计算机网络 TCP------滑动窗口协议与ARQ协议]]></title><link>https://blog.youkuaiyun.com/vMars_K/article/details/99697033</link><guid>https://blog.youkuaiyun.com/vMars_K/article/details/99697033</guid><author>vMars_K</author><pubDate>Tue, 20 Aug 2019 16:29:09 +0800</pubDate><description><![CDATA[滑动窗口协议

滑动窗口协议（Sliding Window Protocol），属于TCP协议的一种应用，用于网络数据传输时的流量控制，以避免拥塞的发生。该协议允许发送方在停止并等待确认前发送多个数据分组。由于发送方不必每发一个分组就停下来等待确认，因此该协议可以加速数据的传输，提高网络吞吐量。

滑动窗口协议规定发送方和接收方都会维护一个窗口，在任何时刻其发送窗口内的数据都可以分为以下 4 类：...]]></description><category></category></item><item><title><![CDATA[Docker入门------（一）Docker介绍]]></title><link>https://blog.youkuaiyun.com/vMars_K/article/details/99689002</link><guid>https://blog.youkuaiyun.com/vMars_K/article/details/99689002</guid><author>vMars_K</author><pubDate>Sat, 17 Aug 2019 10:42:02 +0800</pubDate><description><![CDATA[什么是Docker
Docker 是一个开源的应用容器引擎，让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
（截取自百度百科）
Docker兴起原因
随着云计算的时代的到来，将应用转移到云上部署已成为趋势，而普通的的虚拟化技术如VMware，它是在宿主主机操作系统(Host OS)的...]]></description><category></category></item><item><title><![CDATA[MySQL基础 索引回顾------聚族索引和非聚簇索引]]></title><link>https://blog.youkuaiyun.com/vMars_K/article/details/97491424</link><guid>https://blog.youkuaiyun.com/vMars_K/article/details/97491424</guid><author>vMars_K</author><pubDate>Mon, 29 Jul 2019 16:44:53 +0800</pubDate><description><![CDATA[数据库的索引

索引的本质

MySQL官方对索引的定义为：索引（Index）是帮助MySQL高效获取数据的数据结构。

在我看来，数据库索引其实就是一种空间换时间的方式，提高获取数据的效率。



常见的索引模型


	哈希表
	
通过键值对来取值，速度快，但不适合范围查询，范围搜索时不得不遍历整张表。

哈希表一般只适用于等值查询的场景，比如Memcached等NoSQL引擎。





...]]></description><category></category></item><item><title><![CDATA[牛客网 剑指Offer编程题------链表中环的入口结点]]></title><link>https://blog.youkuaiyun.com/vMars_K/article/details/96622374</link><guid>https://blog.youkuaiyun.com/vMars_K/article/details/96622374</guid><author>vMars_K</author><pubDate>Sat, 20 Jul 2019 21:15:46 +0800</pubDate><description><![CDATA[题目描述：

给一个链表，若其中包含环，请找出该链表的环的入口结点，否则，输出null。

题目链接


链表节点声明：


public class ListNode {
    int val;
    ListNode next = null;
 
    ListNode(int val) {
        this.val = val;
    }
}


解法一：

首先我想到的...]]></description><category></category></item><item><title><![CDATA[Java基础 集合类回顾------list列表类]]></title><link>https://blog.youkuaiyun.com/vMars_K/article/details/96137060</link><guid>https://blog.youkuaiyun.com/vMars_K/article/details/96137060</guid><author>vMars_K</author><pubDate>Tue, 16 Jul 2019 21:15:06 +0800</pubDate><description><![CDATA[java集合类

集合类存放于java.util包中。

集合类存放的都是对象的引用，而非对象本身，出于表达上的便利，我们称集合中的对象就是指集合中对象的引用（reference)。

集合类型主要有3种：set(集）、list(列表）和map(映射)。

集合接口分为：Collection和Map，list、set实现了Collection接口

（来自百度百科-Java集合类）


这里我们...]]></description><category></category></item><item><title><![CDATA[牛客网 剑指Offer编程题------连续子数组的最大和]]></title><link>https://blog.youkuaiyun.com/vMars_K/article/details/96012342</link><guid>https://blog.youkuaiyun.com/vMars_K/article/details/96012342</guid><author>vMars_K</author><pubDate>Mon, 15 Jul 2019 20:51:48 +0800</pubDate><description><![CDATA[题目描述：

HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢？例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组，返回它的最大连续...]]></description><category></category></item><item><title><![CDATA[Server responded "Algorithm negotiation failed"【SSH Secure链接服务器错误】]]></title><link>https://blog.youkuaiyun.com/vMars_K/article/details/95592451</link><guid>https://blog.youkuaiyun.com/vMars_K/article/details/95592451</guid><author>vMars_K</author><pubDate>Fri, 12 Jul 2019 10:00:23 +0800</pubDate><description><![CDATA[转载自 Server responded “Algorithm negotiation failed”【SSH Secure链接服务器错误】


        
                                    
                                        
                
问题描述：
Ubuntu 16.04安装op...]]></description><category></category></item><item><title><![CDATA[牛客网 剑指Offer编程题------对称的二叉树]]></title><link>https://blog.youkuaiyun.com/vMars_K/article/details/95309844</link><guid>https://blog.youkuaiyun.com/vMars_K/article/details/95309844</guid><author>vMars_K</author><pubDate>Wed, 10 Jul 2019 10:23:34 +0800</pubDate><description><![CDATA[题目描述：

请实现一个函数，用来判断一颗二叉树是不是对称的。注意，如果一个二叉树同此二叉树的镜像是同样的，定义其为对称的。

题目链接


链表节点声明：


public class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;

    public TreeNode(int...]]></description><category></category></item><item><title><![CDATA[牛客网 网易秋招试题------[编程题]翻转翻转]]></title><link>https://blog.youkuaiyun.com/vMars_K/article/details/94995483</link><guid>https://blog.youkuaiyun.com/vMars_K/article/details/94995483</guid><author>vMars_K</author><pubDate>Sun, 07 Jul 2019 16:02:20 +0800</pubDate><description><![CDATA[题目描述：

题目链接

给定一个N*M的矩阵，在矩阵中每一块有一张牌，我们假定刚开始的时候所有牌的牌面向上。
现在对于每个块进行如下操作：
&gt; 翻转某个块中的牌，并且与之相邻的其余八张牌也会被翻转。

XXX
XXX
XXX

如上矩阵所示，翻转中间那块时，这九块中的牌都会被翻转一次。
请输出在对矩阵中每一块进行如上操作以后，牌面向下的块的个数。


输入描述:


输入的第一行为测试...]]></description><category></category></item></channel></rss>