Scala突击复习笔记

一、scala基础语法

1.变量和常量

​ val和var关键是声明变量使用(区分:val看做是Java中的final修饰的常量,不可改变。而var则可以看做变量,可变)。

(1).变量

​ 使用var修饰, 内容和引用都可以改变。

scala> var a = 10
a: Int = 10scala> a= 20
a: Int = 20

(2).常量

​ val可以看做是Java中的final,不能修改其引用的地址, 但是可以修改其引用的对象的内部的其他值, 在实际开发中, 推荐使用val修饰, 如果使用var可能会出现修改值的问题, 因为在网络传输中, 会对变量进行序列化和反序列化, var修饰的变量可能会发生值的改变, 数据传输错误或不安全, 所以一般情况下推荐使用val。

scala> val b = 10
b: Int = 10scala> b = 20
scala> b = 20^error: reassignment to val

(3).lazy关键字

​ 用来修饰val时,不是立即为其创建空间,直到被调用时,才开辟内存空间

scala> lazy val c = 10
c: Int = <lazy>scala> c
res0: Int = 10

2.常用的数据类型和Java对照

在这里插入图片描述

​ 在scala中, 一切都是类, 没有基础类型和包装类之分。基本数据类型: Byte Char Short Int Long Float Double Boolean, 初看之下和Java中的包装类很类似,但是这里需要注意和Java中的包装类使用完全不相同。scala中是不区分引用类型和基本类型的,所有都看做是对象, scala会自己负责基本数据类型和引用类型之间的转换。既然是对象,则本身会有方法,可以直接调用。

val a:String = 1.toString

3.运算符

​ scala的运算符和java的没有太大区别,但是没有++和–运算,可以用+=和-=代替。

4.流程控制

(1).条件判断语句

​ 使用和java的差不多,但是scala的分支语句有返回值,可以传回。若返回的数据类型不一致, 则取其父类Any。

val res:Any = if(a < 10) "字符串" else 100
//当a<10的时候,返回“字符串”这三个字给res,若其他情况则返回100这个数值给res

(2).循环语句

​ 和java一样,有do…while,while和for三种循环方式。使用相差不大,其中for的条件判断有些差异。scala的for循环条件判断不是java的(赋值,条件判断,条件运算)格式。而是直接指定循环区间,有to和until两种方式。区别在于until不包含最后一个值(含前不含后),而to包含最后一个值。

//to循环1到10
scala> for(i<-1 to 10){print (i+" ")}
1 2 3 4 5 6 7 8 9 10//until循环1到10
scala> for(i<-1 until 10){print (i+" ")}
1 2 3 4 5 6 7 8 9

二、Scala方法和函数

​ 方法和函数的区别:

​ 方法:是类的一部分,是对象的一部分,和java类似,使用def关键字定义;

​ 函数:是一个对象,可以作为参数传给方法,使用val关键字定义。

1.方法的定义

(1).标准定义(return可写可不写,scala会自行推断。逻辑复杂建议不省略)

def 方法名(参数名:参数类型...):返回值类型 = {方法体}//例如
def sum(a:Int, b:Int):Int = {a+b
}

(2).简化定义

​ 因为scala是自动推断脚本语言,所以方法中的返回值类型可以不写,编译器会根据方法体中的返回值自行推断。

//简化1:不写方法返回值
def 方法名(参数列表) = {方法体}
eg:def sum(a:Int, b:Int) = {println(a+b)}//简化2:不写等号
def sum2(a:Int,b:Int){println(a+b)}//没有参数,没有返回值
def sum3():Unit = {
println("求和")
} //但是若是递归函数,必须些返回类型
//递归: 实现斐波那契数列
def fab(n:Int):Int={if((n == 1) ||(n == 2)){1}else{fab(n-1)+fab(n-2)}
} 

3.常见的函数的定义方式(有一种通过new Function2的方式不记录)

(1).声明函数返回类型定义

val 函数名:((参数类型...)=>返回值类型) = {(参数名...)=>(方法体)} //举例
scala> val diff:((Int, Int)=>Int)={(x,y)=>(x-y)}
diff: (Int, Int) => Int = <function2>scala> diff(3,2)
res21: Int = 1

