自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【JAVA反射】

反射是一种能够在程序运行时动态访问、修改某个类中任意属性(状态)和方法(行为)的机制(包括private实例和方法)

2023-12-21 22:41:28 944

原创 【设计模式--结构型--适配器模式】

将一个类的接口转换成客户希望的另一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类适配器模式和对象适配器模式,前者类之间的耦合度比后者高,而且要求程序员了解现有组件库中的相关组件的内部结构,所有应用较少。

2023-12-20 21:09:04 673

原创 【设计模式--结构型--代理模式】

由于某些原因需要给某对象提供一个代理以控制该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。java中的代理机制分为静态代理和动态代理静态代理:代理类在在编译期就生成动态代理:代理类在java运行时动态生成。JDK代理CGLib代理。

2023-12-20 20:54:41 1111

原创 【设计模式--行为型--备忘录模式】

又叫快照模式,在不破坏封装性的前提下,捕获一个对象的对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。

2023-12-19 20:23:59 1170

原创 【设计模式--行为型--访问者模式】

封装一些作用于某种数据结构中的各元素的操作,它可以在不改变这个数据结构的前提下定义作用于这些元素的新操作。

2023-12-18 17:21:06 696

原创 【设计模式--行为型--迭代器模式】

提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。

2023-12-18 10:32:03 60

原创 【设计模式--行为型--中介者模式】

又叫调停模式,定义一个中介角色来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立的改变它们之间的交互。

2023-12-15 21:46:26 307

原创 【设计模式--行为型--观察者模式】

又被成为发布订阅模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有的观察者对象,使他们能够自动更新自己。

2023-12-15 13:57:17 312

原创 【设计模式--行为型--责任链模式】

为了避免请求发送者与多个请求处理者耦合到一起,将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到对象处理它为止。

2023-12-14 10:46:02 60

原创 【设计模式--行为型--状态模式】

对有状态的对象,把复杂的判断逻辑提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。

2023-12-14 10:45:25 59

原创 【设计模式--行为型--命令模式】

将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行存储,传递,调用,增加与管理。

2023-12-13 15:28:35 402

原创 【设计模式--行为型--策略模式】

该模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分隔开,并委派给不同的对象对这些算法进行管理。

2023-12-13 11:16:44 403

原创 【设计模式--行为型--模板方法模式】

定义操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。

2023-12-13 10:37:43 293

原创 【设计模式--结构型--享元模式】

运用共享技术来有效的支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅减少需要创建的对象数量,避免大量相似的对象的开销,从而提高系统资源的利用率。

2023-12-11 19:44:37 197

原创 【设计模式--结构型--组合模式】

又称部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树型结构来组合对象,用来表示部分以及整体层次,这种类型的设计模式属于结构型模式,它创建了对象组的树型结构。

2023-12-11 18:07:28 353

原创 【设计模式--结构型--外观模式】

又称门面模式,时一种通过多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。外观模式是“迪米特法则”的典型应用。

2023-12-11 17:04:25 455

原创 【设计模式--结构型--装饰者模式】

指在不改变现有对象结果的情况下,动态的给该对象增加一些职责(即增加额外功能)的模式。

2023-12-10 17:09:17 178

原创 【设计模式--结构型--桥接模式】

将抽象与实现分离,使他们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个维度的耦合度。

2023-12-10 16:58:47 276

原创 【设计模式--创建型--建造者模式】

将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。分离了部件的构建(由Builder来负责)和装配(由Director负责)。从而可以构建出复杂的对象。这个模式适用于:某个对象的构建过程复杂的情况。由于实现了构建和装配的解耦。不同的构建器,相同的装配,也可以做出不同的对象;相同的构建器,不同的装配顺序也可以做出不同的对象。实现了更好的复用。建造者模式可以将部件与其组装过程分开,一步一步创建一个复杂对象。用户只需要指定复杂对象的类型就可以获得该对象,而无需知道内部的构造细节。

2023-12-07 22:32:23 228

原创 【设计模式--创建型--原型模式】

用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象。

2023-12-07 22:04:31 208

原创 【设计模式--创建型--工厂模式】

