1. 投影(Projections)

1.1 投影到直线上(Projection onto a Line)


P r o j L ( x ⃗ ) = c v ⃗ x ⃗ − P r o j L ( x ⃗ ) i s o r t h o g o n a l t o v ⃗ ( x ⃗ − P r o j L ( x ⃗ ) ) ⋅ v ⃗ = 0 ( x ⃗ − c v ⃗ ) ⋅ v ⃗ = 0 x ⃗ ⋅ v ⃗ = c v ⃗ ⋅ v ⃗ c = x ⃗ ⋅ v ⃗ v ⃗ ⋅ v ⃗ P r o j L ( x ⃗ ) = c v ⃗ = ( x ⃗ ⋅ v ⃗ v ⃗ ⋅ v ⃗ ) v ⃗ Proj_L(\vec{x})=c \vec{v} \\ ~\\ \vec{x}-Proj_L(\vec{x})\ is\ orthogonal\ to\ \vec{v}\\ ~\\ (\vec{x}-Proj_L(\vec{x}))\cdot\vec{v}=0\\ ~\\ (\vec{x}-c \vec{v})\cdot\vec{v}=0\\ ~\\ \vec{x}\cdot\vec{v}=c \vec{v}\cdot\vec{v}\\ ~\\ c=\frac{\vec{x}\cdot\vec{v}}{\vec{v}\cdot\vec{v}}\\ ~\\ Proj_L(\vec{x})=c \vec{v}=(\frac{\vec{x}\cdot\vec{v}}{\vec{v}\cdot\vec{v}})\vec{v} ProjL​(x )=cv  x −ProjL​(x ) is orthogonal to v  (x −ProjL​(x ))⋅v =0 (x −cv )⋅v =0 x ⋅v =cv ⋅v  c=v ⋅v x ⋅v ​ ProjL​(x )=cv =(v ⋅v x ⋅v ​)v

P r o j L ( x ⃗ ) = ( x ⃗ ⋅ v ⃗ v ⃗ ⋅ v ⃗ ) v ⃗ = ( x ⃗ ⋅ v ⃗ ∣ ∣ v ⃗ ∣ ∣ 2 ) v ⃗ = x ⃗ ⋅ v ⃗ ∣ ∣ v ⃗ ∣ ∣ ⋅ v ⃗ ∣ ∣ v ⃗ ∣ ∣ = ( x ⃗ ⋅ u ^ ) u ^ ( w h e r e u ^ i s a u n i t v e c t o r ) Proj_L(\vec{x})=(\frac{\vec{x}\cdot\vec{v}}{\vec{v}\cdot\vec{v}})\vec{v}=(\frac{\vec{x}\cdot\vec{v}}{||\vec{v}||^2})\vec{v}=\vec{x}\cdot\frac{\vec{v}}{||\vec{v}||}\cdot\frac{\vec{v}}{||\vec{v}||}=(\vec{x}\cdot\hat{u})\hat{u}(where\ \hat{u}\ is\ a\ unit\ vector ) ProjL​(x )=(v ⋅v x ⋅v ​)v =(∣∣v ∣∣2x ⋅v ​)v =x ⋅∣∣v ∣∣v ​⋅∣∣v ∣∣v ​=(x ⋅u^)u^(where u^ is a unit vector)
现将投影公式写为矩阵乘积形式
P r o j L ( x ⃗ ) = ( x ⃗ ⋅ u ^ ) u ^ ( w h e r e u ^ i s a u n i t v e c t o r ) P r o j L : R 2 → R 2 u ^ = [ u 1 u 2 ] [ 1 0 0 1 ] A = [ ( [ 1 0 ] ⋅ [ u 1 u 2 ] ) [ u 1 u 2 ] ( [ 0 1 ] ⋅ [ u 1 u 2 ] ) [ u 1 u 2 ] ] A = [ u 1 [ u 1 u 2 ] u 2 [ u 1 u 2 ] ] = [ u 1 2 u 2 u 1 u 1 u 2 u 2 2 ] Proj_L(\vec{x})=(\vec{x}\cdot\hat{u})\hat{u}(where\ \hat{u}\ is\ a\ unit\ vector )\\ ~\\ Proj_L:\mathbb{R}^2\rightarrow\mathbb{R}^2\\ ~\\ \hat{u}=\begin{bmatrix}u_1\\ u_2\end{bmatrix}\\ ~\\ \begin{bmatrix}1 & 0\\ 0 & 1\end{bmatrix}\\ ~\\ A=\begin{bmatrix} \bigg(\begin{bmatrix}1\\ 0\end{bmatrix}\cdot\begin{bmatrix}u_1\\u_2\end{bmatrix}\bigg)\begin{bmatrix}u_1\\ u_2\end{bmatrix}\quad \bigg(\begin{bmatrix}0\\ 1\end{bmatrix}\cdot\begin{bmatrix}u_1\\u_2\end{bmatrix}\bigg)\begin{bmatrix}u_1\\ u_2\end{bmatrix} \end{bmatrix}\\ ~\\ A=\begin{bmatrix} u_1\begin{bmatrix}u_1\\u_2\end{bmatrix}\quad u_2\begin{bmatrix}u_1\\u_2\end{bmatrix} \end{bmatrix}=\begin{bmatrix}u_1^2 & u_2u_1\\ u_1u_2 & u_2^2\end{bmatrix} ProjL​(x )=(x ⋅u^)u^(where u^ is a unit vector) ProjL​:R2→R2 u^=[u1​u2​​] [10​01​] A=[([10​]⋅[u1​u2​​])[u1​u2​​]([01​]⋅[u1​u2​​])[u1​u2​​]​] A=[u1​[u1​u2​​]u2​[u1​u2​​]​]=[u12​u1​u2​​u2​u1​u22​​]
例子:

