自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Session对象@对象获取@请求原理

Session(域对象会话)会话概述会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。理解:也是用来存取数据的一种域对象。HTTP协议本身是一种无状态的协议。但是往往我们的实际需求中会区分不同的请求。对于 “不同组” 的请求,称为 会话(Session)。并且,通常(不是必须)它还会配合 Cookie一起使用。会话跟踪技

2020-07-30 18:43:46 356

原创 (请求)转发和(响应)重定向@HttpServletRequest对象@HttpServletResponse对象

转发和重定向理解:都是用于Servlet之间跳转的技术。只是一个发生在服务器端,一个发生在客户端。(请求)转发转发功能,找HttpServletRequest对象。HttpServletRequest是请求域对象HttpServletRequest对象,也能作为 “域对象” 存取数据。涉及的方法,跟ServletContext一致:java.lang.Object getAttribute(java.lang.String name)返回具有给动名字的 servlet container

2020-07-30 10:04:40 362

原创 ServletContext @理解域对象@跨Servlet传递数据

ServletContext 对象作为域对象的作用1:主要用于存取数据,域对象都具备存储数据的方法。方法摘录:这个域对象的作用范围最大,它涵盖整个Web应用。可以将其存取数据的结构理解为一个Mapjava.lang.Object getAttribute(java.lang.String name) //获取数据返回具有给动名字的servlet container 的属性,或者当没有具有所给名字的属性时,返回一个空值。java.util.Enumeration getAttribut

2020-07-27 19:23:59 315

原创 包的创建

包package 包名; 包名属于标识符。规范:包名的所有字母全部小写一般会采用以下模式来命名:2.1 第一部分域名倒写。 比如百度公司的域名是 baidu.com, 所以,假设你是百度公司的程序员,那么我公司开发的Java程序的顶层包名: com/baidu2.2 第二部分是项目/软件/产品…其它代号。比如我的程序是百度公司的贴吧产品相关的源码。这层包就可以命名为: tieba2.3 对于贴吧产品来说,也会进行进一步的分层,模块层面。比如回复模块,我的包名命名: reply2.4 进

2020-07-27 00:37:57 250

原创 链式编程

链式编程比如说 一个对象 在正式使用之前需要设置大量的相关属性。在java 中StringBuilder已经实现了链式的写法Eg : StringBuilder builder = new StringBuilder(); builder.append(“blake”).append(“bob”).append(“alice”).append(“linese”).append(“eve”);或者用set 方法体现的也是链式Eg : Apple apple = new Apple();appl

2020-07-27 00:09:56 135

原创 接口和抽象类的区别

接口和抽象类的区别:成员上的区别:接口:常量、抽象方法、静态方法。抽象类:包含变量、常量、成员方法、抽象成员方法、静态方法关系上的区别:类与类:类与接口:接口与接口:设计理念上的差别:抽象类是被继承的体现。属于is 和a 的关系。接口是被实现的体现 属于like 和a 关系,是一个扩展的功能...

2020-07-26 23:50:40 94

原创 穿越Java - 语法基础篇 第三章 面向对象介绍 | 第16节 final关键字

final关键字类上使用final :表示:此类 不允许其他类进行继承(绝后了)成员方法上使用final:表示: 此方法不允许被重写(覆盖 即被子类继承时不能重写此方法)变量上使用final:表示: 这个变量是一个常量 且只能赋值一次。当修饰成员变量时,必须明确赋值一次(不能使用默认值)修饰引用类型时,表示地址不能变,但是可以修改内容(用get set)final、finally、finalize的区别1、final修饰符(关键字)。被final修饰的类,就意味着不能再派生出新的子类,不能

2020-07-26 23:46:06 262

原创 面向对象 && 对象的创建

对象的创建(也称为“实例化”)目的:为了访问它的特征和行为。(类中定义的那些特征和行为,必须依赖于具体的对象才有意义)格式:类名 变量名 = new 类名()| 数据类型 变量名 = new 数据类型();类名本质就是数据类型 引用类型就是通过new来创建的。对象名.成员变量名;//拿到变量:可以获取值和设置值。对象名.方法调用();//方法的调用New 构造方法()来创建一个对象的实例匿名对象:匿名对象就是(new完了之后,没有赋值给任何变量)

2020-07-26 23:17:06 134

原创 Servlet的配置@传递初始化的参数值

