自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

老金的校外课堂

千淘万沥虽辛苦,吹尽狂沙始到金

  • 博客(91)
  • 收藏
  • 关注

原创 一个奇怪的问题和奇怪的解决方案

这就奇怪了,如果是opencv模块的问题,其他机子包括台式机用Linux的时候都该有提示的。我又尝试了导入 cv2、导入 numpy,都会出现重复导入numpy的提示;找不到DLL可以理解,win 10 LTSC 本来就是个官方精简版,而且更新不怎么积极,有些组件版本太低或者被精简掉是正常的。因为台式机上的debian(也许是KDE桌面)莫名其妙崩了,加上之前感觉输入法等各种小问题层出不穷,干脆换了win 10 LTSC。结果不仅找不到指定模块的提示没有了,重复导入 numpy 模块的提示也没有了。

2024-01-06 17:26:35 571 1

原创 Lambda表达式和模块化

文章目录新特性Lambda 表达式另一颗语法糖通过类名引用静态方法通过对象名引用方法通过类名引用普通方法引用构造方法模块化小结新特性Java语言本身也在不断变化,不过大部分变化并不十分明显,都是一些bug修复、安全性提升、性能提升或平台优化方面的。当然也有一些变化会影响到我们的日常使用,让我们开发更加方便和规范。近几年来,最显著的变化应该是Lambda 表达式和模块化了。Lambda 表达式在Java 8中引入,模块化从Java 9开始引入,Java 11中成为正式标准。Lambda 表达式Lam

2020-10-10 07:03:35 304

原创 内部类

文章目录什么是内部类成员内部类局部内部类静态内部类匿名内部类什么是内部类顾名思义,定义在一个类内部的类就是内部类。为了便于区分,这个内部类所在的类就被称为外部类。内部类是为了方便开发而设计的,有些类是专门为了另一个类开发的,所以干脆直接将这些类写到对应的类的内部。根据内部类的位置、修饰符和定义方式不同,一共有四种内部类:成员内部类局部内部类静态内部类匿名内部类成员内部类在一个类中定义的内部类,就像属性和方法那样,就是成员内部类。在成员内部类中可以访问外部类的所有属性和方法,外部类中也

2020-10-10 06:58:04 115

原创 异常处理

文章目录什么是异常处理Java中对异常的分类处理异常处理多个异常注意事项throws和throw自定义异常什么是异常处理先想想,什么是正常?一个程序从头跑到尾,所有的步骤都是按照我们的预期运行的,这就是正常。异常,自然就是和正常不同了啊。简单来说,异常就是程序运行过程中出现了问题,或者出现了和我们预期不同的情况。因此,我们可以认为,异常就是程序运行过程中出现的错误。这种情况很多,例如我们设计了一个计算器,用户用它来计算“10/0”;或者我们设计了一个读取并分析文件的程序,用户却输错了文件名,这就要

2020-10-10 06:55:22 199

原创 多态

文章目录编写宠物游戏吧多态特性出场类型转换子类对象转换为父类类型父类对象转换为子类类型怎么判断对象属于哪个类?例子编写宠物游戏吧书接上上回。前面我们已经学会通过抽象类、抽象方法和接口使程序更加规范了,现在我们就来实现一个简单的宠物游戏吧。闲言少叙,上代码:import java.util.Scanner;//抽象类Petabstract class Pet { //宠物名字 String name; //表示吃饭的方法 public void eat(Stri

2020-10-10 06:29:33 216

原创 一些操作技巧

文章目录格式化代码整理导入封装创建构造方法重写/实现方法重命名最后在第一部分,我们就介绍了关于自动保存、代码提示等功能的设置,随着学习的深入,可能大家已经感觉到编写代码越来越复杂了。这次我就插播几个IDE的使用技巧,不仅能帮我们省下不少功夫,而且让我们的代码更加规范。(以Eclipse为例,其他IDE也会有类似功能)格式化代码代码修改多次以后,排版很容易变得混乱。如果想要IDE帮我们自动整理,可以在代码上单击鼠标右键,然后在弹出菜单中选择Source–>Format。整理导入我们在编写代码时

