自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【无标题】

正在运行的一个程序,进程作为资源分配的单位,在内存中会为每个进程分配不同的内存区域。(进程是动态的)是一个动的过程 ,进程的生命周期 : 有它自身的产生、存在和消亡的过程。➢程序(program):是为完成特定任务、用某种语言编写的一组指令的集合,是一段静态的代码。➢线程(thread),进程可进一步细化为线程, 是一个程序内部的一条执行路径。改善程序结构,将即长又复杂的进程分为多个线程,独立运行,利于理解和改善。多个线程共享同一个进程中的结构: 方法区,堆。多线程的基本概念:程序,进程,线程。

2022-11-18 15:18:56 343 1

原创 java中的异常

"throws + 异常类型" 写在方法的声明处,指明此方法执行时,可能会抛出的异常类型,一旦方法当方法体执时,出现异常仍会在异常代码处生成一个异常类的对象,此对象满足throws后异常类型时,就会被抛出。一旦try中的异常对象匹配到某一个,就进入到catch中对异常进行处理,处理完成后,跳出当前的异常try-catch结构(没有finally的情况),继续执行其后的代码。使用try将可能出现异常代码包装起来,在执行构造中,一旦出现异常,就会生成一个对应异常类的对象,根据此类型去catch中进行匹配。

2022-11-08 14:45:40 206

原创 Servlet的初始方法和监听器

4) ServletContextAttributeListener - 监听ServletContext的保存作用域的 改动(add,remove,replace)5) HttpSessionAttributeListener - 监听HttpSession的保存作用域的改动 (add,remove,replace)2) HttpSessionListener - 监听HttpSession对象的创建和销毁的过程。2)Servlet中的初始化方法有两个: init() , init(config);

2022-10-28 15:36:04 227

原创 Servlet的初始方法和监听器

4) ServletContextAttributeListener - 监听ServletContext的保存作用域的 改动(add,remove,replace)5) HttpSessionAttributeListener - 监听HttpSession的保存作用域的改动 (add,remove,replace)2) HttpSessionListener - 监听HttpSession对象的创建和销毁的过程。2)Servlet中的初始化方法有两个: init() , init(config);

2022-10-28 15:32:39 285

原创 Http协议与会话

下次客户端给服务器发请求时,会把sessionID带给服务器,服务器就能获取到了,那么服务器就判断这一次请求和上次某次请求是同一个客户端,从而能够区分开客户端。2)请求消息头中包含了很多客户端需要告诉服务器的信息,比如:我的浏览器型号、版本号、我能接收的内容的类型、我给你发送的内容类型、内容的长度等等。3)响应体:响应的实际内容(比如请求add.html页面时,响应的内容就是...)1)请求行包含是三个信息: 1.请求的方式;

2022-10-18 15:20:23 337

原创 Java-servlet继承与生命周期

第一次接收请求时,这个Servlet会进行实例化(调用构造方法)、初始化(调用init())、然后服务(调用service())对应servlet中的三个方法: init(),service(),destroy()- servlet是线程不安全的,尽量的不要在servlet中定义成员变量。如果不得不定义成员变量,2) Servlet中的核心方法: init() , service() , destroy()3) 服务方法: 当有请求过来时,service方法会自动响应(其实是tomcat容器调用的)

2022-10-08 16:35:30 424

原创 java封装,继承,多态

通俗 的说,把该隐藏的隐藏起来,该暴露的暴露出来。(4)特别的:父类中声明为private的属性或方法,子类继承父 类以后,仍然认为获取了父类中私有的结构。(9)*如果我们没有显示的声明一个类的父类的话,则此类继承 于java.lang.Object类。*子类继承父类以后,就获取了直接父类以及所有间接父类 中声明的属性和方法。(3)体现:一旦子类A继承父类B以后,子类中就获取了父类 B中声明的结构、属性、方法。(5)子类继承父类以后,还可以声明自己特有的属性或方法:实现功能的拓展。