(2).不声明函数返回类型定义

val 函数名=(参数名:参数类型...) => {方法体}//举例
val add = (a:Int, b:Int)=>{a+b}

(3).参数名不写,使用‘_’代替

scala> val f1:(Int,Int)=>Int=(_+_)
f1: (Int, Int) => Int = <function2>scala> f1(2,5)
res1: Int = 7

4.高阶函数

(1).参数是另一个函数

val f1 = (f:(Int, Int)=>Int) => {val a = f(2,3)println(a)
}val f2:((Int, Int) => Int) = {(x,y)=>(x+y)}scala> f1(f2)
5

(2).函数作为返回值

​ 需求:根据参数为true或者false来调用转换大小写的函数

​ 1.定义转换大写的函数f1

val f1:(String)=>String = {(x)=>{x.toUpperCase}}

​ 2.定义转换小写的函数f2

val f2:(String)=>String = {(x)=>{x.toLowerCase}}

​ 3.令f1或f2作为函数f3的返回值(这里传入true)

val f3:(Boolean)=>((String)=>String) = {(x)=>{if(x == true){f1}else{f2}}
}

​ 4.调用函数

val f4 = f3(true)
f4("helloworld")
//输出
res3: String = HELLOWORLD

5.数组

(1).定长数组

​ 长度不变的数组,实用scala包中的Array类。

定长数组的定义:

//第一种,通过new的方式定义,默认数组中元素初始值是0
val arrray = new Array[Int](5)//第二种,直接给定初始值
val array = Array(1,2,3,4,5)

定长数组的操作:

​ 1.打印定长数组

//如果是直接打印,则打印出来的是数组对象的hashCode
println(array)
[I@6c07ad6b//需要转化为缓冲数组方能正常查看其中内容
array.toBuffer
scala.collection.mutable.Buffer[Int] = ArrayBuffer(1, 2, 3, 4, 5)

​ 其余插入,修改数据的操作和java一样。

(2).变长数组

数组定义:

//第一种,使用new对象的方式
import scala.collection.mutable.ArrayBuffer
val array = new ArrayBuffer[Int](4)//第二种,直接赋值数组
val array = ArrayBuffer(1,2,3,4)

变长数组的操作:

//在末尾添加元素+=
val array = ArrayBuffer(1,2,3)
array += 10res17: array.type = ArrayBuffer(1, 2, 3, 10)//在末尾添加多个元素,用()括起来
val array = ArrayBuffer(1,2)
array += (3,4)res18: array.type = ArrayBuffer(1, 2, 3, 4)//在尾端添加另一个数组,++=
val array1 = ArrayBuffer(1,2,3)
val array2 = ArrayBuffer(4,5,6)
array1 ++= array2res24: array1.type = ArrayBuffer(1, 2, 3, 4, 5, 6)//移除最后N个元素,trimEnd(n)
val array = ArrayBuffer(1,2,3,4,5,6)
array.trimEnd(3)res27: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 2, 3)//缓冲数组转成不可变数组,toArray()

(3).遍历数组

​ 基本用法和java相同,这里仅仅记录较为特殊的不使用下标直接遍历的方式。

val array = Array(a,b,c,d)for(i <- array){println(i)
}
a
b
c
d

(4).数组常用算法

sum求和

max(min)求最大最小值

sorted从小到大排序

sortWith((x,y)=>{x>y})或者sortWith((x,y)=>{x<y})冒泡排序,可以指定正序排序或者倒序排序

reverse翻转

6.map映射

​ Scala提供两种类型的映射:一类是值可以改变的映射,位于scala.collection.immutable.Map包,另一类是值不可以改变的映射,位于scala.collection.mutable.Map包。

(1).构造值可变映射

//第一种方式,在构造时赋值
val map = scala.collection.mutable.Map("001"->"张三", "002"->"王五")//第二种方式,在构造时不赋值,但是需要指定kv对泛型
val map = new scala.collection.mutable.HashMap[String, String]

修改或获取映射中的值

//1.获取映射的值
map("001")res58: String = 张三//2.更改映射中的值
map("001") = "二麻子"
map("001")res60: String = 二麻子//3.添加数据
map += ("003"->"大傻子")//4.删除数据
map-=map("001")

