自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JS 数字0和空字符串的布尔关系

今天做项目的时候发现了一个神奇的现象,当时困扰了我一段时间。if(0 == '') { console.log('123')}if(0 === '') { console.log('456')}上面的代码会输出123

2021-11-09 10:07:10 702

原创 JS实现将文件和base64的相互转换

1. JS将文件转成base64<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" conte.

2021-07-29 15:13:33 9663

原创 mybatis学习(3)

一.Mybatis注解开发单表操作1.1 MyBatis的常用注解这几年来注解开发越来越流行,Mybatis也可以使用注解开发方式,这样我们就可以减少编写Mapper映射文件了。我们先围绕一些基本的CRUD来学习,再学习复杂映射多表操作。@Insert:实现新增@Update:实现更新@Delete:实现删除@Select:实现查询@Result:实现结果集封装@Results:可以与@Result 一起使用,封装多个结果集@One:实现一对一结果集封装@Many:实现一对多结果集封装

2021-03-16 10:20:03 309

原创 mybatis学习(2)

一.接口代理方式实现Dao1.1 代理开发方式介绍​ 采用 Mybatis 的代理开发方式实现 DAO 层的开发,这种方式是我们后面进入企业的主流。Mapper 接口开发方法只需要程序员编写Mapper 接口(相当于Dao 接口),由Mybatis 框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上边Dao接口实现类方法。Mapper 接口开发需要遵循以下规范:1) Mapper.xml文件中的namespace与mapper接口的全限定名相同2) Mapper接口方法名和Mapper

2021-03-16 10:11:49 183

原创 mybatis学习(1)

一.Mybatis快速入门1.1 框架介绍框架是一款半成品软件,我们可以基于这个半成品软件继续开发,来完成我们个性化的需求!1.2 ORM介绍ORM(Object Relational Mapping): 对象关系映射指的是持久化数据和实体对象的映射模式,为了解决面向对象与关系型数据库存在的互不匹配的现象的技术。如图:具体映射关系如下图:1.3 原始jdbc操作(查询数据)1.4原始jdbc操作(插入数据)1.5 原始jdbc操作的分析原始 JDBC

2021-03-16 10:03:00 198

原创 jdbc基础

JDBC一、JDBC快速入门1.jdbc的概念JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系型数据库提供统一访问,它是由一组用Java语言编写的类和接口组成的。2.jdbc的本质其实就是java官方提供的一套规范(接口)。用于帮助开发人员快速实现不同关系型数据库的连接!3.jdbc的快速入门程序导入jar包注册驱动Class.forName("com.mysql.jdbc.Dri

2021-03-08 16:24:38 211

原创 mysql基础

MySQL基础一、数据库的基本概念1.为什么要学数据库?之前我们如果想将一些数据实现永久化存储,可以怎么做呢?没错。使用IO流的技术将数据保存到本地文件中但是接下来我有这样一个需求:将下面的user.txt文件中的王五年龄修改为35张三 23 男李四 24 男王五 25 女赵六 26 女周七 27 男我们要如何实现呢?可以采用字符缓冲流,将每一行数据读取出来,封装为User对象。将多个User对象保存到集合中然后遍历集合,将王五对象的年龄修改为35,再重新将集合中的对象信息

2021-03-08 15:27:30 135

原创 EL&Filter&Listener

1 EL表达式和JSTL1.1 EL表达式1.1.1 EL表达式概述基本概念EL表达式,全称是Expression Language。意为表达式语言。它是Servlet规范中的一部分,是JSP2.0规范加入的内容。其作用是用于在JSP页面中获取数据,从而让我们的JSP脱离java代码块和JSP表达式。基本语法EL表达式的语法格式非常简单,写为 ${表达式内容}例如:在浏览器中输出请求域中名称为message的内容。假定,我们在请求域中存入了一个名称为message的数据(request.se

2021-03-08 14:35:23 156

原创 Cookie&Session&Jsp

Cookie&SessionJsp-授课1 会话技术1.1 会话管理概述1.1.1 什么是会话这里的会话,指的是web开发中的一次通话过程,当打开浏览器,访问网站地址后,会话开始,当关闭浏览器(或者到了过期时间),会话结束。举个例子:​ 例如,你在给家人打电话,这时突然有送快递的配送员敲门,你放下电话去开门,收完快递回来后,通话还在保持中,继续说话就行了。1.1.2 会话管理作用什么时候会用到会话管理呢?最常见的就是购物车,当我们登录成功后,把商品加入到购物车之中,此时我们无论再浏览

2021-03-08 11:27:44 241

原创 HTTP协议

HTTP协议1.1 HTTP协议概述1.1.1 HTTP协议概念HTTP的全称是:Hyper Text Transfer Protocol,意为 超文本传输协议。它指的是服务器和客户端之间交互必须遵循的一问一答的规则。形容这个规则:问答机制、握手机制。它规范了请求和响应内容的类型和格式。HTTP协议是由W3C组织管理和维护的。1.1.2 HTTP协议版本目前HTTP协议主要是1.0版本和1.1版本。这两个版本的区别主要是两个方面。第一:HTTP1.1版本比1.0版本多了一些消息头。第二:H

2021-03-04 14:07:15 167 2

原创 Linux系统安装Tomcat

Linux系统安装Tomcat第一步:下载tomcat进入Tomcat官网,找到对应版本点击download进入下载页面,如下图:第二步:上传到linux在crt上 使用 alt+p将windows上的软件拖进去即可(root目录)第三步:在 /usr/local 新建一个文件夹tomcatmkdir /usr/local/tomcat第四步:移动 tomcat…tar.gz 到 /usr/local/tomcatmv apache-tomcat-8.5.32.tar.gz /usr/

2021-03-04 10:03:29 153 1

原创 IDEA集成Tomcat服务器

2.2.2 IDEA集成Tomcat服务器第一步第二步第三步第四步

2021-03-04 09:59:31 119 1

原创 Tomcat启动和停止&常见问题

Tomcat启动和停止及问题分析解决1)启动和停止Tomcat服务器的启动文件在二进制文件目录中:,这两个文件就是Tomcat的启动文件。Tomcat服务器的停止文件也在二进制文件目录中:,这两个文件就是Tomcat的停止文件。其中.bat文件是针对windows系统的运行程序,.sh文件是针对linux系统的运行程序。2)启动问题第一个问题:启动一闪而过原因:没有配置环境变量。解决办法:配置上JAVA_HOME环境变量第二个:Address already in use : JVM_

