凸优化理论学习三|凸优化问题(一)

系列文章目录

凸优化理论学习一|最优化及凸集的基本概念
凸优化理论学习二|凸函数及其相关概念

文章目录

  • 系列文章目录
  • 一、优化问题
    • (一)标准形式的优化问题
    • (二)可行点和最优点
    • (三)局部最优点
    • (四)隐式和显式约束
    • (五)可行性问题
  • 二、凸优化问题
    • (一)标准形式的凸优化问题
    • (二)局部最优与全局最优
    • (三)一些标准凸问题
      • 1、线性规划 (LP)
      • 2、二次规划 (QP)
      • 3、二次约束二次规划 (QCQP)
      • 4、二阶锥规划(SOCP)
      • 4、凸椎形式问题
      • 5、半定规划 (SDP)
      • 6、LP、SOCP与SDP


一、优化问题

(一)标准形式的优化问题

  • 优化目标:minimize f 0 ( x ) f_0(x) f0(x)
  • 约束条件:
    • 非等式约束: f i ( x ) ≤ 0 , i = 1 , . . . , m f_i(x)\leq0,i=1,...,m fi(x)0i=1,...,m
    • 等式约束: h i ( x ) = 0 , i = 1 , . . . , p h_i(x)=0,i=1,...,p hi(x)=0i=1,...,p

(二)可行点和最优点

  • 如果 x ∈ d o m f 0 x ∈ dom f_0 xdomf0 并且满足约束条件,则 x ∈ R n x ∈ R_n xRn 是可行的
  • 最优值 p ∗ = i n f { f 0 ( x ) ∣ f i ( x ) ≤ 0 , i = 1 , . . . , m , h i ( x ) = 0 , i = 1 , . . . , p } p^{*}=inf\{f_0(x)|f_i(x)\leq 0,i=1,...,m,h_i(x)=0,i=1,...,p\} p=inf{f0(x)fi(x)0,i=1,...,m,hi(x)=0,i=1,...,p}
  • 如果问题不可行,则 p ∗ = ∞ p^{*}=∞ p=
  • 如果问题无下界,则 p ∗ = − ∞ p^{*}=-∞ p=
  • 如果 f 0 ( x ) = p ∗ f_0(x)=p^{*} f0(x)=p,则可行点 x x x是最优点
  • X o p t X_{opt} Xopt是最优点的集合

(三)局部最优点

如果存在 R > 0 R > 0 R>0 使得 x 在以下情况下是最优的:

  • m i n i m i z e ( o v e r z ) f 0 ( z ) minimize\ (over\ z)\ \ f_0(z) minimize (over z)  f0(z)
  • s u b j e c t t o subject\ to subject to
    • f i ( z ) ≤ 0 , i = 1 , . . . , m f_i(z)\leq 0,i=1,...,m fi(z)0,i=1,...,m
    • h i ( z ) = 0 , i = 1 , . . . , p h_i(z)=0,i=1,...,p hi(z)=0,i=1,...,p
    • ∣ ∣ z − x ∣ ∣ 2 ≤ R ||z-x||_2\leq R ∣∣zx2R

那么 x x x即为局部最优点。
在这里插入图片描述

(四)隐式和显式约束

  • 显式约束:
    • 非等式约束: f i ( x ) ≤ 0 , i = 1 , . . . , m f_i(x)\leq0,i=1,...,m fi(x)0i=1,...,m
    • 等式约束: h i ( x ) = 0 , i = 1 , . . . , p h_i(x)=0,i=1,...,p hi(x)=0i=1,...,p
    • 如果 m = p = 0 m=p=0 m=p=0,即没有约束,此时问题为无约束问题
  • 标准形式优化问题具有隐式约束
    x ∈ D = ⋂ i = 0 m d o m f i ∩ ⋂ i = 1 p d o m h i x\in D=⋂^m_{i=0}domf_i∩⋂^p_{i=1}domh_i xD=i=0mdomfii=1pdomhi

(五)可行性问题

