自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java学习(三):IO流

IO流概览[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-11MLpicr-1690733294478)(src/main/resources/img.png)]IO流操作的步骤:1.创建输入 或者 输出的文件对象2.创建输入流 输出流3.具体的读写操作4.关闭流3.注意点1.关闭流2.写文件有一个参数控制是覆盖还是追加 FileWriter(file,true) --true参数控制3.字符流操作只能处理文本文件;

2023-07-31 00:10:10 240

原创 java学习(二):反射

对程序作出解释。@注释名”在代码中存在的,还可以添加一些参数值注解在哪里使用?–可以附加在package,class,method,field等上面,相当于给他们添加了额外的辅助信息,我们可以通过反射机制实现对这些元数据的访问设置作用域、返回类型等可以借助元注解在代码运行过程中,允许程序借助Reflection API取得类的任何内部信息、操作类的属性和方法。作用:操作字节码正常方式: 引入包类 --》new 实例化对象 --》 取得实例化对象。

2023-07-23 23:05:31 501

原创 【http长连接+池化】

参考:https://it.cha138.com/ios/show-49862.htmlhttp://blog.chinaunix.net/uid-16480950-id-103597.htmlhttps://www.cnblogs.com/kevin-yuan/p/13731552.htmlhttps://www.jianshu.com/p/17e9aacca438HTTP协议是无状态的协议,即每一次请求都是互相独立的。因此它的最初实现是,每一个http请求都会打开一个tcp socket连接,当

2023-07-22 23:14:21 909

原创 java学习(一):多线程

多线程基础,还有很多高级用法要继续学习} } // 1. 创建线程的三种方式:继承Thread类 实现runnable接口 实现 Callable // 2. 线程的5个状态:创建 就绪 执行 死亡 阻塞 // 线程停止 Thread.shutdown() // 线程休眠 thread.sleep // 线程礼让 thead.yeild() // 线程强制执行 thread.join() // 3, 线程优先级 thread1.setPriority(5);

2023-07-17 00:27:44 226

原创 【UT学习】JMockit

- jmockit的依赖 -- > < dependency > < groupId > org . jmockit < / groupId > < artifactId > jmockit < / artifactId > < version > 1.8 < / version > < scope > test < / scope > < / dependency >

2023-07-13 00:24:12 469

原创 【UT学习记录】

UT

2023-07-12 23:41:11 254

原创 【java】IDEA工具使用问题记录

解决方案:settings.xml里配置从阿里云下载。1. 本地maven导入pom慢。

2023-07-08 23:54:39 569

原创 【java】数组学习记录

(1) 打印单层数组:Arrays.toString()(2) 打印多层数组:Arrays.deepToString(intNestedArray)

2023-05-21 18:22:17 69

原创 【java知识点记录】

菜鸟学习之路~

2023-05-10 23:15:58 718

原创 【java】【Java基础】局部网格排序--二维数组sort&stream

【代码】【java】【Java基础-2023.5】局部网格排序--二维数组sort&stream。

2023-05-07 18:23:29 202

原创 好用的小工具们

小工具集合

2023-03-09 22:36:27 94

原创 【Java】DT怎么写?

DT

2023-03-08 23:05:37 802

原创 【树】:DFS遍历模板

DFS

2023-03-02 23:59:06 95

原创 二分法总结

Java 二分

2023-03-01 23:18:27 77

原创 【Java】Optional类

【Java】Optional类

2022-12-18 19:28:03 172 1

原创 【容器】docker学习1

docker

2022-09-15 00:09:20 189

原创 【安全】威胁建模方法

#常见的威胁建模方法有:攻击树、TVRA、STRIDE等#1、攻击树建模攻击树模型是Schneier提出的一种系统攻击分类方法。这种方法采用树形结构描述攻击逻辑,使安全分析人员从系统面临攻击威胁的角度思考安全问题。利用树形结构的优势,可以用简单的结构描述复杂的威胁类型和攻击方式,具有很强的扩展性,便于从深度、广度不同的层次对攻击逻辑做出修正,从而帮助分析者构建系统、全面的安全威胁模型。2、TVRA这种方法爱立信用的比较多。TVRA指威胁脆弱性风险评估,它是所有安全工作的基础。反恐、反盗窃、电子和物理安全方

2022-09-02 08:06:29 2895

原创 【Java】类型转换

【Java】类型转换

2022-08-10 23:56:47 333 1

原创 【Java】Stream使用

【java】Stream 使用

2022-08-10 23:52:59 1230

原创 线性规划(DP)学习(1)

线性规划(DP)加粗样式参考博客: https://blog.csdn.net/eagle_or_snail/article/details/50987044https://blog.csdn.net/qq_40778406/article/details/80581238DP问题三大性质:最优子结构: 如果问题的最优解所包含的子问题的解也是最优的,我们就称该问题具有最优子结构性质(即满...

2019-10-14 09:21:45 336 1

原创 剑指offer面试题3——找到数组中重复的数