传递初始化的参数值(一) 涉及到生命周期方法的 init(ServletConfig)其中的ServletConfig表示配置对象,可以获取配置信息String getInitParameter(String var1);根据 参数名 获取配置的对应的参数值 返回值是String 需要自己处理类型Enumeration getInitParameterNames();返回配置的所有参数名的 迭代器 。代码就可以遍历到所有参数名(二) 涉及到web.xml中的子标签

2020-07-26 23:12:57 315

原创 HttpServletRequest实现接口

HttpServletRequest作用:HttpServlet实现接口 HttpServletRequest专门用来处理HTTP请求报文的对象。通过它,可以提取请求报文中的相关信息请求行演示 req 对象获取请求行有关的信息String method = req.getMethod();获取请求方式String protocol = req.getProtocol();获取请求的协议String requestURI = req.getRequestURI();获取请求

2020-07-26 23:10:28 447

原创 Java入门 & 变量

Java中的变量定义在程序执行过程中值可以发生变化其实可以理解成为一块存储区域的名字定义格式:数据类型 变量名 =初始值数据类型:一、基本数据类型(4类8种)1.整数:byte【1字节,-128 127】short【2字节-32768 32767】int【4字节 21亿】long【8字节】2.浮点型float【4字节】子主题 1double【8字节】3.字符型char【2字节】4.布尔型booleantrueflase二、引用数据类型后面讲解类、接

2020-07-26 23:08:48 76

原创 面向对象 && 方法的描述

方法定义:可以理解为一段代码片段的名字格式:修饰符 返回值类型 方法名称(参数类型1 参数名1,…){方法体;Return 返回值;}方法的规范:修饰符返回值类型: 体现在此功能是否要返回某个值是–可以是任意的Java类型(基本类型,引用类型)否–Java中提供了专门的关键字 void方法名称 : 是标识符,只要符合规则和规范即可。()小括号不能少。小括号里面的内容:没有内容:意味着我的功能的实现,不依赖外部的任何输入。如果有内容:一定是成对出现的,具体有多少对看时

2020-07-26 17:02:33 241

原创 穿越Java - 基础篇 第十一章 设计模式 | 第2节 单例模式