如果目标函数恒等于零,那么其最优解要么是零(如果可行集非空),要么是∞(如果可行集是空集)。我们称其为可行性问题:

  • 目标:0
  • 约束条件:
    • f i ( x ) ≤ 0 , i = 1 , . . . , m f_i(x)\leq 0,i=1,...,m fi(x)0,i=1,...,m
    • h i ( x ) = 0 , i = 1 , . . . , p h_i(x)=0,i=1,...,p hi(x)=0,i=1,...,p

二、凸优化问题

(一)标准形式的凸优化问题

  • 目标:最小化 f 0 ( x ) f_0(x) f0(x)
  • 约束条件:
    • f i ( x ) ≤ 0 , i = 1 , . . . , m f_i(x)\leq 0,i=1,...,m fi(x)0,i=1,...,m
    • a i T x = b i , i = 1 , . . . , p a_i^Tx=b_i,i=1,...,p aiTx=bi,i=1,...,p

其中:目标和不等式约束 f 0 , f 1 , . . . , f m f_0, f_1, ..., f_m f0,f1,...,fm是凸的;等式约束是仿射的,通常写为 A x = b Ax = b Ax=b;凸优化问题的可行集和最优集是凸的;如果 f 0 f_0 f0 是拟凸的, f 1 , . . . , f m f_1, ..., f_m f1,...,fm 是凸的, h 1 , . . . , h p h_1, ..., h_p h1,...,hp 是仿射的,则问题是拟凸的。

考虑一个标准形式问题的例子:

  • 目标:最小化 f 0 ( x ) = x 1 2 + x 2 2 f_0(x)=x_1^2+x_2^2 f0(x)=x12+x22
  • 约束条件:
    • f 1 ( x ) = x 1 ( 1 + x 2 2 ) ≤ 0 f_1(x)=\frac{x_1}{(1+x_2^2)}\leq 0 f1(x)=(1+x22)x10
    • h 1 ( x ) = ( x 1 + x 2 ) 2 = 0 h_1(x)=(x_1+x_2)^2=0 h1(x)=(x1+x2)2=0

易知目标函数 f 0 f_0 f0是凸的,并且可行集 { ( x 1 , x 2 ) ∣ x 1 = − x 2 ≤ 0 } \{(x_1,x_2)|x_1=-x_2\leq0\} {(x1,x2)x1=x20}也是凸的;但是约束条件 f 1 f_1 f1不是凸的, h 1 h_1 h1不是仿射的,因此它不是一个凸问题。这个问题可以等价为以下凸问题:

  • 目标:最小化 x 1 2 + x 2 2 x_1^2+x_2^2 x12+x22
  • 约束条件:
    • x 1 ≤ 0 x_1\leq 0 x10
    • x 1 + x 2 = 0 x_1+x_2=0 x1+x2=0

(二)局部最优与全局最优

凸问题的任何局部最优点都是(全局)最优的
在这里插入图片描述
可微分 f 0 f_0 f0 的最优性准则:

对于凸问题,点 x x x是最优解的一个充分必要条件:

  • x x x是可行解,即 x x x属于可行集合 X X X
  • 对于任何可行点 y y y,都满足梯度条件: ∇ 2 f 0 ( x ) T ( y − x ) ≥ 0 ∇^2f_0(x)^T(y-x)\geq 0 2f0(x)T(yx)0

这个条件表明,如果 x x x 是最优解,那么任何与之可行的点 y y y 的方向上的梯度内积都是非负的。这实际上是凸问题最优解的一个重要性质,称为一阶条件。这种条件确保了最优解的局部性质,即在最优解附近,目标函数不会在可行方向上下降。另一方面,如果 x x x 满足这个条件,那么根据凸优化的性质,它意味着 x x x 是最优解。这个条件表明,如果梯度与任何可行方向的变化都是非负的,那么该点是全局最优解的候选者。
在这里插入图片描述

如果梯度 ∇ f 0 ( x ) ∇f_0(x) f0(x) 在点 x x x 处非零,则它确实定义了可行集 X X X 在点 x x x 处的一个支撑超平面。

