自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (1)
  • 收藏
  • 关注

原创 关于AndroidPopupwindow和ListView混合使用

关于AndroidPopupwindow和ListView混合使用import androidx.appcompat.app.AppCompatActivity;import android.app.Activity;import android.graphics.Color;import android.graphics.drawable.BitmapDrawable;import android.graphics.drawable.ColorDrawable;import android.

2021-12-30 11:31:33 1196 1

原创 Android布局

LinearLayout属性weight是把剩余的空间按比例分配Relativelayout属性相对布局,默认从父布局在左上角开始布局FramelayoutTablelayoutGridlayout属性子控件的属性Constraintlayout

2021-12-01 18:51:49 1464

原创 Layout属性

各种Layout用到的一些重要的属性:第一类:属性值为true或falseandroid:layout_centerHrizontal 水平居中android:layout_centerVertical 垂直居中android:layout_centerInparent 相对于父元素完全居中android:layout_alignParentBottom 贴紧父元素的下边缘android:layout_alignParentLeft 贴紧父元素的左边缘android:layout_alignP

2021-11-30 14:14:43 1159

原创 java-知识7

Lambda表达式引入

2021-11-26 11:03:35 165

原创 java-知识6

网络编程网络编程入门计算机网络概述网络编程三要素IP地址常用命令InetAddress类端口协议UDP协议发送数据接收数据练习注意:一个接收端可同时接受多个发送端发送的数据包TCP协议发送数据接收数据服务端给出反馈TCP练习练习2练习3练习4练习5服务器端改动客户端改动练习6客户端比较练习五不变服务端服务端创建线程...

2021-10-24 14:51:02 1492

原创 java-知识5

进程线程多线程实现方式设置和获取线程名称如果没有设置线程名称,会有默认名称Thread-num(num是数字值)也可已通过带参构造方法在创建对象的时候给线程赋予名称currentThread()方法可以返回当前正在执行的线程对象线程调度多线程程序执行有随机性,单个线程抢到CPU时间片才能执行线程控制Thread.currentThread().setName(“name”);设置当前线程的名称当主线程执行完毕,java虚拟机就会退出,守护线程退出,但不会立即消失线程生

2021-10-24 09:21:57 90

原创 Java-知识4

