自定义博客皮肤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)
  • 收藏
  • 关注

原创 数据结构全解(链,数组,栈,树,图)与算法分析(排序,查找,递归,分治,动态规划)

@据结构与算法)数据结构包括:线性结构和非线性结构。线性结构非线性结构基本介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:应用实例整体思路分析队列队列介绍数组模拟队列基本思想环形队列对前面的数组模拟队列的优化,充分利用数组. 因此将数组看做是一个环形的。(通过取模的方式来实现即可)思路如下:单向链表链表是以节点的方式来存储,是链式存储每个节点包含 data 域, next 域:指向下一个节点.链表的各个节点不一定是连续存储

2022-06-10 19:07:51 3076 4

原创 JQuery用法及ajax的JQuery写法讲解

JQuerydom对象和jquery对象dom对象和jquery对象相互的转换。dom对象转为jqueryjquery对象转为dom对象选择器基本选择器id选择器class选择器标签选择器所有选择器组合选择器表单选择器过滤器通用过滤器表单属性过滤器函数valtextattrremoveemptyappendhtmleacheach循环json事件ajaxjQuery是一款跨主流浏览器的JavaScript库,封装了JavaScript相关方法调用,简化JavaScript对 HTML DOM操作dom

2022-03-04 20:25:21 1738

原创 ajax异步对象及json格式介绍

ajax异步对象及json格式全局刷新和局部刷新ajax创建异步对象步骤readystate和statusjsonjson分类:json优点java中的json的工具库全局刷新和局部刷新全局刷新:整个浏览器被新的数据覆盖。在网络中传输大量的数据。浏览器需要加载,渲染页面。局部刷新:在浏览器器的内部,发起请求,获取数据,改变页面中的部分内容。 其余的页面无需加载和渲染。网络中数据传输量少,给用户的感受好。ajax是用来做局部刷新的。局部刷新使用的核心对象是异步对象(XMLHttpRequest)

2022-03-04 17:02:15 842

原创 JSP文件书写规则及EL表达式书写规范

JSP,EL表达式java命令书写规则声明java变量声明运行表达式声明控制语句声明对象JSP文件内置对象HttpServletRequestHeepSessionServletContext 全局作用域对象Servlet 与JSP文件分工Servlet与JSP之间调用关系Servlet 与JSP之间实现数据共享Http服务器调用JSP文件步骤EL表达式命令格式命令作用:EL表达式—作用域对象别名EL表达式将引用对象属性写入到响应体命令格式命令作用属性名EL表达式简化版命令格式命令作用工作原理:存在隐患:应

2022-03-04 16:19:10 568

原创 互联网通信及Servlet开发流程及Servlet下的接口详情

servletBS结构系统的角色和协议角色协议IDEA工具开发servletservlet对象的生命周期ServletConfig接口ServletConfig接口中的方法ServletContextServletContext接口常用的方法HTTP协议HlTP的请求协议(B -->s)HTTP的响应协议(S --> B)BS结构系统的角色和协议角色(在整个BS结构的系统当中,有哪些人参与进去了)浏览器软件的开发团队(浏览器软件︰谷歌浏览器、火狐浏览器、IE浏览器…)WEB S

2022-03-04 15:06:11 1263

原创 单向链表的定义及顺序插入,删改方法

单向链表定义创建和遍历顺序插入链表修改删除定义链表实际上是线性表的链式存储结构,与数组不同的是,它是用一组任意的存储单元来存储线性表中的数据,存储单元不一定是连续的,链表是以节点的方式来存储每个节点包含data域用于存储元素本身的数据信息, next域: 指向下一个节点地址.链表的各个节点不一定是连续存储.链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定创建和遍历添加(创建)1.先创建一个head 头节点,作用就是表示单链表的头2.后面

2021-12-18 17:39:59 1079

原创 java 反射机制及反射用法

反射反射机制class获取class的方法Class.forName()getClass().class属性读属性文件实例化对象反射机制通过java语言中的反射机制可以操作字节码文件(可以读和修改字节码文件)。通过反射机制可以操作代码片段。(class文件。)2.3、反射机制相关的重要的类有哪些?java. lang.class:代表整个字节码,代表一个类型java. lang.reflect.Method:代表字节码中的方法字节码。java.lang.reflect.constructor:

2021-09-12 22:55:35 355