2020-10-10 06:25:51 62

原创 抽象再抽象

文章目录开发人员一定会按计划来写程序吗?抽象,再抽象一下将抽象进行到底抽象类不够用吗?接口中只能有抽象方法吗?开发人员一定会按计划来写程序吗?先来看个例子。我们现在需要开发一款宠物养成的小游戏,为了方便表示各种宠物以及规范开发,我们先设计一个Pet类,作为所有宠物类的父类。public class Pet { String name; //表示吃饭的方法 public void eat(String food) { System.out.println(food+"太好吃了"); } /

2020-10-10 06:21:03 196

原创 类的继承

文章目录减少重复劳动继承重写super关键字访问权限final关键字Object类减少重复劳动如果我们在开发过程中,需要编写两个类,一个是Teacher.java:public class Teacher { //工作证号 String tID; //姓名 String name; //性别 char gender; //年龄 byte age; //部门 String department; //关于工作的方法

2020-10-10 06:16:37 130

原创 定义和使用类

文章目录我们不是学过了吗?封装重载构造方法默认构造方法自定义构造方法this关键字static关键字和代码块代码块和静态代码块静态变量和静态方法我们不是学过了吗?看到标题,很多人可能会想:我们之前不是讲过如何定义和使用类了吗?是的,我们讲过了,现在我们来回顾一下。定义类:class 类名{ //使用变量和对象表示属性 数据类型 变量名/对象名; //使用方法来表示行为 方法返回值类型 方法名(参数列表){ 方法体; }}生成和使用对象的

2020-10-10 06:11:23 191

原创 包管理

文章目录什么是包怎么命名包使用包组织源文件导入包和类打包Eclipse中的操作什么是包如果我们出门旅游,拍摄了很多照片,我们会在计算机上怎么整理它们呢?想必大家和我的想法类似,使用一定的标准,把照片分类,然后存放到不同的文件夹中。例如,我们去云南旅游,去了昆明、大理和丽江,在丽江去了丽江古城和束河古镇游玩。那么等我回到家,我整理照片时,我就会在E盘创建一个文件夹“摄影作品”,在其下创建文件夹“云南2020”,再在这个文件夹下创建“昆明”、“大理”和“丽江”三个文件夹,再在“丽江”下面创建“丽江古城”和

2020-10-10 05:56:57 254

原创 关于数组的习题

准备工作这里设计一个类,包含了对数组的基本操作,如使用随机数初始化数组元素,输出数组元素等等。在今后的案例中,我们会根据需要,逐步向这个类中添加方法,完成更多的功能。ArrayOP.java代码如下:import java.util.Random;/*数组的基本操作 */public class ArrayOP { //init方法用于使用随机数初始化一个数组,bound表示元素的最大值 public void init(int[] a,int bound){

2020-07-21 15:36:22 181

原创 关于三大流程结构的习题

if…else if和switch的互换在很多时候使用switch比if…else if更加简单,但仅限于判断条件可以转换为固定值的时候,因为case后面必须是确定值,而不是能是范围。在前面的例子中,我们将优秀成绩设置为90分以及上,良好为70分及以上,这些标准都是可以被10整除的,因此可以方便地将一个范围转换为一个或者几个确定值。如果标准修改一下,优秀为90分以上(不含90),良好成绩为70以上(不含70)。这样,90分,80多分,70多分都是良好,而70分则不属于良好,这时再使用switch就会显得

2020-07-11 15:10:10 232

原创 关于数据类型的习题

开篇说两句这一部分内容是针对第二部分知识点的练习题。之所以单独成一个部分,原因有二:编程是个系统性、实践性很强的技术,但包含的内容非常多,想要学会、学好,就必须多写、多思考。 如果把这些题目都加到前一部分,每一篇文章的篇幅都会很长(现在看起来已经很长了),所以第二部分侧重理论,这一部分则侧重实践.溢出问题我们都知道,整数类型一共有四种,我们需要根据实际情况选择合适的类型。如果使用到的数值比较小,但选用的数据类型占用空间比较多,就会造成计算机资源的浪费;如果使用到的数值比较大,但选用的数据类型

2020-07-10 14:26:02 625

原创 在方法里面我们怎么描述解决问题的步骤

三大流程结构计算机科学家早就证明了,任何算法的实现只需要三种流程结构:顺序、分支和循环。顺序结构,从程序入口点(Java是main方法)开始,从上至下依次执行所有的程序代码;分支结构,也叫作选择结构,程序可以根据一定的条件自动选择执行特定的代码;循环结构,程序会反复执行一段代码,直到某个条件达成为止。顺序结构我们之前编写过的程序都是顺序结构的,程序从主方法第一行开始执行,直到最后一行;如果中间调用了其它方法或者类,跳转到相应的位置执行,执行完毕后跳转回来继续按顺序执行。因此顺序结构并没有

2020-07-08 16:17:58 1057

原创 如何处理数据

数据的运算既然是“计算机”,那么其主要功能就是“计算”了。我们平时使用计算机打游戏、看电影、听音乐、上网、处理文档、科学研究等行为,本质上都是将各种问题转换成了计算的问题。常用的计算包括算术运算、赋值运算、比较运算、逻辑运算、位运算等。表示运算的符号就是运算符。下面我们来一一学习各种运算和对应的运算符。算术运算Java中的算术运算,是以加减乘除为基础的一些运算方法。包括:运算符 说明 示例 结果 + 正号 i=10; m=+i; m为10 -

2020-06-20 14:34:45 430

原创 如何描述行为

在Java中,使用方法来描述一类对象的行为,也就是能做什么。什么是方法方法或者说类似的概念,早在面向对象思想出现之前就已经很常用了,在不同的编程语言中被称为“函数”、“过程”、“子程序”等等。无论是什么名称,它们的思路是相似的:把一些常用代码放到一个模块中,使用时可以调用,这样无需编写重复代码。例如我们现在要写一个网络通信软件,在发送信息、发送文件、语音通话、视频通话等活动前,需要先测试发起者和接受者之间的网络是否连通。假设测试连通性的代码有50行,如果我们每次需要测试连通性时都需要写这些代码,那

2020-06-02 20:46:00 1647

原创 如何描述属性

什么是属性?前面我们说过,属性描述一个对象“什么样子”。当我们描述一个人或物的“样子”时,往往会说明其可测量的一些特征,例如一个人有多高、多重,一辆车有多长、什么颜色等等。因此,当我们设计一个类时,可以先用我们人类的语言描述一下这个类,然后把描述特征的名词和形容词部分提取出来,进一步提炼就是属性。例如,我们描述一个学生:他的姓名是张三,性别是男,身高是1.75米,体重是79千克,学号是20005,Java课成绩是88分……如果我们把这些特征做成一个表格,就是:A B 姓名 张三

2020-06-01 17:43:40 1266

原创 面向对象的概念

面向过程和面向对象之前我们已经说过很多次“面向对象”这个词了,相信大家这会儿对它应该有点熟悉但更多还是陌生吧。实际上,面向对象是我们比较熟悉的一种方式,或者说,面向对象是一种更加接近我们日常思考方式的一种编程思想。在面向对象出现之前,使用比较多的是面向过程的编程思想。面向过程就是将一个任务拆分成若干个小任务,然后按照一定的顺序执行这些小任务就可以完成整个任务。针对性强,开发大型软件难度高,修改起来比较复杂,可重用性也较差。而面向对象更加接近我们日常的思维方式,把一个任务拆分成若干个对象的互动过程,

2020-05-26 18:22:32 218

原创 命名、格式和注释

标识符回顾一下上次我们写的程序,就会发现,程序源文件的名字(不带后缀名)和public class后面的类名是一样的。这是关于文件名和类名的一个规定:程序源文件名必须和public修饰的类的类名一致换个角度讲,如果程序中的类,没有使用public修饰,那么源文件名可以和类名不同,而且一个源文件中可以写多个类,但只有一个类可以用public修饰。。是不是感觉有点复杂?我们把它简化一下:每个程序源文件中只定义一个类,源文件名和类名保持一致既然提到了“名字”,我们就来了解一下Java中对名字的规定。在

2020-05-25 18:47:36 443

原创 Java程序怎么是这个样子

升级版的“Hello World”还记得之前写过的程序吗?它是这个样子的:public class HelloWorld { public static void main(String[] args) { System.out.println("Hello Java World!"); System.out.p...

2020-05-07 19:35:14 135

原创 学习方法谈

学编程,学什么?近几年编程是个大热门,上至中年人,下至幼儿园小朋友,似乎不学编程都不好意思跟人打招呼。那么,我们学编程到底学什么?一个上岗技能。编程最直接的价值,就是帮我们找个工作,养家糊口,雅称“程序员”,俗称“码农”。 一个工作辅助技能。现在各行各业都越来越多地使用到了编程技能,开发、运维等岗位不必多言,一直离不开编程;网络管理也开始转向了SDN(软件定义网络);工程和科研等领域需...

2020-05-06 16:30:13 400

原创 精兵强将涿鹿中原

什么是IDE?IDE就是“集成开发环境”的缩写,核心功能就是编写代码,但比之前介绍过的代码编辑器继承了更多的功能,也更加适合开发大型项目或者团队开发。多数代码编辑器每次只能处理一个源文件,VS Code这样的编辑器可以通过插件同时处理多个源文件。在实际项目开发过程中,一个项目会被拆分成若干个功能模块,每个功能模块又会被拆分成若干个源文件,这些源文件又会分配给若干个开发人员来编程和测试,普通...

2020-05-06 16:25:28 222

原创 鲜衣怒马闯荡江湖

文本编辑器前面我们提到,编程两大基本工具,一是写代码的工具,二是把代码转换为计算机指令的工具。JDK就是把Java代码转换为计算机指令的工具。这次我们聊聊写代码的工具。Java代码并没有特别之处,就是普通的文本,保存下来也就是普通的文本文件,实际上,几乎所有的编程语言写出来的代码都是纯文本文件。所以,编写代码最简单的工具就是——记事本。当然,记事本的功能太过于简陋,一般人是不会去使用它写...

2020-05-06 16:24:37 283

原创 从JDK的目录结构想到的

这次我们来了解一些扩展知识:JDK的目录结构。目录结构我们打开JDK的安装目录,可以看到有这些目录:bin目录:包含Java开发工具,例如编译器javac.exe,解释器java.exe,调试器jdb.exe等,在之前的安装环节中,我们向Path环境变量添加%JAVA_HOME%\bin,目的就是让系统能够找到这个目录中的各种开发工具。 conf目录:包含开发和部署的配置文件,一般不...

2020-05-05 09:21:03 419

原创 磨刀不误砍柴工

了解一些基础知识之后,想必很多朋友已经跃跃欲试了。不过不要着急,我们还有一些准备工作要做,做好了准备工作,事半功倍,磨刀不误砍柴工嘛。要准备什么?前面我们已经提到,代码是我们人类编写的,却是要计算机执行的,而且我们编写的代码是我们能看懂的,计算机不能直接识别,需要用编译器或者解释器之类的软件翻译成计算机能看懂的指令才行。因此,我们首先需要能帮我们编写代码的工具;其次我们需要能帮我们把代码...

2020-05-05 09:19:58 236

原创 计算机怎么看懂程序的

程序是做什么用的?当我们需要用计算机做一些事情时——打游戏,做表格,科学计算,看电影——就需要向计算机发出相应的命令,而且命令不止一条,而是一组命令。这些命令组合起来,就是程序。所以我们可以认为程序就是为了让计算机完成某个任务所需要的所有的命令的集合。而编程语言,就是这些命令的形式。就好像我们可以写一份说明书(程序),编程语言就类似汉语或者英语。计算机本身并不聪明,只能执行确定的命令,为了...

2020-05-05 09:18:12 1281

原创 Nice to meet you,Java

计算机和编程语言简史计算机并不是一种很神秘的事物,从名字上我们就可以看出来:计算机=计算用的机器。计算机从古到今一直存在于我们的身边。世界上公认的、最早的计算机就是我们的老祖宗发明的:算盘。有些朋友可能还学过算盘的使用,我上小学的时候,学校还专门开有“珠算”这门课,我还记得几句当时学过的珠算口诀,什么“二下五去三”,什么“三退一还七”……现在大家都用计算器,或者手机上的APP,体积小,功能比...

2020-05-05 09:17:22 543

原创 电子邮件服务

电子邮件也是互联网中一种常用的服务,用户可以通过电子邮件互相传递信息,并且会在服务器上留下副本。034电子邮件服务

2020-05-05 09:15:34 216

原创 搭建动态网站

这次我们来搭建一个可以访问的动态网站,包括PHP、数据库、Apache等,让我们看看如何把前几节的内容变成一个网站吧。033安装动态网站

2020-05-05 09:14:59 339

原创 hosts文件、bind和ACL设置

在测试网站时可以使用的一些简化操作,包括修改hosts文件、配置bind服务,以及通过ACL实现更复杂的权限管理。032hosts文件、bind和ACL设置

2020-05-05 09:14:18 557

原创 数据库服务

数据库是网络应用程序的基础组件之一,正确安装和配置数据库是提供网络应用程序的必要操作。CentOS 7默认支持的数据库是mariadb数据,也支持MySQL等流行数据。031数据库服务...

2020-05-05 09:13:38 150

原创 HTTP服务

HTTP服务也就是我们常用的网页浏览服务,这是最常用的以中网络服务。在服务器上,经常使用Apache软件来实现HTTP服务。030HTTP服务

2020-05-04 11:50:35 106

原创 DNS服务

DNS服务用于把域名解析为对应的IP地址(反之亦可)。我们平时访问网站都是用域名,例如www.sohu.com,www.centos.org, 但网络上通信需要使用IP地址,这就需要DNS服务帮我们来完成这样一个转换过程。029DNS服务...

2020-05-04 11:49:52 99

原创 DHCP服务

DHCP服务用于向网络中的计算机自动分配IP地址,这样可以大大减轻网络管理的工作负担。028DHCP服务

2020-05-04 11:49:11 71

原创 防火墙和SELinux

防火墙用于过滤不安全的网络连接,SELinux用于限制应用程序访问系统资源的权限。两者都是Linux中的重要安全保障机制。027防火墙和SELinux

2020-05-04 11:48:27 801

原创 FTP的虚拟用户

之前的FTP服务允许服务器本地用户访问,一方面不够安全,另一方面需要建立本地用户,占用本地用户的额定数量。而使用虚拟用户就可以大大缓解这个问题,并提高安全性。026FTP的虚拟用户...

2020-05-04 11:42:46 199

原创 FTP服务

FTP是一种文件传输协议,它是一种公用的协议,因此不像SMB(CIFS)或者NFS那样有操作系统的倾向性,适用面更关,功能更强大。025FTP服务

2020-05-04 11:41:54 184

原创 NFS服务

Windows上面有共享文件夹,UNIX和Linux这边也有类似服务,网络文件系统,简称NFS。共享文件夹和NFS都是为了实现资源共享,虽然它们分属不同的平台,但是可以互相兼容的。024nfs共享...

2020-05-04 11:41:03 107 1

原创 Samba共享

Linux下的Samba共享,就是Windows下的共享文件夹,两者采用了相同的协议,因此可以互通。Samba是一座连接Windows和Linux的文件资源的桥梁。023samba共享...

2020-05-04 11:40:20 146

原创 监控和日志

查看监控和日志是了解服务器运行状态的主要方法。其中监控主要针对系统的当前运行情况,而日志主要用于检查过去的问题。022监控和日志

2020-05-04 11:39:26 1298

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除