自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Java】ACM模式下输入输出汇总(Java)

ACM模式下输入输出汇总(Java)

2022-06-23 21:31:07 12229 6

原创 【数据结构】常见的排序算法

常见的排序算法排序也称排序算法(Sort Algorithm),排序是将一组数据,按照指定的顺序进行排列的过程。

2022-05-24 11:14:24 608

原创 【数据结构】递归解决八皇后问题

递归解决八皇后问题(1) 第一个皇后先放第一行第一列;(2) 第二个皇后放在第二行第一列、然后判断是否OK, 如果不OK,继续放在第二列、第三列、依次把所有列都放完,找到一个合适;(3) 继续第三个皇后,还是第一列、第二列……直到第8个皇后也能放在一个不冲突的位置,算是找到了一个正确解;(4) 当得到一个正确解时,在栈回退到上一个栈时,就会开始回溯,即将第一个皇后,放到第一列的所有正确解,全部得到;(5) 然后回头继续第一个皇后放第二列,后面继续循环执行 1,2,3,4的步骤。

2022-05-17 20:14:46 874

原创 【数据结构】递归解决迷宫问题

递归解决迷宫问题采用策略:下-》右-》上-》左和策略:右-》上-》左-》下,小球走过的路径最短,最短路径步数为9步

2022-05-17 16:55:22 3232

原创 【数据结构】栈实现综合计算器

1.通过一个index值(索引),来遍历表达式;2.如果发现是一个数字,就直接入数栈;3.如果发现扫描到是一个符号,就分如下情况:①如果发现当前的符号栈为空,就直接入栈;②如果符号栈有操作符,就进行比较,如果当前的操作符的优先级小于或者等于栈中的操作符,就需要从数栈中pop出两个数,在从符号栈中pop出一个符号,进行运算,将得到结果入数栈,然后将当前的操作符入符号栈;如果当前的操作符的优先级大于栈中的操作符,就直接入符号栈。4.当表达式扫描完毕,就顺序的从数栈和符号栈中pop出相应的数和符号,并运

2022-05-14 13:07:20 544

原创 【数据结构】栈的基本介绍、应用场景以及用数组模拟栈的使用

栈的基本介绍、应用场景以及用数组模拟栈的使用(1) 栈是一个先入后出(First In Last Out, FILO)的有序列表;(2) 栈是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶;另一端为固定的一端,称为栈底;(3) 最先放入栈中元素在栈底,最后放入的元素在栈顶;删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除;(4) 入栈(push);(5) 出栈(pop);

2022-05-13 20:07:18 826

原创 【数据结构】单向环形链表解决约瑟夫问题

单向环形链表解决约瑟夫问题用一个不带头结点的单向环形链表来处理Josephu问题:先构成一个有n个结点的单循环链表,然后由k结点起从1开始计数,计到m时,对应结点从链表中册除,然后再从被删除结点的下一个结点又从1开始计数,直到最后一个结点从链表中删除算法结束。

2022-05-13 17:32:37 802

原创 【数据结构】双向链表的遍历、添加、修改和删除

双向链表的遍历、添加、修改和删除(1)单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找。(2)单向链表不能自我删除,需要靠辅助节点,而双向链表,则可以自我删除。

2022-05-12 21:18:48 2594 1

原创 【数据结构】关于单链表的面试题

关于单链表的面试题1、求单链表中有效节点的个数2、查找单链表中的倒数第k个节点3、单链表的反转4、逆序打印链表信息

2022-05-11 22:19:57 320

原创 【数据结构】单向链表的修改和删除

单向链表的修改和删除从单链表中删除一个节点思路:1.找到需要删除节点的前一个节点temp;2.temp.next = temp.next.next3.被删除的节点,将不会有其他引用指向,会被垃圾处理机制回收

2022-05-10 22:58:42 1468

原创 【数据结构】不考虑编号顺序和考虑编号顺序的添加节点到单向链表

不考虑编号顺序和考虑编号顺序的添加节点到单向链表链表是以节点的方式来存储,是链式存储,如下图所示,每个节点包含data域和next域,next域指向下一个节点,每个节点不一定是连续存储,链表分为带头节点的链表和不带头节点的链表。

2022-05-08 19:43:53 215

原创 【队列】数组模拟普通队列和环形队列

数组模拟队列和环形队列队列是一个序列表,可以用数组或是链表来实现,遵循先入先出的原则,即:先存入队列的数据要先取出,后存入队列的数据要后取出。Front记录队列前端的下标,随着数据输出而改变;rear记录后端的下标,随着数据输入而改变。普通队列使用一次就不能用,没有达到复用的效果,改进方法是将数组改成环形队列(通过取模的方式来实现)。

2022-05-07 23:06:22 508