题目: 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。思路: 方法一:两个for循环,用vector存储重复的数,可输出所有数字和重复次数。时间复杂度O(n^2) 方法二...

2018-08-14 22:31:36 332

原创 剑指offer面试题1——类中的赋值运算符函数

题目:类型CMyString的类声明中,为该类型添加赋值运算符函数。解题思路: 1.赋值运算符函数:是一种重载运算符。本质上也是一种函数。因此,有函数对应的特性:返回值、函数名、形参列表。class CMyString{public: CMyString(char* pData=nullptr); CMyString(const CMyString&amp;amp; st...

2018-08-14 17:03:08 312

原创 数据结构——树(2)——线索二叉树

注意各种关键词: 1、线索:指向前驱和后继的指针成为线索。 2、线索链表:加上线索的二叉链表为线索链表。 3、线索二叉树:加上线索的二叉树。 4、线索化:对二叉树以某种次序遍历,使其变为线索二叉树的过程,被称作是线索化。 5、树、二叉树、森林等的相互转换 6、赫夫曼树:带权路径最小的二叉树。 7、赫夫曼编码(应用:压缩和解压缩技术)。 主要参考:大话数据结构、及博客https://...

2018-08-08 16:28:00 249

原创 数据结构——树

1、树的基本定义1、树的定义:n个结点的有限集合(n&gt;=0)。 2、树的结点:包含1个数据元素及若干指向其子树的分支。 3、结点的度:结点所拥有的子树数量。 4、树的度:树中所有结点的度的最大值。 5、结点的层次:从根节点开始为第一层 6、树的深度:最大的层次数。/2、二叉树(Binary Tree)1、二叉树:n个结点的有限集合(n&gt;=0)。特殊在于:n&gt;...

2018-08-07 15:41:55 250

原创 数据结构——队列

1.定义队列(queue)是只允许在一端进行插入操作、另一端进行删除操作的线性表。先进先出,插入端为队尾;删除端为队头。 队列作为一种特殊的线性表,也具有顺序结构和链式结构2.循环队列循环队列:队列的头尾相接的顺序存储结构称为循环队列。使用循环队列是为了避免队列空间浪费、插入删除之后队头队尾指针操作不便等情况。 循环队列的顺秀结构如下://循环队列的顺序存储结构typed...

2018-08-06 11:37:15 239

原创 数据结构——栈(1):限定性线性表(先进后出)

1、栈的定义2、栈顶顺序存储结构3、共享空间栈4、栈的链式存储结构

2018-08-05 13:26:30 1372 1

原创 数据结构——字符串(3)字符串单词数量&&字符串逆序

使用字符数组保存字符串,进行操作。/************************************************************************//* 刷题:字符串相关题目 *//*************************************...

2018-08-04 16:32:30 167

原创 数据结构——字符串(2)串的模式匹配

1、定义:子串的定位操作称为串的模式匹配。 比如:主串S=”goodgoogle”;子串T=”google”;找到子串T的位置就是一个匹配。 实现方法: 从主串第一位开始遍历,直到匹配成功或者遍历结束。2、KMP模式匹配法:设置一个数组next[]。可避免朴素模式匹配的冗余回溯。 一般,next[0]=0;无重复,next[j]=1;若前缀和后缀重复,有n个字符相等,next[j]= n...

2018-08-04 16:27:36 523

原创 数据结构——字符串(1)

1、串(string)的定义:是由0个或多个字符组成的有限序列,一般叫字符串,记为s=”“(空串),s=”c1c2c3……cn”(长度为n的串)。 2、串的存储区结构 串的存储结构和线性表一样,也分为两种:顺序存储和链式存储。 (1)串的顺序存储结构:一般保存在固定长度的数组中,数组下标从0开始,最后一位保存字符串结束标志“\0”。 (2)串的链式存储结构:一个结点元素存放一个字符,或...

2018-08-03 11:05:56 469

原创 数据结构——链表(6)循环链表

循环链表是一种首尾相连的链表。 和单链表的区别在于对尾结点的处理:①单链表的尾结点指向空,而循环链表的尾结点指向头结点(或第一个结点)。 ②单链表的局限是只能从头开始遍历链表;而循环链表可以从表中的任意一个位置开始遍历整个链表。 ③单链表一般使用头指针head操作;循环链表通常使用尾指针rear标识链表,这样在链表尾部进行处理的时候使用rear指针效率较高。对于两个循环链表,在合并成一个...

2018-08-02 22:22:22 357

原创 数据结构——链表(5)数组转换为链表&&单链表冒泡排序

1.数组转换为链表结构,主要思想可以按照头插法或尾插法,要手动生成一个新的结点,分配存储空间,然后按照顺序,将数组中对应的元素放在链表对应的数据区。/* 用数组创建链表 */Linklist ArrayToList(int *arr,int len){ Linklist head=NULL; int data; Linklist pCurrent...

2018-08-01 22:09:30 1765 1

原创 数据结构——链表(4)如何寻找到单链表中间的结点【特殊的找第k个结点的方法】

方法一:首先遍历一次,求得单链表长度len,然后再遍历一次,找到(len+1)/2的中间位置。方法二:和找第k个结点类似,但是因为是中间结点,又有一定的特殊性。定义两个结点指针p和q,最开始都表示头指针,然后,p每次移动一位,q每次移动两位;当q移到最后一个结点时,p结点就在中间位置。 具体代码实现如下:#include &lt;stdlib.h&gt;#include&lt;iost...

2018-07-30 23:02:31 422

原创 数据结构——链表(3)实现单链表反转

1.单链表反转,可以不使用头结点。 2.初始化阶段:p=L(当前正序链表的第一个结点); pHead=NULL,返回逆序反转链表的头结点; pPrev=NULL,保存p的前一个结点,初始化为NULL,之后随着往后反转,保存已反转部分的第一个结点。 3.从正序链表的第一个结点开始,若当前结点p不为空,①保...

2018-07-27 10:38:27 650

原创 数据结构——链表(2)链表元素顺序输出

要想输出链表,首先要有一个链表。那就要初始化,然后添加元素,再依次遍历即可。#include &lt;stdlib.h&gt;#include&lt;iostream&gt;typedef int ElemType;struct Node{ ElemType data; struct Node *next;};typedef struct Node Node;...

2018-07-26 22:37:13 5524

原创 数据结构——链表(1)如何找出链表中的倒数第k个元素

方法一:①遍历链表,得到链表的长度n的值;②将倒数的k的序号转换到顺序排号(n-k+1);③遍历链表,直到找到第(n-k+1)个元素。时间复杂度为O(n)。 方法二:从第一个元素开始,遍历k个元素,判断呢是否为NULL,若为空,则找到第k个元素。时间复杂度为O(kn)。 方法三:设置两个指针,第二个比第一个先往后移动k-1步(因为包含头结点)。则这两个指针之间的距离刚好为k。那么,当第二个指针...

2018-07-26 18:01:39 1615

原创 大话数据结构学习(2)线性表的链式存储结构

1、线性表的链式存储结构:n个结点(结点存数据元素和后继元素的指针),链接为一个链表,即为线性表(a1,a2,……,an)的链式存储结构。 2、链式存储结构的头指针:①头指针是链表的必要元素!!无论链表是否为空,头指针均不为空。②头指针有标识作用,通常用来标识链表名。③头指针指向链表的第一个结点(头结点或第一个结点)。 3、头结点:①头结点不是必须的。②头结点是为了第一个元素前的插入或删除和后...

2018-07-25 22:44:37 193

原创 大话数据结构学习(1)线性表的顺序存储结构

1.线性表定义:0个或多个数据元素的有限序列。 2.线性表的顺序存储结构:是指用一段地址连续的存储单元依次存储线性表的数据元素。 3.线性表的顺序存储结构通常可借助数组实现。 注意:①一般,数组长度固定;线性表长度可变。因此,用数组存放线性表数据时,定义的数组大小要大于等于线性表长度。②线性表中的元素从1开始数,数组下标从0开始,因此,数组a[0]存放线性表的第1个数,同理,a[i]存放第i...

2018-07-25 15:34:53 251

原创 数据结构——数组(7)判断一个整数x是否可以表示为n个(n>=2)的连续整数之和

思路:假定x=m+(m+1)+……+(m+n-1),其中,m表示最小的数字,总共为从m开始,连续的n个数。 则x=n(2m+n-1)/2。对该等式进行变换,可得m=x/n - (n-1)/2,且m&gt;=1,m等式的分子必须是2的整数倍。这样才能是连续整数。代码实现如下:bool IsSumOfContinue(int x,int n){ int start=0,end=0,...

2018-07-25 09:26:55 432

原创 数据结构——数组(6)将数组后面m个数移动为前面的m个数

思路: 以a[]={1,2,3,4,5,6,7,8,9,10}为例,m=5。即把前后分别5个数换位置 ①将前面5个数的顺序颠倒,得:5,4,3,2,1,6,7,8,9,10 ②将后面5个数的顺序颠倒,得:5,4,3,2,1,10,9,8,7,6 ③将整个数组的顺序颠倒,得: 6,7,8,9,10,1,2,3,4,5 使用递归法即可实现。void Diaotou(int *a,i...

2018-07-24 22:27:42 628

原创 数据结构——数组(5)找出数组中唯一重复的数(元素范围1~1000)

这个题目本身就有一定局限性。比如,对于数组a[10001],其中,1000个数就是1~1000的每个数,可以任意排列,然后再多一个重复的数。题目就是怎么求出这个特殊的重复的数。 这一类问题的解决思路主要有以下几种: 方法一:先求和,再相减。即数组元素值求和,然后数组下标求和,然后二者相减,即可得到重复的数。void xor_findDup1(int *a,int len){ in...

2018-07-24 15:26:35 795

空空如也

空空如也

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

TA关注的人

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