![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
孔雀南飞梦
编程水很深的哇
展开
-
桥接模式-java实现
(抽象类):用于定义抽象类的接口,它一般是抽象类而不是接口,其中定义了一个 Implementor(实现类接口)类型的对象并可以维护该对象,它与 Implementor 之间具有关联关系。原创 2023-08-08 20:50:38 · 825 阅读 · 0 评论 -
单例模式-java实现
单例模式的意图:保证某个类在系统中有且仅有一个实例。我们可以看到下面的类图:一般的单例的实现,是属性中保持着一个自己的私有静态实例引用,还有一个私有的构造方法,然后再开放一个静态的获取实例的方法给外界获取实例对象。原创 2023-08-08 20:30:50 · 814 阅读 · 0 评论 -
抽象工厂模式-java实现
抽象工厂模式基于工厂方法模式引入了“产品族”的概念,即我们认为具体产品是固定的,具体产品存在等级之分,比如我们常说的手机,有“青春版”,“至尊版”,“至臻版”。一个产品有多个版本族。这时候,我们假设产品是固定的,用户只需要选择对应的产品族即可。增加了族的概念,类似于同一个产品有等级之分产品。一个具体工厂,专门负责生产一个固定等级的不同产品。原创 2023-08-08 20:24:24 · 450 阅读 · 0 评论 -
工厂方法模式-java实现
工厂方法模式,通过把工厂抽象为一个接口,这样当我们新增具体产品的时候,就只需要实现一个新的具体工厂类即可。一个具体工厂类,对应着一个产品。请注意:在工厂方法模式中,一个具体工厂类只对应生产一个产品。(这是扩展产品的关键)工厂方法模式与简单工厂模式的区别就是,不直接使用具体的工厂类,而是使用一个共同的工厂接口,于是把创建产品的任务延迟到子类进行,这样做的好处是,当我们需要增加新产品时,不需要直接去工厂类修改代码,只需新增一个工厂子类即可。程序员只需要关注去使用哪一个具体工厂类即可。原创 2023-08-08 20:15:48 · 675 阅读 · 0 评论 -
javaweb--json的使用
什么是JSON?JSON(Javascript Object Notation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。JSON采用完全独立于语言的文本格式,而且很多语言都提供了对JSON的支持,这样就使得JSON称为理想的数据交换格式。“轻量级”指的是根xml文件做比较数据交换格式指的是客户端与服务器之间业务数据的传递格式。JSON的定义:JSON是由键值对组成,并且由花括号{}包围。每个键由引号””引起来,键和值之间用冒号:进行分隔。多组键值.原创 2022-01-17 22:44:18 · 606 阅读 · 0 评论 -
Javaweb--Filter过滤器的基本使用
Filter 什么是过滤器?1、Filter过滤器是javaweb的三大组件之一。三大组件分别是,Servlet程序,Listener监听器,Filter过滤器2、Filter过滤器它是Javaee的规范,也就是接口3、Filter过滤器的作用是:拦截请求,过滤响应。一般拦截请求用的比较多拦截请求常见的应用场景有:1、权限检查2、日记操作3、事务管理...等一些页面需要登录后才能操作,比如购物车页面,订单页面等,这时候就需要过滤请求,不是所有的请求都响应。而..原创 2022-01-14 19:05:42 · 1950 阅读 · 0 评论 -
数据结构--快速排序
这里快速排序使用递归的形式实现思想就是,取第一个元素与最后一个元素交换,设置一个Low指针指向数组的左边界,设置一个High指针指向数组的右边界-1(也就是倒数第二个元素)Low向前遍历找比基准元素大的元素的索引,High指针向左边界找比基准元素小的元素如果Low<High则交换两个索引对应的元素否则,跳出循环(这时候说明某一个已经找不到比基准元素大或小的元素了,直接指向了基准元素)跳出循环以后,调整基准元素位置,因为Low交换了前面的大元素,所以Low左边都是比基准元素小原创 2021-12-15 17:08:02 · 1373 阅读 · 2 评论 -
数据结构--插入排序(C语言实现)
需要用到的结构体struct LNode { int Data[MAXSIZE]; //Data为待排序序列数组 int Last; //Last为最后一个元素的数组下标 };typedef struct LNode *List;void InsertionSort(List L);关于插入排序,是先将要插入的数据提出来,再以这个数据为开始,向前遍历这里,我们取一个例子来插入排序,假设4,5已排序好这是比前面所有值都小的情况,那么,另一种情况就是没遍历结束就找到.原创 2021-12-15 16:33:59 · 1975 阅读 · 0 评论 -
数据结构--二叉搜索树的操作集
这是一个pta的题目,删除我没有用递归来写,写起来有些麻烦,但是总归是写出来了,查找函数我使用了嵌套,因为我还需要一个查找父节点的函数,所以直接封装了查找父节点的函数需要提示的内容都在注释里了/* 你的代码将被嵌在这里 *///返回指定元素的父节点,返回空为根节点或者空树Position FindPre(BinTree BST, ElementType X) { BinTree T = BST; BinTree pre = NULL; while (T != NULL) { .原创 2021-12-08 10:26:24 · 708 阅读 · 0 评论 -
javaweb客户端请求下载文件
这里使用Servlet的dopost方法来实现数据回传给客户端步骤:1.获取下载的文件名2.获取ServletContext对象3.获取要下载的文件类型4.回传前,告诉客户端返回的数据类型5.设置响应头,告诉客户端此文件用于下载6.通过ServletContext对象获取输入流,将文件输入到内存中7.获取响应的输出流,并同时将输入流的内容复制给该输出流响应给客户端public class DownloadServlet extends HttpServlet { .原创 2021-10-10 21:42:22 · 554 阅读 · 0 评论 -
简单实现servlet查询数据并请求转发给jsp,再输出给客户端
简单上一下逻辑,例子是一个搜索关键字的功能需要由servlet和jsp使用请求转发共同完成先看student类/** * @Classname Student * @author: 我心 * @Description: * @Date 2021/10/5 11:08 * @Created by Lenovo */public class Student { private int id; private String name; private .原创 2021-10-05 13:56:20 · 2550 阅读 · 0 评论 -
jsp中的out输出和response.getWriter()输出的区别
先说结论:当jsp页面中所有代码执行完毕以后,会执行两个操作1.执行out.flush()操作,会把out缓冲区的数据追加到response的缓冲区末尾2.会执行response的刷新缓冲区操作,将全部数据传给客户端看代码<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>j</title&.原创 2021-10-04 21:06:57 · 201 阅读 · 0 评论 -
jsp四大内置域数据对象的范围测试
jsp四大域对象pageContext (PageContextImpl类) 当前jsp页面范围有效request (HttpServletRequest) 一次请求有效session (HttpSession) 一个会话范围内有效(打开浏览器访问服务器,直到关闭浏览器)application ServletContext对象 整个web工程范围内都有效(只要web工程不停止,数据都在)一般存储数据优先级会从范围小到大我们先测试t.jsp,这时候没有请求转发&l...原创 2021-10-04 20:26:00 · 120 阅读 · 0 评论 -
jsp中的三种代码注释
第一种:html注释:<!-- -->(仍然会被作为输出流的参数,不算真正的注释)第二种:java注释,仅在有关脚本中使用://或者多行注释/**/(保留到翻译后java文件中)第三种:jsp注释:<%----%> 直接注释掉内容,不会再输出流中输出...原创 2021-10-03 21:04:10 · 4349 阅读 · 0 评论 -
jsp页面中使用声明脚本添加成员变量,成员方法,内部类
一点看法: 1.在jsp中,每一行标签都是一个参数,传给out.write()方法的参数,而表达式输出,仅仅是输出内容而已 2.输出脚本里面的内容是作为参数直接放入service方法的out输出流的打印流中的,所以也不用加分号结尾 3.代码脚本原封不动的加入到service方法的方法体,方便我们操作方法体中的对象以及做我们想做的一些判断等等这是jsp页面的代码<%@ page import="java.util.Date" %>...原创 2021-10-03 20:58:42 · 1004 阅读 · 0 评论 -
C语言--实现双向链表(头插法)
详细解释已经在代码注释中#include<stdio.h>#include "malloc.h"//结构体struct MyStruct{ int data; MyStruct* start;//前驱指针 MyStruct* next;//下一个节点指针};//双向链表的实现(头插法)MyStruct* getDoubleLink() { MyStruct* head = NULL;//头指针 //创建头节点 MyStruct* t = (MyStruct*)原创 2021-09-21 17:40:02 · 1203 阅读 · 0 评论 -
数据结构--单向链表实现(c语言)
因为用的是vs,所以scanf是scanf_s#include<stdio.h>#include "malloc.h"//typedef struct MyStruct *Next;struct MyStruct{ int number;//保存的数据 MyStruct* next;//指向下一结构的指针 };//创建链表的函数MyStruct *CreateLinked() { //头指针 MyStruct* head = NULL; //尾指针 MyStr原创 2021-09-14 20:18:32 · 113 阅读 · 0 评论 -
JDBC--连接数据库的五种方式
方式一:显式使用第三方api//jdbc获取数据库连接public class Connection_use { public static void main(String[] args) throws SQLException { //com.mysql.cj.jdbc.Driver() Driver driver=new com.mysql.cj.jdbc.Driver(); //jdbc:mysql:协议 //local原创 2021-09-12 21:06:48 · 990 阅读 · 0 评论 -
javaweb--请求转发
请求转发的定义:这是一种在服务器内部的资源跳转方式.(换言之,请求转发是不能跳到服务器之外的资源)重要用途1.把任务分布在不同的内部资源中完成2.可以通过request在不同资源中实现资源的传递,因为请求转发是使用同一个请求特点:1.浏览器地址栏路径不发生变化2.只能转发到当前服务器的内部资源中3.转发只是一次请求(不过是内部发出的)请求转发模拟public class Servlet1 extends HttpServlet { ...原创 2021-09-10 21:58:42 · 1363 阅读 · 4 评论 -
python--装饰器的引入
#开闭原则:程序的设计,要求开发对程序的扩展,要关闭对程序的修改# 创建一个函数def add(num1:float,num2:float): ''' 传入两个参数,返回相加的结果 :return: 返回结果 ''' return num1+num2# 需求:在计算前打印'开始计算......',在计算完成后打印‘计算完毕!’# 我们一般不会去改动原来函数的内容,而是对函数进行扩展# 可以嵌套一个函数来进行扩展,但还不是最好的写法d.原创 2021-09-01 22:57:22 · 217 阅读 · 0 评论 -
python--高阶函数
函数式编程:-在Python中,函数是一等对象-一等对象一般会有以下特点:1.对象是在运行时创建的2.能赋值给变量或作为数据结构中的元素3.能作为参数传递4.能作为返回值返回- 高阶函数:- 高阶函数至少 要包含以下两个特点中的一个1.接收一个或多个函数作为参数2.将函数作为返回值返回形成闭包的必要条件:1.函数嵌套2.将内部函数作为返回值返回3.内部函数必须要使用到外部函数的变量# 第一种高阶函数类型的用法:将函数作为参数(一般用于对可迭代对象原创 2021-09-01 21:34:18 · 116 阅读 · 0 评论 -
兔子繁殖问题(python递归解决)
兔子繁殖问题古典问题:有一-对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个服生一对兔子,假如兔子都不死,用户输入-一个月份数,计算并在---行内输出该月的兔子总对数以及前-一个月与该月兔子数量的比值,比值结果保留小数点后3位,数字间用空格分隔。...原创 2021-09-01 14:39:22 · 11277 阅读 · 4 评论 -
python------通过字典来理解浅拷贝
copy()返回原字典的浅拷贝。# 关于浅拷贝d_copy = d.copy()# 对比两个字典的内容,相同print(d)print(d_copy)# 对比两个字典的地址,发现不相同print(f'd字典的地址:{id(d)}')print(f'd_copy字典的地址:{id(d_copy)}')# 关于平面拷贝,我们可以测试t={'name':{'age':19},'a':1} # 创建了一个包含了字典的字典t_copy = t.copy()# 对比内容,相同pr.原创 2021-08-30 20:57:50 · 81 阅读 · 0 评论 -
Python字典以及方法的测试
字典:字典属于一种新的数据结构,称为映射(mapping)*字典的作用和列表相似,都是用来存储对象的容器*列表的存储数据的性能很好,但是查询数据的性能很差*在字典中每一个元素都有唯一的名字,通过这个唯一的名字可以快速的查找到指定的元素*在查询元素时,字典的效率是非常快的*在字典中可以保存多个对象,每个对象都有一个唯一对应的名字这个唯一的名字,我们称为键(key),通过key可以 快速的查询value这个对象我们称之为值(value)所以字典,我们也称之为键值对结构每个原创 2021-08-30 20:55:50 · 258 阅读 · 0 评论 -
python员工管理软件----列表初体验
管理软件比较简陋,没有使用面向对象,感觉不太舒服,不过每个阶段都有该做的练习,大出着眼,小处着手'''@Project :pythonProject2 @File :__init__.py.py@IDE :PyCharm @Author :我心Code content:员工信息管理软件@Date :2021/8/29 21:35 '''names=['白小纯','杰克'] #姓名ages=[18,20]# 年龄genders=['男','男'] #性别si.原创 2021-08-29 23:40:34 · 204 阅读 · 0 评论 -
python小游戏《孙悟空大战白骨精》 (循环的练习)
二话不说,直接上源码# 设定攻击力和生命值attack=2life=2boss_attack=10boss_life=10bo=False # 判定游戏是否退出while True: print('----------------------欢迎进入《孙悟空大战白骨精》----------------------') print('''\t\t1.孙悟空 \t2.白骨精''') i = int(input('请选择你的角色:(1-2)')) if i原创 2021-08-28 22:52:35 · 1764 阅读 · 3 评论 -
2021-08-25
新版MySQL的data文件夹跟my配置文件是跟其他分离的,放在C盘隐藏的ProgramData文件夹中,并不是没有,我们可以进入这个文件夹,修改data的存储,或者进行移动原创 2021-08-25 21:10:28 · 127 阅读 · 0 评论 -
关于win10中设置python环境变量不成功的解决方法
关于python环境变量有两个一定要设置的一个是python目录另一个是python目录下的Scripts目录这两个缺一不可当时我只设置了第二个,导致一直无法成功配置好以后打开cmd命令行好了,你可以开始python的装逼之旅了...原创 2021-08-22 18:29:42 · 2355 阅读 · 6 评论 -
javaweb 元素筛选方法使用练习
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>DOM查询</title> <style type="te.原创 2021-08-13 23:24:38 · 255 阅读 · 0 评论 -
javaweb 全选全不选--练习
要充分考虑各种可能的情况,值得练习<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>new all select</title> <script type="text/javascript" src="../js/jquery.js"></script> <script type.原创 2021-08-13 23:21:51 · 278 阅读 · 0 评论 -
javaweb dom的增删改小游戏 --从左到右,从右到左
可能需要用到的方法/*dom的增删改appendTo() a.appendTo(b)把a插入到b元素末尾,成为最后一个子元素prependTo(content) a.prependTo(b)把a插入到b所有子元素前面,成为第一个子元素外部插入insertAfter(content)把所有匹配的元素插入到另一个、指定的元素元素集合的后面。insertBefore(content)把所有匹配的元素插入到另一个、指定的元素元素集合的前面。替换replaceWith(content|f...原创 2021-08-13 23:18:50 · 100 阅读 · 0 评论 -
javaweb 对document的一些查询方法和属性的测试
网页布局有点丑,因为还不是会弄这些css,凑合着看看模仿网课弄的,但是没有源码,只能自己写了一个类似的测试,有些标签不一定跟网课上的一样,但是我们方法的测试是差不多的<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>node</title> <style type="text/css"> .原创 2021-08-11 13:55:34 · 745 阅读 · 0 评论 -
Javaweb的表单提交例子
form是表单标签action属性设置提交的服务器地址method属性设置提交的方式GET(默认值)或POST表单提交的时候,数据没有发送给服务器的三种情况;1、表单项不在提交的from标签中2、表单项没有name属性(为传输字串准备)3、单选、复选(下拉列表的option标签)都需要添加value属性来代表这个值,以便发送给服务器GET请求的特点是:1.浏览器的地址是:action属性【+?+请求参数】请求参数的格式是;name=value&name=v原创 2021-08-08 22:30:55 · 493 阅读 · 0 评论 -
mysql的最左匹配原则测试
-- 最左匹配原则的测试#创建表DROP TABLE people;CREATE TABLE people( id INT PRIMARY KEY auto_increment, NAME_ VARCHAR(20), age INT )#添加了组合索引ALTER TABLE people ADD CONSTRAINT a UNIQUE(NAME_,age); SELECT * FROM people;#插入数据INSERT INTO people(name_,age) VALUE.原创 2021-08-07 20:42:10 · 90 阅读 · 0 评论 -
java新特性之Stream的测试
因为是测试,所以我都在同一个main方法里都实现了,方法引用和lambda我用着还不是很习惯,所以有些是直接实现接口,有些是用lambda表达式,不过在开发当中,当然是哪个快就用哪个啦,纯属看个人喜好这里简介一下/*1.Stream关注的是对数据的运算,与cpu打交道,集合关注的是数据的存储,与内存打交道 * * 2.Stream不会改变源对象,相反,他们会返回一个持有结果的新的Stream * * 3.Stream操作是延迟执行的,这意味着他们会等到需要结果的时候才执行 * * 4原创 2021-07-24 19:12:12 · 257 阅读 · 0 评论 -
java8 新特性之Optional类的避免空指针异常的简单使用
简介/*可能包含或不包含非空值的容器对象。 如果一个值存在, isPresent()将返回true和get()将返回值。提供依赖于存在或不存在包含值的其他方法,例如orElse() (如果值不存在则返回默认值)和ifPresent() (如果值存在则执行代码块)。这是一个value-based课; 使用身份敏感的操作(包括引用相等(的==上的实例),标识哈希码,或同步) Optional可具有不可预测的结果,应当避免。从以下版本开始:1.8* *///orElse(T other).原创 2021-07-24 19:02:11 · 246 阅读 · 0 评论 -
Java 反射机制简单实现动态代理模式
class DynamicAgent { public static void main(String[] args) { SuperMan superMan = new SuperMan(); Human objectProxy = (Human) Factory.getObjectProxy(superMan); String believe = objectProxy.believe(); System.out.println(.原创 2021-07-23 12:52:35 · 122 阅读 · 0 评论 -
java8新特性,lambda表达式的使用
lambda表达式的一些语法规范/***@ClassName: Lambda_use*@Description 新特性Lambda表达式的使用*@Author 我心*@Date 2021/7/23*@Time 12:12*//*格式:* ->:lambda操作符 或箭头操作符* ->左边:lambda形参列表(其实就是接口中抽象方法的形参列表)* ->右边:lambda体(其实就是重写的抽象方法的方法体)** 总结:* .原创 2021-07-23 12:48:10 · 108 阅读 · 0 评论 -
java 反射获取Class实例的结构
只为测试反射机制,一般开发中不会这样class ReflexTest4 { public static void main(String[] args) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException { //创建Class实例,并创建对象 Class<Person> personClass.原创 2021-07-22 15:05:41 · 72 阅读 · 0 评论 -
java 反射机制的动态性小例子
到了运行时才能确定ReflexTest5 { public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException { int num = new Random().nextInt(3); Strin.原创 2021-07-22 15:01:15 · 87 阅读 · 0 评论