2022-09-28 19:10:54 346

原创 java 解决跨越问题

同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。getJSON方法是可以实现跨域请求的,在用该方法实现跨域请求时,在传递参数上应该注意在url后拼接一个jsoncallback=?即如果请求的协议,请求的ip,请求的端口不一致就是跨越请求。

2022-09-19 19:31:39 725

原创 门面设计模式

设计模式之门面设计模式

2022-09-08 15:25:15 94

原创 模板设计模式

模块方法模式是通过把不变的行为搬移到超类中去,去除子类中的重复代码来体现它的优势。当可变和不可变的行为在方法的子类实现中混合在一起的时候,不变的行为就会在子类中重复出现。通过模板方法把这些行为搬移到单一的方法,这样就帮助了子类摆脱重复的不变行为的纠缠。但是某些部分容易发生变化,易变部分可以抽象出来,供不同的子类实现。抽象类体现的就是一种模板模式的设计,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展,改造,但子类总体上会保留抽象类的行为方式。当功能内部一部分实现是确定的,一部分实现是不确定的。..

2022-08-29 19:27:15 83

原创 IO流原理及其分类

IO的原理I/O 是Input 和 Output 的缩写,I/O 技术是非常实用的技术,用于 " 处理设备之间的数据传输 "。如读/写 文件,网络通讯等java 程序中,对于数据的输入/输出操作以 " 流(stream) " 的方式进行java.io 包下提供了各种 "流" 类和接口,用以获取不同种类的数据,并通过标准的方法输出数据流的分类按操作数据单位不同分为 : 字节流(8 bit), 字符流(16 bit)按数据流的流向不同分维 : 输入流,...

2022-05-29 08:25:12 104

原创 Java事务的ACID属性和四种隔离级别