v ⃗ = [ 2 1 ] x ⃗ = [ 2 3 ] ∣ ∣ v ⃗ ∣ ∣ = 2 2 + 1 2 = 5 u ^ = v ⃗ ∣ ∣ v ⃗ ∣ ∣ = 1 5 [ 2 1 ] = [ 2 / 5 1 / 5 ] A = [ 4 / 5 2 / 5 2 / 5 1 / 5 ] P r o j L ( x ⃗ ) = A x ⃗ = [ 4 / 5 2 / 5 2 / 5 1 / 5 ] [ 2 3 ] = [ 14 / 5 7 / 5 ] = 7 5 [ 2 1 ] \vec{v}=\begin{bmatrix}2\\ 1\end{bmatrix}\quad \vec{x}=\begin{bmatrix}2\\ 3\end{bmatrix}\\ ~\\ ||\vec{v}||=\sqrt{2^2+1^2}=\sqrt{5}\\ ~\\ \hat{u}=\frac{\vec{v}}{||\vec{v}||}=\frac{1}{\sqrt{5}}\begin{bmatrix}2\\ 1\end{bmatrix}=\begin{bmatrix}2/\sqrt{5}\\ 1/\sqrt{5}\end{bmatrix}\\ ~\\ A=\begin{bmatrix}4/5 & 2/5\\ 2/5 & 1/5 \end{bmatrix}\\ ~\\ Proj_L(\vec{x})=A\vec{x}=\begin{bmatrix}4/5 & 2/5\\ 2/5 & 1/5 \end{bmatrix}\begin{bmatrix}2\\ 3\end{bmatrix}=\begin{bmatrix}14/5\\ 7/5\end{bmatrix}=\frac{7}{5}\begin{bmatrix}2\\ 1\end{bmatrix} v =[21​]x =[23​] ∣∣v ∣∣=22+12 ​=5 ​ u^=∣∣v ∣∣v ​=5 ​1​[21​]=[2/5 ​1/5 ​​] A=[4/52/5​2/51/5​] ProjL​(x )=Ax =[4/52/5​2/51/5​][23​]=[14/57/5​]=57​[21​]

1.2 投影到子空间上(Projection onto a subspace)


下图展示了某个矩阵A的行空间和零空间


下图展示了某个矩阵A的列空间和左零空间

上面两张图只是为了对子空间中投影能有个直观了解,高维度空间毕竟无法进行直观可视化,所以下面只能以文字描述

笔记来源:A projection onto a subspace is a linear transformation | Linear Algebra | Khan Academy

V V V is subspace of R n \mathbb{R}^n Rn、 { b ⃗ 1 , b ⃗ 2 , ⋯ , b ⃗ k } \{\vec{b}_1,\vec{b}_2,\cdots,\vec{b}_k\} {b 1​,b 2​,⋯,b k​} basis for V V V

子空间 V V V 中任一向量 a ⃗ ∈ V \vec{a}\in V a ∈V

