自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 收藏
  • 关注

原创 排序算法——选择排序

选择排序的思想 1、每轮选择当前位置,开始找出后面的较小值与该位置交换 选择排序的关键 1、确定总共需要选择几轮: 数组的长度-1. 2、控制每轮从以前位置为基准,与后面元素选择几次。 public class Test { public static void main(String[] args) { // 1、定义数组 int[] arr = {10, 14, 16, 25, 28, 30, 35, 88, 100}; System.

2022-01-10 20:15:53 416

原创 JAVA——Lambda表达式

Lambda表达式 1、Lambda表达式是JDK8开始后的一种新语法形式。 2、作用:简化匿名内部类的代码写法。 Lambda的简化格式 (匿名内部类被重写方法的形参列表)->{ 被重写方法的方法体代码。 } 注:->是语法形式,无实际含义。 注意:Lambda表达式只能简化函数式接口的匿名内部类的写法形式。 什么是函数式接口? 1、首先必须是接口,其次接口中有且仅有一个抽象方法的形式 2、通常我们会在接口上加一个@FunctionalInterface注解,标记该接口必须满足函数式接口。

2022-01-10 20:06:00 423

原创 JAVA——包装类、正则表达式、Arrays

包装类 1、其实就是8种基本数据类型对于的引用类型 基本数据类型 引用数据类型 byte Byte short Short int Integer long Long char Character float Float double Double boolean Boolean 为什么提供包装类? 1、Java为了实现一切皆对象,为8种基本类型提供了对应的引用类型。 2、后面的集合和泛型其实也只能支持保证类型,不支持基本数据类型。 自动装箱: 基本类型的数据

2022-01-09 23:43:57 527

原创 JAVA——常用API:Date,SimpleDateFormat,Calendar

Date类 Date类的对象在Java中代表的是当前所在系统的此刻日期时间。 Date的构造器 名称 说明 public Date() 创建一个Date对象,代表的是系统当前此刻日期时间。 Date的常用方法 名称 说明 public long getTime() 获取时间对象的毫秒值 Date类记录时间的2种形式 形式1:日期对象 //1、创建一个日期对象代表了:当前系统的此刻日期时间对象 Date d = new Date(); c 形式2:时间毫秒值 //2、

2022-01-09 22:12:24 623

原创 JAVA——常用API:Math,System,BigDecima

常用API 什么是API? API(Application Programming interface)应用程序编程接口。 简单来说:就是Java帮我们已经写好的一些方法,我们直接拿过来用就可以了。 Object Object类的作用: 1、一个类要么默认继承了Object类,要么间接继承了Object类,Object类是Java中的祖宗类。 2、Object类的方法是一切子类都可以直接使用的,所以我们要学习Object类的方法。 Object类的常用方法: 方法名 说明 public St

2022-01-09 19:03:36 318

原创 JAVA——多态、内部类

面向对象三大特征之三:多态 多态的概述,多态的形式 什么是多态? 同类型的对象,执行同一个行为,会表现出不同的行为特征。 多态的场景形式 父类类型 对象名称 = new 子类构造器; 接口 对象名称 = new 实现类构造器; 多态中成员访问特点 1、方法调用:编译看左边,运行看右边。 2、变量调用:编译看左边,运行也看左边。(多态侧重行为多态) 多态的前提 有继承/实现关系;有父类引用指向子类对象;有方法重写。 多态的优势 1、在多态形式下,右边对象可以实现解耦合,便于扩展和维护。 Animal a =

2022-01-09 16:24:05 301

原创 JAVA语法—包、权限修饰符、final、常量、枚举、抽象类、接口

包 什么是包? 包是用来愤懑别类的管理各种不同类的,类似于文件夹,建包利于程序的管理和维护。 建包的语法格式:package 公司域名倒写.技术名称。包名建议全部英文小写,且具备意义。 比如:package com.xxx.javabean; 建包语句必须在第一行,一般IDEA工具会帮助创建。 导包 相同包下的类可以直接访问,不同包下的类必须导包,才可以使用! 导包格式:import 包名.类名; 假如一个类中需要用到不同类,而这两个类的名称是一样的,那么默认只能导入一个类,另一个类要带包名访问。 权限修饰

2022-01-06 23:07:41 588

原创 JAVA语法——继承

继承 什么是继承? 继承是类与类之间的一种关系。 多个类继承单独的某个类,多个类就可以使用单独的这个类的属性和行为了。 多个类成为子类(派生类),单独的这个类称为父类(基类 或超类)。 为什么用继承? 使用继承的好处:提高代码复用。 如果要开发一个教务管理系统,需要考虑一些角色类的设计,如:学生类,老师类 继承的格式 在java中,继承的关键字用的是“extends”。 public class 子类名 extends 父类名 {}。 继承后子类的特点? 子类继承父类,子类可以得到父类的属性和行为,子类可以

2022-01-05 23:08:33 1758 1

原创 Static关键字

Static关键字 1、static关键字的作用 static是静态的意思,可以修饰成员变量,表示该成员变量在内存中只存储一份,可以被共享访问、修改。 2、成员变量的分类 1、静态成员变量(有static修饰,属于类,内存中加载一次):常表示如在在线人数信息、等需要被共享的信息,可以被共享访问。 访问格式: 类名.静态成员变量(推荐) 对象.静态成员变量(不推荐) 静态成员变量放在堆内存中。 2、实例成员变量(无static修饰,存在于每个对象中):常表示姓名name、年龄age、等属于每个对象的信息。 访

2022-01-05 21:37:38 668

原创 JavaSE——对象内存

JavaSE——对象内存 对象内存图 class TestCar { public static void main(String[] args) { Car c1 = new Car(); c1.color = "red"; c1.type = "Audi"; c1.run(); } } /* * A:车的属性 * 车的颜色 * 车的品牌 * B:车的行为 * 车运行 */ class Car{

2022-01-03 22:41:41 438

原创 linux 查看日志文件

Linux日志文件在/var/log目录下,可以通过命令查看日志文件。 1,cat messages可以查看某个日志文件。 2,要达到实时更新,可以通过tail命令查看更新的数据,例如tail -f messages。 3,tail命令参数: -f 循环读取 -q 不显示处理信息 -v 显示详细的处理信息 -c<数目> 显示的字节数 -n<行数> 显示行数 –pid=PID...

2019-03-29 20:14:14 8996

原创 http 协议 get post put 几个区别

简单的说 就是整套CRUD(增删改查)操作,C对应POST,R对应GET,U对应PUT,D对应DELETE。 在实际的做的时候,很多人却没有按照HTTP规范去做,导致这个问题的原因有很多,比如说: 1.很多人贪方便,更新资源时用了GET,因为用POST必须要到FORM(表单),这样会麻烦一点。 2.对资源的增,删,改,查操作,其实都可以通过GET/POST完成,不需要用到PUT和DELETE。 3...

2019-03-29 20:12:07 435

原创 Makefile的懒人用法

makefile的具体用法看我的另一篇博客 .PHONY:clean all CC=gcc CFLAGS=-Wall -g BIN=//这里输入我要实现的二进制文件 all:$(BIN) %.o:%.c $(CC) $(CFLAGS) -c $&lt; -o $@ clean: rm -f *.o $(BIN) ...

2019-01-20 21:52:07 214

原创 面经总结

c++的析构函数能否为虚函数 父类指针可以指向子类的对象(多态性),如果删除该指针delete []p;就会调用该指针指向的子类析构函数,而子类的析构函数又自动调用父类的析构函数,这样整个子类的对象完全被释放。如果析构函数不被声明成虚函数,则编译器实施静态绑定,在删除父类指针时,只会调用父类的析构函数而不调用子类析构函数,这样就会造成子类对象析构不完全。所以,将析构函数声明为虚函数是十分必要的。...

2018-09-13 16:47:10 317

原创 BSTree

头文件 BSTree.h #ifndef __BSTREE_H__ #define __BSTREE_H__ #include&lt;iostream&gt; using namespace std; template&lt;class Type&gt; class BSTree; template&lt;class Type&gt; class BSTNode { fri...

2018-08-01 16:50:41 609

原创 二叉树

头文件 #ifndef __BINTREE_H__ #define __BINTREE_H__ #define ElemType char typedef struct BinTreeNode { ElemType data; BinTreeNode *leftChild; BinTreeNode *rightChild; }BinTreeNode; typede...

2018-07-31 20:36:37 211

原创 队列:Queue

逻辑线性结构,先进先出FIFO;队列是两端出入数据,堆栈是单端出入数据; 入队列在队尾,出队列在队首; 头文件 Queue.h #ifndef _QUEUE_H_ #define _QUEUE_H_ typedef unsigned char boolean; #define DEFAULT 10 #define IN 1 #define OUT 0 template&lt...

2018-07-30 12:42:30 239

原创 栈:Stack

头文件 stack.h #ifndef __STACK_H__ #define __STACK_H__ #include&amp;amp;lt;iostream&amp;amp;gt; #include&amp;amp;lt;assert.h&amp;amp;gt; using namespace std; #define ElemType int #define STACK_INIT_SIZE 8 typedef struct Stack { ...

2018-07-29 18:54:47 345

原创 链表3.0

双层循环链表 头文件DCList.h #ifndef __DCLIST_H__ #define __DCLIST_H__ #include&lt;iostream&gt; #include&lt;assert.h&gt; using namespace std; #define ElemType int typedef struct ListNode { ElemType d...

2018-07-29 14:46:13 173

原创 链表2.0

头文件 SList.h #ifndef __SLIST_H__ #define __SLIST_H__ #include"Utili.h" #include&lt;assert.h&gt; #define ElemType int typedef struct ListNode { ElemType data; struct ListNode *next; }ListNod...

2018-07-28 18:03:12 170

原创 链表

SList #include&amp;lt;iostream&amp;gt; #include&amp;lt;assert.h&amp;gt; using namespace std; #define ElemType int typedef struct ListNode { ElemType data; struct ListNode *next; }ListNode; typedef ListN...

2018-07-28 11:04:11 184

原创 顺序表2.0

顺序表 头文件: Utili.h #ifndef __UTILI_H__ #define __UTILI_H__ #include&lt;iostream&gt; using namespace std; #endif SeqList.h #ifndef __SEQLIST_H__ #define __SEQLIST_H__ #include"Utili.h" #include&...

2018-07-26 15:59:20 167

原创 编译器驱动程序

大多数编译器提供编译器驱动程序,它代表用户在需要时调用语言处理器、编译器、汇编器和构造器 驱动程序首先运行C预处理器(cpp),它将C的源程序eg.c翻译成一个ASCII码的中间文件eg.i cpp [other arguments] eg.c eg.i 接下来,驱动程序运行C编译器(cc1),它将eg.i翻译成一个ASCII汇编语言文件eg.s cc1 eg.i -0g [oth...

2018-07-25 22:00:41 774

原创 利用多继承计算程序员工资(抽象类编程)

C++中没有接口的概念,C++类中科院使用纯虚函数实现接口,接口类中只有函数原型定义,没有任何数据的定义。 #include&lt;iostream&gt; using namespace std; class programer { public: virtual void getmoney()=0; }; class dijiprogramer:public programer ...

2018-07-24 15:07:38 527

原创 多态

#include&lt;iostream&gt; using namespace std; class FirstHero { public: virtual int power() { return 10; } private: }; class Devil { public: int power() { return ...

2018-07-23 17:57:32 172

原创 C++的运算符重载

编译器给提供了一种机制,让用户自己去完成自定义类型的加减操作,这个机制就是运算符重载 运算符重载的本质是一个函数!函数!函数! 语法为:类型 类名::operatro op(参数) 写的时候先写operator,然后在写后边的操作,比方说&lt;,&gt; ,= ,!=,==,&lt;&lt;,&gt;&gt;这样,之后写()里的内容,比方说你对运算符+号进行重载,然后你可以是一个类的对象,...

2018-07-21 21:15:44 194

原创 顺序表

顺序表 这里是头文件 #ifndef _SEQLIST_H #define _SEQLIST_H #include"Utili.h" #include&lt;assert.h&gt; #define ElemType int #define SEQLIST_DEFAULT_SIZE 8 typedef struct SeqList { ElemType *base;//线性表存...

2018-05-28 14:41:10 284

原创 二分查找

二分查找 #include&lt;iostream&gt; #include&lt;vector&gt; #include&lt;stdlib.h&gt; #include&lt;stdio.h&gt; using namespace std; int binary_search(vector&lt;int&gt; &amp;vec,int num){ int begin = 0;...

2018-05-22 08:56:53 176

原创 快排算法

快排算法 #include&lt;iostream&gt; #include&lt;vector&gt; #include&lt;stdlib.h&gt; using namespace std; int partition(vector&lt;int&gt; &amp;vec,int low,int high){ int temp = vec[low]; while(lo...

2018-05-22 08:52:43 3840

原创 进程基础

程序与进程 No. 进程 程序 1 动态 静态 2 有生命周期 指令集合 3 只能对应一个程序 可以对应多个进程概念 进程:程序在计算机上的一次执行过程,执行中的程序。 进程是一个抽象概念 NO. 组成 含义 类比 1 一个独立的逻辑控制流 独占处理器 工人/机器 2 一个私有的地址空间 独占存储器系统

2018-05-08 18:17:57 197

原创 日志实现

日志的实现简介日志:记录程序日常运行状态。按条记录,记录内容包括:时间、模块、日志级别(致命、出错、警告、信息、调试)、输出位置(文件、终端、系统日志) 格式说明 日志信息格式 yyyy-mm-dd hh-MM-ss [Level] module file:line func:message 日期 + 级别 +模块+ 文件名+行号+函数+具体的信息 日志文件名格式 yyyy-mm-dd-XXXX.

2018-05-07 17:15:01 583

原创 c语言基础(十五)

线程进程可以完成多任务,实现宏观上的并行。 进程短板:1、通信 2、切换开销很大。 为什么需要线程? 其实,在真实的操作系统中,程序运行的最小单位是线程,进程的实质是分配资源。 多线程隶属于一个进程,实现并发,独立运行。通信方便。 不好的地方:同步和互斥就是关键的处理地方。 现代多核心计算机

2018-05-07 16:41:44 277

原创 c语言基础(十五)

信号量 信号量:解决进程之间通信时,资源的一个同步和互斥。 对信号量由两个操作(PV操作),这两个操作都是原子的。 原子操作:要不执行,要不执行,一旦执行肯定可以完成。 信号量对于某种资源(buffer),是一个非负的整型值。信号量&gt;0时,就表示资源可以用, 你就可以进行原子操作。信号量==0,这里就不能操作这个资源,...

2018-05-07 16:23:25 370

原创 c语言基础(十四)

消息队列消息队列:默认发送端将信息放在前一个信息的后面,接收消息端可以指定接受哪一个消息。 1、msgget:创建和打开一个消息队列 int msgget(key_t key, int msgflg) 键值,这个键值就可以创建不同进程的消息对列。 参数1:键值;参数2:权限有关 ftok获得特定的键值。

2018-05-07 16:20:00 651

原创 c语言基础(十三)

1、进程结束后资源处理的问题 每一个进程结束之后都会涉及到资源清理的问题:资源1:操作系统会回收里的进程中涉及到资源(栈、堆(malloc)、文件IO);资源2:进程建立时,会自动产生一个task_struct(8KB),这个就是你这个当前进程 包含所有信息的一个结构体(来自于父进程),这个结构体相当于(文件描述符),他是进程描述符。存在于进程管理表中,这里的资源操(进程运行也是需要栈)作系统无

2018-05-07 15:57:48 264

原创 c语言基础(十二)

1、main函数:一个程序运行起来就是一个进程,我们真实的代码是先进行链接,就是把C文件各个段进行 组合起来,这个需要链接器,为我们程序作引导的那部分代码此时也就链接到我们的.o文件里(其中最重要的是main函数里的参数就是此时进入目标文件的)。接着就需要加载器,将我们的代码加载固定的虚拟地址。这个就是一个进程的 完整步骤。 2、(1)程序正常终止:方式:exit _exit return

2018-05-07 15:49:02 509

原创 c语言基础(十一)

文件: 1、静态文件(inode) 硬盘中的文件,就是静态文件。文件都是以多个块和多个扇区组成的。一般情况,一个扇区(512字节),64个扇区组成一个块。在硬盘中,对文件管理有一个特定规则(文件管理表+真实的内容):文件管理表,这个表中是以文件为单位提供了各个文件的所有信息 (每一个文件信息表就对应一个结构体,这个结构体就称之为inode,也叫i节点,这个文件的包含的多少块、多少扇区),而我们通

2018-05-07 15:32:42 193

原创 Main函数中的argc与argv

argc 是 argument count的缩写,表示传入main函数的参数个数;argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径,所以argc至少为1(文件名本身也算一个参数),确切的说需要我们输入的main函数的参数个数应该是argc-1个;#include <stdio.h>

2018-05-07 15:11:34 271

原创 C语言学习大纲

一、C语言基础1、C语言特点及其运行环境 2、C语言和面向对象语言C++、JAVA的比较 3、介绍基本数据类型、运算符、关系表式 4、条件判断语句if+else、If + else if + else、switch +Csae语句 5、循环语句:while、do + while、for 6、位操作运算符:&、|、~、^  逻辑运算符:&&、||、!。二、C语言函数 1、自定义的函数声明和定义、以

2018-05-01 17:59:36 392

原创 拷贝构造函数、运算符重载、深浅拷贝

#include<iostream> #include<string.h>using namespace std;class Student{ public: Student(){m_strName="Jim";} /* 默认的拷贝构造函数: Student(const Student &stu){} */

2018-04-27 17:57:57 188

空空如也

空空如也

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

TA关注的人

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