![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java学习
文章平均质量分 82
ssssst超级小霸王
这个作者很懒,什么都没留下…
展开
-
工厂设计模式
工厂模式1、工厂模式1.1、真传一句话1.2、分类2、实现2.1 不用工厂模式2.2、简单工厂模式2.3、工厂方法模式2.4、抽象工厂模式2.4.1 实例结构2.4.2 代码3、小结1、工厂模式1.1、真传一句话总结来说一句话:工厂模式实现了创建者和调用者的分离!实例化对象不使用 new,用工厂方法替代将 选择实现类 和 创建对象 统一管理和控制,从而将调用者跟我们的实现类解耦。1.2、分类简单工厂模式:用来生产同一等级结构中的任意产品(对于增加新的产品,需要修改已有代码)。工厂方法模原创 2021-07-06 19:32:46 · 126 阅读 · 0 评论 -
单例设计模式
单例模式1、单例模式介绍2、单例模式2.1、7种方式2.2、实现2.2.1、饿汉式(静态常量)2.2.2、饿汉式(静态代码块)2.2.3、懒汉式(线程不安全)2.2.4、懒汉式(线程安全,同步方法)2.2.5、懒汉式(双重检查)2.2.6、静态内部类方式2.2.7、枚举方式2.3、源码3、单例模式注意事项和细节说明1、单例模式介绍所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。比如 Hibernate 的原创 2021-07-05 23:25:10 · 118 阅读 · 1 评论 -
java集合,面试大考点
java集合总揽全局Java集合的引出总揽全局java集合包括 Collection接口 和 Map接口,其中Collection接口包括 LIst接口 和 Set接口 ,最后还有也别重要的 Iterator迭代器接口 和 Collections工具类Java集合的引出面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象进行操作,就要对对象进行存储。其中,使用Array也可以存储对象,但是具有一些弊端 :(1)数组在内存存储方面的特点数组初始化以后,长度就确定了数组声明的类型,就决定原创 2021-06-06 11:47:01 · 148 阅读 · 0 评论 -
内部类的分类及作用
内部类的分类内部类分别有成员内部类、局部内部类、匿名内部类、静态内部类。下面一一介绍:成员内部类位置:就是位于外部类成员位置的类。与外部类的属性、方法并列。特点1:成员内部类作为外部类的成员,可以访问外部类的私有成员或属性。即使将外部类的成员或属性声明为private,但是对于成员内部类还是可见的。特点2:用成员内部类定义在外部类中不可访问的属性。这样就在外部类中实现了比外部类的private还要小的访问权限。注意:内部类是一个编译时的概念,一旦编译成功,就会成为完全不同的两类。对于一个名为原创 2021-05-11 15:09:19 · 275 阅读 · 0 评论 -
lambda表达式和流式编程
lambda表达式和流式编程1、Lambda表达式1.1、为什么使用Lambda表达式1.2、实现2、函数式接口(Functional Interface)2.1、什么是函数式接口2.2、如何理解函数式接口2.3、自定义函数式接口2.4、Java内置四大核心函数式接口3、方法引用和构造器引用3.1、方法引用3.2、构造器引用1、Lambda表达式1.1、为什么使用Lambda表达式Lambda是一个 匿名函数 ,我们可以把 Lambda 表达式理解为是 一段可以传递的代码 (将代码像数据一样进行传递)原创 2021-03-09 21:34:27 · 372 阅读 · 0 评论 -
多线程基础
多线程小结程序、进程、线程程序、进程、线程原创 2021-03-04 21:11:17 · 86 阅读 · 0 评论 -
反射应用---动态代理
动态代理1. 概述1.1 代理设计模式的原理1.2 引出1.3 动态代理1.4 较静态代理的优点2. 动态代理2.1 实现动态代理需要解决的问题2.2 动态代理创建1. 概述1.1 代理设计模式的原理使用一个代理将对象包装起来,然后用该代理对象取代原始对象。任何对原始对象的调用都要通过代理。代理对象决定是否以及何时将方法调用转到原始对象上。1.2 引出静态代理特征是代理类和目标对象的类都是在编译期间确定下来的,不利于程序的扩展。同时,每一个代理类只能为一个借口服务,这样一来程序开发中必然产生过多的原创 2021-01-12 20:29:51 · 65 阅读 · 1 评论 -
反射学习升级
反射1. 反射机制概述定义研究及应用疑问2. java.lang.Class类的理解2.1 类的加载过程2.2获取Class类实例2.3 类加载器3 反射使用3.1 创建运行时类的对象3.2 获取运行时类的属性的修饰符、数据类型、变量名3.2.1 获取属性的修饰符3.2.2 获取属性的数据类型3.2.3 获取属性的变量名3.3 获取运行时类的方法中的注解、权限修饰符、返回值类型、方法名、形参列表、异常3.4 获取运行时类的父类、带泛型的父类、父类泛型3.5 获取运行时类的接口、所在包、注解反射应用---动态原创 2021-01-10 12:12:57 · 92 阅读 · 0 评论 -
java Properties读取配置文件时的相对路径
FileInputStream作为输入流时的相对路径此时的文件默认在当前的module下Properties pros = new Properties();//FileInputStream fis = new FileInputStream("jdbc.properties");FileInputStream fis = new FileInputStream("src\\jdbc1.properties");pros.load(fis);ClassLoader作为输入流时的相对路径原创 2021-01-09 11:49:37 · 1161 阅读 · 0 评论 -
交换两个变量的值
交换两个变量的值int num1 = 10;int num2 = 20;方式一:定义临时变量的方式int temp = num1;num1 = num2;num2 = temp;虽然定义了新的变量,但是这种方法是推荐的,因为他可以使用于所有的数据类型。方式二:加减方式 num1 = num1 + num2; num2 = num1 - num2; num1 = num1 - num2;好处:不用定义临时变量弊端:1. 相加操作可能超出存储范围。 2.有局限性:只能适用原创 2020-12-03 20:15:57 · 84 阅读 · 0 评论 -
java位运算
位运算符十进制与二进制小例子:10(二进制)—> 十进制 10 = 0 * 2^0 + 1 * 2^1 = 2十进制转换为二进制, 大家肯定也会,这里不多说了。但是这里有一点是需要注意的就是计算机对于数字的表示问题。机器数与机器数真值机器数一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机用机器数的最高位存放符号,正数为0,负数为1。比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是0000 0011。如果是 -3 ,就是原创 2020-12-03 18:26:04 · 110 阅读 · 3 评论 -
DbUtils的使用和快速入门
DbUtils的使用和快速入门DbUtils介绍简介作用DbUtils的三个核心对象QueryRunner类ResultSetHandler接口DbUtils类QueryRunner类构造函数示例ResultSetHandler接口下的9个结果处理1.ArrayHandler取一条记录2.ArrayListHandler取多条记录3.columnListHandler取某一列的值4.keyedHandler取多条记录5.mapHandler取一条记录6.MapListHandler取多条记录7.Scalar原创 2020-09-24 15:18:39 · 213 阅读 · 0 评论 -
链表
链表原创 2020-09-08 21:30:02 · 57 阅读 · 0 评论 -
反射的简单了解学习
类加载器类加载当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过类的加载、类的连接、类的初始化这三个步骤来对类进行初始化。如果不出现意外情况,JVM将会连续完成这三个步骤,所以有时也把这三个步骤统称为类加载或者类初始化。类的加载就是指将class文件读入内存,并为之创建一个java.lang.Class对象任何类被使用时,系统都会为之建立一个java.lang.Class对象类的连接验证阶段:用于检验被加载的类是否有正确的内部结构,并和其他类协调一致准备阶段:负责为类的类变原创 2020-09-06 22:42:58 · 96 阅读 · 0 评论 -
稀疏数组和队列
稀疏数组实际需求编写五子棋程序中,有存盘退出和续上盘的功能分析问题:因为二维数组的很多值是默认值0,因此记录了很多没有意义的数据,所有用到稀疏数组。基本介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。处理方法是:1)记录数组一共有几行几列,有多少个不同的值2)把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模应用实例1)使用稀疏数组,来保留二维数组(棋盘、地图)2)把稀疏数组存盘,并且可以从新恢复原来的二维数组数3)整体思原创 2020-09-01 16:38:21 · 69 阅读 · 0 评论 -
JDBC
JDBC概念和本质概念本质快速入门步骤代码实现详解各个对象抽取JDBC工具类 :JDBCUtilsJDBC控制事务概念和本质概念JDBC:Java DataBase Connectivity , Java数据库连接,Java语言操作数据库本质其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类快速入门步骤导入驱动jar包 1. 复制jar包原创 2020-08-13 20:33:02 · 152 阅读 · 1 评论 -
注解
注解概念概念描述作用分类概念注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。概念描述JDK1.5之后的新特性说明程序的使用注解:@注解名称作用分类编写文档:通过代码里的标识的注解生成文档【生成doc文档】代码分析:通过代码里标识的注解对代码进行分析【使用反射】编译检查:通过代码里标识的注解让编译器能够实现基本原创 2020-08-10 16:53:12 · 150 阅读 · 0 评论 -
日期类
数据呢原创 2020-07-14 18:15:34 · 104 阅读 · 0 评论 -
基本类型包装类
基本类型包装类基本类型包装类的概述Integer类的使用int和String 的相互转换int -----> StringString -----> int自动装箱和拆箱基本类型包装类的概述将基本数据类型封装成对象的好处在于:可以在对象中定义更多的功能方法操作该数据。常用的操作之一:用于基本数据类型与字符串之间的转换Integer类的使用int和String 的相互转换int -----> String方式1:方便简洁方式2:更专业一些,valueOf()方法接原创 2020-07-14 16:22:06 · 74 阅读 · 0 评论