原创 【数据结构】原始二维数组与稀疏数组如何互转

原始二维数组与稀疏数组如何互转?当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组可以记录原始二维数组一共有几行几列,有多少个有效数据,把具有效数据元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模。

2022-05-03 11:05:37 284

原创 【Tomcat配置】Tomcat布置多个端口运行不同项目

tomcat布置多个端口运行不同项目在电脑或服务器上,想同时用一个Tomcat运行多个项目,那么最直接的办法就是更改Tomcat端口号,但并不只改端口号就可以

2022-05-01 17:58:30 887

原创 【Java】释放锁和不会释放锁情况总结

【Java】释放锁和不会释放锁情况总结

2022-04-24 22:37:41 1343

原创 【Java】 线程同步synchronized

在多线程编程,一些敏感数据不允许被多个线程同时访问,此时就使用同步访问技术synchronized,保证数据在任何同一时刻,最多有一个线程访问,以保证数据的完整性。关键字synchronized来与对象的互斥锁联系,每个对象都对应一个可称为“互斥锁”的标记。(1) 同步方法如果没有使用satic修饰,默认锁对象为this;(2) 同步方法如果使用static修饰,默认锁对象为当前类.class(3) 要求多个线程的锁对象为同一个,即用当前类.class,不能用this。

2022-04-23 22:44:53 497

原创 【Java】线程的生命周期

线程的生命周期线程可以处于以下状态之一:(1) NEW:尚未启动的线程处于此状态。(2) RUNNABLE:在Java虚拟机中执行的线程处于此状态。(3) BLOCKED:被阻塞等待监视器锁定的线程处于此状态。(4) WAITING:正在等待另一个线程执行特定动作的线程处于此状态。(5) TIMED_WAITING:正在等待另一个线程执行动作达到指定等待时间的线程处于此状态。(6) TERMINATED:已退出的线程处于此状态

2022-04-20 20:28:51 66

原创 【Java】 线程的常用方法

线程的常用方法(1) setName:设置线程名称,使之与参数name相同;(2) getName:返回该线程的名称;(3) start:使该线程开始执行,Java虚拟机底层调用该线程的start0( )方法;(4) run:调用线程对象run方法。start底层会创建新的线程,run是一个简单的方法调用,不会启动新线程。(5) setPriority:更改线程的优先级;(6) getPriority:获取线程的优先级;(7) sleep:在指定的毫秒数内让当前正在执行的线程休眠;

2022-04-20 09:07:34 1989

原创 【Java】Java创建线程的两种方式

Java创建线程的两种方式(1) 继承Thread类,重写run方法(2) 实现Runnable接口,重写run方法(1) 从java的设计来看,通过继承Thread或者实现Runnable接口来创建线程本质上没有区别,从jdk帮助文档我们可以看到Thread类本身就实现了Runnable接口。(2) 实现Runnable接口方式更加适合多个线程共享一 个资源的情况,并且避免了单继承的限制,建议使用Runnable。

2022-04-18 08:52:16 1069

原创 【Java】自定义泛型类