应用举例:

  • 无约束问题: x x x 最小化 f 0 ( x ) f_0 (x) f0(x) 当且仅当 ∇ f 0 ( x ) = 0 ∇f_0 (x) = 0 f0(x)=0
  • 等式约束问题: x x x 最小化 f 0 ( x ) f_0 (x) f0(x) 且满足 A x = b Ax = b Ax=b 当且仅当存在 v v v使得:
    A x = b , ∇ f 0 ( x ) + A T v = 0 Ax=b,\ ∇f_0 (x)+A^Tv=0 Ax=b, f0(x)+ATv=0
  • 非负正交坐标系上的的最小化问题: x x x 最小化 R + n R^n_+ R+n 上的 f 0 ( x ) f_0 (x) f0(x) 当且仅当:
    • x x x的所有分量非负: x ≥ 0 x\geq 0 x0
    • 对于所有的分量 i i i,如果 x i = 0 x_i=0 xi=0,则其对应的梯度分量 ∇ f 0 ( x ) i ∇f_0 (x)_i f0(x)i非负
    • 对于所有的分量 i i i,如果 x i > 0 x_i>0 xi>0,则其对应的梯度分量 ∇ f 0 ( x ) i ∇f_0 (x)_i f0(x)i等于0

(三)一些标准凸问题

1、线性规划 (LP)

线性规划(LP)是一种特殊形式的凸优化问题,其目标函数和约束函数都是仿射的,可行集是多面体(即由线性不等式和等式构成的凸多面体)。这使得线性规划问题具有一些特殊的性质和解决方法。

  • 目标函数:最小化 c T x + d c^Tx+d cTx+d
  • 约束条件: G x ≤ h Gx\leq h Gxh A x = b Ax=b Ax=b
    在这里插入图片描述

饮食问题:
在这里插入图片描述

分段线性最小化问题可以转化为线性规划(LP)问题
在这里插入图片描述>等价的线性规划问题即为:

  • 目标函数:最小化t
  • 约束条件: a i T x + b i ≤ t , i = 1 , . . . , m a^T_ix+b_i\leq t,i=1,...,m aiTx+bit,i=1,...,m x ∈ R n , t ∈ R x\in R^n,t\in R xRn,tR

这个线性规划问题的变量包括 x x x t t t,约束条件描述了函数 f 0 ( x ) f_0 (x) f0(x) 的上确界(epigraph)。通过将凸分段线性函数转化为等价的线性规划问题,我们可以使用线性规划算法来求解原始的凸分段线性函数最小化问题。

多面体的切比雪夫中心:
Chebyshev center x c h e b x_{cheb} xcheb是多面体 P P P 的中心,即它是一个点,使得对于多面体 P P P 中的每个点 x x x,从 x c h e b x_{ cheb} xcheb​到 x x x 的欧几里得距离小于或等于到 P P P 的边界的最大距离。这等价于说,Chebyshev center 是可以包容在 P P P 内的最大球的中心。中心 x c h e b x_{ cheb} xcheb和球的半径 r r r可以通过以下方式找到:

  • 对于每个约束 a i T x ≤ b i a_i^Tx\leq b_i aiTxbi,要求在球 B B B内部找到与约束最靠近的点,即对于每个 i i i,找到最大化 a i T ( x c h e b + u ) a_i^T(x_{cheb}+u) aiT(xcheb+u) u u u,其中 ∣ ∣ u ∣ ∣ 2 ≤ r ||u||_2\leq r ∣∣u2r,这相当于在球内找到一个与约束最接近的边界点
  • 找到这些最近的点的最小值,即最大化 r r r,同时满足所有约束。这等价于最大化球的半径,使得球包含在多面体P中。

用线性规划表示为:

  • 最大化 r r r
  • 约束条件: a i T x c h e b + r ∣ ∣ a i ∣ ∣ 2 ≤ b i , i = 1 , . . . , m a_i^Tx_{cheb}+r||a_i||_2\leq b_i,i=1,...,m aiTxcheb+r∣∣ai2bi,i=1,...,m
    在这里插入图片描述

2、二次规划 (QP)

二次规划(Quadratic Programming,简称QP)是一种优化问题,其目标是最小化或最大化一个二次型目标函数,其变量受到一组线性等式和不等式约束的限制。通常的形式如下:

  • 目标函数:最小化 ( 1 / 2 ) x T P x + q T x + r (1/2)x^TPx+q^Tx+r (1/2)xTPx+qTx+r
  • 约束条件: G x ≤ h Gx\leq h Gxh A x = b Ax=b Ax=b

