自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JDBC-02- 自定义连接池 归还连接(继承方式 装饰设计模式 适配器设计模式 动态代理模式) c3p0和Druid的使用

一、数据库连接池1.数据库连接池的概念数据库连接背景数据库连接是一种关键的、有限的、昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个。这项技术能明显提高对数据库操作的性能。数据库连接池原理2.自定义连接池java.sql.Da

2021-01-30 17:43:41 286

原创 JDBC-01- 功能类(DriverManager Connection Statement ResultSet) CRUD 工具类抽取 注入攻击解决 事务相关

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

2021-01-30 16:53:27 137

原创 事务 (脏读 不可重复读 幻读)

01_事务_事务的数据准备-- 创建db8数据库CREATE DATABASE db8;-- 使用db8数据库USE db8;-- 创建账户表CREATE TABLE account( id INT PRIMARY KEY AUTO_INCREMENT, -- 账户id NAME VARCHAR(20), -- 账户名称 money DOUBLE -- 账户余额);-- 添加数据INSERT INTO account VALUES (NULL,'张三',1000)...

2021-01-26 20:58:05 144

原创 触发器 (INSERT UPDATE DELETE)

01_触发器_触发器的数据准备-- 创建db7数据库CREATE DATABASE db7;-- 使用db7数据库USE db7;-- 创建账户表accountCREATE TABLE account( id INT PRIMARY KEY AUTO_INCREMENT, -- 账户id NAME VARCHAR(20), -- 姓名 money DOUBLE -- 余额);-- 添加数据INSERT INTO account VALUES (NULL,'张三',100

2021-01-26 20:52:13 3836 1

原创 存储过程 和 函数

01_存储过程_数据准备-- 创建db6数据库CREATE DATABASE db6;-- 使用db6数据库USE db6;-- 创建学生表CREATE TABLE student( id INT PRIMARY KEY AUTO_INCREMENT, -- 学生id NAME VARCHAR(20), -- 学生姓名 age INT, -- 学生年龄 gender VARCHAR(5), -- 学生性别 score INT

2021-01-26 20:49:19 319

原创 视图创建 查询 修改 删除

01_视图_数据准备-- 创建db5数据库CREATE DATABASE db5;-- 使用db5数据库USE db5;-- 创建country表CREATE TABLE country( id INT PRIMARY KEY AUTO_INCREMENT, -- 国家id NAME VARCHAR(30) -- 国家名称);-- 添加数据INSERT INTO country VALUES (NULL,'中国'),(NULL,'美国'

2021-01-25 20:18:51 475

原创 多表操作

01_表关系_一对一-- 创建db3数据库CREATE DATABASE db3;-- 使用db3数据库USE db3;-- 创建person表CREATE TABLE person( id INT PRIMARY KEY AUTO_INCREMENT, -- 主键id NAME VARCHAR(20) -- 姓名);-- 添加数据INSERT INTO person VALUES (NULL,'张三'),(NULL,'李四');-

2021-01-25 20:13:17 164

原创 外键约束 & 外键级联操作

外键约束-- 创建db2数据库CREATE DATABASE db2;-- 使用db2数据库USE db2;/* 外键约束 标准语法: CONSTRAINT 外键名 FOREIGN KEY (本表外键列名) REFERENCES 主表名(主表主键列名)*/-- 建表时添加外键约束-- 创建user用户表CREATE TABLE USER( id INT PRIMARY KEY AUTO_INCREMENT, -- id NAME VARCHAR(20) NOT NUL

2021-01-25 20:08:06 1507

原创 约束

01_约束_主键约束-- 创建学生表(编号、姓名、年龄) 编号设为主键CREATE TABLE student( id INT PRIMARY KEY, NAME VARCHAR(30), age INT);-- 查询学生表的详细信息DESC student;-- 添加数据INSERT INTO student VALUES (1,'张三',23);INSERT INTO student VALUES (2,'李四',24);-- 删除主键ALTER TABLE stude

2021-01-23 19:34:59 181

原创 表数据的查询

01_查询_数据准备-- 创建db1数据库CREATE DATABASE db1;-- 使用db1数据库USE db1;-- 创建数据表CREATE TABLE product( id INT, -- 商品编号 NAME VARCHAR(20), -- 商品名称 price DOUBLE, -- 商品价格 brand VARCHAR(10), -- 商品品牌 stock INT, -- 商品库存 insert_time DATE -- 添加时间);--

2021-01-23 19:28:30 820

原创 修改和删除表数据---新增表数据

修改和删除表数据/* 修改表数据 标准语法: UPDATE 表名 SET 列名1 = 值1,列名2 = 值2,... [where 条件];*/-- 修改手机的价格为3500UPDATE product SET price=3500 WHERE NAME='手机';-- 修改电脑的价格为1800、库存为36UPDATE product SET price=1800,stock=36 WHERE NAME='电脑';/* 删除表数据 标准语法: DELETE FROM 表名

2021-01-23 19:24:00 709

原创 操作数据库和数据表

操作数据库/* 查询所有数据库 标准语法: SHOW DATABASES;*/-- 查询所有数据库SHOW DATABASES;/* 查询某个数据库的创建语句 标准语法: SHOW CREATE DATABASE 数据库名称;*/-- 查询mysql数据库的创建语句SHOW CREATE DATABASE mysql;/* 创建数据库 标准语法: CREATE DATABASE 数据库名称;*/-- 创建db1数据库CREATE DATABASE d

2021-01-23 19:06:40 124

原创 MySQL基础学习- 数据库- 数据表- 数据

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

2021-01-23 18:57:39 594

原创 JavaWeb学习 - 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-01-21 16:20:46 182

原创 JavaWeb学习 - Cookie&SessionJsp

Cookie&SessionJsp1 会话技术1.1 会话管理概述1.1.1 会话技术介绍会话:浏览器和服务器之间的多次请求和响应 (一次对话)为了实现一些功能,浏览器和服务器之间可能会产生多次的请求和响应从浏览器访问服务器开始,到访问服务器结束(关闭浏览器、到了过期时间)这期间产生的多次请求和响应加在一起就称之为浏览器和服务器之间的一次会话这里的会话,指的是web开发中的一次通话过程,当打开浏览器,访问网站地址后,会话开始,当关闭浏览器(或者到了过期时间),会话结束

2021-01-21 09:48:07 323

原创 JavaWeb学习 - Request & Response

Request&Response1. 请求对象2.1 请求对象介绍请求:获取资源。在 BS 架构中,就是客户端浏览器向服务器端发出询问,请求获取资源请求对象:就是在项目当中用于发送请求的对象我们常用的对象就是ServletRequest和HttpServletRequest,它们的区别就是是否和HTTP协议有关2.2 常用方法介绍2.3 请求对象的使用示例2.3.1 请求对象常用方法1-获取各种路径获取路径方法getQueryString,获取请求的数据

2021-01-19 19:32:23 195

原创 win10 磁盘管理 删除不想要多余分区(恢复分区)

1 . win + r; 输入 diskmgmt.msc 查看磁盘状态.2. 管理员方式打开cmd命令行窗口;3. 输入: diskpart4. 输入listdisk;可以看到自己的磁盘.5. 选择磁盘进入select disk 0;这一步如果输入错了,会提示使用帮助,见下图;6. 输入list partition; 可以看到磁盘0的所有分区.7. 选择进入要修改的分区select partition *;8. 执行删除命令: delete partition overr

2021-01-19 10:00:59 47518 7

原创 JavaWeb学习 - 三种Servlet使用方式 ServletConfig ServletContext 注解开发servlet

Servlet-授课1 Servlet1.1 Servlet概述Servlet 是运行在 Java 服务器端的程序,用于接收和响应来自客户端基于 HTTP 协议的请求如果想实现 Servlet 的功能,可以通过实现 javax.servlet.Servlet 接口或者继承它的实现类核心方法:service(),任何客户端的请求都会经过该方法Servlet是SUN公司提供的一套规范,名称就叫Servlet规范,它也是JavaEE规范之一我们可以像学习Java基础一样,通过API来学

2021-01-16 19:54:31 734

原创 JavaSE就业面试重点

- 详细介绍下static关键字的使用?(静态类、静态方法使用);static关键字是静态的意思,是java中的一个修饰符,可以修饰成员方法,成员变量.被static修饰的特点:1,被类的所有对象共享是我们判断是否使用静态关键字的条件2,随着类的加载而加载,优先于对象存在对象需要类被加载后,才能创建3,可以通过类名调用也可以通过对象名调用- Java继承好处和坏处,详细介绍;继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法通过ex

2021-01-15 16:44:27 168

原创 Linux中安装MySQL5.7

通过secureCRT工具连接Linux系统上传 mysql 的安装包alt + p -------> put d:/setup/mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar解压 mysql 的安装包mkdir mysqltar -xvf mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar -C mysql/安装客户端cd mysql/rpm -ivh mysql-community-client..

2021-01-15 10:12:50 111

原创 Tomcat

Tomcat&Http协议-授课1 JavaEE规范JavaEE(Java Enterprise Edition):Java 企业版它是由 SUN 公司领导、各个厂家共同制定并得到广泛认可的工业标准JavaEE 规范是很多 Java 开发技术的总称。这些技术规范都是沿用自 J2EE 的。一共包括了 13 个技术规范包括:JDBC,JNDI,EJB,RMI,IDL/CORBA,JSP,Servlet,XML,JMS,JTA,JTS,JavaMail,JAF1.2 We

2021-01-14 20:14:45 975 1

原创 Nginx 安装 启动 主机无法访问解决(Address is 被占用)

1.上传安装包2.解压安装包3.进入Nginx目录4.安装依赖环境yum -y install pcre pcre-develyum -y install zlib zlib-develyum -y install openssl openssl-develyum -y install gcc5.安装Nginx./configuremakemake install安装后在/usr/local下就会有一个nginx目录6.启动Nginxcd /usr/local/nginx/sbi

2021-01-14 19:14:24 606

原创 JavaWeb学习 - css样式

CSS概念:CSS (层叠样式表——Cascading Style Sheets,缩写为 CSS),简单的说,它是用于设置和布局网页的计算机语言.它主要的作用就是对HTML页面进行美化。学习思路:选择器【用于找到标签】 和 属性【用于美化样式】css引入html的三种方式:引入方式1.1 内联样式了解,几乎不用,维护艰难内联样式是CSS声明在元素的style属性中,仅影响一个元素:格式:<标签 style="属性名:属性值; 属性名:属性值;">内容</标签&g

2021-01-14 18:59:19 1111

原创 编写客户端程序, 客户端上传.txt文件(需要对文件类型进行判断), 服务器端用于接收文件(采用多线程), 文件上传成功, 服务端给客户端一个反馈: 文件上传成功.

编写客户端程序, 客户端上传.txt文件(需要对文件类型进行判断), 服务器端用于接收文件(采用多线程), 文件上传成功, 服务端给客户端一个反馈: 文件上传成功.import java.io.*;import java.net.ServerSocket;import java.net.Socket;public class UpServer { public static void main(String[] args) throws IOException { Ser

2021-01-12 19:59:18 616

原创 JavaWeb学习 - HTML入门

HTML [应用]概念:HTML 是用来描述网页的一种语言。HTML 指的是超文本标记语言 (Hyper Text Markup Language)HTML 不是一种编程语言,而是一种标记语言 (markup language)标记语言是一套标记标签 (markup tag)HTML 使用标记标签来描述网页基本语法:注释:<!-- -->空标签<br/>标签嵌套<div> <a href="www.baidu.com">点我跳

2021-01-12 18:02:49 126

原创 Linux 文件 压缩 yum阿里源设置等

1 Linux文件管理1.1 touch命令touch命令用于创建文件、修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。语法touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]参数说明:a 改变档案的读取时间记录。m 改变档案的修改时间记录。c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果

2021-01-10 19:38:26 491

原创 Linux - 目录管理 防火墙

Linux笔记Linux和Unix区别1、开源情况Unix 是商业化的,而 Linux 是开源的,是免费、公开源代码的。2、硬件适用Unix 系统大多是与硬件配套的,也就是说,大多数Unix系统如AIX、HP-UX等是无法安装在 x86 服务器和个人计算机上的,而 Linux则可以运行在多种硬件平台上。可以先学习Linux后再学习Unix,因为Linux可以方便的在虚拟机上运行,防止新手的误操作。3、本质不同Linux是开放源代码的自由软件,用户对前者有很高的自主权,在实际的的开发是处在

2021-01-10 19:05:52 196

原创 笔记 -18- 单元测试工具JUnit 日志Log4J

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

2021-01-07 21:12:30 467 1

原创 笔记 -17- xml概述 枚举 注解

1.xml1.1概述【理解】万维网联盟(W3C)万维网联盟(W3C)创建于1994年,又称W3C理事会。1994年10月在麻省理工学院计算机科学实验室成立。建立者: Tim Berners-Lee (蒂姆·伯纳斯·李)。是Web技术领域最具权威和影响力的国际中立性技术标准机构。到目前为止,W3C已发布了200多项影响深远的Web技术标准及实施指南,如广为业界采用的超文本标记语言HTML(标准通用标记语言下的一个应用)、可扩展标记语言XML(标准通用标记语言下的一个子集)以及

2021-01-07 09:18:53 150

原创 笔记 - 16 - 类加载器 反射

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

2021-01-05 20:42:53 152

原创 笔记-15 网络编程入门 UDP通信程序 TCP通信程序 练习

问答题题目1请写出端口号的范围0 ~ 65535题目2判断下列说法是否正确:由于TCP是面向连接的协议,可以保证数据的完整性,因此在传输重要数据时建议采用TCP协议.正确,TCP协议是面向连接的,有3次握手的过程,可以保证数据的完整性;题目3TCP协议中”三次握手”,指的是什么?第一次握手,客户端向服务器端发出连接请求,等待服务器确认第二次握手,服务器端向客户端回送一个响应,通知客户端收到了连接请求第三次握手,客户端再次向服务器端发送确认信息,确认连接对应的代码就是 创建客

2021-01-05 19:48:24 494 2

原创 笔记-15 网络编程入门 UDP通信程序 TCP通信程序 服务端优化

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

2021-01-03 21:17:33 230

原创 笔记 - 14 多线程 synchronized CountDownLatch wait notify 练习

题目1请利用线程间通信, 完成连续打印1-100的数字, 要求一条线程专门打印奇数,另外一条专门用来打印偶数要求:1:数字打印必须是有序的,既1–100的顺序不能乱;2:必须使用多线程技术;效果:​ …参考答案:public class A { public static int number = 1; public static void main(String[] args) { Object lock = n

2021-01-03 21:03:42 492 1

原创 笔记-14-多线程 线程池 volatile 悲观锁和乐观锁 并发工具类ConcurrentHashMap

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

2021-01-02 20:57:06 515

原创 笔记-13-多线程 Thread方法 线程安全 生产者和消费者 死锁和阻塞 练习

题目1编写程序,创建两个线程对象,一根线程循环输出“播放背景音乐”,另一根线程循环输出“显示画面”;要求:1: 1个线程使用Runnable接口的匿名内部类实现2: 另一个线程使用lambda实现效果:参考答案:public static void main(String[] args) { //匿名内部类 new Thread(new Runnable() { @Override public void run

2021-01-02 18:07:14 1982 8

空空如也

空空如也

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

TA关注的人

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