单例设计模式:种类:懒汉式单例、饿汉式单例。特点:  1、单例类只能有一个实例。  2、单例类必须自己创建自己的唯一实例。  3、单例类必须给所有其他对象提供这一实例。 选择单例模式就是为了避免不一致状态,避免政出多头。一、懒汉式单例懒汉式单例类.在第一次调用的时候实例化自己代码演示:>public class Singleton {> private Singleton() {} private static Singleton single=null;

2020-07-26 16:11:04 97

原创 面向对象 && 构造方法的描述 及 对象的创建

构造方法:定义:是一种特殊的方法, 用于构造这个对象 ,没有返回值类型 且方法名必须是类名格式:Public 类名(参数类型 参数名…)作用:一、对象创建:用于实现·对象的创建工作。 new后面跟的其实是一个构造方法,本质上调用了类 的一个无参构造方法。默认情况下,Java会给每个类提供一个公共无参的构造方法注意:如果你明确定义了任何一个构造方法时,默认的公共无参构造方法就不再提供了。二、重载:构造方法可以·重载(只考虑方法名和参数个数和类型)三、代码复用:构造方法可以利用

2020-07-26 12:28:11 232

原创 穿越Java - 语法基础篇 第三章 面向对象介绍 | 第2节 类和对象的概念

Java中的类类 对应 面向对象 中提到的“对象”即class定义的东西格式:class类名{数据类型 变量名; //描述特征修饰符 返回值类型 方法名(参数类型 参数名 …){}描述特征–>变量来描述描述行为–>方法来描述}成员变量:对应类中的特征格式:数据类型 变量名;private 数据类型 变量名 即【封装】成员方法:对应类中的行为去掉static修饰符Public 返回值类型 方法名(参数类型 参数名…){}...

2020-07-26 12:08:53 237

原创 穿越Java - 语法基础篇 第二章 Java基础语法介绍 | 第12节 循环语句

程序控制语句If语句格式:if(关系表达式:布尔值){语句体;}注意事项:关系表达式,可以任意复杂。但是不论多复杂,都需要返回一个布尔值。如果这个语句体中只有一条指令(只有一个分号)时,大括号可以省但是,当如果包含多条指令的时候,大括号不可以省略。推荐总是加上大括号。If else语句格式:if(关系表达式:布尔){语句体1;}else{语句体2;}和三目运算符的执行流程很像,能用三木实现一定能用if实现反之不然If else if语句格式:if(关系表达式1:布尔值

2020-07-25 21:00:19 202

原创 穿越Java - 语法基础篇 第一章 快速带你入门 | 第8节 代码规范

Java规范1.对于类名、接口名:如果是一个单词,首字母大写如果是多个单词,每个单词的首字母大写2.对于方法名、成员变量名:如果是一个单词,第一个单词首字母小写如果是多个单词,第一个单词首字母小写,后续单词首字母大写3.常量如果是一个单词,每个字母都大写、如果是多个单词,每个单词大写,词与词之间用下划线分隔4.包名(文件夹的名字)全部小写还有其他规则Java规范...

2020-07-25 20:45:36 80

原创 穿越Java - 语法基础篇 第二章 Java基础语法介绍 | 第8节 变量

Java中的变量定义在程序执行过程中值可以发生变化其实可以理解成为一块存储区域的名字定义格式:数据类型 变量名 =初始值数据类型:一、基本数据类型(4类8种)1.整数:byte【1字节,-128 127】short【2字节-32768 32767】int【4字节 21亿】long【8字节】2.浮点型float【4字节】子主题 1double【8字节】3.字符型char【2字节】4.布尔型booleantrueflase二、引用数据类型后面讲解类、接

2020-07-25 20:02:10 127

原创 穿越Java - 语法基础篇 第二章 Java基础语法介绍 | 第7节 常量

Java中的常量定义在程序执行过程值他的值不会发生改变。分类:字面值常量字符串常量用双引号括起来的内容整数常量和数学一样如100小数常量如3.14字符常量是单引号括起来的单个字符布尔常量他有两个特殊值true表示真、成立false表示假、不成立空常量null(不存在)进制二进制0b开头的数字八进制0开头的数字十六进制0x开头的数字存储定义:Java中所有的类型都是有符号的类型存储都是补码的形式正数:原码、反码、补码都一样负数:原码(二进制)

2020-07-25 10:34:04 201

原创 穿越Java - 语法基础篇 第二章 Java基础语法介绍 | 第9节 运算符

运算符定义:主要对常量和变量进行操作的过程称为运算。具体有什么类型的操作,由运算符来决定;操作数,是被运算符操作的那些变量和常量算术运算符+表示正号–>(操作数为一个,只有一个)表示拼接–>操作数为2个,有字符串参加表示加法操作数为2个,无字符串参加-表示负号(操作数为一个,只有一个)表示减法–>操作数为2个*表示乘法/表示除法 当两个操作数都是整数时,是整数(只取整数部分)当两个操作数至少有一个数是浮点数时,结果和数学上的一致%

2020-07-25 10:14:10 232

原创 穿越Java - 语法基础篇 第二章 Java基础语法介绍 | 第3节 注释

Java的注释定义:他是程序中进行解释说明的文字可以出现在任何地方单行注释格式:// 注释内容特点:只有//后面的一行可以注释掉多行注释格式:/* 注释内容 */特点:只有在/**/内的内容术语注释范围多行注释没有嵌套文档注释格式:/**注释 内容 **/作用:是产生文档时的时候来使用作用:可以进行代码的调试...

2020-07-24 19:45:34 173

原创 Java基础 && 可变参数

可变参数(1.7)方法声明中的参数类型后面跟 ...从语法层面跟数组类似,但比数组灵活。注意事项:Arrays.asList的返回值类型不是我们学过的某个实现类,而是它自己的。不能add等修改。要想正常处理,必须再重新构造:new ArrayList(Arrays.asList(…));...

2020-07-24 19:27:15 139

原创 Java && Java处理HTTP协议的规范

Java处理HTTP协议的规范Servlet处理HTTP协议的。 注意包: javaxJavaWeb开发最重要的组件:Servlet、Filter、Listener导入依赖:方式1: 可以实现Serlvet接口来定义处理HTTP协议的功能方式2:选择继承 标准提供的 某个实现类。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C5Mv1lf9-1595548873545)(imges/image-20200723155035545.png)]通过继承

2020-07-24 09:41:45 146

原创 Java & HTTP协议

简单了解HTTP协议理解:它是请求和响应的协议(一问一答),是基于文本的一种协议。请求和响应的文本称为报文。GET请求这就是一个GET请求的报文内容:(如图一)解读:这个报文中的第一行,称为请求行请求行中分为3部分:(如图二)GET 说明请求方式是GET请求http://localhost:8080/0723/result.html?username=%E6%A0%A1%E9%95%BF&password=123123123 是请求的URL地址 (Get请求,URL地

2020-07-24 07:58:03 113

原创 Java && 增强型for循环

增强型for循环特点:书写简洁。对集合进行遍历,只能获取集合元素,不能对集合进行操作,类似迭代器的简写形式,但是迭代器可以对元素进行remove操作(ListIterator可以进行增删改查的操作)。经典的for循环与增强型for循环的不同:整体来说:增强型for循环使用起来比较方便,代码也比较简单,如果只是操作集合中元素的而不使用索引的话,建议用此方法。对于普通for循环,如果需要使用索引进行其它操作的话,建议用这个。格式上:经典的for循环:for(初始化部分;条件判断部分;

2020-07-23 19:26:47 776

原创 Java & 泛型

泛型泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。也就是说在泛型使用过程中,操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛

2020-07-23 18:05:59 383

原创 穿越Java - 语法基础篇 第五章 集合工具介绍 | 第1节 Collection接口

Collection java.util.CollectionIterator iterator()返回一个用于访问集合中每个元素的迭代器int size()返回当前存储在集合中的元素个数boolean isEmpty()如果集合中没有元素,返回trueboolean contains(Object obj)boolean containAll(Collection<? extend E> other)如果集合中包含相等对象,返回trueboolean

2020-07-23 11:50:27 96

原创 API && 队列接口

Queue队列java.util.Queue(接口)方法:boolean add(E element)boolean offer(E element) 如果队列没有满,将元素添加到队列尾部E remove()E poll() 如果队列不为空,删除并返回这个队列头部元素E element()E peek() 如果队列不为空,返回这个队列头部元素Deque双端队列java.util.Deque理解:接口Deque,是一个扩展自Queue的双端队列,它支持在

2020-07-23 11:29:59 369 1

原创 API && 其他实现类集合

其他实现类集合特殊的集合类:Vector、Stack、HashTable、ConcurrentHashMap、CopyOnWriteArrayListVectorjava.util.Vector理解:用法上,Vector与ArrayList基本一致,不同之处在于Vector使用了关键字synchronized将访问和修改向量的方法都变成同步的了,所以对于不需要同步的应用程序来说,类ArrayList比类Vector更高效。Stackjava.util.Stack理解:Stac

2020-07-23 11:22:30 141

原创 API && MAP <K,V>接口及其相关实现类

Mapjava.util.Map<K,V>理解:Map是一种存储键值对映射的容器类,在Map中键可以是任意类型的对象,但不能有重复的键,每个键都对应一个值,真正存储在图中的是键值构成的条目。V get(Object key)获得与键对应的值V put(K key, V value)V putAll(Map<? extends K, ? extends V> entries) 将键与对应的值关系插入到映射中boolean containKey(Obj

2020-07-23 11:17:12 602

原创 穿越Java - 语法基础篇 第五章 集合工具介绍 | 第3节 Set接口

Set集合理解:Set接口扩展自Collection.它与List的不同之处在于,规定Set的实例不包含重复的元素。在一个规则集内,一定不存在两个相等的元素。AbstractSet是一个实现Set接口的抽象类,Set接口有三个常用具体实现类:散列集HashSet、链式散列集LinkedHashSet、树形集TreeSet。HashSetjava.util.HashSet方法:HashSet()HashSet(Colletion<? extend E> elements

2020-07-23 11:08:28 99

原创 穿越Java - 语法基础篇 第五章 集合工具介绍 | 第2节 List接口

Listjava.util.ListList接口扩展自Collection,它可以定义一个允许重复的有序集合,从List接口中的方法来看,List接口主要是增加了面向位置的操作,允许在指定位置上操作元素,同时增加了一个能够双向遍历线性表的新列表迭代器ListIterator。List接口有动态数组(ArrayList类)和双端链表(LinkedList类)两种实现方式。ListIterator listIterator()ListIterator listIterator(int index)返

2020-07-23 10:22:36 155

原创 穿越Java - 基础篇 第四章 常用工具类介绍 | 第1节 API概述

API理解:一种是应用程序接口,API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。另外一种意思就是本文所说的是一种对API应用程序接口的解释、说明.便于我们使用里面的接口、类和方法。JAVA API文档提供了很多官方的介绍和类、方法、变量的解释。一般很系统,涉及所有的方面,可以参考JavaAPI文档进行阅读和查看。

2020-07-23 08:43:48 135

原创 修饰符 /权限修饰符

权限修饰符四种形式权限修饰符的访问情况:public protected 不写 private同一个类中 四种都可以同一包中的不同类 除了private剩下都可以不同包下的子类 public protected 可以不同包下的不同类 只有public可以修饰符权限修饰符:public protected 默认 private状态修饰符:static final抽象修饰符:abstract修饰符在代码中的出现:类上

2020-07-23 08:31:24 98

原创 XML && XML的解析

XML && XML的解析从技术流派上讲,XML解析也分为:1. DOM:跟HTML类似,是整个将XML文件加载到内容中,然后映射为Java对象,进行解析。弊端: 不适合处理大型的XML文件。优势:保留了节点的信息,方便操作。2. SAX不是完整的加载整个XML文件,而是一边读,一边解析。优势: 可以处理大型的XML文件弊端: 它由于读取完成以后就丢弃信息,所以,无法操作XML文档,只能读取。市面上能够解析XML的库有很多,包括Java语言自己的。其中

2020-07-23 00:42:25 404

原创 XML && XML文件的约束

XML && XML文件的约束用来约束我们的XML的内容需要符合一定的业务规则。从技术上讲,有两种约束的方式。一种是DTD约束文件的方式,一种是Schema约束文件的方式。DTD相对简单,描述能力差一些。典型的代表: MyBatisSchema相对复杂,描述能力强一些。典型的代表:JavaWeb约束、 SpringDTD约束的方式1.文件名以 .dtd 结尾2. 它本身也是一个 xml 文件3. 它里面定义了一些特殊的标签解读规则:<!ELEMENT w

2020-07-22 20:35:23 163

原创 Java & XML

XML理解:它是一种文件格式。我们之前学的HTML其实是XML的子集。HTML中只是W3C规定了一系列的 标签 和 属性 ,使得他们具备特定的意义。而广义上的XML 是支持任意的 标签 和 属性(我们自己可以定义),这样的话就可以描述特定的业务领域。用途:所以,从技术上讲,往往也会使用XML的格式来作为:1.数据传输的格式2. 可以做为软件的配置文件组成:<1>头部声明:必须写在xml文件的顶头的位置,是一种特殊的声明。<?xml version=

2020-07-22 20:33:01 96

原创 模拟请求和响应

XML && 模拟请求和响应需求:假设用户会在浏览器中输入某些地址:比如: http:///abc.html 、 http:///def.html我会根据请求地址的不同,进行不同的响应:(即显示对应的页面内容: 默认输出结果)。思路1: 在代码中根据地址的不同 用 if 判断,然后 执行不同的逻辑if(“abc.html”.equals(url)){//返回abc结果}else if(“def.html”.equal(url)){//返回def结果}思路不好,不利于

2020-07-22 19:01:41 270

原创 反射 && 操作对象

反射 && 操作对象(一)创建对象:调用Class类的newInstance()方法(本质上是调用公共无参的构造方法)来创建对象(二)获取对象:调用Constructor类中的newInstance(实参列表)方法来获取一个对象。(三)赋值:借助Filed对象的get()、set()方法可以对成员变量进行赋值。(四)运行:借助Method对象的invoke()方法可以运行成员方法Object student = clazz.newInstance();/

2020-07-22 14:29:53 140

原创 反射 && 根据Class类型获取它的成员方法

反射 && 根据Class类型获取它的成员方法Method类 是成员方法的对象表示对应的方法:(一)返回此类以及父类中的所有公共的成员方法Method getMethod(String name, Class<?>… parameterTypes)返回一个 Method 对象,它反映此 Class 对象所表示的类或接口的指定公共成员方法。Method[] getMethods()返回一个包含某些 Method 对象的数组,这些对象反映此 Class 对

2020-07-22 14:22:58 152

Java 核心面试题

Java的基础知识和核心知识进行总结的文档。

2020-10-30

空空如也

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

TA关注的人

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