a ⃗ = y 1 b ⃗ 1 + y 2 b ⃗ 2 + ⋯ + y k b ⃗ k \vec{a}=y_1\vec{b}_1+y_2\vec{b}_2+\cdots+y_k\vec{b}_k a =y1​b 1​+y2​b 2​+⋯+yk​b k​
A y ⃗ = [ ⋮ ⋮ ⋮ ⋮ b ⃗ 1 b ⃗ 2 ⋯ b ⃗ k ⋮ ⋮ ⋮ ⋮ ] [ y 1 y 2 ⋮ y k ] = a ⃗ A\vec{y}=\begin{bmatrix}\vdots & \vdots & \vdots &\vdots\\ \vec{b}_1 & \vec{b}_2 & \cdots & \vec{b}_k\\ \vdots & \vdots & \vdots &\vdots \end{bmatrix} \begin{bmatrix} y_1\\ y_2\\ \vdots\\ y_k \end{bmatrix}=\vec{a} Ay ​=⎣⎢⎢⎡​⋮b 1​⋮​⋮b 2​⋮​⋮⋯⋮​⋮b k​⋮​⎦⎥⎥⎤​⎣⎢⎢⎢⎡​y1​y2​⋮yk​​⎦⎥⎥⎥⎤​=a

For some vector x ⃗ ∈ R n \vec{x}\in\mathbb{R}^n x ∈Rn、 y ⃗ ∈ R k \vec{y}\in\mathbb{R}^k y ​∈Rk、 a ⃗ ∈ V \vec{a}\in V a ∈V、 P r o j V ( x ⃗ ) ∈ V Proj_{V}(\vec{x})\in V ProjV​(x )∈V
P r o j V ( x ⃗ ) = A y ⃗ = a ⃗ Proj_{V}(\vec{x})=A\vec{y}=\vec{a} ProjV​(x )=Ay ​=a

P r o j V ( x ⃗ ) ∈ V Proj_{V}(\vec{x})\in V ProjV​(x )∈V、 x ⃗ − P r o j V ( x ⃗ ) ∈ V ⊥ \vec{x}-Proj_{V}(\vec{x})\in V^{\perp} x −ProjV​(x )∈V⊥

x ⃗ = P r o j V ( x ⃗ ) + P r o j V ⊥ ( x ⃗ ) \vec{x}=Proj_V(\vec{x})+Proj_{V^{\perp}}(\vec{x}) x =ProjV​(x )+ProjV⊥​(x )

我们假设这里子空间 V V V 为列空间,其正交补集 V ⊥ V^{\perp} V⊥ 就为左零空间

P r o j V ( x ⃗ ) ∈ C ( A ) Proj_{V}(\vec{x})\in C(A) ProjV​(x )∈C(A)、 x ⃗ − P r o j V ( x ⃗ ) ∈ N ( A T ) \vec{x}-Proj_{V}(\vec{x})\in N(A^T) x −ProjV​(x )∈N(AT)

由上向量 x ⃗ − P r o j V ( x ⃗ ) \vec{x}-Proj_{V}(\vec{x}) x −ProjV​(x ) 在左零空间中,故:
A T ( x ⃗ − P r o j V ( x ⃗ ) ) = 0 ⃗ A T ( x ⃗ − A y ⃗ ) = 0 ⃗ A T x ⃗ = A T A y ⃗ y ⃗ = ( A T A ) − 1 A T x ⃗ P r o j V ( x ⃗ ) = A y ⃗ = A ( A T A ) − 1 A T x ⃗ P r o j e c t i o n M a t r i x P = A ( A T A ) − 1 A T A^T(\vec{x}-Proj_{V}(\vec{x}))=\vec{0}\\ ~\\ A^T(\vec{x}-A\vec{y})=\vec{0}\\ ~\\ A^T\vec{x}=A^TA\vec{y}\\ ~\\ \vec{y}=(A^TA)^{-1}A^T\vec{x}\\ ~\\ Proj_{V}(\vec{x})=A\vec{y}=A(A^TA)^{-1}A^T\vec{x}\\ ~\\ Projection\ Matrix\ P=A(A^TA)^{-1}A^T AT(x −ProjV​(x ))=0  AT(x −Ay ​)=0  ATx =ATAy ​ y ​=(ATA)−1ATx  ProjV​(x )=Ay ​=A(ATA)−1ATx  Projection Matrix P=A(ATA)−1AT

例子:
笔记来源:Subspace projection matrix example | Linear Algebra | Khan Academy