原创 java 多线程

多线程什么是进程?什么是线程?多线程实现方法启动线程start()获取线程对象名字getName()修改线程对象名字setName()当前线程对象currentThread()线程生命周期线程睡眠终止线程线程调度线程安全什么是进程?进程是一个应用程序(一个进程是一个软件)两个进程之间的内存不共享什么是线程?线程是一个进程中的执行场景/执行单元。一个进程可以启动多个线程。当输入“Helloworld”后,启动软件后。会先启动JVM,而JVM就是一个进程。JVM再启动一个主线程调用main方法

2021-08-11 23:08:49 569 4

原创 Java.io包下16个常用的流

Io流Io流的定义:Io流的分类:Io流四大家族:文件专属FileInputStreamFileOutputStreamFileReadreFileWrite转换流Io流的定义:I: Inputo: Output通过Io可以完成硬盘文件的读和写。Io流的分类:1.按照流的方向进行分类:输入流 (往内存中去,叫做输入(Input)。或者叫做读(Read) .)输出流 (从内存中出来,叫做输出(output)。或者叫做写(rite).)2.是按照读取数据方式不同进行分类:字节流有的流

2021-08-10 19:40:40 449

原创 java File类的常用方法

File类常用方法1.extise()--判断文件是否存在2.创建多重目录3.parentPath()--获取父路径4.getParentFile()--获取绝对路径5.getName()--获取文件名6.isDirectory()--判断是否是一个目录7.isFile()--判断是否是一个文件8.lastModified()--获取文件最后一次修改时间9.length()--获取文件大小10.listFiles()--获取当前目录下所有的子文件1.extise()–判断文件是否存在(存在返回true,

2021-08-09 22:16:11 98

原创 java List接口,Map接口,Set接口下的集合详解

集合集合集合继承结构图Collection 接口List接口集合的遍历ArrayList集合LinkedList集合Vector集合Map接口Map集合的遍历集合1.什么是集合?有什么用?集合实际上就是一个容器。可以来容纳其它类型的数据。2.集合存储的数据集合不能直接存储基本数据类型,另外集合也不能直接存储java对象,集合当中存储的都是java对象的内存地址。(或者说集合中存储的是引用。) 集合在java中本身是一个容器,是一个对象。集合中任何时候存储的都是"引用"。存储基本数据类型实际

2021-08-04 17:34:25 307

原创 自平衡二叉树

自平衡二叉树1、在集合中TreeSet/TreeMap是自平衡二叉树。遵循左小右大原则存放。2、遍历二叉树的时候有三种方式:前序遍历∶根左右中序遍历 : 左根右后序遍历∶左右根前中后说的是“根”的位置。根在前面是前序,根在中间是中序,根在后面是后序。3、TreeSet集合/TreeMap集合/Iterator迭代器采用的是中序遍历方式。4.根据数字规划二叉树100 50 200 40 60 120 140 666 55 80前序遍历:100 50 40 60 55 80 200 1

2021-08-04 17:32:15 521

原创 java TreeSet,TreeSet集合中自定义类型的排序方法

自定义类型的排序放到TreeSet或者TreeMap集合key部分的元素要想做到排序,包括两种方式:第一种:放在集合中的元素实现java .lang. Comparable接口。第二种:在构造TreeSet或者TreeMap集合的时候给它传一个比较器对象。1.实现Comparable接口:实现Comparable接口,并且实现compareTo方法,需要在这个方法中编写比较的逻辑,或者说比较的规则,按照什么进行比较!public class Test2 { public static

2021-08-04 17:04:38 1266

原创 java Map集合的遍历

Map集合的遍历1.通过遍历key来遍历value先试用keySet()方法得到所有的key,在通过调用key值来获取对应的value值Map<Integer,String> m=new HashMap<>();m.put(1,"张三");m.put(2,"李四");m.put(3,"轩轩");Set<Integer> s=m.keySet();//迭代器遍历Iterator it=s.iterator();while(it.hasNext()){

2021-08-03 22:36:39 115

原创 java foreach循环

foreach格式:(循环)foreach(元素类型 变量名:数组或集合){ System.out.println(变量名);}foreach缺点: 没有下标。遍历数组: int[] n=new int[]{1,5,9,100}; for (int i:n) { System.out.println(i); } //其中i就是数组中的每一个元素。遍历集合: List<String> li=new

2021-07-28 22:53:59 71

原创 java 泛型

泛型泛型的作用:在类、接口和方法中操作的数据类型被指定为一个参数,向其中添加的元素只能是泛型制定的类型,否则会报错!泛型这种语法机制,只在程序编译阶段起作用,只是给编译器参考的。(运行阶段泛型没用! )泛型格式:<类型>//尖括号List<String> l=new ArrarList<>;//定义一个String类型的集合li.add("asd");li.add("qwe");String s=li.get(0);//只能用String类型的变量

2021-07-28 22:40:53 60

原创 java--contains()方法详解

contains方法是用来判断集合中是否包含某个元素的方法例子:Connection c=new ArrayList();c.add(1);System.out.println(c.contains(1));结果:ture-那么它在底层是怎么判断集合中是否包含某个元素的呢?在底层源码中调用了equals方法进行比对。equals方法返回true ,就表示包含这个元素。contains的源码如图:例子:(创建两个引用地址不同,内容相同的对象)Connection c=new

2021-07-27 21:32:57 15404 1

原创 java 迭代器(使用迭代器迭代循环集合元素,删除元素)

迭代循环集合元素迭代器的方法:hasNext()----判断是否有元素,如果有元素可以迭代,返回true,则返回falsenext()----- 返回迭代的下一个元素第一步:获取集合对象的迭代器对象Connection al=new ArrawList(); 创建一个集合al.add(20);al.add("asd");al.add(100);Iterator it=al.iterator(); 获取迭代器对象第二步:通过获取的迭代器对象开始遍历集合通过hasNext()方

2021-07-27 21:12:42 2937 1

原创 java 内部类及匿名内部类

内部类内部类匿名内部类内部类1、什么是内部类?内部类:在类的内部又定义了一个新的类。2、内部类的分类:静态内部类:类似于静态变量public class TestInnerClass{ static class Inner1{ }}实例内部类:类似于实例变量public class TestInnerClass{ class Inner1{ }}局部内部类:类似于局部变量public class TestInnerClass{ publi

2021-07-26 21:56:04 60

原创 java 常见面试题解析

java 面试题(总结中)1.为什么String类会设计为final修饰2. 外界初始化内部类对象3.java中的字符串常量池,JVM的什么地方?1.为什么String类会设计为final修饰1.为了实现字符串池保证String不可变,因为只有当字符串是不可变的,字符串池才有可能实现。字符串池的实现可以在运行时节约很多heap空间,因为不同的字符串变量都指向池中的同一个字符串。但如果字符串是可变的,那么String interning将不能实现,因为这样的话,如果变量改变了它的值,那么其它指向这个值的

2021-07-25 19:58:30 67

原创 java 抽象类和接口概述

抽象类和接口抽象类接口抽象类和接口的区别抽象类1、什么是抽象类?类和类之间具有共同特征,将这些共同特征提取出来,形成的就是抽象类。类本身是不存在的,所以抽象类无法创建对象,即无法实例化。2、抽象类属于什么类型?抽象类也属于引用数据类型。3-抽象类怎么定义?public abstract class 类名{ 类体;}4、抽象类是无法实例化的。抽象类无法创建对象的,所以抽象类是用来被子类继承的.public abstract class A{ 类体;}class B extend

2021-07-25 19:20:32 73

原创 java 中 finall关键字

finallfinal修饰的类无法继承final修饰的方法无法覆盖final修饰的变量只能赋一次值final修饰的引用只能指向一个对象final修饰的实例变量必须手动初始化final修饰的实例变量一般和static联合使用final修饰的类无法继承1、final修饰的类无法继承。错误案例:public final class test { public static void main(String[] args) { }}class text extends test()使用

2021-07-25 18:18:17 1145

原创 算法-排序(冒泡排序,选择排序,插入排序)和查找(二分查找)

冒泡排序它重复地访问要排序的序列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成public static void main(String[] args){ int[] n={5,6,8,1,22,6}; maopao(n); for(int i=0;i<n.length,i++){ System.out.println(n[i]); }}public stat

2021-07-16 20:44:19 150

原创 java 数组及其用法

数组数组一维数组初始化一维数组遍历二维数组初始化二维数组遍历数组的拷贝数组的特殊用法数组数组的定义:1、Java语言中的数组是一种引用数据类型。不属于基本数据类型。数组的父类是object。2、数组实际上是一个容器,可以同时容纳多个元素。(数组是一个数据的集合。)3、数组当中可以存储基本数据类型”的数据,也可以存储引用数据类型”的数据。4、数组因为是引用类型,所以数组对象是堆内存当中。(数组是存储在堆当中的)第一:空间存储上,内存地址是连续的。 第二:每个元素占用的空间大小相同。 第三:

2021-07-16 20:08:53 179

原创 java 函数概述

函数函数的定义函数调用函数分类局部变量方法重载函数的定义Java中函数也叫方法,是定义在类中的一段独立的代码块,用来实现某个功能;作用是提高代码的复用性和可读性。函数的语法格式修饰符 返回值类型 函数名(形式参数类型1 参数名1…){函数体语句;return 返回值;}修饰符+返回值类型+方法名+参数类型public static void main(String []args){}修饰符:public static修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访

2021-07-13 22:37:47 499

原创 java程序控制流程

程序控制流程顺序程序控制选择程序控制循环程序控制顺序程序控制Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。顺序结构是最简单的算法结构语句与语句之间是按照从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的。按照解决问题的步骤写出相应的语句,他的执行顺序是从上到下依次执行的选择程序控制if语句单独使用if, 多个if块都会进入判断。如果满足,都会分别执行。int a = 1; int b = 1; int c= 1;

2021-07-11 01:11:34 93

原创 java 运算符

运算符算术运算符关系运算符逻辑运算符赋值运算符三元运算符算术运算符++y(­­y):先将 y 的值自增(自减)1,然后再在当前表达式中使用 y 的值。y++(y­­):先在当前表达式中使用 y 的值,然后再将 y 的值自增(自减)1。int a = 25;int b = 4; int c = a+b; //加System.out.println("a+b="+ c);int d = a-b; //减System.out.println("a-b="+d);int e = a*

2021-07-10 18:58:06 71

原创 java - super 概述

super概述super基本用法super初始化父类型特征this.和super.区别super访问方法super基本用法super能出现在实例方法和构造方法中。super的语法是:“super.”、"super ()"super不能使用在静态方法中。super.大都分情况下是可以省略的。super()只能出现在构造方法第一行,通过当前的构造方法去调用"父类"中的构造方法super作用:创建子类对象的时候,先初始化父类型特征。super和this的混合调用public class Tex

2021-07-08 15:43:34 116

原创 java基础知识(标识符,变量,数据类型,类型转换)

java基础知识标识符变量数据类型类型转换标识符(有权自己命名的,例如方法名,类名)命名规则:1.由数字,字母,下换线,$符号组成2.标识符中不能有空格3.关键字不能做标识符4.要区分大小写命名规范:1.类名,接口名首字母大写,后面每个单词首字母大写2.变量名,方法名首字母小写,后面每个单词首字母大写3.变量名全部大写,单词间用下换线_连接public static void main中的main是标识符,但无法修改变量(内存中存储数据的基本单位)数据类型用来分配空间大小

2021-07-07 16:37:30 61

原创 jkd环境配置

这里写目录标题1.下载jdk2. 安装jdk3.配置环境4.验证1.下载jdkhttps://www.oracle.com/java/technologies/javase-jdk16-downloads.html(下载链接)2. 安装jdk只需要改变安装路径,其余不动3.配置环境再次新建输入一下内容CLASSPATH.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar输入 %JAVA_HOME%\bin4.验证win+R显示版本即

2021-07-05 18:38:13 407

原创 Java多态(向上转型,向下转型,instanceof运算符)

多态的基础语法:1.向上转型子—>父(自动类型转换)2.向下转型父—>子(强制类型转换,需要加强制类型转换符)无论是向上转型,还是向下转型,两种类型之间必须有继承关系,没有继承关系编译器报错。什么是多态?编译的时候是一种形态,运行的时候是另一种形态(编译阶段和运行阶段)父类型引用指向子类型对象public class Animal{ public void run(){}}class Cat extends Animal{ public void run(){

2021-06-09 19:06:56 269

原创 括号匹 配

给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。import java.util.Stack;class Solution { public boolean isValid(String s) { if(s.length()%2==0){ Stack<Character> stack=new Stack<>();

2021-06-09 15:40:10 52

原创 python 面向对象

面向对象对象和类面向对象的三大特征封装继承多态对象和类什么是类?分类 class , 抽象个概念,一类事务的总称对象?类的实例 ,对象是一个实例定义类: 类命名的规范:首字母要大写,下划线 user_name 或者 大驼峰法 UserName面向对象的三大特征封装【面向对象的封装:将属性和方法封装到一个类多个类,需要使用的时候,调用这些属性和方法】方法一:【get,set方法】class User(object): def __init__(self, name, age,

2021-04-24 16:02:05 114 3

原创 Java方法覆盖

什么时候使用"方法覆盖"?子类继承父类之后,当继承过来的方法无法满足当前子类的业务需求时,子类有权利对这个方法进行重新编写,有必要进行"方法的覆盖"。当子类对父类继承过来的方法进行"方法覆盖"之后,子类对象调用该方法的时候,一定执行覆盖之后的方法。怎样构成方法覆盖?条件一:两个类必须要有继承关系。条件二:重写之后的方法和之前的方法具有:相同的返回值类型、相同的方法名相同的形式参数列表。条件三:访问权限不能更低,可以更高。(这个先记住。) 条件四:重写之后的方法不能比之前的方

2021-04-17 18:13:36 166

原创 Java继承

继承的作用:基本作用: 子类继承父类,代码可以得到复用。。主要作用: 有了继承关系,才有了后期的方法覆盖和多态机制。相关特性:-1.-B类继承A类,则称A类为超类、父类、基类,B类则称为子类、派生类、扩展类。-2.java中的继承只支持单继承(错误写法: class B extends A,C)-3.可以间接继承多个父类class A{}class B extends A{}class C extends B{}C直接继承B,其实C还间接继承A。-4.java中规定

2021-04-16 17:57:51 193 1

原创 py IO操作

IO操作io流方法IO操作字符数据IO操作字节数据io流主要用于输入和输出(一般磁盘和内存)操作open函数的步骤:第一个参数:既可以是文本字符也可以字节(文件的路径)第二个参数:表示的是打开文件的方式f = open(“path”,“r”)f.read()f.close()方法IO对象的方法close():关闭流closed():判断流是否关闭encoding():编码flush():刷新流read():读取输入readline():读取一行数据readline

2021-04-15 18:53:12 377

原创 py 内置模块

内置模块模块导入常见内置模块random模块math模块os模块os.path模块sys模块加密算法hashlib库hmac库时间模块time模块datetime模块其他模块calendar日历的模块uuid 模块模块导入import 模块名import randomimpprt 模块名 as 别名import random as a(自定义)from 包 import 模块名from as import path常见内置模块random模块randint()产

2021-04-15 17:58:35 81

原创 this 概述

1、this是什么?this是一个关键字。是一个变量,一个引用。this保存当前对象的内存地址,指向自身。所以,this代表的就是"当前对象"(this存储在堆内存当中对象的内部。)2.this ()这个语法作用是什么?代码复用。3.this只能使用在实例方法(和构造方法)中。谁调用这个实例方法,this就是谁。4.this省略情况"this."大部分情况下是可以省略的。(用来区分实例变量和局部变量时,不能省略)5.为什么this不能使用在静态方法中?this代表的是当前对象,而静态方

2021-04-09 17:46:20 289

原创 pyhon 函数分类及用法

python函数函数函数定义函数调用函数分类全局变量,局部变量函数的参数位置参数默认值参数可变参数关键字参数命名关键字参数函数递归匿名函数偏函数函数什么是函数:函数是功能 过程 结果(是实现某一功能或者某些功能的命令的集合)函数定义def 函数名称(参数):#缩进 函数体1.定义函数的时候,需要确定函数的名称和参数个数2.如果有必要的话,需要先对参数的类型做检查3.函数的内部可以用return返回函数的结果4.函数可以返回多个值,但是返回的结果实则是元组tuple函

2021-04-08 18:44:47 262 2

原创 string模块

string中的属性print(string.ascii_letters) # 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'print(string.ascii_lowercase) # 'abcdefghijklmnopqrstuvwxyz'print(string.ascii_uppercase) # 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'print(string.digits)

2021-04-07 23:32:42 87

空空如也

空空如也

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

TA关注的人

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