自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 枚举类

枚举类:某些方法所接受的数据必须是在固定范围内,解决方案是自定义一个类,然后私有化构造方法,在定义类中创建本类的对象对外使用枚举类的定义格式:enum 类名{}枚举类要注意的事项:1.枚举类也是一个特殊的类2.枚举值低枚举值所属类的数据类型,枚举值是指向了本类的对象的3.枚举值默认的修饰符是public static final4.枚举类的构造方法默认的修饰符是private5....

2019-08-25 21:19:03 197

原创 可变参数

可变参数的格式:数据类型…变量名定义一个函数做加法功能public class Test7 { public static void main(String[] args) { // TODO Auto-generated method stub int[]arr={1,2,3,4,5,6}; add(arr); } public static void add(in...

2019-08-24 10:54:42 114

原创 增强for循环

增强for循环的作用:简化迭代器的书写格式(底层还是使用迭代器遍历)增强for循环的使用范围:如果是实现了Iterable接口的对象或者是数组对象都可以使用增强for循环增强for循环格式:for(变量类型 变量名 :遍历的目标){} HashSet<String> set=new HashSet<String>(); set.add("狗娃");...

2019-08-24 10:45:35 155

原创 静态导入

静态导入可以作用于一个类的所有静态成员静态导入的作用:简化书写格式:import Static 包名.类名.静态的成员静态导入要注意的事项:如果静态导入的成员与本类的成员存在同名的情况下,那么默认使用本类的静态成员,如果需要指定使用静态导入的成员,那么需要在静态成员前面加上类名...

2019-08-24 10:31:22 182

原创 Collections工具类与Arrays工具类

一、Collections:Collections与Collection的区别:Collection是一个集合的根接口,Collections是操作集合对象的一个工具类Collections常见方法:1.对list进行二分查找int binarySearch(list,key)int binarySearch(list,key,comparator)2.对list集合进行排序sor...

2019-08-24 10:26:46 267

原创 集合9——TreeMap

TreeMap<Character,Integer> tree=new TreeMap(); tree.put('a', 97); tree.put('b', 98); tree.put('c', 99); System.out.println(tree);TreeMap要注意的事项:1.往TreeMap添加元素时,如果元素的键具备自然顺序的特点,那么就会按顺序...

2019-08-22 17:01:36 140

原创 集合8——HashMap

HashMap的存储原理:往HashMap添加元素时,首先会调用键的hashcode方法得到元素的哈希码值,然后经过运算就可以算出该元素在哈希表中的存储位置情况1.如果算出的位置目前没有任何元素存储,那么该元素可以直接添加到哈希表中情况2.如果算出的位置目前已经存在其他元素,那么还会调用该元素的equals方法与这个位置上的元素进行比较,如果equals方法返回的是false,那么该元素允许...

2019-08-22 09:19:22 102

原创 集合7——Map

双列集合:-------| Map如果是实现了Map集合类,具备的特点:存储的数据都是以键值对的形式存在的,键不可重复,值可重复---------| HashMap 底层基于哈希表实现---------| TreeMap 基于红黑树数据结构实现的,会对元素的键进行排序存储---------| HashTable 底层依赖了哈希表实现的,实现方式与HashMap一致,但HashTable是线...

2019-08-22 09:06:03 128

原创 泛型

ArrayList<String> list=new ArrayList<String>();表示该容器只能存储字符串类型的数据泛型的好处:1.将运行时的异常提前至编译时2.避免了无谓的强制类型转换泛型在集合中的常见应用:ArrayList list=new ArrayList();ArrayList list=new ArrayList();ArrayL...

2019-08-21 09:49:30 152

原创 servlet+jspsmart组件实现文件上传

jsp页面: <body> <form action="UploadServlet" method="post" enctype="multipart/form-data"> 请选择一个文件上传 <input type="file" name="myFile"> <input type="submit" value="上传"> ...

2019-08-20 21:59:40 193

原创 使用mybatis实现简单的增删改查功能

user实体类:Userpublic class User { private int id; private String userName; private int userAge; private String userAddress; public int getId() { return id; } public void setId(int id) { thi...

2019-08-20 14:12:55 260 1

原创 集合6——set及set接口下实现类

-------| set 无序,不可重复-----------| HashSet 底层使用Hash表支持,具备的特点是:存取速度快-----------| TreeSet 底层使用红黑树数据结构实现,如果元素具备自然顺序的特性,会按元素自然顺序进行排序HashSet:HashSet实现原理:往HashSet添加元素时,HashSet会先调用元素的hashcode方法得到元素...

2019-08-20 11:00:21 159

原创 使用LinkedList存储一副扑克牌,实现洗牌功能

public class Poker{ String color;//花色 String num;//点数 public Poker(String color,String num){ this.color=color; this.num=num; } @Override public String toString() { return "{"+color+num+"}"...

2019-08-19 23:35:34 311

原创 集合5——Vector

Vector:底层维护了object数组实现,实现与ArrayList一样,但Vector是线程安全的,操作效率低ArrayList与Vector的区别:相同点:ArrayList与Vector底层都使用了object数组实现的不同点:1.ArrayList是线程不同步的,Vector是线程同步的,操作效率低2.ArrayList是JDK1.2出现,Vector是JDK1.0出现的...

2019-08-19 22:20:41 71

原创 集合4——LinkedList

LinkedList:底层使用了链表实现,具备的特点是查询速度慢,增删块LinkedList中特有的方法:一、方法:1.addFirst(E e):把元素添加到集合的首位置LinkedList list=new LinkedList(); list.add("狗娃"); list.add("狗剩"); list.addFirst("铁蛋"); System.out.prin...

2019-08-19 22:14:28 137

原创 集合3——ArrayList

ArrayList:底层使用Object数组实现,具备的特点:查询速度快,增删慢ArrayList中特有的方法:1.ensureCapacity(int minCapacity) : 如有必要,增加此 ArrayList 实例的容量,以确保它至少能够容纳最小容量参数所指定的元素数。2.trimToSize() : 将此 ArrayList 实例的容量调整为列表的当前大小。笔试题目:使用...

2019-08-19 09:00:49 107

原创 集合2——List

实现List接口的集合类,具备的特点是有序,可重复有序:集合的有序不是指自然顺序,是指添加顺序和出来的顺序是一样的List中特有的方法:一、添加1.add(int index,E element):把元素添加到集合的指定位置List list=new ArrayList(); list.add("张三"); list.add("李四"); list.add("王五"); ...

2019-08-18 23:13:07 180

原创 集合1——Collection

Collection:单列集合的根接口Collection方法:一、增加:1.add(E e):添加成功返回true,失败返回falseCollection c=new ArrayList(); c.add("abc"); c.add("de"); System.out.println(c);2.addAll(collection c):把一个集合的元素添加到另一个集合...

2019-08-18 16:16:24 149

原创 集合

集合是存储对象数据的集合容器集合比数组的优势:1.集合可以存储任意类型的对象数据,数组只能存储只能存储同一种数据类型的数据2.集合的长度是可以发生变化的,数据的长度是固定的集合的体系:单列集合:-------| Collection 单列集合的根接口---------| List 如果是实现了list接口的集合类,具备的特点:有序,可重复-----------| ArrayLi...

2019-08-18 15:26:52 172

原创 线程的通讯

线程的通讯:一个线程完成了自己任务时,要通知另一个线程完成另一个任务wait():等待 如果线程执行了wait方法,那么线程会进入等待状态,等待状态下的线程必须要被其他线程调用notify方法才能唤醒notify():唤醒 唤醒等待的线程练习:生产者与消费者class Product{ String name; //名字 double price; //价格 bool...

2019-08-18 15:06:45 126

原创 线程安全问题的解决方案

在什么情况下回出现线程安全问题:1.存在两个或者两个以上的线程对象,而且线程之间共享一个资源2.有多个语句操作共享资源线程安全问题解决方案:方式一:同步代码块格式:synchronized(锁对象){需要被同步的代码;}同步代码块需要注意的事项:1.所对象可以为任意一个对象2.在同步代码块中,调用sleep方法并不会释放锁对象3.同步代码块只有真正存在线程安全问题才使用同步...

2019-08-17 15:46:54 581

原创 使用线程模拟3个窗口同时售50张票

方式一:class SaleTicket extends Thread{ static int num=50; static Object o=new Object(); public SaleTicket(String name){ super(name); } @Override public void run() { while(true){ synchroniz...

2019-08-17 15:16:18 915

原创 线程的常用方法的简单介绍

1.Thread(String name):初始化线程名字2.getName():返回线程的名字3.setName(String name):设置线程对象名4.sleep():线程睡眠指定的毫秒数(静态的方法)5.getPriority():返回当前线程对象的优先级,默认线程的优先级是56.setPriority(int newPriority):设置线程的优先级,虽然设置了线程的优先级...

2019-08-17 14:51:50 127

原创 线程的生命周期

运行状态下的线程,一旦执行了sleep或者wait方法之后,那么该线程会临时进入阻塞状态,如果是调用了sleep方法进入临时阻塞状态,那么线程一旦超过了指定的睡眠时间,那么就会重新进入可运行状态,如果调用了wait方法进入临时阻塞状态,那么需要其他线程唤醒该线程才可以重新进入可运行状态。...

2019-08-17 14:45:18 131

原创 线程

进程:正在执行的程序称为进程。进程负责了内存空间的划分线程:线程在一个进程中负责了代码的执行,就是进程中一个执行的路径多线程:在一个进程中,有多个线程同时在执行不同的任务多线程的好处:1.解决了一个进程能执行多个任务的问题2.提高了资源的利用率多线程的弊端1.增加了cpu的负担2.降低了一个进程中线程的执行效率3.会引发线程安全问题4.出现了死锁现象如何创建多线程:方...

2019-08-17 14:31:14 114

原创 System类的简单介绍

System是一个系统类,主要用于获取系统属性数据常用方法:1.arraycopy(Object src, int srcPos, Object dest, int destPos, int length):从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。int[] srcArr={10,11,12,13,14,15}; //把srcArr的数组元素拷贝至de...

2019-08-17 12:01:48 677

原创 StringBuffer类的常用方法简单介绍

StringBuffer类:存储字符的容器笔试题目:使用StringBuffer无参的构造函数创建一个对象时,默认的初始容量为多少,如果长度不够,自动增长多少答:使用StringBuffer无参的构造函数创建一个对象时,默认的初始容量为16,长度不够时,自动增长1倍StringBuffer类的方法:一、添加方法1.append(boolean b):可以添加任意类型数据 Strin...

2019-08-17 11:39:52 432

原创 String类的一些方法简单介绍

一、获取方法1.int length():获取字符串长度 String str="hello"; System.out.println("字符串长度为:"+str.length());2.char charAt(int index):获取特定位置字符 String str="hello"; System.out.println("第四个字符是:"+str.charA...

2019-08-17 11:03:08 140

原创 String类的一些构造方法了解

一、构造方法1.string()创建一个空内容的字符串对象2.string(byte[ ] bytes)使用一个字节数组创建一个字符串对象 byte[] buf={97,98,99}; String str=new String(buf); System.out.println(str);3.string(byte[ ] bytes,int offset,int length...

2019-08-16 16:36:45 185

原创 数组去重

public class Demo8 { public static void main(String[] args) { // TODO Auto-generated method stub int[] arr={10,9,10,45,10,8,10}; arr=clearRepeat(arr); System.out.print("新数组元素为"+Arrays.toStrin...

2019-08-16 16:15:18 131 3

原创 String类的简单了解

String str1="hello"; String str2="hello"; String str3=new String("hello"); String str4=new String("hello"); System.out.println(str1==str2); System.out.println(str2==str3); System.out.pri...

2019-08-16 15:36:49 228 2

原创 object类

object类是所有类的终极父类,任何类都继承object类object类常用的方法:1.toString();返回该对象字符串表示Object object = new Object(); System.out.println(object.toString()); System.out.println(object);输出一个对象和调用toString方法结果一样:完整类名...

2019-08-16 14:07:47 129

原创 模板模式

解决某类事物的步骤有些是固定,有的是发生变化的,那么这时候我们可以为这类事情提供一个模板代码,从而提高效率模板模式步骤:1.先写出解决该类事情其中的一件的解决方案2.分析代码,把会发生变化的代码抽取出来独立成一个方法,把该方法描述成一个抽象方法。3.使用final修饰方法,防止别人重写模板的方法练习:编写一个计算程序运行时间的模板abstract class MyRunTime{ p...

2019-08-16 11:22:51 74

原创 权限修饰符

权限修饰符是控制修饰的成员的范围可见性注意:在不同包下,只有public与protected访问,而且protected必须是在继承关系下才能访问

2019-08-16 11:12:21 131

原创 自定义异常类

自定义异常类步骤:自定义一个类继承Exception即可需求:模拟吃饭,如果钱少于10块,那么抛出没有带够钱的异常class NoMoneyException extends Exception{ public NoMoneyException(String message){ super (message); }}public class Test16 { public st...

2019-08-16 11:00:51 211

原创 处理异常——抛出处理

抛出处理(throw,throws)public class Demo6 { public static void main(String[] args) { // TODO Auto-generated method stub try { div(4, 0); } catch (Exception e) { // TODO Auto-generated catch b...

2019-08-16 10:32:06 346

原创 处理异常——捕获处理

捕获处理的格式:try{可能发生异常的代码;}catch(捕获的异常类型 变量名){处理异常的代码;}public class Demo6 { public static void main(String[] args) { // TODO Auto-generated method stub div(4, 0); } public static void div(in...

2019-08-16 10:16:50 122

原创 异常

异常的体系:------|Throwable:所有异常或者错误的超类-----------|Error:错误,一般由jvm引起的-----------|Exception:异常,需要通过代码处理如何区分异常与错误:如果程序出现不正常的信息的类名是以Error结尾的,那么肯定是错误,如果是以Exception结尾,肯定是异常Throwable常用的方法:1.toString():返回...

2019-08-16 10:04:14 87

原创 内部类

一个类定义在另一个类的内部,那么该类就称作为内部类class outer{ class inner{ }}内部类的class文件名:外部类$内部类(这样命名可以区分该class文件是属于哪个内部类的)内部类的应用场景:我们再描述A事物时,如果发现描述A事物内部还存在另一个比较复杂的事物B,而且这个比较复杂的事物B还需要访问A事物的属性等数据,这时就可以使用内部类。内部类的...

2019-08-16 09:24:13 100

原创 强制类型转换

基本数据类型转换:小数据类型--------->大数据类型 自动类型转换大数据类型--------->小数据类型 强制类型转化格式:小数据类型 变量名=(小数据类型)大数据类型引用类型转换:小数据类型--------->大数据类型 自动类型转换大数据类型--------->小数据类型 强制类型转化Animal ...

2019-08-16 09:02:41 116

空空如也

空空如也

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

TA关注的人

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