其中, P P P是对称正定矩阵
在这里插入图片描述

最小二乘法:

  • 目标函数:最小化 ‖ A x − b ‖ 2 ‖Ax − b‖_2 Axb2
  • 解析解: x ∗ = A † b x^* = A†b x=Ab A † A† A 是伪逆)
  • 可以添加线性约束,例如:
    • x > 0 x> 0 x>0(非负最小二乘法)
    • x 1 ≤ x 2 ≤ . . . ≤ x n x_1\leq x_2\leq ... \leq x_n x1x2...xn(等渗回归)

具有随机成本的线性规划:

  • 目标函数:最小化 c ˉ T x + γ x T Σ x \bar{c}^Tx+\gamma x^T\Sigma x cˉTx+γxTΣx
  • 约束条件: G x ≤ h , A x = b Gx\leq h,Ax=b Gxh,Ax=b

其中, c c c是随机成本, γ > 0 \gamma > 0 γ>0 为风险厌恶参数,控制预期成本和方差(风险)之间的权衡

3、二次约束二次规划 (QCQP)

二次约束二次规划(Quadratically Constrained Quadratic Programming,QCQP)问题是在二次目标函数下,满足一组二次不等式约束条件。通常的形式如下:

  • 目标函数:最小化 ( 1 / 2 ) x T P 0 x + q 0 T x + r 0 (1/2)x^TP_0x+q_0^Tx+r_0 (1/2)xTP0x+q0Tx+r0
  • 约束条件: ( 1 / 2 ) x T P i x + q i T x + r i , i = 1 , . . . , m (1/2)x^TP_ix+q_i^Tx+r_i,i=1,...,m (1/2)xTPix+qiTx+ri,i=1,...,m A x = b Ax=b Ax=b

其中, P P P是对称正定矩阵,目标和约束是凸二次的;如果 P 1 , . . . , P m ∈ S n + + P_1,..., P_m ∈ S_n^++ P1,...,PmSn++,可行域是 m 个椭球与仿射集的交集。

4、二阶锥规划(SOCP)

Second-Order Cone Programming (SOCP)是一类凸优化问题,它涉及到二阶锥约束,通常具有以下形式:

  • 目标函数:最小化 f T x f^Tx fTx
  • 约束条件: ∣ ∣ A i x + b i ∣ ∣ 2 ≤ c i T x + d i , i = 1 , . . . , m ||A_ix+b_i||_2\leq c_i^Tx+d_i,i=1,...,m ∣∣Aix+bi2ciTx+di,i=1,...,m F x = g Fx=g Fx=g

其中,不等式约束又叫二阶锥约束(SOC): ( A i x + b i , c i T x + d i ) ∈ s e c o n d − o r d e r c o n e i n R n i + 1 (A_ix+b_i,c_i^Tx+d_i)\in second-order\ cone\ in\ R^{n_i+1} (Aix+bi,ciTx+di)secondorder cone in Rni+1。如果 n i = 0 n_i=0 ni=0,二阶锥规划就会退为线性规划,如果 c i = 0 c_i=0 ci=0,二阶锥规划退为二次约束二次规划 (QCQP)。

鲁棒线性规划问题: 假设约束向量 a i a_i ai是不确定的情况,也就是说鲁棒线性规划(Robust Linear Programming)涉及到在不确定条件下寻找最优解。

  • 目标函数:最小化 c T x c^Tx cTx
  • 约束条件: a i T x ≤ b i , i = 1 , . . . , m a_i^Tx\leq b_i,i=1,...,m aiTxbi,i=1,...,m

对于这种不确定性,常见的处理方式有确定性最坏情况方法和随机方法两种。

