Java
文章平均质量分 88
it_shine
这个作者很懒,什么都没留下…
展开
-
Java8学习笔记 — 其它新特性【接口默认方法(静态方法)、重复注解、类型注解】
一、接口默认方法&静态方法Java8允许在接口中存在具有具体实现的方法,需要使用default修饰符进行修饰。接口默认方法的“类优先”原则: 若一个接口中定义了一个默认方法,而另外一个父类或接口中又定义了一个同名方法时:选择父类中的方法。如果一个父类提供了具体的实现,那么接口中具有相同名称和参数的默认方法会被忽略。接口冲突。如果一个父接口提供一个默认方法原创 2017-05-25 13:49:18 · 726 阅读 · 0 评论 -
SpringMVC执行流程
SpringMVC执行流程图:用户发起请求到前端控制器(Controller)前端控制器没有处理业务逻辑的能力,需要找到具体的模型对象处理(Handler),到处理器映射器(HandlerMapping)中查找Handler对象(Model)。HandlerMapping返回执行链,包含了2部分内容: ① Handler对象、② 拦截器数组前端处理器通过处理器适配器原创 2016-09-05 13:59:06 · 377 阅读 · 0 评论 -
【流程控制】【函数】【重载】
一、程序流程控制:一般程序的结构主要有顺序结构、判断结构、选择结构、循环结构这几种。它们的共同点就是程序只有一个入口和一个出口。1、顺序结构:程序从上至下逐行执行,一条语句执行完之后继续执行下一条语句,直至末尾。2、判断结构 ---->if语句 if语句的三种格式:①.if (条件表达式) { 执行语句; }②.if (条件表达式) {...原创 2014-09-05 14:02:58 · 464 阅读 · 0 评论 -
【数组】(选择、冒泡)排序、折半查找、获取最值、二维数组
一、数组的定义和使用1、概念:同一种类型数据的集合。其实就是一个容器。2、数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。3、数组定义的格式:【格式一】:元素类型[]数组名 = new元素类型[元素个数或者数组长度];示例:int[] arr = new int[3];【格式二】:元素类型[]数组名 = new元素类型[]{元素,元素,原创 2014-09-05 14:25:25 · 795 阅读 · 0 评论 -
【关键字】【标识符】【常量】【变量】【进制转换】【运算符】
一、Java语言的基本组成1、关键字:被java语言赋予了特殊含义的单词。特点:①.关键字所有字母都是小写的。 ②.java中的关键字根据功能不同可以分成多种类型。用于定义数据类型的关键字classInterfacebyteshortintlong原创 2014-09-05 13:01:50 · 740 阅读 · 0 评论 -
【Java概述】【JDK、JRE】【环境变量Path、classpath】【HelloWorld】【注释】
一、软件开发:即制作软件(使用程序开发语言实现一个又一个的功能的过程)。 |--什么是软件? 即系列按照指定顺序组织的计算机数据和指令的集合。 |--系统软件。 (例如:DOS、Windows、Linux、MacOS) |--应用软件。 (迅雷、QQ、暴风影音) 1.作用:为了处理现实生原创 2014-09-05 12:31:48 · 1287 阅读 · 0 评论 -
面对对象4【抽象abstract】【接口interface】【多态】【instanceof关键字】【Object类】
一、抽象类(AbstractClass)1、抽象:就是从多个事物中将共性的,本质的内容抽取出来。 简单说:就是看不懂的、模糊的、不具体的事物。2、抽象类:表示具体功能不明确的,被abstract关键字修饰,且包含抽象方法的类。3、抽象方法:只有功能声明,没有功能主体的方法称为抽象方法。4、抽象类的特点:①、抽象方法一定要定义在抽象类中。②、抽象方法和抽象类都必须原创 2014-09-05 22:48:49 · 815 阅读 · 0 评论 -
面对对象2【static】【主函数】【静态应用】【Java帮助文档】【静态代码块】【对象初始化过程】
一、静态(static)1、static:是一个修饰符,用于修饰成员(成员变量、成员函数)。代码示例:class Person{ String name; //成员变量,实例变量。 static String country = "cn"; //静态的成员变量,类变量。 public static void show() //成员函数原创 2014-09-05 15:37:05 · 650 阅读 · 0 评论 -
面向对象1【概念】【封装】【构造函数】【代码块】【this关键字】
一、面向对象的概念:1、面向对象是相对面向过程而言,都是一种思想。l 面向过程:强调的是功能行为。(执行者)l 面向对象:将功能封装进对象,强调具备了功能的对象。(指挥者)面向对象是基于面向过程的。2、面向对象的三大特征:封装性、继承性、多态性3、类和对象的关系:类:就是对现实生活中事物的描述,是具体事物的抽象。对象:就是这类事物实实在在存在的个体。图例原创 2014-09-05 14:59:01 · 712 阅读 · 0 评论 -
面对对象3【继承】【子类、父类、成员特点】【super】【final】
一、继承:1、继承概述:类与类之间的一种所属关系。2、好处:①、提高代码的复用性。②、让类与类之间产生了关系。有了这个关系,才有了多态的特性。 注意:千万不要为了获取其他类的功能,简化代码而继承。必须是类与类之间有所属关系才可以继承。所属关系“is a”(即“谁是谁中的一员”)。 3、什么时候使用继承?当多个类中存在相同属性和行为时,将这些共性内容抽取到单独一个原创 2014-09-05 18:12:54 · 998 阅读 · 0 评论 -
【String类】【StringBuffer & StringBuilder】【常见方法以及示例】【包装类】
一、String类1、概述:Java中一个特殊的类,用于描述字符串。2、String类的源码声明:public final classStringextends Objectimplements Serializable,Comparable<String>,CharSequence 含义说明:String类被final所修饰,代表这个类不可以有子类,里面的...原创 2014-09-06 01:23:40 · 940 阅读 · 0 评论 -
SpringMVC - HelloWorld
1、创建一个Maven工程2、导入依赖 4.11 4.1.6.RELEASE 1.2 2.5 2.0 junit junit ${junit.version} test org.springframework spring-webmvc ${spring.version} jst原创 2016-09-05 14:27:47 · 277 阅读 · 0 评论 -
SpringMVC学习3
数据绑定获取用户提交的参数,绑定到入参的参数中,就叫做数据绑定。在Controller中获取Servlet的内置对象(Request、Response、Session)是非常简单的,如下:@RequestParam作用:获取请求中的参数,问号后面的请求参数。如果是POST请求,则为请求体中的kv数据。有三个参数:1、v原创 2016-09-05 15:42:41 · 567 阅读 · 0 评论 -
Java8学习笔记 — 新日期时间API
LocalDate、LocalTime、LocalDateTime类的实例是不可变的对象,分别表示使用ISO8601日历系统的日期、时间、日期和时间。它们提供了简单的日期或时间,并不包含当前的时间信息,也不包含与时区相关的信息。@Testpublic void test1() { LocalDateTime ldt = LocalDateTime.now(); System.out.pr原创 2017-05-25 12:05:30 · 413 阅读 · 0 评论 -
Java8学习笔记 — Optional
Optional类(java.util.Optional)是一个容器类,代表一个值存在或者不存在,原来用null表示一个值不存在,现在Optional可以更好的表达这个概念。并且可以避免空指针异常。 常用方法:Optional.of(T t):创建一个Optional实例Optional.empty():创建一个空的Optional实例Optional.ofNullable(T原创 2017-05-25 12:01:17 · 535 阅读 · 1 评论 -
Java8学习笔记 — 【Stream API】
Stream(java.util.stream.*)是Java8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API对集合数据进行操作,就类似于使用SQL执行的数据库查询。也可以使用Stream API来进行执行操作。简而言之,Stream API提供了一种高效且易于使用的处理数据的方式。1、什么是Stream?原创 2017-05-25 11:42:23 · 577 阅读 · 0 评论 -
Java8学习笔记 — 【Lambda表达式】
1、Lambda表达式介绍Lambda表达式是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样传输),这样就可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java语言表达能力得到提升。2、Lambda表达式入门示例需求:获取公司中员工年龄大于35岁的员工信息。员工类:Employee.javapublic class E原创 2017-05-25 11:17:40 · 481 阅读 · 0 评论 -
全局异常处理器实现系统异常日志记录到数据库
一、需求描述:每次系统出现异常(有系统异常,也有业务功能的异常)都需要让运维拉生产上的日志文件,查看哪个地方出问题了,根据打印的log日志定位问题点以及原因,比较浪费时间。为了解决这个问题,就想到:当系统出现异常时,将异常信息记录到数据库中,然后以短信或邮件的形式通知管理员登录到管理系统后台页面进行查看具体异常信息,从而快速定位和判断出现异常的位置和原因,直到修复。二、实现思路:原创 2017-03-01 17:59:42 · 11192 阅读 · 8 评论 -
SpringMVC学习2
@RequestMapping:可以将请求映射到具体的Controller的具体方法上。@RequestMapping既可以定义在类上,又可以定义在方法上。请求映射的规则是:类上的@RequestMapping.value + 方法上的@RequestMapping.value注意:如果value的值不以“/”开头,SpringMVC会自动添加上“/”@RequestMap原创 2016-09-05 14:55:50 · 397 阅读 · 0 评论 -
SpringMVC学习1
发现可以在springmvc的配置文件中注释掉处理器映射器和处理器适配器的配置(可省略不配置映射器和适配器),重新测试发现依然可以正确的访问Controller,得到预期的内容。问题:为什么可以省略?因为SpringMVC具有默认的配置。在spring-webmvc/org.springframework.web.servlet/DispatcherServlt原创 2016-09-05 14:40:20 · 305 阅读 · 0 评论 -
SpringMVC学习5 - 拦截器
HandlerExecutionChain是一个执行链,从HandlerMapping(处理器映射器)返回给DispatcherServlet(前端控制器),其中包含了Handler对象和拦截器Interceptor对象(数组),SpringMVC的拦截器接口定义了3个方法:1、preHandler:调用Handler之前执行2、postHandler:调用Handler之后执行3、a原创 2016-09-05 16:05:22 · 509 阅读 · 0 评论 -
使用SpringMVC实现文件上传
使用SpringMVC实现文件上传步骤:1、导入需要依赖的jar包 commons-fileupload commons-fileupload 1.3.12、在springmvc配置文件中定义文件上传解析器在springmvc配置文件中定义文件上传解析器: 3、定义文件上传的Cont原创 2016-09-05 15:59:25 · 651 阅读 · 0 评论 -
SpringMVC学习4
InternalResourceViewResolver视图解析器默认使用的是JSTL解析器,要使用JSTL标签库需要导入JSTL的依赖。 jstl jstl 1.2jsp页面导入jstl标签库: userId username age原创 2016-09-05 15:55:06 · 354 阅读 · 0 评论 -
面对对象5【内部类】【异常Exception】【throw和throws】【包package】【import】【jar包】
一、内部类1、什么是内部类?将一个类定义在另一个类的里面,对里面那个类就称为内部类(或者称为内置类、嵌套类)。2、内部类的定义格式:修饰符 class外部类名{//外部类成员 修饰符 class内部类名{//内部类成员}}3、内部类的访问规则:①、内部类可以直接访问外部类中的成员,包括私有的。为什么内部类能直接访问外部类成员?原创 2014-09-05 23:55:09 · 1323 阅读 · 0 评论 -
Java集合框架-2.【Set】【HashSet】【TreeSet】
一、Set集合1、特点: ①、元素是无序的(存入和取出的顺序不一定一致),且元素不可以重复。 ②、Set集合的功能和Collection一致。2、Set集合体系结构:Collection|--Set|--HashSet:底层数据结构是哈希表。|--TreeSet:底层数据结构是二叉树。 二、HashSet集合1、特点:①、元素是无序存放的,且原创 2014-09-06 11:59:44 · 721 阅读 · 0 评论 -
Java集合框架-5.【System类】【Runtime】【Date】【Calendar】【Math & Random】
1、System类①、什么是System类? System类是一些与系统相关属性和方法的集合。②、特点:System类中的方法和属性都是静态的,可以直接使用类名调用。System类不可以被实例化,因为被final修饰。③、System类中的常用属性和方法:属性:System.out ----> 标准输出System.in -----> 标准输入。默认是键原创 2014-09-06 13:09:47 · 512 阅读 · 0 评论 -
类加载器ClassLoader
1、什么是类加载器? 简单说,类加载器就是加载类的Java工具类。2、Java系统默认的3个类加载器: JVM中可以安装多个类加载器,系统默认的主要有3个,并且每一个类加载器都负载加载不同位置的类。 Bootstrap ClassLoader:此类加载器采用C++编写,内嵌在JVM内核当中,一般开发中是看不到的。它负责加载的是jre\lib\rt.jar中的原创 2014-09-10 11:24:03 · 724 阅读 · 0 评论 -
JDK1.5新特性
1、 静态导入:importstaticimport语句可以导入一个类或者某个包中的所有的类。例如:import java.io.File或者import java.io.*;import static(静态导入)语句可以导入一个类中的某个静态方法/字段,或者所有的静态方法/字段。 例如:import staticjava.lang.System.exit;或者imp原创 2014-09-09 23:58:22 · 489 阅读 · 0 评论 -
动态代理
1、代理的概念与作用 ①、生活中的代理举例: 例如:买笔记本电脑,有两种购买方式,第一种就是直接去笔记本厂商的生产总部去购买,另一种方式则是通过该笔记本的代理商商店里去购买,而最终目的就是为了买一台笔记本电脑。 但是这两种购买方式的区别是什么?区别就是直接去笔记本厂商总部购买的话可能需要搭乘火车或者长途汽车,交通费可能就需要额外花费一定的金钱;而去代理商商店购买原创 2014-09-10 11:53:11 · 798 阅读 · 0 评论 -
注解Annotation
一、Annotation的简单介绍1、什么是Annotation? Annotation其实就是代码里的一种特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。2、Annotation的好处: 通过使用Annotation,程序开发人员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充信息。 JDK1.5新特性中的Annota原创 2014-09-10 10:48:10 · 1112 阅读 · 0 评论 -
Java反射机制
一、Class类(反射的基石)1、Class类:Java程序中的各个Java类属于同一类事物,描述这类事物的Java类名就是Class。 例如: 众多的人可以用Person来表示。 众多的Java类可以用Class来表示。 2、Class类的功能(作用): 在Java中可以通过一个实例化对象得到一个类的完整信息。例如:该类的类名、成员变量、一原创 2014-09-10 00:26:46 · 510 阅读 · 0 评论 -
JavaBean内省
1、什么是JavaBean? JavaBean是一种特殊的Java类,主要用于传递数据信息,这种Java类中的方法主要用于访问私有的字段,且方法名符合某种命名规则。 如果要在两个模块之间传递多个信息,可以将这些信息封装到一个JavaBean中,这种JavaBean的实例对象通常称之为值对象(Value Object,简称VO)。这些信息在类中用私有字段来存储,如果读取或设置这些字段原创 2014-09-10 10:04:34 · 537 阅读 · 0 评论 -
交通灯管理系统
1、项目需求:模拟实现十字路口的交通灯管理系统逻辑,具体需求如下: Ø 异步随机生成按照各个路线行驶的车辆。例如: 由南向北行驶的车辆 ----直行车辆 由西向南形势的车辆 ----右转车辆 由东向南行驶的车辆 ----左转车辆 … Ø 信号灯忽略黄灯,只考虑红灯和绿灯。 Ø 应考虑左原创 2014-09-10 13:48:01 · 710 阅读 · 0 评论 -
银行业务调度系统
1、项目需求:模拟实现银行业务调度系统逻辑,具体需求如下:Ø 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。 Ø 有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。 Ø 异步随机生成各种类型的客户,生成各类型用户的概率比例为: VIP客户:普通客户:快速客户原创 2014-09-10 14:04:08 · 497 阅读 · 0 评论 -
单例设计模式
单例设计模式:解决一个类在内存中只存在一个对象。想要保证对象唯一。1、为了避免其它程序过多建立该类对象。先禁止其它程序建立该类对象。2、还为了让其它程序可以访问到该类对象,只好在本类中自定义一个对象。3、为了方便其它程序对自定义对象的访问,可以对外提供一些访问方式。 这三步怎么用代码体现呢?1、将构造函数私有化。2、在类中创建一个本类对象。3、提供一个方原创 2014-09-10 14:13:09 · 499 阅读 · 0 评论 -
蜕变之路
人活一辈子,最害怕的是迷茫原创 2014-09-05 11:47:11 · 503 阅读 · 0 评论 -
IO流-2.【字符流缓冲区BufferedWriter/BufferedReader】【readLine()方法】【装饰设计模式】【LineNumberReader】
一、缓冲区1、缓冲区的作用:缓冲区的出现提高了对数据的读写效率。注:缓冲区提高效率的原理:就是缓冲区对象里面封装了数组。先将数据存储到数组中,一次性的写入,再一次性的读取。2、缓冲区的特点:要结合流才可以使用。并在流的基础上对流的功能进行了增强。3、字符流缓冲区对应的类:BufferedWriterBufferedReader4、缓冲区的使用:只要将需要被提高效率的流对原创 2014-09-09 10:46:53 · 1214 阅读 · 0 评论 -
Java集合框架-3.【泛型】【Map集合】【keySet】【entrySet】【Map.Entry】
一、泛型代码示例:importjava.util.*;classGenericDemo { public static void main(String[] args) { ArrayList al = new ArrayList(); al.add("java01");原创 2014-09-06 12:34:36 · 1561 阅读 · 0 评论 -
IO流-3.【字节流】【字节流缓冲区】【键盘录入】【转换流】【流操作作规律】【输入输出重定向】
一、字节流(InputStream/OutputStream)1、字节流:是主要用于操作媒体文件(例如:视频、图片、音乐......)的流。也可以操作文本文件(因为字符流是从字节流当中分离出来的)。2、字节输出流 (写入):OutputStream ——→所有字节输出流的父类。①、OutputStream类声明:public abstract class OutputStrea原创 2014-09-09 13:20:03 · 1296 阅读 · 0 评论 -
IO流-4.【File类】【递归】【属性类Properties】
一、File类1、File类的基本介绍:作用:用来将文件或者文件夹封装成对象,方便对文件或者文件夹的属性信息进行操作。注意:流只能用来操作数据,而如果要操作被数据封装的文件的信息,则必须要用File对象。2、File类中的常用方法和常量常量:public static final String separator分隔符。Windows中表示“\”,Linux中表原创 2014-09-09 14:37:25 · 746 阅读 · 0 评论