子空间 V V V
V = S p a n ( [ 1 0 0 1 ] , [ 0 1 0 1 ] ) , x ⃗ ∈ R 4 A = [ 1 0 0 1 0 0 1 1 ] P r o j V ( x ⃗ ) = A ( A T A ) − 1 A T x ⃗ V=Span(\begin{bmatrix}1\\ 0\\ 0\\ 1\end{bmatrix},\begin{bmatrix}0\\ 1\\ 0\\ 1\end{bmatrix}),\vec{x}\in\mathbb{R}^4\\ ~\\ A=\begin{bmatrix}1 & 0\\ 0&1\\ 0&0\\ 1&1\end{bmatrix}\\ ~\\ Proj_{V}(\vec{x})=A(A^TA)^{-1}A^T\vec{x}\\ V=Span(⎣⎢⎢⎡​1001​⎦⎥⎥⎤​,⎣⎢⎢⎡​0101​⎦⎥⎥⎤​),x ∈R4 A=⎣⎢⎢⎡​1001​0101​⎦⎥⎥⎤​ ProjV​(x )=A(ATA)−1ATx

A T = [ 1 0 0 1 0 1 0 1 ] A A T = [ 1 0 0 1 0 0 1 1 ] [ 1 0 0 1 0 1 0 1 ] = [ 2 1 1 2 ] A^T=\begin{bmatrix}1 & 0 & 0 & 1\\ 0 & 1 & 0 &1\end{bmatrix}\\ ~\\ AA^T=\begin{bmatrix}1 & 0\\ 0&1\\ 0&0\\ 1&1\end{bmatrix}\begin{bmatrix}1 & 0 & 0 & 1\\ 0 & 1 & 0 &1\end{bmatrix}=\begin{bmatrix}2 & 1\\ 1 & 2\end{bmatrix} AT=[10​01​00​11​] AAT=⎣⎢⎢⎡​1001​0101​⎦⎥⎥⎤​[10​01​00​11​]=[21​12​]

( A A T ) − 1 = [ 2 1 1 2 ] − 1 = 1 3 [ 2 − 1 − 1 2 ] (AA^T)^{-1}=\begin{bmatrix}2 & 1\\ 1 & 2\end{bmatrix}^{-1}=\frac{1}{3}\begin{bmatrix}2 & -1\\ -1 & 2\end{bmatrix} (AAT)−1=[21​12​]−1=31​[2−1​−12​]
P r o j V ( x ⃗ ) = A ( A T A ) − 1 A T x ⃗ P r o j V ( x ⃗ ) = [ 1 0 0 1 0 0 1 1 ] 1 3 [ 2 − 1 − 1 2 ] [ 1 0 0 1 0 1 0 1 ] x ⃗ = 1 3 [ 2 − 1 0 1 − 1 2 0 1 0 0 0 0 1 1 0 2 ] x ⃗ Proj_{V}(\vec{x})=A(A^TA)^{-1}A^T\vec{x}\\ ~\\ Proj_{V}(\vec{x})=\begin{bmatrix}1 & 0\\ 0&1\\ 0&0\\ 1&1\end{bmatrix}\frac{1}{3}\begin{bmatrix}2 & -1\\ -1 & 2\end{bmatrix}\begin{bmatrix}1 & 0 & 0 & 1\\ 0 & 1 & 0 &1\end{bmatrix}\vec{x}=\frac{1}{3}\begin{bmatrix}2 & -1 & 0 & 1\\ -1 & 2 & 0 &1\\ 0 & 0 & 0 & 0\\ 1 & 1 & 0 & 2\end{bmatrix}\vec{x} ProjV​(x )=A(ATA)−1ATx  ProjV​(x )=⎣⎢⎢⎡​1001​0101​⎦⎥⎥⎤​31​[2−1​−12​][10​01​00​11​]x =31​⎣⎢⎢⎡​2−101​−1201​0000​1102​⎦⎥⎥⎤​x


证明子空间投影矩阵和其正交补集投影矩阵的关系
P r o j V ( x ⃗ ) = A ( A T A ) − 1 A T x ⃗ = P x ⃗ Proj_{V}(\vec{x})=A(A^TA)^{-1}A^T\vec{x}=P\vec{x} ProjV​(x )=A(ATA)−1ATx =Px
假设
P r o j V ⊥ ( x ⃗ ) = C x ⃗ Proj_{V^{\perp}}(\vec{x})=C\vec{x} ProjV⊥​(x )=Cx