(2).构造值不可变映射

//第一种方式,在构造时赋值
val map = Map("001"->"张三", "002"->"王五")//第二种方式,在构造时不赋值,但是需要指定kv对泛型
val map = new scala.collention.immutable.HashMap[String, String]

(3).映射遍历的三种方式

//第一种
for((x,y) <- map){println(x+"--->"+y)
}001--->张三
002--->王五//第二种
for(x <- map){println(x)
}(001,张三)
(002,王五)//第三种
val a = map.keySet
for(k <- a){println(k)
}001
002for(k <-a){println(map(k))
}张三
王五

7.元组Tuple

​ 目前Scala支持的最大元组长度为22(可以理解为一个可以存储不同数据类型的数据结构),对于更长的元组可以使用集合或者扩展元组。

//直接创建
val t1 = (1,"张三",3.14)  //这种创建方式只可以用_1,_2,_3来访问对应位置的元素
val t2,(a,b,c) = (1,"张三",3.14)	//这种创建方式可以通过别名abc来访问元素//通过new来创建元组,这样创建的元组也只可以用_1,_2,_3......来访问元素
val t3 = new Tuple2(1, 3.14)
val t4 = new Tuole3(1,"张三",3.14)

元组遍历:

t2.productIterator.foreach(x=>println(x))1
"张三"
3.14

8.集合(List,Set)

​ 大致与java相同,要区分可变集合(ListBuffer)和不可变集合。对于不可变集合,每一次变化都是生成新对象覆盖了原对象。

9.Iterable常用方法

​ Iterable是所有集合的父类,所以其方法对所有集合都适用。

//sum,max,min求集合中最大最小值和求和//count按照自定义规则计数,示例为统计list1中所有偶数个数,返回一个整型
list1.count(x=>{x%2==0})//filter过滤(可以理解为按规则筛选出符合的数据),示例为筛选出list1中所有的偶数,返回一个集合
list1.filter(x=>{x%2==0})//flatten扁平化处理,若有一个集合中的元素是多个集合,则将里面的集合元素全部拆解,合并为一个大集合
val list1 = List(1,2)
val list2 = List(3,4)
val list3 = List(5,6)
val list4 = List(list1,list2,list3)
//list4: List[List[Int]] = List(List(1,2), List(3,4), List(5,6))
val list = list4.flatten
//list: List[Int] = List(1,2,3,4,5,6)//diff 差集,intersect 交集, union并集。这三个方法返回集合数据类型。//map遍历集合中元素,对每个元素作出自定义操作,返回一个集合类型
val list = List(1,2,3,4)
val list2 = list.map(x=>{x*2})
//list2: List[Int] = List(2,4,6,8)//flatMap扁平化遍历集合。先将集合中的每一个元素遍历出来,再对总集合做flatten扁平化。
val list1 = List(1,1,1)
val list2 = List(2,2,2)
val list3 = List(3,3,3)
val list = List(list1,list2,list3)
val list4 = list.flatMap(x=>x.map(y=>y*2)) //第一步先将各个子集合取出到x中,第二步遍历x中各个元素到y中乘以2,得到List((2,2,2),(4,4,4),(6,6,6))这样的集合,第三步对这个集合做扁平化。
//list4: List[Int] = List(2,2,2,4,4,4,6,6,6)//zip拉链操作。对两个集合为位置相同的元素做合并为元组的操作,若一方有,一方没有的元素舍弃。最后返回一个元组集合。
val list1 = List(1,2,3)
val list2 = List(2,4)
val list1.zip(list2) //又可以写为 list1 zip list2
//res9:List[(Int,Int)] = List((1,2), (2,4))
val list2.zip(list2)
//res10:List[(Int,Int)] = List((2,1), (4,2))//forall对整个集合进行条件检查,返回布尔值。遍历集合所有元素,一但有一个元素不满足检查条件,返回false。若都满足则返回true
val list = List(2,3,4,9)
list.forall(x=>x<6) //false  因为9比6大
list.forall(x=>x<100) //true//partition对集合进行分组,返回集合元组,将相同分组条件的元素放到同一个子集合中。
val list = List(2,3,45,5,6)
list.partition(x=>(x%2==0))
//res11:(List[Int], List[Int]) = (List(2,6), List(3,45,5))//reduce聚合,按照规则对集合中各个元素做聚合
val list = List(2,3,4)
list.reduce((x,y)=>{x+y}) //x一开始代表第一个元素,后面代表每一次计算后的结果,y则代表下一个元素
//res12:Int = 9//groupBy分组函数。返回一个map类型集合,主键是分组条件的返回值,键值是符合的数据集合
val list = List(1,2,3,4,5,6,7,8,9,10)
list.groupBy(x=>{x%2==0})
//res12:Map[Boolean, List[Int]] = hashMap(false->List(1,3,5,7,9), true->List(2,4,6,8,10))//grouped分组函数。给定一个长度,将原集合分为N个符合这个长度的子集合。若剩余元素不满足该长度,则最后那个集合仅仅保存剩余元素。
val list = List(2,3,45,5,6)
list.grouped(2).toList
//res149: List[List[Int]] = List(List(2, 3), List(45, 5), List(6))