2021-03-04 09:54:34 3749 1

原创 java学习-25_单元测试&日志

1.单元测试1.1概述【理解】JUnit是一个 Java 编程语言的单元测试工具。JUnit 是一个非常重要的测试工具1.2特点【理解】JUnit是一个开放源代码的测试工具。提供注解来识别测试方法。JUnit测试可以让你编写代码更快,并能提高质量。JUnit优雅简洁。没那么复杂,花费时间较少。JUnit在一个条中显示进度。如果运行良好则是绿色;如果运行失败,则变成红色。1.3使用步骤【应用】使用步骤将junit的jar包导入到工程中 junit-4.9.jar编写测试方法该

2021-03-01 16:31:19 119 1

原创 java学习-24_反射

1.类加载器1.1类加载器【理解】作用负责将.class文件(存储的物理文件)加载在到内存中1.2类加载的过程【理解】类加载时机创建类的实例(对象)调用类的类方法访问类或者接口的类变量,或者为该类变量赋值使用反射方式来强制创建某个类或接口对应的java.lang.Class对象初始化某个类的子类直接使用java.exe命令来运行某个主类类加载过程加载通过包名 + 类名,获取这个类,准备用流进行传输在这个类加载到内存中加载完毕创建一个class对象

2021-03-01 15:39:06 102

原创 java学习-23_网络编程(2)

