自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

慕北丶

学习中

  • 博客(35)
  • 收藏
  • 关注

原创 异常集合

java.util.ConcurrentModificationException并发修改异常 while (it.hasNext()) { Object obj = it.next(); System.out.println(obj); }/* * java.util.ConcurrentModificationException* 并发修改异常* 在使用迭...

2019-02-13 20:43:46 227

原创 正则表达式

正则表达式:正则表达式使用来对字符串进行验证,在很多时候我们需要指定的字符串格式或者内容,但是客户输入可能不一样,此时可以使用正则表达式对用户输入的数据进行简单的验证。去除字符串中的非数字类型的字符:package com.sun;public class Test { public static void main(String[] args) throws Exception { ...

2019-02-28 21:14:31 125

原创 反射操作普通方法

反射操作普通方法:之前我们使用了反射操作构造方法,步骤是先取得构造方法,而且使用到一个表示构造方法的类型,普通方法也一样需要先使用Class类对象取得普通方法,同时也需要一个类表示普通方法,这个类是“java.lang.reflect.Method”。先使用Class类对象取得普通方法:public Method[] getMethods() throws SecurityExceptio...

2019-02-28 14:56:38 167

原创 反射操作属性

取得类加载器和接口:可以通过反射取得当前的类的加载器或者类的接口:取得加载器:package com.sxt;public class Test { public static void main(String[] args) throws Exception { //取得反射对象 Class<?> empClass=Class.for...

2019-02-28 14:47:19 424 1

原创 反射操作构造方法

反射操作构造方法:通过以上我们知道可以使用反射机制操作类的结构,包括调用类的构造方法、操作类的普通方法、访问类的属性、取得类或者方法上注解信息等。反射操作构造方法:要使用反射操作构造方法,得先使用堆区的那个Class类对象取得构造方法的信息,构造方法的信息取得之后需要封装到一个对象中返回(到处都是面向对象的思想),这个保存了构造方法信息的对象是什么类型呢?在Java提供了一个类型专门描述构造...

2019-02-28 11:37:31 336

原创 反射

反射的概念:每个类加载到运行时数据区的时候会将类的结构信息保存到方法区中(JDK1.8之前的概念),再在堆中创建一个与被加载的类对应的特殊的对象,这个对象封装方法区中类的数据结构,可以使用该对象操作类的结构信息,这种使用Class对象操作方法区中对应的类的信息的方式就叫做反射机制取得Class类对象:既然要使用这个特殊的对象区操作类的信息,那么就先要取得这个对象,取得这个对象有三种方式:1...

2019-02-28 11:37:09 136

原创 注解,自定义注解

注解的概念:一般情况不会让你去开发注解,但是在以后的框架中会大量使用注解,当你看到注解的时候不要觉得它是什么神奇的东西,注解的主要作用的对代码进行跟踪,警告等等,尤其是在容器中使用广泛(在容器中就使用了反射操作注解实现某些功能,比如说Spring容器中就大量的使用了注解),还可以使用反射操作注解,看看几个Java定义出的几个注解。@Override注解 @Override/* 表示该方法是覆...

2019-02-27 19:34:45 171

原创 GC的触发,算法

GC的触发:运行时数据区中最大的区域的堆内存,我们说堆是GC主要处理的区域,所以又叫GC堆。如果要知道GC的触发过程那么对内存还需要继续划分对象的创建和上面的区域发生密切的关系,其中也会在上面的区域触发GC分析GC触发的过程:1.当创建一个新对象的时候需要为新对象申请空间,在伊甸园区申请,但是需要判断一点园区的空间是否充足,充足则申请成功,如果不充足则触发MinorGC回收不活跃的对象(...

2019-02-26 16:10:54 382

原创 JVM,Java类的加载机制

JVM的运行机制概要:如果要运行Java程序,首先要编写Java源文件(* .java),之后Java的编译器将源文件编译成字节码文件(* .class文件),之后再通过类加载器将字节码文件加载到JVM中,其中与程序运行最密切的是JVM中的运行时数据区(Runtime data area)运行时数据区(JVM内存模型)程序的运行最为重要的一块区域就是运行时数据区,其中运行时数据区可以分为如...

2019-02-26 14:47:15 208

原创 链表

链表的概念:链表属于一种数据结构,链表可以保存多个数据,以节点的形式出现,每个节点都可以保存数据,而且每个节点除了可以保存数据之外还必须有对下一个节点的引用链表是HashMap的实现原理之一,是HashMap的基础public class NodeDemo02 { public static void main(String[] args) { //创建出节点 ...

2019-02-25 15:46:27 190

原创 二叉树,内部类

二叉树概念:二叉树是保存数据的一种结构,二叉树由节点组成,每个节点有一个或者两个或者零个节点,子节点又分为左子节点和右子节点,一般习惯让左子节点比右子节点小。比如说一个数组中的元素就可以按照二叉树结构进行保存将数组的元素保存到二叉树结构中:{32,10,9,78,23,15,90,85,100}此时数组的元素以二叉树的结构进行保存,取数据的时候就可以升序或者降序获取了内部类:内部类就是...

2019-02-25 10:51:33 210

原创 递归方法

方法的递归就是自己调用自己,但是必须在方法中有让递归结束的条件,方法的调用会在虚拟机栈中出现入栈和出栈的过程,递归调用就意味着要迅速的出现很多栈帧,如果没有结束条件则会出现栈内存溢出(StackOverFlow)。package com.sun.test;public class Test { static int num=10; public static void main(S...

2019-02-24 21:34:42 199

原创 对象的序列化

对象的序列化:所谓的对象序列化就是将内存中对象转换成二进制之后进行传输到指定的文件,也可以在网络之间进行传输,对象的序列化需要使用到的类ObjectOutputStream类public ObjectOutputStream(OutputStream out) throws IOException构造方法,需要一个字节输出流对象作为参数public final void writeObje...

2019-02-24 20:17:45 129

原创 Scanner流和打印流

io中的装饰者:我们以及指导了InputStrem(处理字节输入流)和OutputStream(字节输出流)两个基本刘的作用,但是哟偶一个小问题,如果要使用OutputStream输出数据,假设输出的是一个String类型,需要将String转换成字节数组之后在输出,如果要输出的数据是int,则需要将int变成字符串之后在换成自己的数组输出,为了解决这个缺陷,java提供了另外一个类对Outpu...

2019-02-24 11:48:55 299

原创 装饰者模式

装饰者模式:思考问题:如果电脑最基础的功能是能够办公使用(function),但是用户买来之后可以在电脑原有的功能上增加功能,可以增加的功能是 可以进行代码开发(programing)、可以吃鸡(games)、能跑十台虚拟机(Virtual)、能看高清电影(movies),此时就是五种功能的任意组合,要在原有的电脑的基础上扩充新的功能,那么就要继承原来的功能的同时又增加新的功能,此时我们考虑使用...

2019-02-23 14:43:40 82

原创 字符输出流,字符输入流

字节流是以字节为单位进行数据的传输,字符流传输的一般是图片,音频,视频等格式的文件,字符流是以字符为单位进行数据的传输,要实现字符输出流操作需要使用到的类有:抽象类java.io.Writer以及其子类FileWriter类public void write(char[] cbuf) throws IOException每次输出一个数组长度的内容public void write(char[...

2019-02-22 20:50:51 652

原创 流的概念,字节输出流,字节输入流

流的概念:在之前的课程中我们学习类“File”,该类是对文件进行操作的,但是只能操作文件的的本身,而不能操作文件中的内容,比如要将程序中的字符串写入文件中这样的功能使用“File”是无法实现的如果要实现这样的功能需要使用流的概念,先将程序中的字符串转换成二进制的形式之后按照流的方法进行读取或者输出字节输出流:字节输出流很显然就是以字节为单位从程序文件中输出内容,如果要实现字节输出流的操作...

2019-02-22 16:02:44 278

原创 适配器设计模式

适配器设计模式:所谓的适配器设计模式就是在接口(或者抽象类)与子类之间定义一个中间类,让中间类去实现接口,然后子类再继承中间类,这样的好处是子类可以选择性的覆写接口的方法。package com.sun;public class Test{ public static void main(String[] args) { }}interface Animal{...

2019-02-21 20:47:25 128

原创 模板设计模式

模板设计模式:在生活中比如出去吃饭,①先下订单–》②吃饭–》③吃水果–》④结账,在整个过程中流程是不变的,但是第二个步骤可能因为人的不同国家或者名族吃饭方式不同(所以饭店不可能规定出吃饭的方式,客户自己选择吃饭的方式),第三个步骤可以客户可以自己选择要吃的水果,如果不选择那么商家就默认给你香蕉,第四个步骤由于商家没跟上互联网的时代,所以只能支持现金支付(这时候商家要求客户必须使用现金支付的) ...

2019-02-21 20:43:30 121

原创 代理设计模式

代理设计模式:代理设计模式就将一些辅助的业务程序交给代理类去完成的一种思想。其实在生活中也有类似的情况,比如说要出吃饭,需要先打开门,出去之后需要关闭门,回来也需要先开门在关门,其实人出去吃饭才是真正的要做的事情,关门和开门只是辅助性的操作,辅助完成出去吃饭的必要步骤而已,有人感觉关门和开门是一些重复性的动作,于是就出现了红外线感应,感应到人到了之后会自动打开门,然后人走开之后自动关闭,此时红...

2019-02-21 20:36:34 121

原创 工厂设计模式

为什么要使用接口:其实上使用接口的其中一个某地就是为了解耦合,什么是耦合?耦合就是代码之间的依赖程度,依赖程度越高耦合就越高,耦合高的代码是不好的,因为应变性差。package com.sxt;public class Test { public static void main(String[] args) { Bird bird=new Bird(); ...

2019-02-21 20:32:41 172

原创 单列设计模式

设计模式的概念:: 所谓的设计模式就是为了提高代码的重用性,优雅性, 实现高内聚低耦合,以及满足开闭原则提出的开发思想, 目前成熟的设计模式有23种, 其中如下的几种我们需要掌握的: 单例设计模式,工厂设计模式(简单工厂,方法工厂,抽象工厂) 代理设计模式(静态代理,动态代理(JDK原生代码实现, cglib实现)),适配器设计模式,模板设计模式, 装饰者设计模式单例设计模式:...

2019-02-21 20:10:54 198

原创 单元测试

单元测试的步骤: 1.书写一个方法 这个方法必须没有参数,没有返回值 访问权限修饰符必须写public 方法名称建议 test+需要测试的方法名称 2.加入单元测试注解 3.右键你写的这个测试方法,run as JUnit Testpackage com.sxt.junitdemo;import java.io.File;import java.uti...

2019-02-20 15:47:01 90

原创 Lambda

Lambda:函数式接口:只有一个抽象方法的接口就是函数式接口Lambda表达式的本质就是匿名内部类的简化写法package com.sxt.lambdademo;public class LambdaDemo01 { public static void main(String[] args) { new Inter() { @Override ...

2019-02-20 15:26:50 63

原创 文件File

File类概述:文件 File static String pathSeparator ; 与系统相关的路径分隔符字符,为方便起见,表示为字符串。 static char pathSeparatorChar ; 与系统相关的路径分隔符。 static String separator 与系统相关的默认名称 - 分隔符字符,以方便的方式表示为字符串。 ...

2019-02-18 22:02:01 202

原创 枚举

为什么要学习枚举?什么是枚举?枚举指的是在一定范围内取值,这个值必须是枚举类型中的任意一个,而且只能够取其中一个枚举的特点:1.枚举的本质就是构造方法私有的Java类2.switch语句可以使用枚举类型3.枚举的取值范围必须是规定范围内取值,并且只能够取范围内的其中一个4.枚举的常量成员必须是枚举体中的第一句5.如果枚举中除了常量成员还有其他成员的话,必须加上分号,没有可以省略6...

2019-02-18 20:12:22 401

原创 集合的练习

ArrayDeque 类 特点: 1.基于数组的双端队列的实现 2.增加删除的效率低,查询和修改的效率高 LinkedList 特点: 1.底层是基于链表的双端队列 2.增加删除的效率高,查询和修改的效率低 3.同时也实现了List接口 使用LinkedList模拟栈结构和队列结构package com.sxt.listsondemo;import...

2019-02-17 19:25:43 184

原创 集合的总结

集合单列集合 Collection 常用方法: 1.添加功能 boolean add(Object obj) boolean addAll(Collection c) 2.删除功能 void clear() boolean remove(Object o) boolean removeAll(Collection<?> ...

2019-02-17 15:56:03 91

原创 Collections工具类

Objects object的 Arrays 数组的 Collections 集合的 Files... 文件的 单列集合 务必记住ArrayList 双列集合 务必记住HashMap和TreeMap,LinkedHashMap 但是实际开发中还是要根据效率选择不同数据结构的集合package com.sxt.collectionsdemo;impor...

2019-02-17 15:37:59 112

原创 Map集合,HashMap,TreeMap,LinkedHashMap,WeakHashMap

为什么需要mpa集合?学生id 姓名 年龄 成绩2018050401 张三 18 80.02018050402 李四 20 85.02018050403 李四 21 89.02018050404 王五 21 89.0如果使用已经学习过的知识点,如何来存储如上数据?第一列:HashSet<String> idList第二列...

2019-02-16 21:56:18 185

原创 Set接口,HashSet类,TreeSet,LinkedHashSet类

Set接口特点:1.唯一2.无序3.可以存储null值,但是null值不能重复package com.sxt.setdemo;import java.util.HashSet;import java.util.Set;public class SetDemo01 { public static void main(String[] args) { Set<Stri...

2019-02-15 21:19:22 140

原创 泛型

泛型1.为什么需要有泛型:没有泛型之前的做法是使用Object接收任意类型,这样在向下转型的过程中会出现类型转换异常,类型转换异常我们可以使用instanceof关键字做判断,但是这样对于集合的变量来说没有遍历完全,因为集合的特点是能够存储所有的引用类型,而我们知道Object有无数个子类,我们无法对每一个子类做逐一判断,所以安全隐患永远存在,如果不逐一判断,没有安全问题,但是不能完...

2019-02-15 20:59:02 118

原创 AarrayList,Vecotor类,Stack栈,Queue队列,Deque双端队列

待定

2019-02-15 20:14:59 251

原创 List接口

List的特点1.List集合是有序的(有序:怎么存怎么取)2.可重复,针对判断是否是重复,依赖的是equals方法 如果是系统给的类String Integer,就不需要我们重写,直接使用 如果是自己定义的类,就需要自己根据需求重写equals方法 一般自动生成3.可以存储null值List的方法增加 void add(int index, E element) 在指定位置...

2019-02-14 20:42:44 70

原创 集合

集合的引入存在一个容器能够具备以下功能1.能够对元素进行增删查改等等的方法方便我们操作容器中的元素2.部分元素是有序的部分元素是无序的3.部分是唯一的,部分是可重复的4.部分是线程安全的,部分是线程不安全的5.既能够存储基本数据类型和引用数据类型数据结构: 数据的存储方式集合相关的数据结构: 数组 栈 队列 链表 哈希表 二叉树集合的概念: 集合是一套框架集合的特点1.能够对...

2019-02-13 20:41:43 102

空空如也

空空如也

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

TA关注的人

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