自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Java微梦的博客

一个努力的程序猿

  • 博客(44)
  • 收藏
  • 关注

原创 mysql事务的四个隔离级别

什么是隔离级别 说到隔离级别,就要先谈到事务,因为隔离级别是基于事务而存在的.事务 事务指的是多个数据同时修改时,要么一起成功,要么一起失败。事务就像是小时候玩超级玛丽一样,你每次过关,都必须在没有死亡的情况下才能过关,只要有一次死亡,那么这一关就得重新开始;重新开始就意味着回滚(rollback),过关就代表提交(commit)原子性(Actimicity): 事务是原子操作,要么同时修改,要么同时回滚一致性(Consistent):事务完成时必须保证数据一致性隔离性(Isol..

2021-12-18 09:10:39 170

原创 日志的使用

我们在使用MyBatis的时候, 其实MyBatis框架会打印一些必要的日志信息, 在开发阶段这些日志信息对我们分析问题,理解代码的执行是特别有帮助的; 包括项目上线之后,我们也可以收集项目的错误日志到文件里面去; 所以我们采用专门的日志系统来处理.<!-- log start --><!-- 日志的具体实现 --><dependency> <groupId>log4j</groupId> <artifactId&

2021-11-30 23:55:13 116

原创 MyBatis框架总结SSM框架1

SSM框架web层 springMVC业务层 spring持久层 MyBatisjdbc 程序回顾 注册驱动 获得连接 创建预编译sql语句对象 设置参数, 执行 处理结果 释放资源 public static void main(String[] args) { Connection connection = null; PreparedStatement ...

2021-11-30 23:53:27 327

原创 MyBatis

框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。简而言之,框架是软件(系统)的半成品,框架封装了很多的细节,使开发者可以使用简单的方式实现功能,大大提高开发效率。一句话解释: 框架其实就是一套模板,或者可重用的设计,套路。按照这种套路来写代码。尤其是在开发大型项目上,框架的作用体现得就更加淋漓尽致。小型项目,没有框架的用武之地。!框架要解决的问题

2021-11-08 10:53:03 390

原创 Maven相关的概念

Maven是项目进行模型抽象,充分运用的面向对象的思想,Maven可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。项目有阶段: 编译项目 、项目测试、 运行项目 、 清除项目的缓存 、 发布项目 、 打包安装....: Maven是由Apache开发的一个工具。用来管理java项目(依赖(jar)管理,

2021-11-08 10:45:17 106

原创 Redis 内存数据库

为什么需要学习NOSQL (三高)随着互联网的高速崛起,网站的用户群的增加,访问量的上升,传统(关系型)数据库上都开始出现了性能瓶颈,web程序不再仅仅专注在功能上,同时也在追求性能。所以NOSQL数据库应运而上,具体表现为对如下三高问题的解决: High performance - 对数据库高并发读写的需求 web2.0网站要根据用户个性化信息来实时生成动态页面和提供动态信息,所以基本上无法使用动态页面静态化技术,因此数据库并发负载非常高,往往要达到每秒上万次读写请求。关系数据库应付上万次S

2021-11-05 12:00:33 790

原创 VueJS介绍与快速入门

什么是VueJS渐进式:循序渐进,vue是一个功能非常强大的前端js框架,其中包含了很多组件(A B C D E),因此,在使用vue时,可以根据用户的需要循序渐进的引入到项目中使用。框架:类库 功能比较完善 软件的半成品Vue.js是一个渐进式JavaScript 框架。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定到组合的视图组件(数据双向绑定view-model)。它不仅易于上手,还便于与第三方库或既有项目整合。MVVM是Model-View-ViewModel的简

2021-11-05 11:45:35 663

原创 AJAX的概述

JS的Ajax入门【了解】简单来说:==Ajax是一门动态网页技术,发送异步请求,实现在不重新加载整个页面的情况下,实现页面局部刷新,提高用户体验。==同步:就是事情要一件一件的做,做完上一件,才能继续做下一件事。异步:两个不同的对象在做事,(多线程)使用Ajax发送异步请求,就需要额外创建一个对象 XMLHttpRequest 异步请求对象涉及到的APIXMLHttpRequest:异步请求发送对象XMLHttpRequest的对象的APIopen():打开连接。传递三个.

2021-11-04 15:50:46 59

原创 jQuery

jQuery是一个优秀的javascript库(类似Java里面的jar包),兼容css3和各大浏览器,提供了dom、events、animate、ajax等简易的操作。 并且jquery的插件非常丰富,大多数功能都有相应的插件解决方案。jquery的宗旨是 write less, do more。概念:jQuery是JavaScript的一个工具库,将js的一些 常用操作封装成了方法,从而简化js操作html。jQuery最主要的作用是简化js操作HTML知识点-JQ和JS对象转换【重点】.

2021-11-02 09:56:22 422

原创 filter&listener

什么是filterFilter:一个实现了特殊接口(Filter)的Java类. 实现对请求资源(jsp,servlet,html,)的过滤的功能.过滤器是一个运行在服务器的程序, 优先于请求资源(Servlet或者jsp,html)之前执行. 过滤器是javaweb技术中最为实用的技术.3.2过滤器的作用对目标资源(Servlet,jsp,html)进行过滤.应用场景:登录权限检查,解决网站乱码,过滤敏感字符 ...2.1配置文件方式 创建一个过滤器类,实现Filter接

2021-10-29 22:59:06 61

原创 完成转账的案例v4

需求 当单击提交按钮,付款方向收款方按照输入的金额转账。 使用事务进行控制 分析 1.ThreadLocal 在“事务传递参数版”中,我们必须修改方法的参数个数,传递连接对象,才可以完成整个事务操作。如果不传递参数,是否可以完成?在JDK中给我们提供了一个工具类:ThreadLocal,此类可以在一个线程中共享数据。 java.lang.ThreadLocal,该类提供了线程局部 (thread-local) 变量,用于在当前线程中共享数据。ThreadLocal工具类底层就是一

2021-10-28 23:18:59 86

原创 JSP入门

什么是JSPhtml:静态网页,内容写完了之后,就固定下来了,不会发生改变。Java server page(java服务器页面),动态网页!JSP=java+html JSP本质就是Servlet它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。JSP产生的原因需求: 我们要向页面动态输出一个表格. 发现特别的繁琐servlet在展示页面的时候,相当的繁琐。sun公司为了解决这个问题,参照asp开发了一套动态网页技术jsp。jsp就是简化书写!.

2021-10-28 23:16:05 160

原创 cookie&session

会话的概念用户打开浏览器,浏览不同的网页(资源),发出多个请求,直到关闭浏览器的过程,称为一次会话(多次请求). 如同打电话.我们在会话的过程(多次请求)之中,用户可能会产生一些数据,这些数据话有的需要保存起来的,我们就可以通过会话技术来保存用户各自的数据为什么要使用会话技术保存一次通话过程中的数据!会话技术中数据的保存方式:浏览器存储会话数据:cookie服务器存储会话数据:sessioncookie(记住用户名密码)==cookie是客户端(浏览器)的技术==

2021-10-28 23:02:25 75

原创 request和Response总结

request 概念:request用来封装请求信息 体系结构:HttpServletRequest-继承->ServletRequest request对象来源:由服务器tomcat创建并传入Servlet 作用:操作请求信息、请求转发、作为域对象存储数据 操作请求行 操作请求行// 获取请求方式 get|postrequest.getMethod();// 获取请求地址URI(不包含主机ip地址和端口号)request.getReque.

2021-10-28 22:47:46 229

原创 request&response

请求方式 请求路径(URI) 协议版本==GET /day22/login.html?username=admin&password=123 HTTP/1.1== getMethod();获取请求方式 getRemoteAddr() ;获取客户机的IP地址(知道是谁请求的) getContextPath();获得当前应用工程名(部署的路径 虚拟路径); getRequestURI();获得请求地址,不带主机名和端口号 getRequestURL();

2021-10-28 22:43:59 47

原创 http&tomcat&Servlet WEB开发介绍

什么是webWEB,在英语中web即表示网页的意思,它用于表示Internet主机(服务器)上供外界访问的资源C/S架构Client / Server,客户端和服务器端,用户需要安装专门客户端程序。(QQ、微信、LOL)B/S架构Browser / Server,浏览器和服务器端,不需要安装专门客户端程序,浏览器是操作系统内置。(微信网页版、购物网站) 相同点 都是基于请求-响应交互模型:即浏览器(客户端) 向 服务器发送 一个 请求。服务器 向 浏览器(客户端)回送 一个

2021-10-28 22:28:19 91

原创 JavaScript

JS简介什么是JS JavaScript 是一种客户端脚本语言。运行在客户端浏览器中,每一个浏览器都具备解析 JavaScript 的引擎。 脚本语言:不需要编译(直译),就可以被浏览器直接解析执行了。 运行环境 JVM虚拟机 JS引擎,是浏览器的一部分 是否跨平台运行 跨平台 跨平台 语言类型 强类型语言 弱类型,动态类型语言 是否需要编译 需要编译,是编译型语言 不需要编译,是解释型语言

2021-10-27 00:31:02 1104

原创 HTML结构和基本语法

XML 指可扩展标记语言(EXtensibleMarkupLanguage) XML是用来存储数据, 传输数据的,不是用来显示数据的。之后学习另外一个HTML是用来显示数据的。 XML 标签没有被预定义。您需要自行定义标签。 XML 是W3C 的推荐标准 W3C在1988年2月发布1.0版本,2004年2月又发布1.1版本,但因为1.1版本不能向下兼容1.0版本,所以1.1没有人用。同时,在2004年2月W3C又发布了1.0版本的第三版。我们要学习的还是1.0版本...

2021-10-27 00:23:59 150

原创 第三方连接池

C3P0连接池 C3P0开源免费的连接池!目前使用它的开源项目有:Spring、Hibernate等。使用第三方工具需要导入jar包,c3p0使用时还需要添加配置文件c3p0-config.xml. 使用C3P0需要添加c3p0-0.9.1.2.jar 创建C3P0连接池对象 设置连接池参数 获得连接 预编译sql语句,得到预编译对象 设置sql语句参数 执行sql语句,处理结果 释放资源 public class T

2021-10-27 00:14:28 110

原创 连接池和DBUtils

用PreparedStatement进行CRUD操作步骤: 拷贝mysql驱动包到模块下,并添加依赖 拷贝JDBCUtils.java工具类和db.properties配置文件到模块下 步骤: 注册驱动,获得连接 预编译sql语句,得到预编译对象 为sql语句设置参数 执行sql语句,处理结果 释放资源 public class Test1_查 { public static void main(Str..

2021-10-27 00:06:56 123

原创 MySQL函数和JDBC

f相关函数 1.if(expr1,expr2,expr3) 如果 expr1 是TRUE,则 IF()的返回值为expr2; 否则返回值则为 expr3。if() 的返回值为数字值或字符串值,具体情况视其所在语境而定。 需求: 查询姓名,年龄,性别,如果性别为1,就显示1,否则就显示0 select uname,age,if(sex=1,1,0) from t_user;select uname,age,if(sex,1,0) from t_user; 2.ifnu

2021-10-27 00:01:47 115

原创 MySQL多表关系

外键: 从表中的某个字段,该字段的值是引用主表中主键的值 主表: 约束别人的表 副表/从表: 被别人约束的表删除外键 alter table 表 drop foreign key 外键名称; 什么是级联操作: 在修改和删除主表的主键时,同时更新或删除副表的外键值,称为级联操作 ON UPDATE CASCADE -- 级联更新,主表主键发生更新时,外键也会更新 ON DELETE CASCADE -- 级联删除,主键主键发生删除时,外键也会删除多表间关系多对多多对多(m:n) 例如

2021-10-26 23:47:55 81

原创 DDL操作数据库

创建数据库:create database 数据库名 [character set 字符集][collate 校对规则] 注: []表示可选查看数据库: 查看所有数据库:show databases; 查看数据库结构:show create database 数据库名;删除数据库:drop database 数据库名;修改数据库:alter database 数据库名 character set 字符集; 注意:1.不能修改数据库名,2.是utf8不是utf-8其他操作:...

2021-10-26 23:37:47 107

原创 单例模式、多例模式、枚举、工厂模式

单例设计模式的概述引入public class Person{ }public class Test{ public static void main(String[] args){ Person p1 = new Person(); Person p2 = new Person(); Person p3 = new Person(); //... }}单例设计模式的作用单例模式,是一种常用的软件设...

2021-10-21 17:30:17 79

原创 XML和Dom4j、正则表达式

XML 指可扩展标记语言(EXtensibleMarkupLanguage) XML是用来存储数据, 传输数据的,不是用来显示数据的。之后学习另外一个HTML是用来显示数据的。 XML 标签没有被预定义。您需要自行定义标签。 XML 是W3C 的推荐标准 W3C在1988年2月发布1.0版本,2004年2月又发布1.1版本,但因为1.1版本不能向下兼容1.0版本,所以1.1没有人用。同时,在2004年2月W3C又发布了1.0版本的第三版。我们要学习的还是1.0版本...

2021-10-21 17:03:52 91

原创 JUnit单元测试、反射、注解、动态代理、JDK8新特性

概述 : Junit是Java语言编写的第三方单元测试框架(工具类) 作用 : 用来做“单元测试”——针对某个普通方法,可以像main()方法一样独立运行,它专门用于测试某个方法。 Junit的使用步骤 1.在模块下创建lib文件夹,把Junit的jar包复制到lib文件夹中 2.选中Junit的jar包,右键选中 add as Library,把JUnit4的jar包添加到classPath中 3.在测试方法上面写上@Test注解 4.执行测..

2021-10-21 16:32:35 120

原创 网络编程和NIO

查看本机IP地址,在控制台输入: ipconfig 检查网络是否连通,在控制台输入: ping 空格 IP地址 ping 220.181.57.216 ping www.baidu.com 端口号:用两个字节表示的整数,它的取值范围是0~65535。其中,0~1023之间的端口号用于一些知名的网络服务和应用,普通的应用程序需要使用1024以上的端口号。如果端口号被另外一个服务或应用所占用,会导致当前程序启动失败。InetAddress类的方法 static..

2021-10-21 15:46:57 119

原创 Properties类、缓冲流、转换流、序列化流、装饰者模式、commons-io工具包

IO资源的处理JDK7前处理之前的入门练习,我们一直把异常抛出,而实际开发中并不能这样处理,建议使用try...catch...finally 代码块,处理异常部分public class Test1_JDK7前处理 { public static void main(String[] args) { // jdk7之前IO异常处理:try...catch...finally FileInputStream fis = null; File...

2021-10-21 12:08:37 66

原创 File类、递归、IO流、字节流、字符流

File类的概述java.io.File 类是用来表示文件或者文件夹路径,可以用于对文件和文件夹的创建、查找和删除等操作。File类的构造方法 public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。 public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。 public File(File parent, String

2021-10-12 09:56:09 93

原创 线程状态、等待与唤醒、Lambda表达式、Stream流

线程状态线程由生到死的完整过程:技术素养和面试的要求。线程从创建到销毁的过程称为线程的生命周期,在线程的生命周期内一共有六种状态:计时等待和无限等待计时等待: 调用线程类的 sleep() 方法可使当前线程进入睡眠状态,当睡觉时间达到时线程会被自动唤醒。 public static void sleep(long time) 让当前线程进入到睡眠状态,到毫秒后自动醒来继续执行 无限等待 Object类的方法: public void wait().

2021-09-30 16:58:32 94

原创 线程安全、volatile关键字、原子性、并发包、死锁、线程池

线程安全问题synchronized synchronized关键字:表示“同步”的。它可以对“多行代码”进行“同步”——将多行代码当成是一个完整的整体,一个线程如果进入到这个代码块中,会全部执行完毕,执行结束后,其它线程才会执行。这样可以保证这多行的代码作为完整的整体,被一个线程完整的执行完毕。 synchronized被称为“重量级的锁”方式,也是“悲观锁”——效率比较低。 synchronized有几种使用方式: a).同步代码块 b).同步方法【常用】 当我们使

2021-09-30 16:05:24 124

原创 排序算法、异常、多线程基础

冒泡排序public class Test { public static void main(String[] args) { int[] arr = {45, 25, 35, 55, 15}; // 冒泡排序 // 外层循环控制比较的轮数 for (int i = 0; i < arr.length - 1; i++) { // 内层循环控制每轮比较的次数 for (int ...

2021-09-30 15:38:07 37

原创 Collections、Set、Map、斗地主排序

Collections常用功能public static void shuffle(List<?> list) :打乱集合顺序。public static void main(String[] args) { //- `public static void shuffle(List<?> list) :打乱集合顺序。` // 创建List集合,限制集合元素的类型为Integer类型 List<Integer> li...

2021-09-30 12:14:33 79

原创 Collection、List、泛型、数据结构

Collection集合 概述: 集合是java中提供的一种容器,可以用来存储多个引用数据类型的数据 分类: 单列集合: 以单个单个元素进行存储 双列集合: 以键值对的形式进行存储 集合与数组的区别: 长度: 数组长度是固定的 集合长度是不固定的 存储范围: 数组可以存储基本类型+引用类型 eg; int[],String[] 集合只能存储引用类型,如.

2021-09-26 20:53:31 129

原创 常用API

权限修饰符 public : 公共的 protected: 受保护的 (空的): 默认 private: 私有的

2021-09-23 16:36:06 32

原创 static、接口、多态、内部类

static关键字特点 被static修饰的成员变量叫做静态成员变量\类变量 被static修饰的成员变量会被该类的所有对象共享 被static修饰的成员变量被该类的某个对象修改了,那么该类的所有对象使用的都是修改后的值 方式一: 对象名.静态成员变量名 ---->不推荐 方式二: 类名.静态成员变量名 ----->推荐 被static修饰的成员方法叫做静态方法,可以使用类名直接调用 静态方法中不能出现this关键字

2021-09-18 08:28:55 112

原创 继承、抽象类模板设计模式

定义一个类修饰符 class 类名{ // 成员变量 // 成员方法 // 构造方法 // 代码块 // 内部类}创建对象: 类名 对象名 = new 类名(实参);使用对象: 访问成员变量: 对象名.成员变量名 访问成员方法: 无返回值的方法: 对象名.方法名(实参); 有返回值的方法: 直接调用: 对象名.方法名(实参); 赋值调用: 数据类型 变量名 = ...

2021-09-17 20:41:32 330

原创 循环案例 水仙花 打印大小写字母 9*9表

水仙花数是指一个数3位数,其每位数字立方和等于其本身,如153 = 1*1*1 + 3*3*3 + 5*5*5 题目分析:通过观察发现,本题目要实现打印符合要求的数字(即水仙花数)。明确什么样的数就是水仙花数。水仙花数是指一个3位数(100-999之间),其每位数字立方之和等于该3位数本身。如153 = 1*1*1 + 3*3*3 + 5*5*5,即3位数本身 = 百位数立方 + 十位数立方 + 个位数立方;获取水仙花范围内的所有3位数(100-999之间的每个3位数)...

2021-09-17 18:05:45 96

原创 ArrayList集合

集合的创建ArrayList<要存储元素的数据类型> 变量名 = new ArrayList<要存储元素的数据类型>(); 基本数据类型 对应的引用数据类型表示形式 byte Byte short Short Int Integer long Long flo

2021-09-17 17:50:39 73

原创 随机点名器案例

随机点名器案例随机点名器,即在全班同学中随机的打印出一名同学名字。要做的随机点名器,它具备以下3个内容:存储所有同学姓名 总览全班同学姓名 随机点名其中一人,打印到控制台编写CallName.java文件,完成程序的编写。main方法中进行步骤1、2、3的代码实现publicstaticvoidmain(String[] args) { System.out.println("--------随机点名器--------"); // 创建一个存储多...

2021-09-14 17:21:22 420

空空如也

空空如也

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

TA关注的人

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