注意:简单工厂并不属于23种设计模式之一简单工厂包含如下角色:修改手机店类测试结果-优点:封装了创建对象的过程,可以通过参数直接获取对象。把对象的创建和业务逻辑层分开,这样以后就避免了修改客户代码,如果要实现新增产品直接修改工厂类,而不需要在原代码中修改。工厂方法模式(一个工厂生产一种类对象的模式)使用工厂方法模式,是完全遵循开闭原则的结构工厂方法模式的主要角色:具体类图:小米手机类华为手机类抽象工厂:小米手机工厂:华为手机工厂手机店类测试结果此时若是再

2023-12-05 16:47:17 49

原创 【设计模式--创建型--单例模式】

静态内部类单例模式中实例有内部类创建,由于jvm在加载外部类的过程中是不会加载静态内部类的,只有静态内部类的属性或方法被调用时才会被加载,并初始化静态属性,由于静态属性被static修饰,保证只实例化一次,并且严格保证实例化顺序。枚举类实现单例模式是极力推荐的单例设计模式,因为枚举类型是线程安全的,并且只会装载一次,而且枚举类型是所有单例实现中唯一一种不会被破坏的单例实现模式。静态内部类单例模式时一种优秀的单例模式,是开源项目中比较常用的一种单例模式。特点:饿汉式的两种实现方式都会造成内存的浪费。

2023-12-04 19:30:15 111

原创 【无标题】简单的xml与JavaBean相互转换

xml中的Citys数组值可以用String[]来接收。xml的结构可以看成类似word文档的大纲。首先创建最外层的JavaBean。然后是第二层的JavaBean。多个book节点处理。

2022-07-31 12:08:52 721 1

原创 【maven】maven入门

项目构建提供标准的,跨平台的自动化项目构建方式依赖管理方便快捷的管理项目依赖的资源(jar包),避免资源版本冲突问题统一开发结构提供标准的,统一的项目结构。

2022-07-18 07:37:43 143

原创 【爬虫基础】正则表达式和re模块

目录:什么是正则表达式正则表达式语法单字符串匹配匹配多个字符串精确匹配与泛匹配贪婪匹配与非贪婪匹配开始和结束语法转义字符和原生字符串re模块中常用函数matchsearchgroup分组findallsubsplitcompile什么是正则表达式通俗理解:按照一定的规则,从某个字符串中匹配出想要的数据。这个规则就是正则表达式。标准解释:https://baike.baidu.com/item/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1700215?

2022-05-12 23:55:44 241

原创 【爬虫基础】CSS选择器,XPath选择器

目录XPath什么是XPath?XPath开发工具XPath节点XPath语法案例总结CSS选择器案例标签选择器类选择器ID选择器属性选择器伪类选择器组合选择器XPath什么是XPath?xpath(XML Paht Language)是一门在XML和HTML文档中查找信息的语言,可用来在XML和HTML文档中对元素和属性进行遍历。XPath开发工具Chrome插件XPath Helper。Fiefox插件Try XPathXPath节点在XPath中,有7类节点:元素,属性,文本

2022-05-10 23:21:18 795

原创 【爬虫基础】requests库

requests库requestsrequests 关键字参数响应体常见的方法和属性cookiesession 会话维持处理不受信任的SSL证书requests虽然python的标准库中urllib模块已经包含了平常我们使用的大多数功能,但是它的API使用起来让人感觉不太好requests 是用python编写,基于urllib,但是比urllib更加方便requests 关键字参数method: 请求方法url: 请求网址headers:请求头字段cookies:用户身份标识pro

2022-05-10 16:58:43 289 1

原创 【爬虫基础】urllib库

