自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot——入门

Spring BootSpring Boot介绍什么是Spring BootSpring Boot是一个框架,一种全新的编程规范,它的产生简化了框架的使用,所谓的简化是指简化了Spring众多框架中所需的大量且繁琐的配置文件,所以Spring Boot是一个服务于框架的框架,服务范围是简化配置文件,所以从本质上来说,Spring Boot其实就是Spring框架的另一种表现形式。Spring Boot特征使用Spring Boot可以创建独立的Spring应用程序在Spring Boot中直接

2020-07-28 21:31:03 208

原创 SpringMVC

Spring MVC是一个表现层框架,作用:就是从请求中接收传入的参数,将处理后的结果数据返回给页面展示SpringMVC处理流程开发步骤创建一个javaweb工程导入jar包创建jsp页面创建controller类Controller类是一个普通的java类,不需要实现任何接口,只需要在类上添加@Controller注解即可。@RequestMapping注解指定请求的url,其中“.action”可以加也可以不加。在ModelAndView对象中,将视图设置为“/WEB-INF/

2020-07-27 22:03:43 120

原创 MyBatis

MyBatisMyBatis介绍MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过

2020-07-26 23:03:28 266

原创 Spring

Spring什么是Spring框架?Spring是一个开源框架Spring是于2003 年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJ

2020-07-25 21:54:13 94

原创 MySQL

MySQL数据库本质上就是一个文件系统.通过标准的sql对数据进行curd操作C:create 创建U:update 修改R:read 读|检索 查询D:delete 删除数据库管理系统:数据库管理系统大白话就是一个软件数据库类型:关系型数据库:存放实体与实体之间的关系的数据库(就是二维表)软件名 厂商 特点mysql oracle 开源的数据库oracle oracle 大型的收费的数据库DB2 IBM 大型的收费的数据库sqlserver 微软 中大

2020-07-23 23:41:34 318

原创 Oracle