事务的ACID属性数据库管理系统中事务(transaction)的四个特性(分析时根据首字母缩写依次解释):原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability) 所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。(执行单个逻辑功能的一组指令或操作称为事务)原子性(Atomicity):原子性是指一个事务是不可分隔的工作单位,事务中的操作要么都发生,要么都不发生一致性(...

2022-05-08 14:49:34 530

原创 文件的上传和下载

文件的下载和上传需要导入 commons-fileupload-1.2.1.jar 包 和 commons-io-1.4.jar 包文件的上传需要的条件:1.需要一个 form 标签,method=post 请求2.form 标签的 encType 属性值必须为 multipart/form-data值3.在form 标签中使用 input type = file 添加上传的数据4.编写服务器代码 (Servlet 程序)接收,处理上传的数据说明:encType=multip

2022-04-28 14:54:08 153

原创 使用递归生成一个树形组件

在最近做到一个项目,有一个需求,要求我根据数据库中的商品类型表中的数据生成一个多级树形组件。如上图所示,在开始部署项目时,我并没有太关注这个需求,在数据库设计阶段,由于我是第一次做这个树形组件,我就做了两个商品类型表。后来我们做这个树形组件时,发现我只能生成两级的树形组件,如果是三级四级的树形组件就不能使用这种方式。我是这样解决这个问题的,我就使用一个表来实现这个需求。我重新对数据库中的商品类型表进行了修改,在Parent属性中我就存放进这个商品类型的上级类型ID值,根据..

2022-03-28 10:09:53 608

原创 java的super关键字

super表示父类的,它是一个引用变量,用于引用直接父类对象。在java中的super关键字可以用来指定父类中的操作:可调用父类中的定义的方法。 可对父类中的属性进行访问。 在子类构造器中对父类的构造器进行调用。注意:1.如果存在同名同参数的方法(即在子类中重写了父类中的方法),使super.方法名 调用的是父类中的方法。2. super关键字不仅限于直接父类,如果子类又间接父类,权限修饰符允许,仍可使用super关键字进行调用(其实是子类的直接父类中继承了间接父类中的方法,它的子类才

2022-03-08 09:04:24 386

原创 算法 - 二分法查找

在排序算法中,二分法查找是一个查询效率较高的算法。二分法查找也被称为折半查找,是一种在有序数组中查找特定元素的搜索算法。二分法查找的实现思路:二分法查找是在有序数组中查询的,如果没有这个条件就没有办法进行二分法查找。 二分法查找是在该数组中的中间元素开始搜寻。 如果搜索的数组中的中间元素是大于或小于的关系,就会在大于或小于的那一半区域中查找,如果没有就会继承以上操作。 如果某一步数组为空,则没有该元素。总结一下:就是建立在已排序的数组中,不停的对元素进行对半折分,直到找到目标。.

2022-03-01 09:34:13 456

原创 C#中的封装

C#中的封装封装被定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中"。在面向对象程序设计方法论中,封装是为了防止对实现细节的访问。抽象和封装是面向对象程序设计的相关特性。抽象允许相关信息可视化,封装则使开发者实现所需级别的抽象。C# 封装根据具体的需要,设置使用者的访问权限,并通过访问修饰符来实现。一个访问修饰符定义了一个类成员的范围和可见性。C# 支持的访问修饰符如下所示:public:所有对象都可以访问;private:对象本身在对象内部可以访问;protec...

2022-02-24 14:40:33 233

原创 C#中的继承

C#中的继承我们知道C#中的面向对象有三大特征,封装,继承和多态。什么是继承,顾名思义就是类之间的继承关系。就是父亲有一个儿子,儿子会继承父亲的某些特性。 继承是面向对象程序设计中最重要的概念之一。继承允许我们根据一个类来定义另一个类,这使得创建和维护应用程序变得更容易。同时也有利于重用代码和节省开发时间。当创建一个类时,程序员不需要完全重新编写新的数据成员和成员函数,只需要设计一个新的类,继承了已有的类的成员即可。这个已有的类被称为的基类,这个新的类被称为派生类。一个类可以派生自多个类

2022-02-24 14:35:37 1985

原创 C#中的多态

C#中的多态我们知道C#中的面向对象有三大特征,封装,继承和多态。那什么是多态呢。就是同一种操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。举一个形象的例子,在我们听音乐会的时候,当指挥发出开始的信号,不同的乐器收到相同的信号,但是他们产生不同的行为:钢琴发出的是钢琴的声音,小号发出的是小号的声响。或者,如果把每个动物当成一个对象,那么他们都有一个方法叫做吃,但是他们却产生不同的行为。使用多态前我们必须要有三个条件:具有继承关系,子类对父类的方法进行重写,父类的引用指

2022-02-24 14:32:52 2356

原创 Java中的抽象方法

在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计抽象类。父类包含了子类集合的常见的方法,但是由于父类本身是抽象的,所以不能使用这些方法。在 Java 中抽象类表示的是

2021-12-28 10:20:38 4076

原创 java中接口

接口,英文名为Interface,在java编程语言中表示一个抽象的类型,是抽象方法的集合,一个类通过继承接口中的方式,从而继承接口中的抽象方法。Java中的接口不是类,在编写接口时你或许会发现类和接口非常相似,但类和接口是完成不同的概念。接口中保存的是类要实现的抽象方法,而类中保存的是用于描述对象的属性和方法。因为类是我们对现实事物的参考,我们在描述实现事物时,总会对它有一些描述。接口中只能定义抽象方法和常量。在类实现一个接口时,如果这个类不是抽象类,它就必须要实现接口中的所有方法。也可以被称

2021-12-19 16:55:14 603 1

原创 C#中的Session

简单理解C#中的SessionSession是一个缓存机制,它存储数据在服务端,当客户端(浏览器)关闭时即销毁,如果在长时间在使用浏览器未关闭的情况下,默认自动销毁时间为20分钟。Session中存储服务端的数据可以直接传递到服务端。而使用服务端数据优点是比较便捷,代码 比较少,缺点是数据容易丢失,缓存时间比较短。因此用Session的对象保存用户数据的方法效率低,对于小量的用户数据。使用Session是一个不错的选择。Session有以下的几种特点:Session中的数据保存在服务端;Ses

2021-12-09 16:35:28 5372

原创 使用递归生成layui插件中的树形组件

我们在一些程序中你获取可以一种树形组件,例如:这是在layui插件中生成的一个树形组件,他是由后端生成数据,将后端数据返回给前台页面时,自动生成的一个树形组件。但在使用过程中,我们需要考虑到数据库中的设计因素,在这个例子中,我使用的数据库中的数据是一个表格,它可以方便我们生成多级树形组件。而如果你使用了多表来存放这个树形组件的数据,反而会变得非常繁琐。因此我们数据库中的数据是这样的:用多一个值来记录它的上级元素的ID值,这样在生成多级树形时,可以分清主次关系。这是前.

2021-11-28 15:00:40 1025

原创 Java中的多态

多态是java中面向对象的中的三大特征之一,分别为封装,继承,多态。在现实世界中,我们对一种事物有多种描述形态,我们创建一个student学生类,再创建一个person人类,而我们的人物张三即是学生,他还是一个人,这就出现两种形态。而java是一门面向对象的语言,同样可以用于描述一个事物的多种形态。构成多态的三种条件·必须有继承关系·父类引用指向子类对象 例:Person per = new student();·重写父类中的方法我们创建了一个类并给他创.

2021-11-17 09:02:45 308

原创 java中的值传递和引用传递

在了解值传递和引用传递之前我们先回想一下java中的方法中的形式参数和实际参数。形式参数:是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数实际参数:在调用有参函数时,主调函数和被调函数之间有数据传递关系。在主调函数中调用一个函数时,函数名后面括号中的参数称为”实际参数”。实际参数时调用有参方法的时候真正传递的内容,而形式参数是用于接收实际参数内容的参数。我们又来理解一下值传递和引用传递的定义。在上面我们提到实际参数会把值传递给形式参数。但是在传递的

2021-11-08 10:49:57 278

原创 C#中的接口

在C#中,类之间的继承关系只能用于单继承,而接口就是用于多继承关系的。一个类只能继承一个类,但可以继承多个接口。类在继承接口的同时,也可以继承类,并且接口之间也能进行继承。接口定义了属性,方法和事件,这些都是接口的成员。接口只包含了成员的声明。成员的定义是派生类的责任。接口提供了派生类中应遵循的标准结构。接口定义了语法合同 “是什么” 部分,派生类定义了语法合同“怎么做”部分。接口中的语法规范接口的命名要使用大写字母 ”I”开头,后面接功能名称,例:IText接口中不能定义构造方法.

2021-10-28 15:00:07 270

原创 C#中常用的几种关键字

在C#编程中,我们会经常使用一些关键字来我们要达到的效果,就比如out关键字来放回多个放回值,base关键字来使用父类中的成员,那么下面让我们来总结几种常见的关键字。out 关键字我们在编写方法时,有时候希望在方法调用完之后,给它一个指定的返回值但这样的方法只会返回一个返回值,如果你想返回多个返回值,你可以这样在使用out关键字时,在形式参数和实际参数都需要加上out关键字ref 关键字如果在方法的形式参数前面添加ref关键字,那么就代表它是以引用..

2021-10-18 08:03:48 4663

原创 C#中的值传递和引用传递

在C#语言中,传递参数的方式有两种:值传递和引用传递。在介绍这两种参数传递方式我们先简单理解一下值类型和引用类型。在C#语言中的char,int,short,long,byte,float,double,boolean类型都是值类型,另外enum枚举类型和struct结构类型也是值类型。而string字符串,类,接口,委托等就属于引用类型了,其中string字符串是一种特殊的引用类型。关于值类型和引用类型的存储方式也不相同,值类型是直接保存在内存中,而引用类型存放的是一个内存的地址。这个就是

2021-09-28 08:05:15 4660 1

原创 C#中的类型转换

类型转换的概念C#是一门强类型转换的语言,对类型要求比较严格,当在一定的条件下也是可以相互转换的,如将int类型转换为double类型。AS在C#中允许有两中转换方式:隐式类型转换和显示类型转换。C#中的隐式类型转换隐式转换就是系统默认的、不需要加以声明就可以进行的转换。隐式转换不要求在源代码中使用任何特殊语法,编译器自动执行隐式强制转换。在隐式转换过程中,编译器无需对转换进行详细检查就能够安全地执行转换。隐式强制转换也称为“扩展转换“,因为要将窄数据类型转换为宽数据类型,且还将确保不会

2021-09-19 09:53:01 118

原创 C#中类的继承

在C#中我们在使用类时,继承允许我们用一个类来定义另一个类,这就使得在创建和维护应用程序变得更加容易,同时也有利于重用代码和节省开发时间。继承也是C#面向对象编程的重要概念之一。当我们创建一个类时,如果和其他类中有相同的成员,我们可以使用继承来使得我们创建的类继承其他类中的成员。我们称继承的类为 “派生类”,被继承的类称为 “基类”。语法:访问修饰符 class 类名:基类{类的成员}例:当然我们在继承了父类之后,在子类中也可以编写属于子类的成员。当我们在子类创建的.

2021-09-08 09:53:42 449

原创 C#中的函数重载和构造函数

函数重载在当你翻看别人的代码或查看C#中的自带的方法中,你或许可以看到有许多的名称相同的函数名/方法名,当在实际运许中却没有报错,这是为什么呢?这就是C#中的函数重载,你可以发现在函数重载中的方法的名称相同,但它们的形参的个数,数据类型却不相同。这就可以说明构成函数重载是需要某种条件的。函数重载的概念:在同一个作用域中,可以声明几个功能类似的同名函数。调用时可以根据不同的实参列表来选择相应的函数。例:在这个例子当中,可以看到函数的名称都是相同的,但形参的个数和形参的数据类型存在差.

2021-08-29 10:05:10 939

原创 使用JavaScript生成随机验证码

在我们的日常生活中,登录一款软件时常要使用验证码。下面是在利用JavaScript中的数组和Math的知识点来创建一个随机的验证码。基本样式:图中的 “e92024”就是我们随机生成的验证码,下面的 “看不清,换一张”的按钮可以重置验证码。在后面的input标签中输入我们的验证码,点击提交就会验证输入的验证码是否正确。功能实现:输入正确的验证码在提交和要填写的验证码一样的字符时,点击提交就会弹出一个验证码正确的提示框。功能实现:输入错误的验证码...

2021-08-18 09:56:42 4348 4

原创 JavaScript对Date对象得一些理解

Date对象可以用来处理时间和日期语法:var date=new Date();Date对象可以用来定义日期可以用new 值定Date对象,可以直接获取到当前时间例:var date=new Date();这个例子可以直接获取到当前时间的年,月,日,时,分,秒Date对象会自动使用当前的日期和时间作为其的初始值。Date对象也可以用来操作时间,即可以用来定义一个指定的时间通过使用直接针对日期对象的方法,我们可以很容易对日期进行操作例:var date=new ..

2021-08-08 10:47:25 108

原创 对JavaScript 循环的一些理解

循环可以将代码块执行指定的次数如果你想要一遍又一遍的运行相同的代码,并且每次的值都不相同,那么在这种情况下,使用循环还是比较方便的。不同类型的循环JavaScript 支持不同类型的循环for()循环,这个循环我们会经常使用,它可以循环代码一定的次数for/in循环,它可以循环遍历对象的属性while循环,它是在当指定的条件为true时循环执行的代码块do/while循环,同让也是在当指定的条件为true时循环执行的代码块下面我们将对经常使用的循环及方法进行探讨1

2021-07-28 09:08:05 95

原创 POST()和GET()俩种请求方法

俩种在客户端和服务器端进行请求响应的常用方法是:GET和Post两种 HTTP 请求方法:GET 和 POST GET – 从指定的资源请求数据。 POST –向指定的资源提交要处理的数据。 POST() 方法定义和用法:POST()方法通过HTTP POST请求从服务器载入数据语法:JQuery.post(url,data,success(),dataType){}参数:url 必需参数,即请求的服务器的路径,规定把请求发送到那个服务器,URLdata 可选参数,在请求服务器

2021-07-17 11:42:14 1098

原创 对Ajax的一些理解

什么是AjaxAjax =Asynchronous JavaScript and XML(异步的 JavaScript 和XML)Ajax 不是新的编程语言,而是一种使用现有标准的新方法。Ajax是一种用于创建快速动态网页的技术,是与服务器交换数据并更新部分网页的艺术。通过在后台与服务器进行少量数据交换,ajax可以使网页实现异步更新,这就意味着在不重新加载整个页面的情况下,可以对网页中某部分的数据进行更新。因为传统的网页如果要更新内容,就需要更新整个网页的所有内容,有了Ajax 就能更快速

2021-07-07 10:41:13 364

原创 JavaScript 运算符

JavaScript的条件运算符和比较运算符条件运算符和比较运算符用于测试布尔类型的值,false或true 比较运算符 比较运算符在逻辑语句中,用来判断值是否相等比较运算符和数学中的比较符意思类型运算符 == 表示相等 例:x==4,y=3,y==x? 则返回一个false运算符 === 表示全等,即值和数据类型都相等,例:x==5,y==”5”,x===y? 则返回一个false运算符 != 表示不等于,例:x=2,y=3,x==y? 则返回一个true运算符 >

2021-06-27 20:53:46 96

原创 Js正则表达式

什么是RegExp?当你要检测某个文本时,可以使用一种模式来描述要检测的内容,RegExp就是这种模式,,简单的可以是一个单独的字符,更复杂的模式包括了更多的字符,并用于解析,格式检查,替换等等。RegExp对象又被称为正则表达式,英文名为Regular Expression,在代码中常被称为regex,RE或RegExp.正则表达式是对字符串执行模式匹配的强大工具,正则表达式用来定义一些字符串的规则,计算机可以根据正则表达式来检查一个字符串是否符合规则, 从而将字符串提取。正则表达式也是一

2021-06-17 09:56:23 56

原创 JS正则表达式

什么是RegExp?当你要检测某个文本时,可以使用一种模式来描述要检测的内容,RegExp就是这种模式,,简单的可以是一个单独的字符,更复杂的模式包括了更多的字符,并用于解析,格式检查,替换等等。RegExp对象又被称为正则表达式,英文名为Regular Expression,在代码中常被称为regex,RE或RegExp.正则表达式是对字符串执行模式匹配的强大工具,正则表达式用来定义一些字符串的规则,计算机可以根据正则表达式来检查一个字符串是否符合规则, 从而将字符串提取。正则表达式也是一

2021-06-17 09:47:35 63

原创 2021-06-08

使用JQ添加,删除类1.addClass() 方法会向被选元素添加一个或多个类,该方法不会移除原有的class属性,而是添加一个或多个类;参数:class 必选参数,规定一个或多个类例:注意:在添加俩个或俩个以上时,类名用空格隔开。removeClass() 方法会向被选元素删除一个或多个类参数:class 可选参数,规定要移除的类,如要移除俩个或俩个 以上,类名用空格隔开,如果没用输入参数,会删除所有类例:toggleClass() 方法会对被选元素进行添加和移除的操作切换,

2021-06-08 09:55:17 53

空空如也

空空如也

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

TA关注的人

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