自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JSP 对比5个内置对象的作用域

JSP 对比5个内置对象的作用域首先, JSP中⼀共预先定义了9个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception。但这里只对比5个存储数据的对象(作用域从小到大排序):request 对象request 对象是 javax.servlet.httpServletRequest 类型的对象。 该对象代表了客户端的请求信息,主要⽤于接受通过HTTP协议传送到服务器的数据。(包括头

2021-09-28 14:42:50 228

转载 Java集合LinkedList的方法集合

Java集合LinkedList的方法集合Java的LinkedList是一种常用的数据容器,与ArrayList相比,LinkedList的增删操作效率更高,而查改操作效率较低。LinkedList 实现了List 接口,能对它进行列表操作。LinkedList 实现了Deque 接口,即能将LinkedList当作双端队列使用。LinkedList 实现了Cloneable接口,能克隆。LinkedList 实现了java.io.Serializable接口,这意味着LinkedList支持

2021-08-12 10:01:03 179

原创 设计模式(Design Pattern,DP)

设计模式(Design Pattern,DP)(未完整)设计模式的概念软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。也就是说,它 是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用。其目的是为了提高代码的可重用性、代码的可读性和代码的可靠性。1.设计模式的六大设计原则单一职责原

2021-03-10 21:51:28 214

转载 显式锁与隐式锁的区别

显式锁与隐式锁的区别解决的方法格式描述同步代码块(关键字)synchronized(锁对象){}隐式锁,多个线程的锁对象必须唯一同步方法(修饰符)synchronized 返回类型 方法名(){}隐式锁,谁调用该方法谁就是锁对象显示锁ReentrantLock类的lock()/unlock()方法显式锁,有程序员决定在那开启/关闭锁一、构成不同Sync 和 Lock 的出身(原始的构成)不同:Sync:Java中的关键字,是由JVM来维护的。是J

2020-10-19 10:40:07 1104 1

原创 Runnable与Callable

Runnable与Callable接口定义//Callable接口public interface Callable<V> { V call() throws Exception;}//Runnable接口public interface Runnable { public abstract void run();}Callable的使用步骤编写类实现Callable接口 , 实现call方法class XXX implements Callable&

2020-10-18 15:41:12 66

原创 Set接口及常用子类

Set接口及常用子类java.util.Set 接口和 java.util.List 接口一样,同样继承自 Collection 接口,它与 Collection 接口中的方法基本一致,并没有对 Collection 接口进行功能上的扩充,只是比 Collection 接口更加严格了。与 List 接口不同的是,Set接口中元素无序,并且都会以某种规则保证存入的元素不出现重复。Set的常用方法变量和类型方法描述booleanadd(E e)如果指定的元素尚不存在,则将其添加到

2020-10-05 16:36:27 158

原创 日历之Calendar(附带寻找休息日例子)

日历之Calendar(附带寻找休息日例子)创建对象由于Calendar是一个抽象类,无法直接实例化。Calendar提供了一个类方法getInstance,返回一个Calendar对象,其日历字段已使用当前日期和时间初始化:Calendar 对象 = Calendar.getInstance();常用方法方法描述int get(int field)返回给定日历字段的值(年月日等)int getActualMaximum(int field)返回给定字段的最大值(求

2020-09-25 20:07:54 872

原创 线程安全类,不安全类,支持排序的类

线程安全类,不安全类,支持排序的类Java四大线程安全类线程安全的集合对象:VectorStackHashTableStringBufferEnumeration非线程安全的集合对象:ArrayListLinkedListHashMapHashSetTreeMapTreeSetStringBulider支持排序的类HashSet、LinkedHashSet、TreeSet、EnumSet等(Set接口下的实现都支持排序)...

2020-09-24 21:08:23 181

原创 泛型

泛型泛型,即“参数化类型”。就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时再传入具体的类型(类型实参)。泛型类(常用)public class ClassName<T> { private T data;//数据类型为泛型的变量 public T getData() { return data; } public T setData(T dat

2020-09-24 15:40:36 63

原创 异常(try-catch-finally,throw和throws)

异常(try-catch-finally,throw和throws)异常是在程序中导致程序中断运行的一种指令流。异常产生的过程(未处理):程序发生了异常(JVM根据异常的情况,创建了一个异常对象,对象包含了异常信息)main未处理,自动将异常抛给了main的调用者JVMJVM对异常信息进行了响应(将异常信息显示到控制台,中断处理)处理异常如果要想对异常进行处理,则必须采用标准的处理格式,处理格式语法如下:try{ // 有可能发生异常的代码段}catch(异常类型1 对象名1)

2020-09-20 20:34:48 173

原创 面向对象高级(多态,Object和包装类)

面向对象高级(多态,Object和包装类)多态多态就是对象的多种表现形式。多态的体现对象的多态性,从概念上非常好理解,在类中有子类和父类之分,子类就是父类的一种形态,对象多态性就从此而来。 多态的使用向上转型:将子类实例变为父类实例格式:父类 父类对象 = 子类实例;向下转型:将父类实例变为子类实例格式:子类 子类对象 = (子类)父类实例;instanceof**作用:**判断某个对象是否是指定类的实例,可以使用instanceof关键字格式:实例化对象

2020-09-19 17:10:28 76

原创 面向对象基础(类,创建对象,重载和匿名对象)

面向对象基础(类,创建对象,重载和匿名对象)面向对象是相对于面向过程来讲的,指的是把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。面向过程到面向对象思想层面的转变:面向过程关注的是执行的过程,面向对象关注的是具备功能的对象。面向过程到面向对象,是程序员思想上从执行者到指挥者的转变。如果从代码上来说,大概就是将具有一定属性和功能的对象封装成一个类。面向对象思想从概念上来讲分为三种:OOA:面向对象分析(Object Oriented Anal

2020-09-18 11:31:12 130

原创 面向对象高级(继承,抽象类与接口)

面向对象高级(继承,抽象类与接口)继承class 子类名 extends 父类名 { //子类属性和方法}继承的限制:java中只有单继承和多重继承,没有多继承。super:通过super可以访问父类的构造方法(调用super构造方法的代码,必须写在子类构造方法的第一行)通过super可以访问父类的属性通过super可以访问父类的方法重写(Override)重写的规则参数列表必须完全与被重写方法相同返回值类型必须完全与被重写方法相同访问权限不能比被重

2020-09-18 11:15:53 136

原创 面向对象进阶(this,静态和代码块)

面向对象进阶this关键字使用this关键字可以完成以下的操作:调用类中的属性调用类中的方法或构造方法表示当前对象class Demo { //用private封装成员变量 private int num; //用set方法改变成员变量的值 void setNum(int num) { //this指向类中的num this.num = num; }}静态修饰符static表示“静态”的意思,可以用来修饰成员变量

2020-09-16 11:28:02 97

原创 LinkedList实现Queue(队列)和Deque(栈)的功能

LinkedList实现Queue(队列)和Deque(栈)的功能LinkedList实现Queueimport java.util.LinkedList;import java.util.Queue;//用linkedList模拟队列,因为链表擅长插入和删除public class Queue { public static void main(String [] args) { Queue<String> queue = new LinkedList<

2020-09-14 17:43:56 908 1

转载 接口与抽象类

接口与抽象类接口接口可以看成是一种特殊的类,只能用interface关键字修饰。接口是提供给别人调用的。Java中的接口具有以下几个特点:1、接口中可以包含变量和方法,变量被隐式指定为public static final,方法被隐式指定为public abstract(JDK 1.8之前);2、接口支持多继承,即一个接口可以继承(extends)多个接口,间接解决了Java中类不能多继承的问题;3、一个类可以同时实现多个接口,一个类实现某个接口则必须实现该接口中的抽象方法,否则该类必须被定义为抽

2020-09-11 17:25:25 121

转载 String、StringBuffer与StringBuilder之间区别

String、StringBuffer与StringBuilder之间区别StringStringBufferStringBuilderString的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且浪费大量优先的内存空间StringBuffer是可变类,和线程安全的字符串操作类,任何对它指向的字符串的操作都不会产生新的对象。每个StringBuffer对象都有一定的缓冲区容量,当字符串大小没有超过容量时,不会分配新的容量,当字符串大小超

2020-09-11 16:26:49 56

原创 String str = i 与String str = new String(i)的区别

String str = “i” 与String str = new String(“i”)的区别1. 创建的对象在内存中的区别两者都会在编译时检测常量池中是否存在"i",如果不存在则创建一个空间来存储"i"。然后前者在**栈内存**中开辟一个名为str的空间,用来存储"i"在常量池中的地址;后者则是在运行时,通过String类的构造器在堆内存中new了一个空间,用以存储常量池中"i"的复制,然后再在栈内存中开辟一个名为str的空间,用来存放堆内存中"i"的地址2. ==与equals()的区别

2020-09-09 11:24:23 755

空空如也

空空如也

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

TA关注的人

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