OracleSQLSQL语句本身不区分大小写,但是出于可读性的目的,我们通常会将SQL中的关键字全部大写,非关键字全部小写.SELECT SYSDATE FROM dualDDL 数据定义语言DDL是对数据库对象进行操作的语言.数据库对象包括:表,视图,索引,序列创建表CREATE TABLE employee( id NUMBER(4), name VARCHAR2(20), gender CHAR(1), birth DATE, salary NUMBER(6,2)

2020-07-22 22:02:42 180

原创 Redis

Redis简介Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis遵守BSD协议,是一个高性能(NoSQL)的Key-Value数据库。补充:BSD协议BSD是"Berkeley Software Distribution"的缩写,意思是"伯克利软件发行版"。BSD开源协议是一个给于使用者很大自由的协议。可以自由的使用,修改源代码,也

2020-07-15 10:35:43 295

原创 Web Service

Web Service解决的问题不同系统、不同平台、不同语言之间的通信访问和调用应用程序的集成,不同业务的整合Web Service概述Web Service的定义web服务是一种服务导向架构的技术,通过标准的web协议提供服务,目的是保证不同平台的应用服务可以互操作。从表面上看,Web service 就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,能够用编程的方法通过Web来调用这个应用程序。深层次上看Web service是一种新的Web应用程序分支,

2020-07-12 22:59:08 130

原创 线程池

线程池线程池主要有两个作用:1:重用线程2:控制线程数量当我们的应用需要创建大量线程或者发现线程会频繁的创建和销毁时就应当考虑使用线程池来维护线程。 public static void main(String[] args) { ExecutorService threadPool = Executors.newFixedThreadPool(2); for(int i=0;i&...

2020-03-23 21:21:03 58

原创 同步

同步多线程并发访问同一资源时,就会形成"抢"的现象。由于线程切换时机不确定,可能导致执行代码顺序的混乱,严重时会导致系统瘫痪。同步方法class Table{ //桌子上有20个豆子 private int beans = 20; /** * 当一个方法被synchronized修饰后,该方法为同步方法, * 即:多个线程不能同时进入方法内部执行。 * 对于成员方法而言...

2020-03-23 21:17:00 77

原创 线程

线程线程的创建第一种创建线程的方式继承Thread并重写run方法来定义线程要执行的任务。第一种创建线程的方式有两个不足:1:由于java是单继承,那么当继承了Thread后就无法再继承其他类。2:由于继承Thread后重写run方法规定了线程执行的任务,这导致线程与任务有一个必然的耦合关系,不利于线程的重用。class MyThread1 extends Thread{ pub...

2020-03-23 15:06:40 101

原创 Exception

Exceptionjava异常捕获机制中的try-catchtry块是用来扩上可能出错的代码片段,catch块是用来捕获try块中代码抛出的错误并解决。System.out.println("程序开始了");try { String str = ""; /* * JVM在执行代码的过程中若发现了一个异常,则会实例化这种情况的异常实例, * 并将代码整个执行过程完整设置到异常中...

2020-03-23 14:30:50 64

原创 文件的复制

文件的复制/** 创建一个RAF读取原文件,再创建一个RAF向目标文件中写出。* 顺序从原文件中读取每一个字节并写入到目标文件中即可。*/RandomAccessFile src = new RandomAccessFile("music.mp3","r");RandomAccessFile desc = new RandomAccessFile("music_cp.mp3","rw"...

2020-03-22 19:33:14 66

原创 文件流

流流根据方向不同分为输入流与输出流,参照点为当前程序。输入流用来读取数据,输出流用来写出数据。java.io.InputStream抽象类,定义了输入流的读取字节方法,所有的字节输入流都继承自它java.io.OutputStream则是所有字节输出流的父类流分为节点流和处理流节点流,也叫低级流,是真是负责读写数据的流读写操作中必须要有低级流,数据源明确处理流,也叫高级流,读写...

2020-03-22 19:28:33 92

原创 RandomAccessFile

java.io.RandomAccessFile用来读写文件数据RandomAccessFile是基于指针进行读写的,即,RandomAccessFile总是在指针指向的位置读写字节,并且读写后指针会自动向后移动。RandomAccessFile既可以读取文件数据也可以向文件中写入数据。读写文件数据/** RandomAccessFile(String path,String mod...

2020-03-22 16:48:33 59

原创 文件

Filejava.io.FileFile的每一个实例可以表示文件系统中的一个文件或目录使用File可以:1:访问文件或目录的属性(如:大小,名字,修改时间等)2:操作文件或目录(创建,删除文件和目录)3:访问目录中的所有内容但是不可以:访问文件数据eg:File file = new File("."+File.separator+"demo.txt");//获取名字St...

2020-03-22 15:45:50 96

原创 栈和队列

栈存储一组元素,但是存取元素必须遵循先进后出原则。通常为了实现后退这类功能时会使用栈 java.util.Deque双端队列,两端都可以进出队。当只调用从一端进出队操作时,就形成了栈结构。因此,双端队列为栈提供了两个方法:push,popvoid push(E e)入栈操作,最后入栈的元素在栈顶(第一个元素的位置)E pop()出栈操作队列存放一组元素,但是存取元素必须遵循先...

2020-03-22 13:27:39 62

原创 key

Key当一个类的实例作为HashMap的key时,它的equals方法与hashcode方法的重写直接影响着散列表 (HashMap)的查询性能。在API文档中Object对这两个方法的重写做了说明:当我们重写一个类的equals方法时,就应当连同重写hashcode方法。这两个方法的重写应当遵循:1:一致性,当两个对象equals比较为true时,hashcode方法返回的数字必须相等...

2020-03-22 12:54:46 225

原创 集合元素的排序

排序集合元素排序集合使用的是集合的工具类Collection的静态方法sort。排序仅能对List集合进行。因为Set部分实现类是无序的。Collections.sort(list)排序自定义类型元素的集合eg:/** * 该类用于作为集合的元素 */public class Point implements Comparable<Point> { private...

2020-03-22 12:32:05 677

原创 List/Map/Set

Listjava.util.List可重复集,并且有序特点是可以根据下标操作元素常用实现类:ArrayList:使用数组实现,查询快LinkedList:使用链表实现,增删更快(首位增删效果明显)E set(int index,E e)将给定元素设置到指定位置上,返回值为原位置的元素,所以是替换元素操作。E get(index)获取给定下标对应的元素List集合提供了一对重...

2020-03-21 17:00:35 57

原创 Collection

Collectionjava.util.Collection集合,用于存储一组元素。提供了维护集合的相关操作。其派生了两个子接口:List:可重复集Set:不可重复集元素是否重复是依靠元素自身equals方法比较的结果而定的。集合存放元素存放的是元素的引用(地址)boolean add(E e)向集合中添加元素。当元素成功添加到集合后返回trueint size()返回...

2020-03-19 22:01:21 64

原创 Calendar

Calendarjava.util.Calendar日历类:该类是一个抽象类,封装了对时间对的相关操作。常用的实现类格里高利历(阳历)使用日历类是为了对时间进行相关的操作,比如计算时间。eg: /* * 使用Calendar的静态方法创建实例, * 该方法会根据当前系统所在地区创建一个相应的实现,通常是GregorianCalendar * 默认创建的日历实例表示当前系统...

2020-03-15 21:28:25 168

原创 日期

Datejava.util.DateDate的每一个实例用于表示一个确切的时间点。内部维护了一个long值,该值记录的是从:1970年1月1日00:00:00到表示该时间点之间所经历的毫秒 值。正数是70年以后的日期,负数是70年以前的日期。由于Date设计上存在缺陷(时区、千年虫),所以它的大部分方法被设置为"过时的",不再建议使用。eg: /* * 使用默认构造方法创建的Da...

2020-03-15 21:22:23 79

原创 包装类

包装类java对于8个基本类型分别定义了对应的包装类,而包装类出现的原因是为了解决基本类型不能参与面向对象的开发问题。java的8个基本类型:byte,short,int,long,float,double,char,boolean是以值的形式直接存在的,所以他们并没有面向对象的特性,自然也不继承Object.所以不能使用多态,用Object的角度去接受基本类型。数字类型的包装类继承自Num...

2020-03-14 20:19:52 57

原创 正则表达式

正则表达式字符串支持正则表达式的方法一boolean matches(String regex)根据给定的正则表达式验证当前字符串是否满足格式要求,满足则返回true,否则返回false.eg: /* * 电子邮箱的正则表达式: * [a-zA-Z0-9_]+@[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)+ */ String regex ="[a-zA-Z0-9_...

2020-03-14 19:31:10 59

原创 字符串

String字符串是不变对象,意思是说,字符串内容一旦创建不可改变, 若想改变某个字符串内容一定会创建新对象。int length()获取字符串长度无论是中文还是英文每个字符都是一个长度int indexOf(String str)该方法是用来查找给定字符串在当前字符串中的位置。该方法有几个重载方法。eg:String str = "thinking in java"; /...

2020-03-12 19:52:41 83

原创 抽象和接口的选择原则

设计原则:1.将公共的属性和行为封装到父类中2.所有子类的行为都一样----普通方法 所有子类的行为不一样----抽象方法3.若符合既是也是原则时,使用接口若方法是所有子类的共同行为-----父类若方法是部分子类的共有行为-----接口...

2020-03-09 19:40:15 86

原创 面向对象的三大特征

面向对象的三大特征:封装:1)类:封装的是对象的属性和行为2)方法:封装的是具体的逻辑功能实现3)访问修饰符:封装的是访问的权限继承:1)作用:避免代码重复,有利于代码的重用2)父类:所有的子类所共有的属性和行为子类:子类所特有的属性和行为3)子继承(extebds)父后,子具有:父+子4)传递性、单一继承多接口实现多态1)意义:行为的多态、对象的多态2)向上造型、强制类...