urllib: 自带的库1.了解urllib库2.熟悉掌握urllib库3.熟悉urllib.request,处理cookie 代理设置urllib常用库urlliburloppen()urlretrieve()urlencode(), quote(), parse_qs()urlparse(), urlsplit()request.Request类ProxyHandler()cookiehttp.CookieJar模块urllib"""urllib库是python中一个最基本的网络请求库。可

2022-05-10 09:48:17 159

原创 【SQL Srever】视图 事务 索引 存储过程

目录视图为什么需要视图什么是视图视图的格式视图的优点视图的缺点注意的问题事务为什么需要事务事务和线程的关系事务和第三方插件的关系如何创建事务索引存储过程视图为什么需要视图例:求出平均工资最高的部门的编号和编号-- 非视图写法select * from ( select deptno, avg(sal) "avg_sal" from emp group by deptno ) "T"where "T"."avg_sal" = ( select max(avg_sal) fr

2022-05-10 01:50:48 225

原创 【SQL Server】查询操作之二

连接查询定义内连接外连接完全连接交叉连接自连接联合

2022-03-27 12:57:59 151

原创 【SQL】SQL Server 之查询操作

计算列distinct (不重复的)between (两者之间)in (属于若干个孤立的值)topnullorder by(排序)模糊查询聚合函数group by(分组)having(对分组后的数据过滤)

2022-03-21 10:21:03 769

原创 【Python】快速排序,归并排序,堆排序

目录快速排序归并排序堆排序快速排序li = [i for i in range(1, 5000000)]random.shuffle(li)def quick_sort(li, left, right): if left < right: mid = partition(li, left, right) quick_sort(li, left, mid - 1) quick_sort(li, mid + 1, right)def

2022-03-21 09:42:58 1702 1

原创 【SQL Server】用sql命令创建表,修改表,创建约束

create table dept( dept_id int constraint pk_dept primary key, -- dept表的主键,命名为pk_dept dept_name nvarchar(100) not null, dept_address nvarchar(100))create table emp( emp_id int constraint pk_emp_id primary key, -- emp表的主键,命名为pk_emp_id emp_name.

2022-03-19 20:13:41 1750

原创 【SQL Server】基本概念

目录:基本概念数据库的组成数据库常用对象数据类型分类创建表及主外键基本概念数据库:DataBase 按照一定数据结构来组织,存储和管理数据的仓库。存储在一起的相关的数据的一个集合数据库管理系统:DataBase Management System 为管理数据库而设计的一个电脑软件系统分为两种:关系型数据库:建立在模型基础上的数据库 SqlServer MySql Oaracle非关系型数据库:不同点:不适用SQL作为查询语言数据库系统: 数据库和数据库管理系统组成数据库的组成数

2022-03-19 17:07:51 843

原创 【Java】Collection 常用功能和迭代器

Collection常用功能/*java.util.Collection接口 所有单列集合的最顶层接口,里边定义了所有单列集合的共性方法; 任意的单列集合都可以使用Collection接口中的方法共性方法: public boolean add(E e); 把给定的对象添加到当前集合中 public void clear(); 清空集合 public boolean remove(E e); 把给定的对象在当前集合中删除 public boolean contains(E e); 判断当

2022-03-14 08:53:06 119

原创 【Java】快速排序,归并排序,堆排序

Java 快速排序 归并排序 堆排序快速排序public class Main{ public static void main(String[] args){ }}归并排序public class Main{ public static void main(String[] args){ }}堆排序public class Main{ public static void main(String[] args){ }}...

2022-03-12 16:20:29 1289

原创 【Java】Java 基数排序,希尔排序,桶排序,计数排序

Java 基数排序,希尔排序,桶排序,计数排序

2022-03-11 00:16:35 413

原创 【Java】冒泡排序,插入排序,选择排序

Java 冒泡排序,选择排序,插入排序

2022-03-09 15:30:55 294

原创 【Java】ArrayList集合概述和基本使用

目录ArrayList 创建ArrayList 集合常用方法ArrayList 存储基本数据ArrayList 创建/*ArrayList 集合的长度是可以随意变化的对于ArrayList来说,有一个尖括号<E>代表泛型 泛型:也就是装在集合当中的所有元素,全都是统一的 注意:泛型只能是引用类型,不能是基本类型。对于ArrayList来说,直接打印得到的不是地址值,而是内容如果内容是空,得到[]*/public class Main{ public static void

2022-03-07 23:45:14 217

原创 【Java】字符串的声明,特点及相关方法

Java 字符串 分割 替换 比较 转换 截取

2022-03-07 18:17:56 1331

空空如也

空空如也

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

TA关注的人

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