- 博客(25)
- 收藏
- 关注
原创 工厂设计模式
工厂模式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
247
原创 单例设计模式
单例模式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
232
1
原创 java集合,面试大考点
java集合总揽全局Java集合的引出总揽全局java集合包括 Collection接口 和 Map接口,其中Collection接口包括 LIst接口 和 Set接口 ,最后还有也别重要的 Iterator迭代器接口 和 Collections工具类Java集合的引出面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象进行操作,就要对对象进行存储。其中,使用Array也可以存储对象,但是具有一些弊端 :(1)数组在内存存储方面的特点数组初始化以后,长度就确定了数组声明的类型,就决定
2021-06-06 11:47:01
157
原创 内部类的分类及作用
内部类的分类内部类分别有成员内部类、局部内部类、匿名内部类、静态内部类。下面一一介绍:成员内部类位置:就是位于外部类成员位置的类。与外部类的属性、方法并列。特点1:成员内部类作为外部类的成员,可以访问外部类的私有成员或属性。即使将外部类的成员或属性声明为private,但是对于成员内部类还是可见的。特点2:用成员内部类定义在外部类中不可访问的属性。这样就在外部类中实现了比外部类的private还要小的访问权限。注意:内部类是一个编译时的概念,一旦编译成功,就会成为完全不同的两类。对于一个名为
2021-05-11 15:09:19
281
原创 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
508
原创 反射应用---动态代理
动态代理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
109
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
202
原创 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
1172
原创 交换两个变量的值
交换两个变量的值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
90
原创 java位运算
位运算符十进制与二进制小例子:10(二进制)—> 十进制 10 = 0 * 2^0 + 1 * 2^1 = 2十进制转换为二进制, 大家肯定也会,这里不多说了。但是这里有一点是需要注意的就是计算机对于数字的表示问题。机器数与机器数真值机器数一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机用机器数的最高位存放符号,正数为0,负数为1。比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是0000 0011。如果是 -3 ,就是
2020-12-03 18:26:04
143
3
原创 计算机网络 第二章
计算机网络 第二章物理层基本概念物理层基本概念物理层:解决如何在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层主要任务:确定与传输媒体接口有关的一些特性,也就是定义标准。1. 机械特性:定义物理连接的特性,规定物理连接时所采用的规格、接口形状、引线数目、引脚数量和排列情况。2. 电气特性:规定传输二进制位时,线路上信号的电压范围、阻抗匹配、传输速率和距离限制等。3. 功能特性:指明某条线上出现的某一电平表示何种意义,接口部件的信号线的用途。4. 规程特性:定义各条物理
2020-11-16 12:18:13
284
原创 异常处理小总结
异常处理小总结异常概述ErrorException异常体系结构运行时异常编译时异常异常结构异常处理机制try-catch-finally语法:捕获异常的有关信息throws + 异常类型如何选择异常处理方式手动抛出异常对象自定义异常类异常概述异常:在java语言中,将程序执行中发生的不正常情况称为“异常”。(开发中的语法错误和逻辑错误不是异常)Errorjava虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况。比如:StackOverflowError (栈溢出)和 OutOfM
2020-11-13 12:49:35
215
原创 计算机网络 第一章
计算机网络 第一章计算机网络的概念、组成、功能和分类概念:功能组成分类标准化工作及相关组织标准化工作线管组织性能指标速率带宽吞吐量时延时延带宽积往返时延RTT利用率分层结构(协议、接口、服务)为什么分层怎么分层认识分层结构计算机网络的概念、组成、功能和分类概念:计算机网络:是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。计算机网络是互连的、自治的计算机集合(互连:通过通信链路实现互联互通,自治:无主从关系)功能数据通信(连通性
2020-11-10 16:50:56
410
原创 echo命令 单引号,双引号,不加引号和反引号 的区别
不加引号:字符串原样输出,变量会被替换。(根双引号一样,唯一的不同在于 \ )单引号:引号里面的内容会原封不动的显示出来(很简单,不做解释)双引号:里面的特殊符号会被解析,变量也会被替换(\ 符号会被解析)反引号:用于显示命令执行结果...
2020-09-28 22:41:43
7297
原创 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
411
原创 反射的简单了解学习
类加载器类加载当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过类的加载、类的连接、类的初始化这三个步骤来对类进行初始化。如果不出现意外情况,JVM将会连续完成这三个步骤,所以有时也把这三个步骤统称为类加载或者类初始化。类的加载就是指将class文件读入内存,并为之创建一个java.lang.Class对象任何类被使用时,系统都会为之建立一个java.lang.Class对象类的连接验证阶段:用于检验被加载的类是否有正确的内部结构,并和其他类协调一致准备阶段:负责为类的类变
2020-09-06 22:42:58
205
原创 稀疏数组和队列
稀疏数组实际需求编写五子棋程序中,有存盘退出和续上盘的功能分析问题:因为二维数组的很多值是默认值0,因此记录了很多没有意义的数据,所有用到稀疏数组。基本介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。处理方法是:1)记录数组一共有几行几列,有多少个不同的值2)把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模应用实例1)使用稀疏数组,来保留二维数组(棋盘、地图)2)把稀疏数组存盘,并且可以从新恢复原来的二维数组数3)整体思
2020-09-01 16:38:21
102
原创 JDBC
JDBC概念和本质概念本质快速入门步骤代码实现详解各个对象抽取JDBC工具类 :JDBCUtilsJDBC控制事务概念和本质概念JDBC:Java DataBase Connectivity , Java数据库连接,Java语言操作数据库本质其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类快速入门步骤导入驱动jar包 1. 复制jar包
2020-08-13 20:33:02
306
1
原创 注解
注解概念概念描述作用分类概念注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。概念描述JDK1.5之后的新特性说明程序的使用注解:@注解名称作用分类编写文档:通过代码里的标识的注解生成文档【生成doc文档】代码分析:通过代码里标识的注解对代码进行分析【使用反射】编译检查:通过代码里标识的注解让编译器能够实现基本
2020-08-10 16:53:12
154
原创 数据库基础(MySQL)
数据库的好处持久化数据到本地可以实现结构化查询,方便管理数据库相关概念DB:数据库,保存一组有组织的数据的容器DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据SQL:结构化查询语言,用于和DBMS通信的语言DBMS分为两类基于共享文件系统的DBMS(Access)基于客户机——服务器的DBMS(MySQL、Oracle、SqlServer)数据库存储数据的特点将数据放到表中,表再放到库中一个数据库中可以有多个表,每个表都有一个名字,用来标识自己。
2020-07-24 22:21:34
70
原创 基本类型包装类
基本类型包装类基本类型包装类的概述Integer类的使用int和String 的相互转换int -----> StringString -----> int自动装箱和拆箱基本类型包装类的概述将基本数据类型封装成对象的好处在于:可以在对象中定义更多的功能方法操作该数据。常用的操作之一:用于基本数据类型与字符串之间的转换Integer类的使用int和String 的相互转换int -----> String方式1:方便简洁方式2:更专业一些,valueOf()方法接
2020-07-14 16:22:06
83
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人