- 博客(41)
- 收藏
- 关注
原创 虚拟机IP配置
1、创建虚拟机 首先在这里创建虚拟机,将不必要的虚拟机硬件设备移除掉,留下了这些,将网络适配器选择为NAT模式,桥接模式就自动连接自己主机的网络IP了。如何将VM虚拟机的IP设置为固定IP并与主机处于同一局域网段。首先,将虚拟机的网络连接模式设置为桥接模式,然后在虚拟机系统中修改IP地址、网关和DNS服务器地址,最后运行命令检查IP是否修改成功并测试网络连接。如何在模拟器中实现单窗口单IP,通过使用代理工具和设置进程匹配,每个虚拟机窗口都可以使用不同的网络,从而达到单窗口单IP的效果。
2025-03-03 20:09:58
418
原创 spark 虚拟机基本命令(2)
会把aaa、这三个字符写入a.txt文件,并把之前的内容全部覆盖掉(等价于先删除了a.txt的内容,再写入aaa)会把文件的最尾部的内容显示在屏幕上,并且不断刷新,只要文件有更新,就可以看到最新的文件内容。命令是:tar -cvf test.tar 1.txt 2.txt 3.txt。示例1:把1.txt,2.txt,3.txt压缩到test.tar文件中。格式:tar -cvf 压缩包.tar 文件1 文件2 文件3。-c 建立一个压缩文件,把多个文件或文件夹压缩到一个新的文件中。功能:压缩或解压文件。
2025-03-03 19:22:10
440
原创 spark 虚拟机(Linux)基本命令
波浪线,当前用户的home目录,比如root用户home目录是/root。rm -rf ./bbb 将目录及以下所有递归逐一删除,无需用户确认。相对路径:当前相对当前工作目录开始的路径,会随着当前路径变化而变化。rm -rf /* 将根目录及以下所有递归逐一删除,无需用户确认。mkdir -p:创建目录,如果父级目录不存在,就建立一个新目录。删除文件无需用户确如 rm -f +文件名 (慎用!ll -a 命令,显示当前的目录下的文件,包括隐藏文件。ll 命令,用来显示当前的目录下的文件。
2025-03-03 19:20:54
107
原创 spark vi基本使用
1.如果这个文件不存在,此时就是新建文件,编辑器的左下角会提示:new file。d(一个小d)加←删除左侧一个单词,d(一个小d)加→删除右侧一个单词。vi编辑器有三种工作模式,分别为:命令模式,输入模式,底线模式。2.如果文件已存在,此时就打开这个文件,进入命令模式。底线命令模式:以:开始,通常用于文件的保存和退出。2.nyy(n+两个小y)复制当前行往下n行内容。2.ndd(n+两个小d)用来删除当前行往下n行。nyy(n+两个小y)复制当前行往下n行内容。1.yy(两个 y)复制光标所在行的内容。
2025-03-03 19:19:03
136
原创 如何安装vm 和centos
创建虚拟机:打开VMware Workstation,点击“创建新的虚拟机”,选择“自定义(高级)”,按提示点击“下一步”;配置虚拟机:点击“编辑虚拟机设置”,在“CD/DVD”选项中,勾选“启动时连接”,选择“使用ISO映像文件”,浏览找到下载的CentOS镜像文件,点击“确定”。输入许可证密钥:安装完成后,点击“许可证”,输入有效的许可证密钥,点击“输入”,也可选择试用。选择安装位置:可使用默认位置,也可点击“更改”选择其他路径,之后点击“下一步”。开始安装:点击“开始安装”,等待安装完成。
2025-03-03 19:15:35
153
原创 vi的基本使用
Vi编辑器是最常用的Linux系统文本编辑工具,可以帮助我们通过一系列命令对文本文件进行编辑操作,具有命令行模式、插入模式、底行模式这三种工作模式,通常我们通过Vi编辑器对一个文件进行操作,需要在这三种模式之间来回切换。Vi编辑器初始进入命令行模式,无法直接对文本进行编辑,所以我们要按i键进入到插入模式里,在这个模式,我们可以对文本内容任意更改。该模式下,光标位于屏幕底行,用户可以进行文件的保存或退出操作,也可以设置编辑环境,如寻找字符串、列出行号。按下键盘上的 i 键,进入插入模式。
2025-02-24 20:13:36
260
原创 Linux基本命令
4)用man命令查看ls命令 的使用手册 5)在当前目录下,创建测试目录test .。6)利用ls命令列出文件和目录,确认test目录创建成功. 7)进入test目录,利用pwd查看当前工作目录.。12)用less命令分屏查看文件profile的内容.(注:使用/字符串,可以在less中查找特定的字符)11)用ls命令以长格的形式列出当前目录下的所有文件,注意比较每个文件的长度和创建时间的不同。16)用less命令查看文件lnsprofile的内容,显示什么?熟悉Linx操作环境。
2025-02-24 20:11:39
168
原创 Spark(1)
特点:提高处理能力:通过将任务分散到多个节点上并行计算,能够大大提高数据处理的速度和效率,从而可以在短时间内处理海量数据,满足大数据时代对数据处理的实时性和高效性要求。1.硬件资源有限:单机系统的计算能力、存储容量和内存空间都受限于单台计算机的硬件配置。1.无法处理大规模数据:随着业务的发展和数据量的增长,单机系统很快就会遇到存储和处理能力的瓶颈,无法应对海量数据的存储和分析需求。3.应用场景简单:主要用于个人办公、简单的游戏娱乐或小型企业的基本业务处理,如文字处理、单机游戏、简单的库存管理等。
2025-02-24 19:05:47
207
原创 scala图书管理系统
文件:books.txt ,users.txt ,borrow_records.txt。9,你当像鸟飞往你的山,塔拉·韦斯特弗,true。8,哈利·波特与魔法石,J.K.罗琳,true。3,百年孤独,加西亚·马尔克斯,true。4,小王子,圣埃克苏佩里,true。10,邓小平时代,傅高义,true。1,人性的弱点,卡耐基,true。2,理想国,柏拉图,true。5,红楼梦,曹雪芹,true。6,围城,钱钟书,true。软件包【service】7,活着,余华,true。软件包【modeis】
2025-01-01 20:41:23
216
原创 scala图书管理系统 【modeis】软件包
var returnDate: Option[String] = None // 归还日期。borrowDate: String, // 借书日期。userName: String, // 借书人。bookName: String, // 书名。s"编号:$id \t $name \t $author, $availableStr"bookID:Int, // 书ID。role: String // 普通用户,管理员。// id, 书名,作者,available:是否可外借。
2025-01-01 20:39:32
140
原创 scala图书管理系统【service】软件包
case _ => books.filter(b => b.name.contains(query) || b.author.contains(query)) // 有条件,就过滤。// 写借阅记录回文件 borrowRecordDAO.saveBorrowRecords(records)case "" => books // 没有条件,就返回全部。// 根据图书的ID,查询图书,判断图书是否存在。// 借阅图书 更新这本书的状态。// 普通用户,借阅图书。// 查询所有的图书。
2025-01-01 20:38:25
403
原创 scala图书管理系统【ui】软件包
println(s"欢迎管理员:${user.username},来到我的图书管理系统, 请选择")val query = readLine("请输入查询关键字(书名,作者):").trim。println(s"欢迎用户:${user.username},来到我的图书管理系统, 请选择")println("=======查询图书的结果:=======")case "2" => println("查询借阅图书")case "2" => println("查询图书")println("输入的图书ID无效")
2025-01-01 20:35:48
628
原创 scala语言的函数实现
在实际项目中,合理利用Scala的函数式编程特性,可以显著提升开发效率和代码质量,是每一位Scala开发者值得掌握的技能。在编程的世界里,函数是构建软件的基本单元之一,它不仅体现了代码的逻辑和结构,更是程序设计思想的具体体现。本文将深入探讨Scala语言中函数的实现细节,包括匿名函数、高阶函数、偏应用函数等高级概念,并通过具体示例展示它们如何提升代码的可读性和性能。这是函数式编程的核心特性之一,Scala中的map, filter, reduce等方法都是高阶函数的典型应用。一、Scala中的函数基础。
2025-01-01 20:19:01
323
原创 10个Scala的使用小技巧
可以在Scala项目中直接使用Java类库,也可以将Scala代码编译后供Java项目使用。例如,一个Java框架可以轻松地集成Scala编写的代码模块。例如,可以使用flatten方法将嵌套的集合扁平化为一个层次的集合。当编写递归函数且递归调用是函数的最后一个操作时,可以利用尾递归优化性能。例如,可以定义自己版本的加法操作符。可以使用type关键字定义类型别名,这使得复杂的类型可以使用一个简化的名称在代码中表示。可以定义包对象来存放包级别的属性和方法,而不是把这些内容分散在不同的类或者单例对象中。
2025-01-01 20:17:12
316
原创 scala的隐藏对象 隐试对象
要点:要有一个参数,就要待被转换的类型,返回的类型就是当前的类。格式:在class 的前面,添加implicit。格式:就是在对象前面加一个 implicit。隐式类 == 一个类 + 一个隐式转换函数。引入别的程序内的隐式转换,计算。作用:就是给函数当默认值!
2024-12-19 09:55:27
108
原创 scala的异常
A. try 的中文是试一试,catch是捕获,finally是最后的。关于try catch finally 的说法正确的是( D )C. 把是否有异常,finally 中的代码一定会执行。} finally { //可选 (即可写可不写)在scala中,1/0会导致如下什么异常( C )无论是否有异常发送,都会做的事情 //可选。B. 把可能会出现异常的代码写在 try 中。异常如果不处理,会导致整个程序崩溃!D. catch 中不能获取具体异常信息。发生异常之后的处理逻辑。异常:不是正常的情况。
2024-12-19 09:30:25
129
原创 Scala的隐式函数
需求:让字符串增加一个功能:isPhone() 检查当前字符串是否是一个合法的手机号。1. 在函数的默认参数的前面补充关键字:implicit。隐式值:能够自己设置参数默认值,而不是在代码中固定写死。2. 在定义变量的前面 补充关键字:implicit。3. 调用函数式,不加()
2024-12-09 08:02:09
268
原创 Scala的IDEA环境搭建
6.安装Scala插件:在IDEA中,通过“File”->“Settings”->“Plugins”搜索并安装“Scala”插件。如果您在在线搜索时遇到问题,可以尝试从IDEA的安装目录中的“plugins”文件夹手动安装。7.配置项目结构:在IDEA中,右键点击项目名称,选择“New”->“Folder”,创建一个名为“src”的文件夹。然后在“src”文件夹中创建一个名为“scala”的文件夹,并设置为源码目录。在项目向导中,选择“Scala”作为项目类型,并按照提示完成项目的初始化。
2024-12-05 11:32:14
339
原创 Scala内建控制
例如,try { f = new FileReader("input.txt") } catch { case ex: FileNotFoundException => // 处理文件不存在的异常 } finally { f.close() }。例如,firstArg match { case "1" => println("A") }。例如,if (a > 0) println(a + " > 0")。for循环:for (i <- 1 to 10) println(i)。
2024-12-05 11:30:50
175
原创 Scala的内核构造器
在探讨Scala的内核构造器时,我们首先需要区分主构造器与辅助构造器的概念。主构造器是与类定义紧密交织在一起的,它通过类名后面的参数列表来定义,并执行类定义中的所有语句。而辅助构造器则是通过this关键字定义,用于辅助主构造器完成对象的创建和初始化,它们可以有多个,并且每个辅助构造器的第一行代码必须直接或间接调用主构造器。主构造器的特点:声明直接跟在类名之后,包含了类的初始化逻辑。执行类定义中的所有语句,包括函数调用和表达式。如果主构造器无参数,小括号可以省略。辅助构造器的特点:名称必须为t
2024-12-05 11:29:36
153
原创 Scala学习记录 访问权限 控制方法作业域 package包
通过上述要点,我们可以了解到Scala中的访问权限和控制方法作用域是管理代码结构和安全的关键要素,而包的使用则是组织代码和避免命名冲突的有效手段。伴生对象和包对象的特性进一步增强了Scala的面向对象编程能力和代码的组织性。通过合理地使用访问权限修饰符,可以控制类和方法的访问范围,从而增强代码的封装性和安全性1。private[this]修饰的成员只能在定义它的类的同一对象实例内部的方法中访问1。Scala中的控制方法作用域与访问权限紧密相关,它决定了类和方法的可见性和可访问性。
2024-12-05 11:28:37
198
原创 Scala的正式表达 隐式转换
匹配除换行外单个字符a.c,文本abc、a&c等a.c可匹配多种,只要中间是一非换行字符\d等价[0-9],匹配数字\d{3},文本123、456\d{3}匹配连续3个数字\D等价[^0-9],匹配非字符\D+文本abc\D+匹配至少一个非修饰字符,如abc\w等价[a-zA-Z-9_],匹配其他\W,文本&\W匹配非字母等字符,如&\s匹配空白字符a\sb,文本ab。单字符大多数字符匹配自身正则表达式abc,文本abca匹配a,b匹配b,c匹配c方括号[ ]定义字符类,匹配其余字符。
2024-12-05 11:23:56
179
原创 Scala迭代器的基本使用
zip方法用于将两个迭代器的元素按顺序组合成一个新的迭代器,其中每个元素是一个包含两个迭代器对应位置元素的元组。// println(it1.next()) // 作用:获取当前元素 + 移动迭代器。// println(it1.next()) // 作用:获取当前元素 + 移动迭代器。// println(it1.next()) // 作用:获取当前元素 + 移动迭代器。// take 只处理当前开始的,指定数量的元素,返回一个新的迭代器。// it1.next() // 移动一次迭代器。
2024-12-04 18:35:43
348
原创 Scala里trait作用
如果类是抽象类,则可以定义抽象成员和抽象方法,如果类是普通类,则可以定义一些普通的变量和方法。菱形问题可以描述为B和C继承自A,D继承自B和C,如果A有一个方法被B和C重载,而D不对其重载,那么D应该实现谁的方法,B还是C?关于多继承问题,Java中的类不支持多继承,接口支持多实现:而在Scala中trait可以支持多继承,也可以在多继承的同时混入多个特质。下面从trait多继承的实现方法和混入多trait的语法格式对多继承做一个简单介绍,通过多继承产生的问题进一步加深对trait名继承的了解。
2024-12-04 18:24:15
330
原创 scala的抽象类与内部类
Scala的成员属性有抽象的和非抽象的,而Java中只有非抽象的。Java中的内部类从属于外类,与Java中内部类不同的是,Scala中的内部类属于对象。下面通过Scala的内部类和匿名类的介绍以及相关案例详细说明Scala的内部类以及匿名类的应用。Scala中的方法可以是抽象的和非抽象的,同样属性也可以是抽象的和非抽象的。Scala的内部类是指定义在类或对象内部的类。与Java相同的是创建在类内部的新类都称为内部类,与Java的不同之处在于Scala中把定义在对象内部的类也称为内部类。
2024-11-07 09:56:20
516
原创 Scala递进函数
/// //2递归情况,再次要用自己去解决问题。// //定义一个函数,求1—n的和。//定义一个函数,求1*2*3*...*n。/**递归函数,在函数内部再次调用自己。* 解决可以被分解为类例子问题的问题。* 2.递进情况,调用自己去解决问题。* 1基本情况,最小问题的答案。//// //基本情况。
2024-09-26 10:43:42
404
原创 Scale的对象相等性判断
1) 如果只是根据是否指向同一个实例,来判断变量是否相等,那么直接使用==操作符即可,默认先判断是否为null,不为null,然后调用equals方法。具体参考:https://www.scala-lang.org/api/current/scala/AnyRef.html。AnyRef的equals方法默认调用eq方法实现,也就是说,默认情况下,判断两个变量相等,要求必须指向同一个对象实例。在scala中,如何判断两个引用变量,是否相等的,是否指向同一个对象实例?类AnyRef是所有引用类型的根类。
2024-09-26 09:54:42
230
原创 Scala对象的所属类
在说到伴生对象之前,要先说到java的static关键字,static关键字修饰的变量、方法可以使类对象共享,而非某个对象单独拥有,所以是通过类名.变量名/方法名去调用。Scala是纯面向对象的,去除了java中的static关键字,通过伴生对象模拟static的效果(类名.变量名/方法名)当我们对源文件进行编译之后,默认会生成两个字节码文件,一个是伴生类,另一个是伴生对象所属类。如果不想默认生成伴生类,可以手动生成,要求伴生类名称和伴生对象名称一致。真正的伴生对象是伴生对象所属类中创建的单例对象。
2024-09-26 09:52:45
173
原创 continue的作用
continue的作用:使用continue语句来终止循环的当前迭代。(注意与break的区别,break会跳出循环,而continue只会跳出当前循环,而后会继续执行循环条件判断)}//当输入的word长度小于4时不输出,大于等于四时输出。
2024-09-14 10:10:15
307
原创 Scala——While和do..While循环控制
Scala内置控制特地去掉了break和continue,是为了更好的适应函数式编程,推荐使用函数式的风格解决break和continue的功能,而不是一个关键字。(4) 因为while中没有返回值,所以当要用该语句来计算并返回结果时,就不可避免的使用变量,而变量需要声明在while循环的外部,那么就等同于循环的内部对外部的变量造成了影响,所以不推荐使用,而是推荐使用for循环。(3)与for语句不同,while语句没有返回值,即整个while语句 的结果是Until类型()1、采用异常的方式退出循环。
2024-09-12 11:09:47
428
原创 scala之类型参数
例子:Java中,如果有Professional是Master的子类,那么Card[Professionnal]是不是Card[Master]的子类。顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,(2)上,下:限定于 该类型,或者该类型的子类,或者父类(包含关系)作用:让使用了T定义的 field,method,类型保持一致。特点:特殊的类型占位符,表示在声明时,必须限定某一个类型。限定(类,函数)中 参数类型,实现程序更好的健壮性。然后在使用/调用时传入具体的类型(类型实参)。
2024-09-05 09:33:37
379
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人