x ⃗ = P r o j V ( x ⃗ ) + P r o j V ⊥ ( x ⃗ ) = P x ⃗ + C x ⃗ I x ⃗ = P x ⃗ + C x ⃗ = ( P + C ) x ⃗ I = P + C C = I − P P = I − C \vec{x}=Proj_V(\vec{x})+Proj_{V^{\perp}}(\vec{x})=P\vec{x}+C\vec{x}\\ ~\\ I\vec{x}=P\vec{x}+C\vec{x}=(P+C)\vec{x}\\ ~\\ I=P+C\\ ~\\ C=I-P\\ P=I-C x =ProjV​(x )+ProjV⊥​(x )=Px +Cx  Ix =Px +Cx =(P+C)x  I=P+C C=I−PP=I−C


1.3 某向量在子空间中的投影是离其本身最近的子空间中的向量

笔记来源:Projection is closest vector in subspace | Linear Algebra | Khan Academy

∣ ∣ a ⃗ ∣ ∣ = ∣ ∣ x ⃗ − P r o j V ( x ⃗ ) ∣ ∣ ∣ ∣ x ⃗ − P r o j V ( x ⃗ ) ∣ ∣ ≤ ∣ ∣ x ⃗ − v ⃗ ∣ ∣ ||\vec{a}||=||\vec{x}-Proj_V(\vec{x})||\\ ~\\ ||\vec{x}-Proj_V(\vec{x})|| \leq ||\vec{x}-\vec{v}|| ∣∣a ∣∣=∣∣x −ProjV​(x )∣∣ ∣∣x −ProjV​(x )∣∣≤∣∣x −v ∣∣
证明:
∣ ∣ x ⃗ − v ⃗ ∣ ∣ 2 = ∣ ∣ b ⃗ + a ⃗ ∣ ∣ 2 = ( b ⃗ + a ⃗ ) ( b ⃗ + a ⃗ ) = b ⃗ ⋅ b ⃗ + 2 a ⃗ ⋅ b ⃗ + a ⃗ ⋅ a ⃗ = ∣ ∣ b ⃗ ∣ ∣ 2 + ∣ ∣ a ⃗ ∣ ∣ 2 ∣ ∣ x ⃗ − v ⃗ ∣ ∣ 2 = ∣ ∣ b ⃗ ∣ ∣ 2 + ∣ ∣ a ⃗ ∣ ∣ 2 ≥ ∣ ∣ a ⃗ ∣ ∣ 2 ∣ ∣ x ⃗ − v ⃗ ∣ ∣ 2 ≥ ∣ ∣ a ⃗ ∣ ∣ 2 ∣ ∣ x ⃗ − v ⃗ ∣ ∣ ≥ ∣ ∣ a ⃗ ∣ ∣ ||\vec{x}-\vec{v}||^2=||\vec{b}+\vec{a}||^2=(\vec{b}+\vec{a})(\vec{b}+\vec{a}) =\vec{b}\cdot\vec{b}+2\vec{a}\cdot\vec{b}+\vec{a}\cdot\vec{a}=||\vec{b}||^2+||\vec{a}||^2\\ ~\\ ||\vec{x}-\vec{v}||^2=||\vec{b}||^2+||\vec{a}||^2 \geq ||\vec{a}||^2\\ ~\\ ||\vec{x}-\vec{v}||^2 \geq ||\vec{a}||^2\\ ~\\ ||\vec{x}-\vec{v}|| \geq ||\vec{a}|| ∣∣x −v ∣∣2=∣∣b +a ∣∣2=(b +a )(b +a )=b ⋅b +2a ⋅b +a ⋅a =∣∣b ∣∣2+∣∣a ∣∣2 ∣∣x −v ∣∣2=∣∣b ∣∣2+∣∣a ∣∣2≥∣∣a ∣∣2 ∣∣x −v ∣∣2≥∣∣a ∣∣2 ∣∣x −v ∣∣≥∣∣a ∣∣