1.NIO1.1 NIO通道客户端【应用】客户端实现步骤打开通道指定IP和端口号写出数据释放资源示例代码public class NIOClient { public static void main(String[] args) throws IOException { //1.打开通道 SocketChannel socketChannel = SocketChannel.open(); //2.指定IP和端口号

2021-02-26 14:46:59 114 1

原创 java学习-22_网络编程(1)

1.网络编程入门1.1 网络编程概述【理解】计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统网络编程在网络通信协议下,不同计算机上运行的程序,可以进行数据传输1.2 网络编程三要素【理解】IP地址要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,通过这个标识号来指定要接收数据的计算机和识别发送的计算机,而IP地址就是这个标识号。

2021-02-26 14:42:06 103

原创 java学习-21_多线程(2)

1.线程池1.1 线程状态介绍当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。线程对象在不同的时期有不同的状态。那么Java中的线程存在哪几种状态呢?Java中的线程状态被定义在了java.lang.Thread.State枚举类中,State枚举类的源码如下:public class Thread { public enum State { /* 新建 */ NEW , /* 可运行状态

2021-02-24 16:52:40 109

原创 java学习-20_多线程(1)

1.实现多线程1.1简单了解多线程【理解】是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程,提升性能。1.2并发和并行【理解】并行:在同一时刻,有多个指令在多个CPU上同时执行。并发:在同一时刻,有多个指令在单个CPU上交替执行。1.3进程和线程【理解】进程:是正在运行的程序独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消

2021-02-24 15:48:53 94

原创 java学习-19_IO流(2)

1.字符流1.1为什么会出现字符流【理解】字符流的介绍由于字节流操作中文不是特别的方便,所以Java就提供字符流字符流 = 字节流 + 编码表中文的字节存储方式用字节流复制文本文件时,文本文件也会有中文,但是没有问题,原因是最终底层操作会自动进行字节拼接成中文,如何识别是中文的呢?汉字在存储的时候,无论选择哪种编码存储,第一个字节都是负数1.2编码表【理解】什么是字符集是一个系统支持的所有字符的集合,包括各国家文字、标点符号、图形符号、数字等l计算机要准确的存储和识别各

2021-02-23 15:11:10 91

原创 java学习-18_IO流(1)

1.File类1.1File类概述和构造方法【应用】File类介绍它是文件和目录路径名的抽象表示文件和目录是可以通过File封装成对象的对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已.它可以是存在的,也可以是不存在的.将来是要通过具体的操作把这个路径的内容转换为具体存在的File类的构造方法方法名说明File(String pathname)通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例File(Strin

2021-02-23 11:05:24 104 2

原创 java学习-17_集合(3)

1.Map集合1.1Map集合概述和特点【理解】Map集合概述interface Map<K,V> K:键的类型;V:值的类型Map集合的特点双列集合,一个键对应一个值键不可以重复,值可以重复Map集合的基本使用public class MapDemo01 { public static void main(String[] args) { //创建集合对象 Map<String,String> map =

2021-02-22 15:15:40 103

原创 java学习-16_集合(2)

1.Set集合1.1Set集合概述和特点【应用】不可以存储重复元素没有索引,不能使用普通for循环遍历1.2Set集合的使用【应用】存储字符串并遍历public class MySet1 { public static void main(String[] args) { //创建集合对象 Set<String> set = new TreeSet<>(); //添加元素 set.add("ccc")

2021-02-22 14:22:27 483 3

原创 java学习-15_集合(1)

1.Collection集合1.1数组和集合的区别【理解】相同点都是容器,可以存储多个数据不同点数组的长度是不可变的,集合的长度是可变的数组可以存基本数据类型和引用数据类型集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类1.2集合类体系结构【理解】1.3Collection 集合概述和使用【应用】Collection集合概述是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JDK 不提供此接口的任何直接实现.

2021-02-22 13:39:35 87

原创 java学习-14_常用API(2)&异常

1.时间日期类1.1 Date类(应用)计算机中时间原点1970年1月1日 00:00:00时间换算单位1秒 = 1000毫秒Date类概述Date 代表了一个特定的时间,精确到毫秒Date类构造方法方法名说明public Date()分配一个 Date对象,并初始化,以便它代表它被分配的时间,精确到毫秒public Date(long date)分配一个 Date对象,并将其初始化为表示从标准基准时间起指定的毫秒数示例代码publ

2021-02-22 11:28:13 96

原创 java 字符串equals方法理解

// 看程序,分析结果String s = “abc”;StringBuilder sb = new StringBuilder(“abc”);s.equals(sb);sb.equals(s);第一个equals,也就是s.equals(sb)。这次是由String类所创建的对象进行的调用。String类对equals方法进行了重写。重写之后的本质是:在同一个类里,比较字符串中包含的内容是否相同。String和StringBuilder并不是同一个类,所以s.equals(sb)的...

2021-02-22 10:20:01 775

原创 java学习-13_常用API(1)

1.API1.1 API概述【理解】什么是API​ API (Application Programming Interface) :应用程序编程接口java中的API​ 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。2.常用API2.1 Math(应用)1、Math类概述Math 包含执行基本数字运算的方法2、Math中

2021-02-20 16:42:21 126 2

原创 java学习-12_接口和内部类

1.接口1.1接口的概述(理解)接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用。Java中接口存在的两个意义用来定义规范用来做功能的拓展1.2接口的特点(记忆)接口用关键字interface修饰public interface 接口名 {} 类实现接口用implements表示public class 类名 implements 接口名 {}接口不能实例化​ 我们可以创建接口的实现类对象使用接口的子类​ 要么重写接口中的所有抽象方法​

2021-02-20 11:49:16 142

原创 java学习-11_继承

1. 继承1.1 继承的实现(掌握)继承的概念继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法实现继承的格式继承通过extends实现格式:class 子类 extends 父类 { }举例:class Dog extends Animal { }继承带来的好处继承可以让类与类之间产生关系,子父类关系,产生子父类后,子类则可以使用父类中非私有的成员。示例代码public class Fu {

2021-02-20 09:35:40 177 2

原创 java学习-10_static关键字

1.static关键字1.1static关键字概述 (理解)static 关键字是静态的意思,是Java中的一个修饰符,可以修饰成员方法,成员变量1.2static修饰的特点 (记忆)被类的所有对象共享是我们判断是否使用静态关键字的条件随着类的加载而加载,优先于对象存在对象需要类被加载后,才能创建可以通过类名调用也可以通过对象名调用1.3static关键字注意事项 (理解)静态方法只能访问静态的成员非静态方法可以访问静态的成员,也可以访问非静态的成员静态方法中是没

2021-02-19 14:12:44 75

原创 java学习-09_ArrayList集合&学生管理系统

1.ArrayList集合和数组的区别 :​ 共同点:都是存储数据的容器​ 不同点:数组的容量是固定的,集合的容量是可变的1.1 -ArrayList的构造方法和添加方法public ArrayList()创建一个空的集合对象public boolean add(E e)将指定的元素追加到此集合的末尾public void add(int index,E element)在此集合中的指定位置插入指定的元素ArrayList :​ 可调整大小的数组实现​ :

2021-02-18 22:43:49 196

原创 java学习-08_常用API

1.API1.1 API概述-帮助文档的使用什么是API​ API (Application Programming Interface) :应用程序编程接口java中的API​ 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。如何使用API帮助文档 :打开帮助文档找到索引选项卡中的输入框在输入框中输入Random看类在

2021-02-18 22:02:47 101

原创 java学习-07_面向对象基础

1. 类和对象**面向对象和面向过程的思想对比 : **​ **面向过程 :**是一种以过程为中心的编程思想,实现功能的每一步,都是自己实现的​ **面向对象 :**是一种以对象为中心的编程思想,通过指挥对象实现具体的功能1.1 类和对象的关系客观存在的事物皆为对象 ,所以我们也常常说万物皆对象。类类的理解类是对现实生活中一类具有共同属性和行为的事物的抽象类是对象的数据类型,类是具有相同属性和行为的一组对象的集合简单理解:类就是对现实事物的一种描述类的组成属性:指事物的特

2021-02-18 21:29:00 115

原创 java学习-06_Debug&基础练习

1.Debug模式1.1 什么是Debug模式是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序。1.2 Debug介绍与操作流程如何加断点选择要设置断点的代码行,在行号的区域后面单击鼠标左键即可如何运行加了断点的程序在代码区域右键Debug执行看哪里看Debugger窗口看Console窗口点哪里点Step Into (F7)这个箭头,也可以直接按F7如何删除断点选择要删除的断点,单击

2021-02-18 17:01:42 191 2

原创 java学习-05_方法

1. 方法概述1.1 方法的概念​ 方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集注意:方法必须先创建才可以使用,该过程成为方法定义方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程成为方法调用2. 方法的定义和调用2.1 无参数方法定义和调用定义格式:public static void 方法名 ( ) { // 方法体;}范例:public static void method ( ) { //

2021-02-18 16:54:20 65

原创 java学习-04_数组

1.数组1.1 数组介绍​ 数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。1.2 数组的定义格式1.2.1 第一种格式​ 数据类型[] 数组名​ 示例:int[] arr; double[] arr; char[] arr;1.2.2 第二种格式​ 数据类型 数组名[]​ 示例:int arr[];double arr[];char arr[];1.3 数组的动态初始化1.3.1 什么是动态初始化​ 数组动态初始化就是只给定数组

2021-02-18 16:41:53 129

原创 java学习-03_switch&循环语句

1. switch语句1.1 分支语句switch语句格式switch (表达式) { case 1: 语句体1; break; case 2: 语句体2; break; ... default: 语句体n+1; break;}执行流程:首先计算出表达式的值其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结 束。最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结

2021-02-18 15:51:48 130

原创 java学习-02_运算符

day02 - Java基础语法1 类型转换在Java中,一些数据类型之间是可以相互转换的。分为两种情况:自动类型转换和强制类型转换。1.1 隐式转换(理解)​ 把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量。这种转换方式是自动的,直接书写即可。例如:double num = 10; // 将int类型的10直接赋值给double类型System.out.println(num); // 输出10.0​ 类型从小到大关系图:​ 说明:整数默认是int类型,byte

2021-02-18 15:17:50 157

原创 java学习-01_Java环境搭建及入门

1. Java概述1.1 Java语言背景介绍(了解)语言:人与人交流沟通的表达方式计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言Java语言是美国Sun公司(Stanford University Network)在1995年推出的计算机语言Java之父:詹姆斯·高斯林(James Gosling)2009年,Sun公司被甲骨文公司收购,所以我们现在访问oracle官网即可:https://www.oracle.comjava语言的三个版本:​ JavaSE: Java 语言的

2021-02-18 14:38:45 153 1

原创 XML

内容1. XML 1. 概念 2. 语法 3. 解析XML:1. 概念:Extensible Markup Language 可扩展标记语言 * 可扩展:标签都是自定义的。 <user> <student> * 功能 * 存储数据 1. 配置文件 2. 在网络中传输 * xml与html的区别 1. xml标签都是自定义的,html标签是预定义。 2. xml的语法严格,html语法松散 3. xml是存储数据的,html是展示数据

2020-11-02 10:57:54 124

空空如也

空空如也

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

TA关注的人

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