10.面向对象编程

(1).创建类

​ 在Scala中有两种类,描述类class和执行类object。scala中的类不需要使用public修饰,一个文件中可以存在多个类,若没有提供构造方法,系统会提供默认的无参构造方法。

​ 对于class可以理解为java中用来生成对象的类,而object则是具有执行能力,例如main方法所在的类。

class Student {/*** 定义属性, 需要给定一个初始值* var修饰的属性相当于自带的get/set方法* val修饰的属性相当于只有get方法, 没有set方法---只读* _ 表示一个占位符, 可以作为初始化使用, 需要注意的是:* 若使用下划线作为初始值, 必须声明数据类型* _ 相当于给当前变量进行初始值赋值, 数值类型--> 0  引用数据类型 ---> null* 引用类型在使用时需要注意空指针*/var name: String = _var age: Int = _var gender: String = _//var add = _  不能这么使用, 无法确定数据类型//val add:String = _ 也不能这么使用, val相当于final, 无法进行再次赋值, 在这里禁止使用下划线val add = "育新花园"
}object Test {def main(args: Array[String]): Unit = {//创建对象 若创建对象没有构造方法, 使用的是默认构造, 所以可以省略小括号val stu = new Student//调用属性println(stu.name)println(stu.age)println(stu.add)//调用属性, 赋值, val修饰的属性不能进行再次赋值stu.gender = "男"println(stu.gender)}
}

(2).构造方法

在类后面添加()完成

  1. 一个类只能有一个主构造方法,可以有多个辅助构造方法(相当于java中可以重载多个构造方法,用于不同参数(参数数量不同,类型不同)等情况)。
  2. 若类中提供了构造方法,可以省略书写属性,在构造方法中提供了这些形参名,其实就是类的属性,我们只需要提供修饰即可对外访问。
  3. 不使用修饰之前,这些形参只能够在类中使用。
  4. 在使用val和var修饰之后,这些形参就可以在外部使用。
  5. 在构造的时候,可以给属性一个默认值。
class Person(val name: String, val age: Int, val faceValue: Int = 50) {var gender: String = _//没有var或者val修饰的时候, 可以在类的内部进行调用def show() = {println(name)}//提供辅助构造器def this(name: String, age: Int, faceValue: Int, gender: String) {//第一行必须调用主构造方法this(name, age, faceValue)this.gender = gender}
}object PersonTest {def main(args: Array[String]): Unit = {//创建对象val p1 = new Person("laoliang", 37, 80)val p2 = new Person("laochen", 40)println(p2.faceValue)val p3 = new Person("laocao", 45, 2, "男")}
}

(3).伴生类和伴生对象不太常用

(4).特质和抽象类

特质:Thrait,相当于java中的接口,可以一个类可以实现多个特质。和java8后续版本一样,已经支持实现方法。

/*** scala中的特质, 除了关键字不一样外, 在当前代码中定义的和class类中定义的是完全一样的* 但是不能提供构造方法*/
trait Fly {//声明有值的的属性val height = 2000//声明没有值的属性val speed:String//声明实现方法def fly():String = {"I can fly"}//声明一个没有实现的方法def play():String
}

抽象类:和java一样,使用abstract关键字。

/*** 企鹅类,抽象类, abstract修饰*/
abstract  class QQ {//声明一个有值的字段val age = 5//声明一个无值的字段val name:String//声明实现的方法def show():String={"QQQQ"}//声明没有实现的方法def run():Stringvar gender:String = "男"
}

继承特质和抽象类:

/*** 若在没有继承类的前提下, 直接使用extends 就可以继承特质* 若只是继承抽象类或其他类 也是使用extends* 若继承一个类实现一个特质, extends 类名 with 特质名* extends 类名 with 特质名 with 特知名 with 特知名......*/
class Human extends QQ with Fly {override val name: String = "fly_name"override def run(): String = "跑"override val speed: String = "1000KM/H"override def play(): String = "斗地主"//重写override val age: Int = 20//被var修饰的属性不能被重写, 重写不会报错, 但是运行的时候会报错//override var gender:String="不详"
}object Human{def main(args: Array[String]): Unit = {val h = new Humanprintln(h.gender)}
}

(5).模式匹配(有一些类似java中的switch case)

1.标准模式:

数据 match{case 条件 => 输出
}

2.偏函数:

def show()={case 条件=>输出
}
  1. 模式匹配中, scala提供了一个类似于Java枚举的声明–>样例类
  2. Java中的switch-case需要使用break, 不然就会贯穿(从开始执行到结束)
  3. scala中的match-case没有break, 只要case满足就执行, 执行完就自动退出, 不会执行下一个case
  4. scala中使用_ 代替Java中的default, 最后的默认情况, 一定要放到最后
import scala.util.Randomobject MatchCaseDemo {def main(args: Array[String]): Unit = {//创建一个数组val arr1 = Array("laoliang", "laocao", "laochen", "dazhao")//通过随机获取值进行匹配输出arr1(Random.nextInt(arr1.length)) match {case "laoliang" => println("laoliangjianggushi")case "laocao" => println("laocaolaocao")case "laochen" => println("laochenlaochen")case "dazhao" => println("heiheihei")case _ => println("默认")}println("-" * 50)val arr2 = Array("hello123", 1, 2, 3L, MatchCaseDemo)arr2(Random.nextInt(arr2.length)) match {//可以向写方法形参一样case x: Int => println("Int Type")case y: Double if (y < 0) => println("double Type")case MatchCaseDemo => {println("MatchCaseDemo Type")}case _ => println("default")}val arr3: Array[Int] = Array(2, 3, 45, 5, 6, 6)arr3 match {case Array(2, 3, x, y) => println("x+y=" + (x + y))case Array(2, 3, _*) => println("_* 代表后边所有值")case _ => println("default")}val tup1 = (1, 2, 5)tup1 match {case (1, 2, x) => println("x=" + x)case (x, y, z) => println("x+y+z: " + (x + y + z))case (_, x, 5) => println("下划线尽量不要使用, 可以使用变量接收")case _ => println("default")}}
}
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 【数据结构】-排序-内排序总结

    1.时间复杂度总结n2: 直接插入排序,冒泡排序,简单选择排序(这三种里面直接插入排序好一点)nlogn: 快速排序,堆排序,归并排序n: 基数排序其他:n22.时间性能与初始序列无关:口诀:“一堆乌龟选基友”堆排序,归并排序,选择排序,基数排序3.空间性能:快…...

    2024/5/5 19:33:26
  2. [leetcode/lintcode 题解] 字节跳动面试题:用Rand7()实现Rand10()

    已有方法rand7 可生成 1 到 7 范围内的均匀随机整数,试写一个方法 rand10生成 1 到 10 范围内的均匀随机整数。 不要使用系统的Math.random()方法rand7 已定义。 传入参数: n 表示 rand10 的调用次数。在线评测地址:https://www.lintcode.com/problem/implement-rand10-using…...

    2024/4/27 14:02:11
  3. 告别恼人的NPE,日志分片,畅快的将日志信息埋入ES的设计方案

    关于CAT和ES的相关知识本文不做具体展开,各位自行去查阅资料了解吧。1、问题场景待埋点的信息为一个复杂对象中的比较深层次的字段,不希望做太多的非空判断处理的主流程为一条日志,主流程中会多次调用第三方服务,需要将调用信息埋点生成子的日志,并进行主流程日志和子的调…...

    2024/5/3 13:54:53
  4. Mysql服务起不来

    Mysql服务起不来,一直报错:在没用的时候服务不启动;我的解决方法:1 .以管理员身份打开CMD2.sc delete Mysql删除原来服务3.定位到Mysql安装目录下bin4.制定ini文件安装服务mysqld --install MySQL --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini&quo…...

    2024/4/16 15:08:07
  5. 洛谷:乒乓球(P1042)

    国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中11分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。华华就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白11分制和21分制对选手的不同影响。…...

    2024/5/5 21:19:04
  6. 05-javaWeb-validate&bootstred

    目录jqery validate插件案例1-表单校验bootstrap栅格系统媒体查询:案例2-创建一个响应式的页面案例3-布局首页总结 qery validate插件下载官网地址:http://jqueryvalidation.org/files/jquery-validation-1.15.0.zip帮助文档位置:http://jqueryv…...

    2024/4/16 15:07:16
  7. python的切片操作

    利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:demo测试链接:切片def trim(s):if in s:num_ = 0for num in s:if num == :num_ += 1else:breaks = s[num_:]s = s[::-1]if in s:num_ = 0for num in s:if num == :num_ += 1els…...

    2024/4/1 0:04:51
  8. mybatis第一期:在一个mapper.xml中引用另一个mapper.xml的数据 (「sql」 「resultMap」复用)

    1.<sql>数据复用<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.swi…...

    2024/4/24 15:01:23
  9. 一条命令替换mac的 homebrew 下载源

    /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"拷贝源:https://www.bilibili.com/video/av328392274/推荐的另一篇博文:Mac Homebrew 如何更换国内镜像源...

    2024/4/16 15:08:03
  10. Python多线程调试

    有时候程序是多线程的,调试的时候可能跑到别的线程了。 这个时候把thread.start变成threa.run就好了,就会执行完当前线程再执行下一个。 如下代码: for thread in threads: thread.run()#原本是thread.start()...

    2024/4/16 15:08:12
  11. 运算放大器

    一、集成电路运算放大器1.集成运放的电压传输特性有哪两部组成,它们有什么特点?在理想情况下,输出电压的最大值是多少?由线性区和饱和区组成特点:线性区Vo=Av(Vp-Vn),饱和区Vo=V-或V+理想情况下,输出电压的最大值为饱和区的极限值。2.运放工作在线性区的电路应该如何连接…...

    2024/4/16 15:07:57
  12. python批量合成excel表格并且封装成exe

    python批量合成Excel表格并且封装成exe 问题描述 平时生活里会不会遇到这种情况: 收到了好几个上交的表格,但是你需要整合成一个总表再次上交。 如下:顺带一提,这里的测试表格也是我自己用python批量生成的,姓名是全国最多重名前十。 你想要合成为这样:但是一个一个复制过…...

    2024/4/16 15:07:57
  13. 数组根据某属性重新分组

    数组根据某属性重新分组 前端处理后端返回数据 需求:将对象数组按照某一属性重新分组 // 原始数据 const items = [{ type: 1, title:模块1 },{ type: 1, title:模块2 },{ type: 2, title:模块3 },{ type: 3, title:模块4 },{ type: 3, title:模块5 },{ type: 3, title:模块6 …...

    2024/4/23 0:58:42
  14. 解析启动参数:ngx_get_options()函数

    分析ngx_get_options()函数 这个函数的作用就是解析nginx的启动命令传递的参数, 比如/usr/local/nginx/sbin/nginx -s reload, /usr/local/nginx/sbin/nginx -t等 http://nginx.org/en/docs/switches.html nginx supports the following command-line parameters: -? | -h —…...

    2024/4/16 15:07:21
  15. 小程序 父组件将后台数据传递给自组件 子组件获取不到

    由于数据是异步返回的,所以在子组件的生命周期获取父亲传过来的数据,或者从缓存中读取时,会遇到获取不到的情况。解决办法,可以加个定时器,加入异步队列之后再获取。或者判断一下 传递给子组件的数据是否有值,有值再传递过去子组件接收...

    2024/4/20 5:44:03
  16. 中文语音充电警报_手机充电好助手

    您是不是经常忘记手机在充电而导致充电时间过长?或者在公共场合充电怕被盗?那么您可以试试这款APP。当手机充满电或达到设置的充电电量,它就用可爱的中文语音进行报警,以免过充或遗忘。点击电量可以显示充电时间等参考信息。另外如果打开防盗功能,手机在充电过程中或使用耳…...

    2024/4/16 15:07:57
  17. 封装常用时间方法

    export default{// 计算当前日期星座getHoroscope(date) {let c = [摩羯,水瓶,双鱼,白羊,金牛,双子,巨蟹,狮子,处女,天秤,天蝎,射手,摩羯]date=new Date(date);let month = date.getMonth() + 1;let day = date.getDate();let startMonth = month - (day - 14 < 86577899998…...

    2024/4/20 12:49:23
  18. 数字化技术如何影响银行业务转型

    《银行科技研究社》:银行目前在既有的传统领域中不断经受技术和以技术为武器的跨界竞争者的双重挑战,数字化转型无论是在银行追求卓越的内部驱动之下,还是在生存之战的外部压力之下,都是必须采取的动作。 数字化转型是指通过各种手段,将人类行为最大限度地向虚拟空间转移,…...

    2024/4/23 13:16:18
  19. adsms-backend开发环境搭建

    python+flask之初体验IDE: JetBrains Pycharm 2019.3.1 系统架构: Python + MongoDB + Vue.js开发前的环境配置 方式一: 使用docker ***个人觉得docker在生产环境中使用较为方便。*** 官方文档:Docker docs 国内推荐:DaoCloud Linux环境: 1. 卸载旧版本Docker:Ubuntu/Deb…...

    2024/4/16 15:08:48
  20. 电商助国产奶粉赢得消费者认可 飞鹤三年如何做到京东母婴奶粉第一

    疫情下的京东首个618全球年中大促落幕。被誉为国产婴幼儿奶粉第一品牌的飞鹤奶粉,618期间实现销售同比增长超100%,618当日前8小时完成去年全天销量。飞鹤仅仅用了三年多的时间,成长为京东超市母婴国产奶粉第一名、婴幼儿奶粉行业增速第一品牌。在飞鹤乳业骄人成绩背后,对于…...

    2024/4/20 5:19:03

最新文章

  1. matlab例题大全

    1.第1章 MATLAB系统环境 1.1 注&#xff1a;plot函数为画图函数。例plot&#xff08;x1,y1,:,x2,y2,*&#xff09;; 1.2 注&#xff1a;root为求根函数。p为方程变量前面系数矩阵。 1.3 注&#xff1a; 2*x3y-1*z 2; 8*x2*y3*z 4; 45*x3*y9*z 23 求&#xff1a;x,y,z的…...

    2024/5/5 23:55:35
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 利用Sentinel解决雪崩问题(一)

    1、解决雪崩问题的常见方式有四种: 超时处理:设定超时时间&#xff0c;请求超过一定时间没有响应就返回错误信息&#xff0c;不会无休止等待;舱壁模式:限定每个业务能使用的线程数&#xff0c;避免耗尽整个tomcat的资源&#xff0c;因此也叫线程隔离;熔断降级:由断路器统计业务…...

    2024/5/4 23:53:05
  4. WEB安全测试通常要考虑的测试点

    1、问题&#xff1a;没有被验证的输入 测试方法&#xff1a; 数据类型&#xff08;字符串&#xff0c;整型&#xff0c;实数&#xff0c;等&#xff09; 允许的字符集 最小和最大的长度 是否允许空输入 参数是否是必须的 重复是否允许 数值范围 特定的值&#xff08;枚举型&a…...

    2024/5/4 21:42:57
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/4 23:54:56
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/4 23:54:56
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/4 23:55:17
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/4 23:55:16
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/4 18:20:48
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/4 23:55:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/4 23:55:06
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/4 23:55:06
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/4 23:55:16
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/4 23:55:01
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57