确定性最坏情况方法:约束必须适用于所有 a i ∈ E i a_i ∈ E_i aiEi(不确定性椭球)

  • 确定性最坏情况方法的基本形式:
    • 目标函数:最小化 c T x c^Tx cTx
    • 约束条件: a i T x ≤ b i f o r a l l a i ∈ E i , i = 1 , . . . , m a_i^Tx\leq b_i\ for\ all\ a_i\in E_i,i=1,...,m aiTxbi for all aiEi,i=1,...,m
  • 确定性最坏情况方法的原理:不确定性椭球形式为 E i = { a ˉ i + P i u ∣ ∣ ∣ u ∣ ∣ 2 ≤ 1 } E_i=\{\bar{a}_i+P_iu|\ ||u||_2\leq 1\} Ei={aˉi+Piu ∣∣u21},其中 a ˉ i ∈ R \bar{a}_i\in R aˉiR是中心, P i ∈ R n × n P_i\in R^{n\times n} PiRn×n是决定半轴的奇异值/奇异向量。最终可以等价于以下形式的二阶锥规划问题:
    • 目标函数:最小化 c T x c^Tx cTx
    • 约束条件: a ˉ i T x + ∣ ∣ P T i x ∣ ∣ 2 2 ≤ b i , i = 1 , . . . , m \bar{a}_i^Tx+||PT_ix||^2_2\leq b_i,i=1,...,m aˉiTx+∣∣PTix22bi,i=1,...,m

随机方法:把 a i a_i ai看成一个随机变量,约束必须以一定的概率 η \eta η成立

  • 随机方法的基本形式
    • 目标函数:最小化 c T x c^Tx cTx
    • 约束条件: p r o b ( a i T x ≤ b i ) ≥ η , i = 1 , . . . , m prob(a_i^Tx\leq b_i)\geq \eta,i=1,...,m prob(aiTxbi)η,i=1,...,m
  • 随机方法的基本原理:假设 a i ∼ N ( a ˉ i , Σ i ) a_i\sim N(\bar{a}_i,\Sigma_i) aiN(aˉi,Σi),所以 a i T x ∼ N ( a ˉ i T x , x T Σ i x ) a_i^Tx\sim N(\bar{a}_i^Tx,x^T\Sigma_ix) aiTxN(aˉiTx,xTΣix) p r o b ( a i T x ≤ b i ) = Φ ( b i − a ˉ i T x ∣ ∣ Σ i 1 / 2 x ∣ ∣ 2 ) prob(a_i^Tx\leq b_i)=\Phi(\frac{b_i-\bar{a}_i^Tx}{||\Sigma_i^{1/2}x||_2}) prob(aiTxbi)=Φ(∣∣Σi1/2x2biaˉiTx) p r o b ( a i T x ≤ b i ) ≥ η prob(a_i^Tx\leq b_i)\geq \eta prob(aiTxbi)η可以被表示 a ˉ i T x + Φ − 1 ( η ) ∣ ∣ Σ i 1 / 2 x ∣ ∣ 2 ≤ b i \bar{a}_i^Tx+\Phi^{-1}(\eta)||\Sigma_i^{1/2}x||_2\leq b_i aˉiTx+Φ1(η)∣∣Σi1/2x2bi。当 η > 1 / 2 \eta > 1/2 η>1/2时,可以等价于以下形式的二阶锥规划问题:
    • 目标函数:最小化 c T x c^Tx cTx
    • 约束条件: a ˉ i T x + Φ − 1 ( η ) ∣ ∣ Σ i 1 / 2 x ∣ ∣ 2 ≤ b i , i = 1 , . . . , m \bar{a}_i^Tx+\Phi^{-1}(\eta)||\Sigma^{1/2}_ix||_2\leq b_i,i=1,...,m aˉiTx+Φ1(η)∣∣Σi1/2x2bi,i=1,...,m

4、凸椎形式问题

在凸优化中,凸锥形式的问题是一种重要的形式,涉及到优化目标函数以及约束条件均为凸锥函数或凸锥集。具体而言,考虑以下凸锥形式的问题:

  • 目标函数: 最小化 最小化 最小化c^Tx$
  • 约束条件: F x + g ≤ K 0 Fx+g\leq_K 0 Fx+gK0 A x = b Ax=b Ax=b

其中, K K K表示一个凸椎,通常是一个封闭的凸椎

5、半定规划 (SDP)