自定义泛型类(1) 语法:Class 类名<T, R…>{//…表示可以有多个泛型成员},T,R和M为泛型的标识符,一般是单个大写字母。(2) 使用注意事项:① 普通成员(属性、方法)可以是使用泛型;② 使用泛型的数组,不能初始化;③ 静态方法中不能使用类的泛型,因为静态是和类相关的,在类加载时,对象还没有创建,所以,如果静态方法和静态属性使用了泛型,JVM就无法完成初始化;④ 泛型类的类型是在创建对象时确定的(因为创建对象时,需要指定确定类型);

2022-03-30 09:38:51 5535

原创 【Java】泛型经典使用案列

泛型经典使用案列泛型,又称参数化类型,是JDK5.0出现的新特性,解决数据类型的安全性问题。泛型可以保证若程序在编译时没有发出警告,运行时就不会发生ClassCastException,同时,代码更加简洁、健壮。泛型的作用是可以在类声明时通过一个标识表示类中某个属性的类型、某个方法的返回值的类型、参数类型。

2022-03-27 22:20:29 2928

原创 【Java】HashSet和TreeSet去重机制对比

HashSet和TreeSet去重机制对比(1)HashSet的去重机制:hashCode( )+equals( ),底层先通过存入对象进行运算得到一个hash值,通过hash值得到对应的索引,如果发现table索引所在位置没有数据,就直接存放;如果有数据,就进行equals遍历比较,比较后,不相同就加入,否则就不加入。(2)TreeSet的去重机制:如果传入了一个Comparator匿名内部类,就用实现的compare去重,如果方法返回0,就认为是相同的元素/数据,就不添加;如果没有传入一个Compa

2022-03-26 16:30:28 734

原创 【Java】Collections集合类介绍

Collections集合类介绍Collections 是一个操作Set、List和Map等集合的工具类,提供了一系列静态方法对集合元素进行排序、查询和修改等操作。1、排序操作(1)reverse(List):反转List中元素的顺序;(2)shuffle(List):对List集合元素进行随机排序;(3)sort(List):根据元素的自然顺序对指定List集合元素按升序排序;(4)sort(List,Comparator):根据指定的Comparator产生的顺序对List集合元素进行排序;

2022-03-24 21:54:19 2035

原创 【Java】Java 开发中如何选择集合实现类

Java 开发中如何选择集合实现类1、一组对象[单列]:Collection接口 2 、一组键值对[双列]:Map接口

2022-03-22 12:58:09 566

原创 【Java】Map遍历key-value的四种方法

Map遍历key-value的四种方法(1)先用keySet()取出所有key值,再取出对应value——增强for循环遍历(2)先用keySet()取出所有key值,再取出对应value——使用迭代器遍历(3)通过entrySet来获取key-value——增强for循环遍历(4)通过entrySet来获取key-value——使用迭代器遍历

2022-03-20 22:13:45 21333

原创 【Java】HashSet底层机制及源码分析

(1)HashSer底层是HashMap,HashMap底层是数组+链表+红黑树;(2)添加一个元素时,先得到hash值(会转成索引值),找到存储数据表table,判断这个索引位置是否已经存放元素,如果没有存放,则直接加入;如果有,则调用equals比较,如果相同,就放弃添加,如果不相同,则添加到链表最后;(3)在JDk 8中,如果一条链表的元素个数到达TREEIFY_THRESHOLD(默认是8),并且table的大小≥MIN_TREEIFY_CAPACITY(默认64),就会进行树化(红黑树)。

2022-03-19 18:43:12 936

原创 【Java】LinkedList增删机制和源码分析

LinkedList增删机制和源码分析LinkedList底层实现了双向链表和双端队列特点。两个属性first和last分别指向首结点和尾结点,每个结点(Node对象)里面又维护了pre、item、next三个属性,其中通过pre指向前一个,通过next指向后一个结点,最终实现双向链表。

2022-03-18 20:07:07 426

原创 【电子签名】如何使用Adobe Acrobat Pro DC给PDF文件添加自己的电子签名、选项勾选和日期填写

如何使用Adobe Acrobat Pro DC给PDF文件添加自己的电子签名、选项勾选和日期填写

2022-03-16 13:02:47 31930

原创 【Java】Vector核心扩容机制和源码分析

Vector核心扩容机制和源码分析当创建Vector对象时,不管使用的是无参构造器还是有参构造器,扩容为上一次elementData容量的2倍。

2022-03-14 20:55:36 962

原创 【Java】 ArrayList核心扩容机制和源码分析

ArrayList核心扩容机制和源码分析(1)当创建ArrayList对象时,若使用的是无参构造器,则初始elementData容量为0,第一次添加,则扩容elementData容量为10,如需再次扩容,则扩容elementData容量为上一次容量的1.5倍。(2)当创建ArrayList对象时,若使用的是有参构造器,则初始elementData容量为(int)中指定大小,如需扩容,则直接扩容为上一次elementData容量的1.5倍。

2022-03-14 10:57:45 797

原创 【IDEA】IDEA调试debug时,stepinto进不去方法和数据显示不完整的解决方法

IDEA调试debug时,stepinto进不去方法和数据显示不完整的解决方法

2022-03-13 19:38:19 5761 6

原创 【Java】List 接口遍历元素的三种方式

List 接口遍历元素的三种方式

2022-03-13 10:38:51 3675

原创 【Java】采用List的实现类ArrayList遍历,并用冒泡排序法按价格从低到高

采用List的实现类ArrayList遍历,并用冒泡排序法按价格从低到高

2022-03-12 20:07:08 1475

原创 【Java】将字符串指定部分反转

用Java将字符串指定部分反转,例如将“abcdef”反转为“aedcbf”思路(1)定义静态方法Reverse(String str,int start,int end);(2)将String类型转2为char数组chars[ ]。因为String类存放字符串内容的属性value是一个final类型,不可以修改。(3)定义交换缓存变量char temp = ’ ';(4) for循环,起始索引start赋给i,结束索引end赋值给j,i++,j–,chars[i]和chars[j]互换,当i

2022-03-12 11:30:55 1106

并励电动机实验数据

并励电动机实验数据,可以借鉴一下,学习电机实验的基本要求与安全操作注意事项。 2.认识在直流电机实验中所用的电机、仪表、变阻器等部件及使用方法。 3.熟悉他励电动机(即并励电动机按他励方式)的接线、起动、改变电机方向与调速的方法。

2018-10-19

空空如也

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

TA关注的人

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