投影(Projections)相关推荐

  1. 已知法向量 求投影_MIT—线性代数笔记15 子空间投影

    第15讲 子空间投影 Projections onto subspaces 网易公开课​open.163.com 投影(射影)Projections 投影问题的几何解释就是:如何在向量a的方向上寻找与 ...

  2. python中geometry用法_pythongdal教程之:几何形状geometry与投影projection

    建立空的geometry对象:ogr.Geometry 定义各种不同的geometry使用的方法是不一样的(point, line, polygon, etc) 新建点point,使用方法AddPoi ...

  3. python 几何教学_python gdal教程之:几何形状geometry与投影projection

    建立空的geometry对象:ogr.Geometry 定义各种不同的geometry使用的方法是不一样的(point, line, polygon, etc) 新建点point,使用方法AddPoi ...

  4. 如何将一个向量投影到一个平面上_MIT—线性代数笔记15 子空间投影

    第15讲 子空间投影 Projections onto subspaces 网易公开课​open.163.com 投影(射影)Projections 投影问题的几何解释就是:如何在向量a的方向上寻找与 ...

  5. hibernate中criteria的一些用法

    最近在项目中使用 Spring 和 Hibernate 进行开发,有感于 Criteria 比较好用,在查询方法 设计上可以灵活的根据 Criteria 的特点来方便地进行查询条件的组装.现在对 ...

  6. Hibernate Criterion

    在查询方法设计上能够灵活的依据Criteria的特点来方便地进行查询条件的组装. Hibernate设计了CriteriaSpecification作为Criteria的父接口,以下提供了Criter ...

  7. Proj.4 升级新版本5.x和6.x

    目录 Proj.4 升级新版本5.x和6.x 0.缘起 1.5.x和6.x更新情况简述 PROJ 5.x 更新 PROJ 6.x 更新 2.从PROJ.4向新版本迁移 迁移到5.x版本 迁移到6.x版 ...

  8. 转:Hibernate中Criteria和DetachedCriteria的完整用法

    原文地址:http://blog.sina.com.cn/s/blog_667528fd0100rkrf.html 设计上可以灵活的根据 Criteria 的特点来方便地进行查询条件的组装.现在对 H ...

  9. hibernate by example 排除某些列

    http://www.cnblogs.com/helong/articles/2096216.html Example.excludeProperty Example作用是:根据以后的对象,查找属性之 ...

  10. Hibernate - DetachedCriteria 的完整用法

    2019独角兽企业重金招聘Python工程师标准>>> 现在对 Hibernate的Criteria 的用法进行总结:     Hibernate 设计了 CriteriaSpeci ...

最新文章

  1. Tomcat在Linux上的安装与配置
  2. 单链表-判断单链表L是否是递增的(双指针法)
  3. C# WINFORM ListView用法详解(转)
  4. 杭电oj1087最长递增子序列java实现
  5. 回归_英国酒精和香烟关系
  6. openresty+mysql+乱码_openresty记录响应body乱码问题
  7. hive转16进制unhex_Java 进制的转换
  8. 改造MIP获得搜索青睐,轻松完成SEO
  9. IE浏览器 对 jquery版本的兼容性 支持
  10. 【kafka】kafka 2.3 关于控制Broker端入站连接数的讨论
  11. LeetCode 144. 二叉树的前序遍历(递归)(迭代)(颜色标记法)
  12. 通证指数:ChaiNext系列指数基金上线
  13. 全网最快的网络服务器是什么,最好用最快的首选 DNS 服务器地址设置 (电信/联通/移动)...
  14. 电梯服务器系统,OTS电梯服务器TT使用说明.pdf
  15. 易语言雷电模拟器adb模块制作实现一键模拟器多开
  16. 计算机能力提升选网络研修,教师计算机能力提升个人研修计划
  17. GOOGLE搜索技巧
  18. 如何制定 - 测试计划和策略 (详细讲解)
  19. Ubuntu20.04中fastdfs,nginx的安装和配置(apt-get安装nginx添加fastdfs-nginx-module模块)
  20. “新基建”视野下的零售革新:从“模式”面子到“数字化”里子

热门文章

  1. PAT A1160 Forever
  2. 浮栅场效应管 符号_学修手机要了解维修的基础知识场效应管:指南舟手机维修培训学校...
  3. 前端面试题之Promise
  4. 习惯养成和目标追踪APP推荐
  5. java properties containskey_java.util.TreeMap.containsKey()方法实例
  6. MySql添加用户以及授予权限
  7. 太厉害了,目前 Redis 可视化工具最全的横向评测
  8. Tomcat类加载机制与JVM类加载机制对比
  9. 基于若依开发的 Java EE 分布式微服务架构平台
  10. 多功能超声波换能器驱动电路PCB线路板设计