- 博客(54)
- 收藏
- 关注
原创 Java设计模式·工厂模式(简单工厂+工厂方法+抽象工厂)
在面向对象编程中,创建对象实例最常用的方式就是通过 new 操作符构造一个对象实例,但在某些情况下,new 操作符直接生成对象会存在一些问题。举例来说,对象的创建需要一系列的步骤:可能需要计算或取得对象的初始位置、选择生成哪个子对象实例、或在生成之前必须先生成一些辅助对象。 在这些情况,新对象的建立就是一个 “过程”,而不仅仅是一个操作,就像一部大机器中的一个齿轮传动。针对上面这种情况,我们如何轻松方便地构造对象实例,而不必关心构造对象示例的细节和复杂过程?解决方案就是使用一个工厂类来创
2022-10-16 23:29:58
846
原创 Mybatis框架_涉及技术与拓展
Mybatis是一款半自动的ORM持久层框架,它内部封装了jdbc,支持高级映射(一对一,一对多),动态SQL,延迟加载和缓存等特性,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。本片文章为此技术的涉及技术拓展文章。
2022-10-12 22:44:17
3017
2
原创 Java前端__Jquery:$(’#id’).val()取值为undefined
用 console.log( $( ‘#id’.val() ) ) 把input框的值打印到控制台观察 不过大概率打印出来就是undefined,还是需要具体调试。1、最常见的 静态页面还没加载完,开始取值,比如js代码写在html代码之前,这时就取不到值;此时我们就不用关心具体怎么加载的了,到点击提交这一步 页面一定是已经加载完毕。4、 尝试 $(’#id’).val().toString()3、 input框的内容 是否有被其它函数事件改变?此时js代码应该写在html之后;
2022-10-08 09:13:51
2617
原创 Redis数据库基础
NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。
2022-09-25 21:07:27
324
原创 JavaWeb__XMLHTTP.readyState的五种状态
例如,对于就绪状态 1 来说要将进度指示器的宽度设置为 25%,对于就绪状态 2 来说要将进度指示器的宽度设置为 50%,对于就绪状态 3 来说要将进度指示器的宽度设置为 75%,当就绪状态为 4 时将进度指示器的宽度设置为 100%(完成)。然而,在应用程序中将自己的逻辑依赖于就绪状态 3 可不是什么好主意 —— 一旦编写了依赖于就绪状态 3 的完整数据的的代码,几乎就要自己来负责当时的数据不完整问题了。另外,未初始化的就绪状态在实际的应用程序中是没有真正的用处。),表示未初始化状态。
2022-09-19 10:44:47
596
原创 JavaWeb_URI和URL
URI,统一资源标志符(Uniform Resource Identifier, URI),表示的是web上每一种可用的资源,如 HTML文档、图像、视频片段、程序等都由一个URI进行标识的。
2022-09-14 14:33:23
386
原创 HTTP请求头中Referer的作用
HTTP请求中,Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器该网页是从哪个页面链接过来的,服务器因此可以获得一些信息用于处理。例如,在www.google.com 里有一个www.baidu.com 链接,那么点击这个www.baidu.com ,它的header 信息里就有: Referer=http://www.google.com。
2022-09-05 15:12:46
1393
原创 JavaWeb_Script与Style标签
中定义使用而且还能直接在字段内直接使用。一般在head和body中。在使用时所必须要用到的,样式中常用的标志,它的。
2022-08-22 11:30:35
691
原创 JavaWeb_HTML&CSS基础
JavaWeb:* 使用Java语言开发基于互联网的项目* 软件架构:1. C/S: Client/Server 客户端/服务器端* 在用户本地有一个客户端程序,在远程有一个服务器端程序* 如:QQ,迅雷...* 优点:1. 用户体验好* 缺点:1. 开发、安装,部署,维护 麻烦2. B/S: Browser/Server 浏览器/服务器端* 只需要一个浏览器,用户通过不同的网址(URL),客户访问不同的服务器端程序* 优点:1. 开发、安装,部署,维护 简单。.........
2022-08-18 11:13:30
385
3
原创 设计模式__单例模式的八种写法
是非常常用的设计模式,不论是在无意用到还是有意为之,运用到的情况是很多的。实际的联系与应用中,还是要考虑到自己会用什么,理解哪种方式,哪种方式对自己的代码优化程度更高选定,玩的花不如写的实~...
2022-08-15 10:04:50
220
原创 Spring_JdbcTemplate
它是 Spring 框架中提供的一个对象,是对原始 Jdbc API 对象的简单封装。好处是通过(+参数)模板化了编程。Spring的JdbcTemplate在的jar包中,除了要导入这些 jar 包外,还需要导入一个spring-tx的jar包(它是和事务相关的)。以及连接池的jar包。这里我在src下创建了一个lib文件夹,将jar包都放进了文件夹内。...
2022-08-08 10:13:29
199
原创 JDBC__Driver和DriverManager
1、java.sql包DriverManager类,负责加载各种不同的驱动程序(Driver),并根据不同的请求,向调用者返回相应的数据库连接。驱动程序,会将自身加载到DriverManager中去。mysql-connector-java-5.1.37-bin.jar中META-INF/java.sql.Driver配置文件包含了Driver路径,使用JDBC时会直接创建driver。2、在项目中导入对应的jar包,通过java的反射机制,来给DirverManager,提供被加载的数据的驱动名称。...
2022-07-25 16:04:17
825
1
原创 Mysql__PreparedStatement实现批量操作
2.mysql服务器默认是关闭批处理的,我们需要通过一个参数,让mysql开启批处理的支持。3.使用更新的mysql驱动mysql-connector-java-5.1.37-bin.jar。层次二使用PreparedStatement替换Statement。总结PreparedStatement与Statement的异同?①指出二者的关系?接口与子接口的关系。层次一使用Statement实现。层次四设置连接不允许自动提交数据。...
2022-07-25 10:11:15
839
原创 Mysql__相关语言基础知识
目录DQL语言DML语言DDL语言TCL语言 语法 selecet 查询列表from 表where 筛选条件order by 排序列表【asc|desc】 ⑦ selecet 查询列表① from 表1 别名② 连接类型 join 表2③ on 连接条件④ where 筛选条件⑤ group by 分组列表⑥ having 筛选⑧ order by 排序列表【asc|desc】⑨ limit 起始条目索引,条目数; 特点
2022-07-04 09:28:36
249
原创 Mysql___where和having的区别
“where”是一个约束声明,在查询数据库的结果返回之前对数据库中的查询条件进行约束,即在结果返回之前起作用,且“where”后面不能写“聚合函数”。“having”是一个过滤声明,是在查询数据库结果返回之后进行过滤,即在结果返回值后起作用,并且“having”后面可以写“聚合函数”。where、聚合函数、having在from后面的执行顺序: where>聚合函数(sum,min,max,avg,count)>having实例:用group by来比较二者若须引入聚合函数来对group by 结果
2022-06-27 22:33:24
221
原创 Java随笔_ 计算两个日期的时间差
因为之前在做练习时会涉及到计算时间差的问题,这里我采用原生JDK的方式重新回顾总结一次。由于转换成毫秒数计算,如果要获得较为准确的结果,应将日期规整,即将日期的时分秒设置为0:00点整点,避免2日期时间(时分秒)的差异造成计算偏差。......
2022-06-20 09:40:41
374
原创 Java:断言Assert笔记
断言(assert)语句一般用于程序不准备通过捕获异常来处理的错误。例如:账号交易时,对于支出的金额为正数(收入+支出=纯收入)或者收入的金额为负数,程序必须立即停止执行,同时发现错误,当正式收益时,就可以避开错误,但仍保留断言语句在程序中,之后再次调试时,可以重新启动断言也可以不断发现新的问题和解决语句。...
2022-06-08 14:34:47
363
原创 Java后端_Properties集合的遍历
Properties集合介绍是一个Map体系的集合类 Properties类表示一种持久属性,可以保存在流或者从流中加载 属性列表中的每个键值对及其对应的值都是一个字符串 Properties继承于Hashtable,在使用方法getProperty()与get()中,getProperty()只能取字符串的数值,而get方法可以获取任意属性,所以Properties可以用put和get方法,但是不建议setProperty()、getProperty()和put()、get()方法互相混用,..
2022-05-31 09:47:10
1327
原创 Java后端_反射思想
类加载器类加载当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过类的加载,类的连接,类的初始化这三个步骤来对类进行初始化。如果不出现意外情况,JVM将会连续完成这三个步骤,所以有时也把这三个步骤统称为类加载或者类初始化类的加载就是指将class文件读入内存,并为之创建一个 java.lang.Class 对象 任何类被使用时,系统都会为之建立一个 java.lang.Class 对象类的连接验证阶段:用于检验被加载的类是否有正确的内部结...
2022-05-23 23:52:18
147
原创 Java后端_List去重或转Set去重
在许多情境中,我们会需要将重复的数据优化,一般情况下我们可以通过下列几种方法进行元素的去重:List不转为其他类型循环遍历List中的元素for (int i = 0; i < list.size() - 1; i++) {for (int j = list.size() - 1; j > i; j--) {if (list.get(j).equals(list.get(i))) {list.remove(j);遍历List对象,如果不重复就放入到另外一个Lis..
2022-05-22 23:34:03
3043
2
原创 Java后端:IO流
File类File类概述和构造方法 File类介绍 它是文件和目录路径名的抽象表示 文件和目录是可以通过File封装成对象的 对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的 File类的构造方法 方法名 说明 File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创..
2022-05-20 17:49:13
139
原创 Java后端_File类常用方法笔记
实例化File类的三种方法import java.io.File;public class TestFile {public static void main(String[] args){ //第一种 File file1 = new File("D:\\a"); //第二种 File file2 = new File("D:\\a", "b.txt"); //第三种 File file =...
2022-05-16 09:10:06
482
1
原创 Java后端_IO流InputStream中实际参数列表和形式参数列表长度不同
问题出现场景使用BufferedInputStream读取对象中的内容问题详情问题产生原因与解决方法原因:是代码编辑器自动加上了com.sun.org.apache.xpath.internal.operations.String包,但是String的构造方法在java.lang.String包下,所以导致了导入的包错误。重新导入或者在顶部修改正确的域名。...
2022-05-13 20:48:27
311
原创 Java后端_Collection集合中的List与Set转换
List列表与Set列表的区别List列表是有序、可以重复、线程不安全的列表,Set是无序、不能重复、线程不安全的列表。但List和Set可以通过方法来转换为线程安全的,加互斥锁。 Set<Long> set=new HashSet<>(); // 转换为线程安全的集合 Collections.synchronizedSet(set); List<Long> lists=new ArrayList<>(); Collecti
2022-04-25 11:51:50
1684
原创 Java后端_空指针异常笔记
空指针异常概述空指针异常(NullPointerException)是由RuntimeException派生出来,是一个运行级别的异常。意思是说可能会在运行的时候才会被抛出,而且需要看这样的运行级别异常是否会导致你的业务逻辑中断。空指针异常的出现场景空指针异常发生在对象为空,但是引用这个对象的方法。例如: String s = null; //对象s为空(null) int length = s.length();//发生空指针异常如果一个被命名过的变量是null,没有实值内
2022-04-25 11:39:40
469
4
原创 Java后端笔记_Map集合
1.Map集合1.1Map集合概述和特点【理解】 Map集合概述 interface Map<K,V> K:键的类型;V:值的类型 Map集合的特点 键值对映射关系 一个键对应一个值 键不能重复,值可以重复 元素存取无序 Map集合的基本使用 public class MapDemo01 { public static void main(String[] args) { ...
2022-04-14 19:03:32
296
1
原创 Java后端笔记_Set集合
1.Set集合1.1Set集合概述和特点【应用】 Set集合的特点 元素存取无序 没有索引、只能通过迭代器或增强for循环遍历 不能存储重复元素 Set集合的基本使用 public class SetDemo { public static void main(String[] args) { //创建集合对象 Set<String> set = new HashSet<Str...
2022-04-14 19:02:33
197
原创 Java后端笔记_Collection集合
1.Collection集合1.1集合体系结构【记忆】 集合类的特点 提供一种存储空间可变的存储模型,存储的数据容量可以随时发生改变 集合类的体系图 1.2Collection集合概述和基本使用【应用】 Collection集合概述 是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素 JDK 不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现 Collection集合基本使.
2022-04-14 19:00:57
87
原创 Java后端笔记_数组和列表应用场景
用Array和ArrayList举例一、定义长度时1、数组的长度是不可变的,ArrayList是可变的,但底层实现也是数组,通过数组的扩容到原数组的1.5倍。2、需要在可变的情况下使用ArrayList,比如在一个用户管理系统中,要取出每天注册的人数,人数是我们未知的,这种情况下使用ArrayList. 如果需要快速访问数组元素十可以使用,效率高。二、包含对象与比较点Array可以包含基本类型和对象类型,ArrayList只能包含对象类型。 Array大小是固定的,ArrayList的大
2022-04-10 17:05:41
457
2
原创 Java后端_Scanner中next()、nextLine()、hasNext()、hasNextLine()补充知识
全部用法:q【Java】输入—Scanner用法(全)1、next():一定要读取到有效字符后才可以结束输入。对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。next() 不能得到带有空格的字符串。2、nextLine():以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。可以获得空白。通过 Scanner 类的 next()与 nextLine() 方法获取输入的字
2022-03-24 16:23:17
1298
4
原创 Java后端笔记_代码块使用注意事项和细节讨论
1、static代码块也叫静态代码块作用是对类进行初始化,而且它随着类的加载而执行,并且只会执行一次。如果是普通的代码块,没创建一个对象,就执行。2、类什么时候被加载【】① 创建对象实例时(new)static代码块在类加载时,只执行一次,new一个类不管多少次只加载一次。普通代码块则会根据new创建次数调用多少次,和类是否加载无关(可以简单理解为,普通代码块是构造器的补充,即普通代码块调用会随着构造器的调用而调用 )② 创建子类对象实例,父类也会被加载③ 使用类的静态成员时(精要
2022-03-22 17:51:07
169
原创 Java后端_常用类&异常体系
1. 常用API1.1 Math(应用) 1、Math类概述 Math 包含执行基本数字运算的方法 2、Math中方法的调用方式 Math类中无构造方法,但内部的方法都是静态的,则可以通过 类名.进行调用 3、Math类的常用方法 方法名 方法名 说明 public static int abs(int a) 返回参数的绝对值 public static double ceil(double a) 返回大于
2022-03-22 11:49:02
420
原创 Java后端笔记_Object类源码解析及拓展
默认继承Object类,Object类有哪些方法? 在这里先主要说明两种方法: toString和equalspublic class Object { // 注意,当源码当中一个方法以","结尾,并且修饰符列表中有"native"关键字 // 表示底层调用C++写的dll程序(dll动态链接库文件) private static native void registerNatives(...
2022-03-19 10:34:05
223
原创 Java后端笔记 _Static关键字
static: 1、static翻译为“静态” 2、所有static关键字修饰的都是类相关的,类级别的。 3、所有static修饰的,都是采用“类名.”的方式访问 4、static修饰的方法:静态方法变量的分类: 变量根据声明的位置进行划分: 在方法体当中声明的变量叫做:局部变量。 在方法体外声明的变量叫做:成员变量。 成员变量又可以...
2022-03-17 23:19:27
390
原创 Java后端_抽象类、接口
1.抽象类1.1抽象类的概述(理解)当我们在做子类共性功能抽取时,有些方法在父类中并没有具体的体现,这个时候就需要抽象类了!在Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类!1.2抽象类的特点(记忆) 抽象类和抽象方法必须使用 abstract 关键字修饰 //抽象类的定义public abstract class 类名 {}//抽象方法的定义public abstract void eat(); 抽象类中不一定
2022-03-17 16:20:44
96
原创 Java后端_集合·ArrayList
ArrayList1.1ArrayList类概述【理解】 什么是集合 提供一种存储空间可变的存储模型,存储的数据容量可以发生改变 ArrayList集合的特点 底层是数组实现的,长度可以变化 泛型的使用 用于约束集合中存储元素的数据类型 1.2ArrayList类常用方法【应用】1.2.1构造方法方法名 说明 public ArrayList() 创建一个空的集合对象 1.2.2成员方法方法名 说明 public boo
2022-03-15 16:52:17
276
原创 Java后端_面向对象的三大特征·多态
1.多态1.1多态的概述(记忆) 什么是多态 同一个对象,在不同时刻表现出来的不同形态 多态的前提 要有继承或实现关系 要有方法的重写 要有父类引用指向子类对象 1.2多态中的成员访问特点(记忆) 成员访问特点 成员变量 编译看父类,运行看父类 成员方法 编译看父类,运行看子类 代码演示 动物类 public class Animal { publ..
2022-03-15 16:35:08
74
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人