IO流FileFile类创建功能File类的判断和获取功能File类的删除功能遍历目录(递归实现)package IT10.File;import java.io.File;/* 遍历目录 */public class FileDemo05 { public static void main(String[] args) { File f= new File("G:\\JavaFile练习"); getAllFilePa

2021-10-23 18:56:28 80

原创 Java-知识3

集合类体系结构集合特点提供一种存储空间可变的数据模型,存储的数据容量可以随时发生改变。Collection集合概述和使用是单列集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JDK不提供此接口的任何直接实现,它提供更具体的子接口(如:set和List)创建Collection集合的对象· 多态的方式· 具体的实现类ArrayListCollection中常用的方法Collection结合的遍历iterator:迭代器,集合的专用遍历方式...

2021-10-21 15:02:16 85

原创 Java-知识2

基本类型包装类Integer类package IT05.基本类型包装类.Demo01;public class IntegerDemo2 { public static void main(String[] args) { /*以下注释部分已过时,但是仍然可以使用 Integer i1 = new Integer(100);//已经过时,但是可以使用 System.out.println(i1); Integer i2

2021-10-15 19:26:08 106

原创 Java-知识1

成员变量和局部变量this关键字构造方法功能:主要是完成对象数据的初始化API(应用程序编程接口)

2021-10-13 17:44:40 78

原创 java-DeBug

DeBug概述DeBug是供程序员使用的程序调试工具,它可以用于查看程序和执行流程,也可以用于追踪程序执行过程来调试程序。DeBug操作流程(IDEA)DeBug调试,又被称为断点调试,断点其实是一个标记,告诉我们从哪里开始查看1.如何加断点选择要设置断点的代码行,在行号的区域后面单击鼠标左键即可2.如何运行加了断点的程序在代码区域右键DeBug执行3.看哪里看Debugger窗口和Console窗口4.点哪里点(Step Into)F7这个剪头,也可以直接按F7,点Stop结束5.

2021-09-04 17:08:43 182

原创 高级数据结构-二叉搜索树&红黑树

二叉搜索树二叉搜索树又叫二叉查找树,二叉排序树:它具有以下特点:1.如果它的左子树不为空,则左子树上结点的值都小于根结点2.如果它的右子树不为空,则右子树上结点的值都大于根结点(等于在左子树或者右子树)3.子树同样遵循以上两点为什么又叫做二叉排序树呢?二叉树的便利方式:前 中 后 层次只要一棵树是二叉搜索树,它的中序遍历一定是有序的。中序遍历:左 根(输出) 右二叉查找算法?二叉搜索树的增删改查...

2021-09-02 19:56:21 172 1

原创 java-方法

方法概述方法不可以嵌套定义方法定义和方法调用略例:方法重载方法重载指的是同一个类中参数传递对于基本数据类型的参数,形参的改变不影响实参的值对于引用数据类型的参数,形参的变化,影响实参的值...

2021-08-28 01:14:27 100

原创 java-数组

内存分配数组定义与使用https://blog.csdn.net/mrbacker/article/details/81638331数组中常见的问题

2021-08-27 23:38:25 75

原创 IDEA介绍

IDEA是java程序的集成开发环境IDEA中内容辅助键快捷键Ctrl快捷键介绍快捷键介绍Ctrl + F在当前文件进行文本查找 (必备)Ctrl + R在当前文件进行文本替换 (必备)Ctrl + Z撤销 (必备)Ctrl + Y删除光标所在行 或 删除选中的行 (必备)Ctrl + X剪切光标所在行 或 剪切选择内容Ctrl + C复制光标所在行 或 复制选择内容Ctrl + D复制光标所在行 或 复制选择内容,并把复制内容

2021-08-27 17:21:01 3079

原创 java简介

JRE和JDKJRE(Java Runtime Environment)是java程序的运行环境,包含JVM和运行时所需要的核心类库我们运行一个java程序,只需要安装JRE即可JDK(Java Development Kit)是Java程序开发工具包,包含JRE和尅发人员使用的工具其中的开发工具有:编译工具(javac.exe)和运行工具(java.exe)关键字关键字都是英文字母小写,50个左右常量...

2021-08-27 13:57:59 158

原创 高级数据结构-树论二叉树

高级数据结构-树论基础概念几个重要的术语1.结点:树里面的元素2.父子关系:节点之间相连的边3.子树:当结点大于1时,其余结点分为的互不相交的集合称为子树4.度:一个结点拥有子树的数量称为结点的度5.叶子:度为0的结点6.孩子:结点的子树的根称为孩子结点7.双亲:和孩子节点对应8.兄弟:同一个双亲结点9.森林:由N个互不相交的树构成森林...

2021-08-26 00:18:01 150

原创 基础算法-贪心&动态规划

基础算法-贪心&动态规划基本概念贪心算法:贪心算法又叫做贪婪算法,它在求解问题时,总是做出眼前最大利益,也就是说只顾眼前不顾大局,所以它是局部最优解。核心点:通过局部最优解推出全局最优怎么去贪就是贪心策略怎么选择。思考公司安排会议室,现在给你N个会议的开始和结束时间,你怎样安排会议才能使会议室得到最大利用?即安排最多场次的会议选时间最短:1-3.5 2-4 3.6-6 6-7如果选择2-4那么1-3和3-5都不可以选择所以选择时间最短不是最佳策略按结束时间从小到大排序:首先把

2021-08-16 02:44:46 556

原创 基础算法-排序(选择&冒泡&快排)

基础算法-排序(选择&冒泡&快排)基本概念选择排序选择排序和插入排序相似,也分已排序区间和未排序区间,选择排序每次会从未排序区间中找到最小元素,将其放到已排序区间的末尾,但是不想插入排序那样移动数组,选择排序会每次进行交换4 5 6 3 2 1第一次 1 5 6 3 2 4第二次 1 2 6 3 5 4以此类推代码实现 package Sort;import java.util.Arrays;public class SelectSort { public sta

2021-08-12 02:39:51 146

原创 基础算法-排序(插入&希尔&归并)

基础算法-排序(插入&希尔&归并)基本概念排序算法有哪些快速排序、冒泡排序、希尔排序、二分(归并)排序O(nlogn)、桶排序、堆排序、基数排序、插入排序O(n^2)、选择排序插入&希尔&归并冒泡&选择&快速堆排序:树论高级篇分析排序算法的几个方面:1.时间复杂度2.空间复杂度3.比较次数&交换次数:排序肯定有比较和交换两个操作,4.稳定性:(相同的两个元素,排序后相对位置不变)1 9 3(1) 5 3(2)1 3(1) 3(

2021-08-11 03:28:31 88

原创 基础算法-数论&递归&分治&回溯

基础算法-递归&分治&回溯基本概念数论思想:利用数学公式或者定理或者规律求解问题。算法中最难的是:递归(树论:二叉树,红黑树都是用递归)和动态规划递归递归是一个非常重要的算法思想,应用也是相当的广泛,包括我们后边学的数据结构尤其是树形结构里面跟递归是密布可分的。数学公式:f(n)=f(n-1)+1递归的时间复杂度和空间复杂度都很大所以对于递归需要优化递归做了很多重复的计算导致时间复杂度很大递归优化1.使用非递归。所有的递归代码理论上都可以转换成非递归的2.加入缓存:

2021-08-10 01:23:38 145

原创 基础数据结构-队列

基础数据结构-队列基本概念思考:线程池里面任务满时,此时又来一个新任务,线程池是如何处理的?具体有哪些策略?这些策略又是如何实现的队列:先进先出(FIFO),队列是一个特殊的线性表队列定义:队列只允许在表的前端进行删除操作,而在表的后端进行插入操作,是一种操作受限制的线性表。进行插入操作的是队尾,进行删除操作的是队头。没有元素时称为空队列。队列中的数据元素称为队列元素,在队列中插入队列元素称为入队,从队列中删除元素称为出队。(可以类比于排队买票,不允许插队)队列的分类:1.顺序(单向)队

2021-08-09 00:28:48 134

原创 基础数据结构-栈

基础数据结构-栈基本概念栈:后入先出栈如何实现其实它是一个仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对的另一端是栈底。向一个栈插入新元素又称为进栈、入栈、压栈。它是把新元素放到栈顶元素上边使其成为新的栈顶元素:从一个栈删除元素又称作出栈活退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。栈其实是一个特殊的链表或者数组既然栈也是一个线性表,那么我们肯定会想到数组和链表,而且栈还有很多限制,为什么还要使用栈,而不直接用数组和链表。数组和链表暴露太多的接口,实现上更灵活,有些

2021-08-07 21:31:48 267

原创 C++进阶15(多继承语法)

#include <iostream>using namespace std;//C++中允许一个类继承多个类//语法:class 子类:继承方式 父类1,继承方式 父类2//多继承可能会引发父类中有同名成员出现,需要加作用域区分class Base1{public: Base1() { m_A = 100; } int m_A; };class Base2{public: Base2() { m_B = 200; m_A = 300

2021-08-07 01:34:35 72

原创 基础数据结构-链表

基础数据结构-链表基本概念链表定义:链表通过指针将一组零散的内存块串联在一起,其中我们把内存块称为链表的“结点”。为了将所有结点串起来,每个链表的结点除了存储数据之外,还需要记录链上的下一个结点的地址特点:1.不需要连续的内存空间。2.有指针引用。3.三种常见的链表结构:单链表、双向链表和循环链表。单链表:单链表中有两个结点是比较特殊的,它们分别是第一个结点和最后一个结点,我们一般把第一个结点叫作头结点,最后一个结点叫作尾结点其中,头结点用来记录链表的基地址。有了它我们可以遍历到整条链表

2021-08-07 01:07:34 77

原创 基础数据结构-数组

基础数据结构-数组给一个文件包含全国人民的年龄,现在要 统计每一个年龄有多少人给定机器单台+2CPU+2G内存,不得使用现成的容器,比如map等数组算法在以上情况下你该如何以最搞笑的方法解决这个问题排序算法:先排序再进行统计每个段数字的个数 不能?为什么?排序的最高效算法:O(nlogn)14亿数据 排不出来,内存不够。int a[]=new int[180]; a[o]++;0表示0岁的人...

2021-08-06 02:27:03 149

原创 数据结构-预备知识

数据结构与算法学习一推荐书籍 数据结构:严蔚敏版《数据结构与算法》《大话数据结构》算法:基础级:刘汝佳 算法竞赛入门级进阶级:刘汝佳黑书 算法导论;注:很难,非算法行业慎入 刷题网站:(1)力扣(2)POJ(北京大学)或者HDU(杭州电子科技大学)为什么要学习数据结构和算法·1.BAT一线互连网公司面试必问技术数据结构与算法是所有计算机类的基础。大企看中的是潜力。·2.如果你不想做一辈子的CRUD(增删改查)工程师:业务工程师,CURD工程师统计功能 :排序+循环。·3.架构师必

2021-08-03 15:49:02 69

原创 C++进阶14(同名成员)

同名成员处理#include <iostream>using namespace std;/*问题:当子类与父类出现同名的成员,如何通过子类对象,访问到子类或父类中同名的数据呢?访问子类同名成员 直接访问即可访问父类同名成员 需要加作用域*/ class Base{public: Base() { m_A = 100; } void func() { cout << "Base - func()调用" << endl; } vo

2021-07-27 22:39:37 92

原创 C++进阶13(继承中的对象模型、构造和析构的顺序)

#include <iostream>using namespace std;//继承中的对象模型class Base{public: int m_A;protected: int m_B;private: int m_C;};//父类中所有的非静态的成员属性都会被子类继承下去//父类中私有成员属性是被编译器给隐藏了,因此时访问不到的,但是确实被继承下去了class son :public Base{public : int m_D;};//利用开发

2021-06-09 17:19:02 64 1

原创 C++进阶12(继承和继承方式)

继承的基本语法:继承是面向对象的三大特性之一我们发现,定义这些类时,下级别的成员除了拥有上一级的共性,还有自己的特性。这个时候我们就可以考虑利用继承的技术,减少重复代码继承的基本语法:class 子类 : 继承方式 父类子类也成为派生类 父类也称为基类例如我们看到很多网站中,都有公共的头部,公共的底部,甚至公共的左侧列表,只有中心内容不同接下来我们分别利用普通写法和继承的写法来实现网页中的内容,看一下继承存在的意义以及好#include <iostream>using n

2021-06-09 16:51:23 88

原创 C++进阶11(运算符重载(赋值、关系运算符、函数调用运算符))

赋值运算符重载#include <iostream>using namespace std;/*c++编译器至少给一个类添加4个函数:默认构造函数(无参,函数体为空)默认析构函数(无参,函数体为空)默认拷贝构造函数,对属性进行值拷贝赋值运算符 operator=, 对属性进行值拷贝如果类中有属性指向堆区,做赋值操作时也会出现深浅拷贝问题*///赋值运算符重载class Person{public: Person(int age) { m_Age = ne

2021-06-08 18:17:26 261

原创 C++进阶10(运算符重载(递增++、递减--))

递增运算符重载注意前置递增和后置递增在重载是的区别#include <iostream>using namespace std;//通过重载递增运算符,实现自己的整型数据//自定义的整型class MyInteger{ friend ostream& operator<<(ostream& cout, MyInteger myint);//友元public : MyInteger() { m_num = 0 ; } //重载前置

2021-06-08 14:03:53 305 1

原创 C++进阶9(运算符重载1(加号、左移))

加号运算符重载对于内置的数据类型的表达式的运算符是不可能改变的 不要滥用运算符重载#include <iostream>using namespace std;/*运算符重载的概念对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型对于内置的数据类型,编译器知道如何进行运算*///加号运算符重载//作用:实现两个自定义数据的相加的运算class Person{public: //通过成员函数重载了加号运算符 Person operator+(Pers

2021-06-07 20:18:26 82

原创 C++进阶8(友元)

友元生活中你的家有客厅(Public),有你的卧室(Private)客厅所有来的客人都可以进去,但是你的卧室是私有的,也就是说只有你能进去但是呢,你也可以允许你的好闺蜜好基友进去。在程序里,有些私有属性 也想让类外特殊的一些函数或者类进行访问,就需要用到友元的技术友元的目的就是让一个函数或者类 访问另一个类中私有成员友元的关键字为 friend友元的三种实现:全局函数做友元类做友元成员函数做友元全局函数作为友元#include <iostream>using name

2021-06-03 13:20:14 56

原创 C++进阶7(this指针、const修饰成员函数)

this指针定义概念#include <iostream>using namespace std;/*通过4.3.1我们知道在C++中成员变量和成员函数是分开存储的每一个非静态成员函数只会诞生一份函数实例,也就是说多个同类型的对象会共用一块代码那么问题是:这一块代码是如何区分那个对象调用自己的呢?c++通过提供特殊的对象指针,this指针,解决上述问题。this指针指向被调用的成员函数所属的对象this指针是隐含每一个非静态成员函数内的一种指针this指针不需要定义,直接使

2021-06-02 17:10:04 209

原创 C++进阶6(类对象作类成员、静态成员函数)

类对象作为类成员,在C++中一个类的对象可以作为另一个类的成员#include <iostream>using namespace std;//C++中类的成员可以是另一个类的对象,我们称为改成员为对象成员class phone{public : string m_pname; phone(string pName)//先构造phone的构造函数,在构造person的构造函数 { cout << "Phone的构造函数调用" << endl;

2021-06-02 11:23:26 152

原创 C++进阶5(构造函数)

构造函数和析构函数#include <iostream>using namespace std;/*对象的初始化和清理生活中我们买的电子产品都基本会有出厂设置,在某一天我们不用时候也会删除一些自己信息数据保证安全C++中的面向对象来源于生活,每个对象也都会有初始设置以及 对象销毁前的清理数据的设置。构造函数和析构函数对象的初始化和清理也是两个非常重要的安全问题​一个对象或者变量没有初始状态,对其使用后果是未知​同样的使用完一个对象或变量,没有及时清理,也会造成一定的安全问

2021-06-01 17:56:24 102

原创 C++进阶4(类和对象——封装)

封装意义1//类和对象//C++面向对象的三大特性为:封装,继承,多态//C++认为万事万物皆为对象,对象上有其属性和行为//例如://​ 人可以作为对象,属性有姓名、年龄、身高、体重…,行为有走、跑、跳、吃饭、唱歌…//​ 车也可以作为对象,属性有轮胎、方向盘、车灯…, 行为有载人、放音乐、放空调…//​ 具有相同性质的对象,我们可以抽象称为类,人属于人类,车属于车类/*封装是C++面向对象三大特性之一封装的意义:将属性和行为作为一个整体,表现生活中的事物将属性和行为加以权限控制*

2021-05-27 18:39:33 50

原创 C++进阶3(函数提升学习)

函数默认参数,函数占位参数,函数重载,以及函数重砸的注意事项,函数重载避坑#include <iostream>using namespace std;//函数提高.// 函数默认参数部分//在C++中函数的参数列表中的形参是可以有默认值的//语法:返回值类型 函数名 (参数=默认值){}int func1(int a, int b=20, int c=30){ return a + b + c;}//注意事项 /*1.如果某位置有了默认参数,从该位置往后,从左到

2021-05-25 11:18:54 72

原创 C++进阶2(引用)

#include <iostream>using namespace std;//引用做函数参数部分//作用:函数传参时,可以利用引用的技术让形参修饰实参,可以简化指针修饰实参//交换函数//1.值传递 void swap01(int a, int b)//值传递,形参不会修饰实参{ int temp = a; a = b; b = temp; cout << "swap01中的a1=" << a << endl; cout &l

2021-05-24 12:45:26 53

企业级网络构建与配置实现.docx

企业级网络构建与配置实现.docx

2021-05-19

空空如也

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

TA关注的人

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