半定规划(Semidefinite Programming,SDP)是一类重要的凸优化问题,它涉及到优化一个线性函数,其变量是对称半正定矩阵。半定规划的一般形式如下:

  • 目标函数:最小化 c T x c^Tx cTx
  • 约束条件: x 1 F 1 + x 2 F 2 + . . . + x n F n + G ≤ 0 x_1F_1+x_2F_2+...+x_nF_n+G\leq 0 x1F1+x2F2+...+xnFn+G0 A x = b Ax=b Ax=b

其中, F F F G G G为对称矩阵( F i , G ∈ S k F_i,G\in S^k Fi,GSk),不等式约束称为线性矩阵不等式(LMI)。

示例:矩阵范数最小化
在这里插入图片描述

6、LP、SOCP与SDP

LP 和等效的 SDP:
在这里插入图片描述SOCP 和等效的 SDP:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/12293.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Python编程从入门到实践》day28

# 昨日知识点回顾 安装Matplotlib 绘制简单的折线图 # 今日知识点学习 15.2.1 修改标签文字和线条粗细 # module backend_interagg has no attribute FigureCanvas. Did you mean: FigureCanvasAgg? # 解决办法:matplotlib切换图形界面显示终端TkAgg。 #…

使用Three.js绘制快速而逼真的水

本文将利用GPUComputationRenderer来实现水波纹的绘制,相似的案例可以看threejs官方的GPGPU Water示例。更多精彩内容尽在数字孪生平台。 什么是 GPGPU GPGPU代表通用图形处理单元(General-Purpose Graphic Processing Unit),意思…

1146 -Table ‘performance schema.session variables‘ doesn‘t exist的错误解决

一、问题出现 今天在本地连数据库的时候,发现这个问题,哎呦我擦,差点吓死了 二、解决办法 1)找文件 用everything搜一下MySQL Server 5.7 然后去Windows服务找一下MySQL配置文件的具体路径 如果知道那最好,不知道那…

宝塔8.1.0去除绑定用户

非要绑定手机号,确实很烦 1,/www/server/panel/BTPanel __init__.py if not public.is_bind():return redirect(/bind, 302) 将is_bind的路由全部注释 2,/www/server/panel/class下 panelPlugin.py 注释异常, 新增 softLis…

SSL协议

SSL 安全传输协议(安全套接层) 也叫TLS ---- 传输层安全协议 SSL的工作原理:SSL协议因为是基于TCP协议工作的,通信双方需要先建立TCP会话。因为SSL协议需要进行安全保证,需要协商安全参数,所以也需要建立…

【MySQL】7.MySQL性能优化的六大核心策略

数据库的性能对整个应用的响应速度和用户体验起着至关重要的作用。MySQL,作为广泛使用的开源关系型数据库,提供了丰富的性能优化手段。从资源优化、查询优化到结构、配置、代码乃至架构优化,每一个层面的调整都可能带来性能的飞跃。本文将深入…

springboot房屋租赁系统

摘要 房屋租赁系统;为用户提供了一个房屋租赁系统平台,方便管理员查看及维护,并且可以通过需求进行设备信息内容的编辑及维护等;对于用户而言,可以随时进行查看房屋信息和合同信息,并且可以进行报修、评价…

清理缓存简单功能实现

在程序开发中,经常会用到缓存,最常用的后端缓存技术有Redis、MongoDB、Memcache等。 而有时候我们希望能够手动清理缓存,点一下按钮就把当前Redis的缓存和前端缓存都清空。 功能非常简单,创建一个控制器类CacheController&#xf…

SpringBoot PowerMockito 私有/静态/方法/属性

SpringBoot PowerMockito 私有/静态/方法/属性 1 PrepareForTest2 待测试类3 测试类 1 PrepareForTest PrepareForTest 是 PowerMockito 提供的一个注解,用于告诉 PowerMockito 哪些类需要被修改以允许使用 PowerMockito 的功能。 PowerMockito 主要用于修改 Java…

【计算机毕业设计】基于SSM+Vue的线上旅行信息管理系统【源码+lw+部署文档+讲解】