2020-03-09 12:04:14 73

原创 多态

多态1)意义:1.1)同一类型的引用指向不同的对象时,有不同的实现------------行为的多态:cut(),run()1.2)同一对象被造型为不同的类型时,有不同的功能------------对象的多态:我,水2)向上造型:2.1)父类型的引用指向子类的对象2.2)能造型成的类型有:父类型、实现的接口2.3)能点出来什么,看引用类型3)强制类型转换,成功的条件:3.1...

2020-03-09 11:57:25 65

原创 接口

接口:1)是一个标准、规范遵守了这个标准,就能干某件事—API后了解2)由interface定义3)只能包含常量和抽象方法4)接口不能被实例化5)接口是需要被实现/继承的,实现类/之类必须重写接口中所有抽象方法6)一个类可以实现多个接口,用逗分隔若又继承又实现时,应先继承extends后实现implements7)接口可以继承接口接口是完全抽象的抽象类接口是继承的单根性的扩...

2020-03-09 11:50:25 53

原创 抽象

抽象方法:1)由abstract修饰2)只有方法的定义,没有方法的实现(大括号都没有)抽象类:1)由abstract修饰2)包含抽象方法的类必须是抽象类不包含抽象方法的类也可以声明为抽象类------我乐意3)抽象类不能被实例化4)抽象类是需要被继承的,子类4.1)重写所有抽象方法—常用4.2)也声明为抽象类----不常用5)抽象类的意义:5.1)包含公共的属性和行为,被子...

2020-03-09 11:48:35 66

原创 实例变量/静态变量

1.实例变量:1)属于对象的,存在堆中2)有几个对象就有几个实例对象3)必须通过对象名.来访问2.静态变量1)属于类的,存在方法区中2)只有一份3)常常通过类名.来访问实例变量用得多还是静态变量用的多--------实例多实例方法用的多还是静态方法用的多--------实例多...

2020-02-20 18:14:46 84

原创 访问控制修饰符

访问控制修饰符:1)public:公开的,任何类2)private:私有的,本类3)protected:受保护的,本类、子类、同包类4)默认的:什么也不写,本类、同包类类的访问修饰:public和默认的类成员的访问修饰:如上4种都可以...

2020-02-20 18:05:30 52

原创 规范

package1)作用:避免类的命名冲突2)包名可以有层次结构3)建议:包名所有字母都小写4)类的完全限定名:包名.类名import:1)同包中的类可以直接访问2)不同包中的类想访问:2.1)先import声明类再访问类(建议)2.2)类的全称-------太繁琐(不建议)...

2020-02-20 18:02:18 53

原创 重写/重载

1.方法的重写(Override):1)发生在父子类中,方法名相同,参数列表相同,方法体不同2)重写方法被调用时,看对象的类型2.重写与重载的区别:---------常见面试题1)重写:父子类中,方法名相同,参数列表相同,方法体不同遵循“运行期”绑定,根据对象的类型调用方法2)重载:一个类中,方法名相同,参数列表不同,方法体不同遵循“编译期”绑定,根据引用的类型绑定方法...

2020-02-20 17:59:54 92

原创 继承

继承1)目的:避免代码重复,有利于代码的重用2)通过extends实现继承3)父类/基类:所有子类所共有的属性和行为子类/派生类:子类所特有的属性和方法4)子类继承父类后,子类具有:子类+父类5)一个父类可以有多个子类一个子类只能有一个父类--------单一继承6)继承具有传递性7)java规定:构造子类之前必须先构造父类子类构造中若没有调用父类的构造,则默认super()...

2020-02-20 17:51:54 73

原创 内存管理:堆/栈/方法区

内存管理:由JVM来管理1)堆:1.1)用于存储所有new出来的对象(包括成员变量)1.2)成员变量的生命周期:创建(new)对象时存在堆中,对象被GC回收时一并消失1.3)垃圾:没有任何引用所指向的对象垃圾回收器(GC)不定时到堆中查看,看到垃圾则自动回收回收过程是透明的,并不是一看到垃圾就马上回收若想让它快一些收,可以调用System.gc()1.4)内存泄漏:不再使用的对象...

2020-02-20 17:50:12 82

原创 成员变量/局部变量

成员变量:1.类中,方法外2.new时存在堆中,对象被回收时消失3.有默认值局部变量:1.方法中2.调方法时存在栈中,方法调用结束时与栈桢一并消失3.没有默认值...

2020-02-20 17:45:14 41

原创 关键字

thisthis:指代当前对象,哪个对象调指的就是哪个对象方法中访问成员变量之前默认都有个thisthis的用法:1)this.成员变量名------------访问成员变量2)this.方法名()--------------调用方法3)this()---------------------调用构造方法...

2020-02-20 17:44:10 96

原创 签名/重载/构造

方法的签名:方法名+参数列表方法的重载(Overload):1)同一个类中,方法名称相同,参数列表不同2)编译器在编译时自动根据方法的签名来绑定调用不同的方法构造方法(构造器、构建器、构造函数):1)常常用于给成员变量赋初值2)与类同名,没有返回类型3)在创建(new)对象时被自动调用4)若自己不写构造方法,则编译器默认提供无参构造方法若自己写了构造,则不再默认提供5)构造方法...

2020-02-20 17:39:39 89

空空如也

空空如也

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

TA关注的人

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