目录 1 绪论 1.1 研究背景 1.2 设计原则 1.3 论文组织结构 2 系统关键技术 2.1JSP技术 2.2 JAVA技术 2.3 B/S结构 2.4 MYSQL数据库 3 系统分析 3.1 可行性分析 3.1.1 技术可行性 3.1.2 操作可行性 3.1.3 经济可行性 3.1.4 法律可行性 3.2系统功能分析 3.2.1管理员功能分析 3.2.…

JavaScript精粹(一)

JavaScript(简称为JS)是一种广泛应用于网页开发的脚本语言,具有以下几个主要作用: 网页交互:JavaScript 可以用于创建动态的网页效果,例如响应用户的操作,实现页面内容的动态更新,以…

Java SE vs Java EE:深入剖析及面试指南

Java 平台提供了多个版本来满足不同应用场景的需求,其中最常用的是 Java SE(Standard Edition)和 Java EE(Enterprise Edition)。理解这两个版本的区别对于任何 Java 开发者都是至关重要的,尤其是在面试过程…

C++字符串细节,面试题06

文章目录 22. 字符串22.1. 字符数组 vs 字符指针 vs 常量字符指针 vs string22.2. strcpy vs sprintf vs memcpy22.3. strlen vs length vs size vs sizeof22.4. 字符串之间的转换22.5 其他数据类型与字符串之间的转换22.6 字符串分割 22. 字符串 22.1. 字符数组 vs 字符指针 …

Spring整合其他技术

文章目录 Spring整合mybatis思路分析Mybatis程序核心对象分析整合Mybatis 代码实现 Spring整合Junit修改成警告 Spring整合mybatis 思路分析 Mybatis程序核心对象分析 上面图片是mybatis的代码,上述有三个对象,分别是sqlSessionFactory,sqlS…

Linux:配置客户端自定义autofs服务

Linux:配置客户端自定义autofs服务 修改autofs的主策略文件 [rootserver200 data]# vim /etc/auto.master# 修改内容如下 /misc /etc/auto.misc # 挂载目录的上级目录 /mnt /etc/auto.timinglee --timeout3修改autofs的自定义策略文件 [rootserver200 data]…

数据库SQL编写规范-SQL书写规范整理(SQL语句书写规范全解-Word原件)

编写本文档的目的是保证在开发过程中产出高效、格式统一、易阅读、易维护的SQL代码。 1 编写目 2 SQL书写规范 3 SQL编写原则 软件全套精华资料包清单部分文件列表: 工作安排任务书,可行性分析报告,立项申请审批表,产品需求规格说…

鸿蒙布局Column/Row/Stack

鸿蒙布局Column/Row/Stack 简介我们以Column为例进行讲解1. Column({space: 10}) 这里的space: 10,表示Column里面每个元素之间的间距为102. width(100%),height(100%) 表示宽高占比3. backgroundColor(0xffeeeeee) 设置背景颜色4. padding({top: 50}) 设…

【ARM 嵌入式 C 文件操作系列 20.4 -- 打印 uint64_t 类型的数值】

文章目录 C代码中 打印 uint64_t 类型的数值测试效果 C代码中 打印 uint64_t 类型的数值 为了以16进制方式打印uint64_t类型的数值&#xff0c;可以使用printf函数&#xff0c;配合<inttypes.h>头文件中定义的宏PRIX64或PRIx64。这些宏确保了无论在哪个平台上&#xff0…

keepalived双机热备超详细入门介绍

keepalived 一、keepalived入门介绍 1.keepalived简介 2.keepalived服务的三个重要功能 2.1.管理LVS负载均衡软件 2.2.实现对LVS集群节点健康检查功能 2.3.作为系统网络服务的高可用功能 3.keepalived高可用故障切换转移原理 4.keepalived安装及主配置文件介绍 …

如何用Rust获取本机CPU、内存在Web网页中显示?

目录 一、需求描述 二、具体操作步骤 三、知识点 1、systemstat 2、Actix 一、需求描述 需求&#xff1a; 1、需要使用Rust进行后端开发获取本机CPU和内存信息&#xff1b; 2、使用WEB框架发布API&#xff1b; 3、然后使用HTML/CSS/JavaScript进行前端开发&#xff0…