自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring事务控制

Spring事务控制1.什么是事务?事务是逻辑上的一组操作,组成这组操作的基本逻辑单元,要么都成功,要么都失败.2.事务的特性?(ACID)原子性:事务是一个原子操作,由一系列动作组成,要么都成功,要么都失败一致性:事务执行操作前后,无论成功还是失败,数据都应该保持一致隔离性:可能有多个事务同时处理同一个数据,他们之间不会相互影响.每个事务都应和其他的事务隔离开持久性:事务一旦完成,结果会长久保存3.事务定义信息隔离级别传播行为超时信息是否只读4.安全问题脏读:一个A事

2021-04-24 18:53:01 153 5

原创 Mybatis(3)

动态sql动态sql可以根据不同的条件动态的改变sql语句,非常方便实体类@Data@AllArgsConstructor@NoArgsConstructorpublic class User { private Integer id; //id private String name; //姓名 private String psw; //密码}接口package com.lwb.dao;import com.lwb.pojo.Student;i

2021-04-12 18:33:02 258 1

原创 Mybatis(2)

生命周期和作用域生命周期和作用域是至关重要的,因为错误的使用会导致非常严重的并发问题SqlSessionFactoryBuilder这个类可以被实例化、使用和丢弃,一旦创建了 SqlSessionFactory,就不再需要它了。因此 SqlSessionFactoryBuilder 实例的最佳作用域是方法作用域(也就是局部方法变量)。SqlSessionFactory说白了就是数据库连接池。SqlSessionFactory 一旦被创建就应该在应用的运行期间一直存在,没有任何理由丢弃它或重新创建

2021-04-07 13:29:30 144 1

原创 Mybatis搭建与测试

Mybatis1.概述MyBatis是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJO(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录,是 一种 ORM(ORM Object Relational Mapping 对象关系映射)实现.Mybatis 将基本的 JD

2021-04-03 18:39:08 212 2

原创 Jvm面试题(1)

Jvm面试题程序计数器为什么被设定为线程私有的.这是因为在多线程中,程序每次只能执行一个线程中的特定方法,CPU会不停的来回切换,为每一个线程配一个程序计数器,就可以在回到某个线程时知道执行到了什么地方,接下来该执行什么.什么情况下会出现栈溢出(StackOverflowError)?栈溢出就是方法执行的深度超过了栈的深度,一般使用递归会出现这种情况通过调整栈大小,就能保证不出现溢出吗?不能,可能只会使栈溢出的时机晚一点分配的栈内存越大越好吗?不是越大越好,栈的内存过大,可能会导致其他部分的

2021-04-02 20:08:40 107 1

原创 JVM简述

JVM1.JVM的位置JVM 上承开发语言,下接操作系统,它的中间接口就是字节码。2.JVM体系结构3.类加载器作用:加载Class文件1自定义的加载器 User classLoader2.启动类(根)加载器Bootstrap classLoader 主要负责加载核心的类库(java.lang.*等),构造ExtClassLoader和APPClassLoader。3.扩展类加载器ExtClassLoader 主要负责加载jre/lib/ext目录下的一些扩展的jar。4.应用程序加

2021-03-31 12:33:07 178 2

原创 生产者消费者问题

生产者消费者问题1.用synchronized实现package pc;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class PC2 { public static void main(String[] args) { Date2 d

2021-03-29 17:58:37 78 3

原创 反射

反射创建类的方式1.通过构造方法创建2.通过反序列化创建3.通过java反射创建定义JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取信息以及动态调用对象的方法的功能称为java语言的反射机制作用帮助我们获取类的信息,以便我们实现一些功能.反射相关的APIClass类一旦文件被加载到类中,就会创建一个class对象. 通过class类可以得到一个类的基本信息.获得方式 //

2021-03-17 14:54:20 67

原创 XML

XML1.XML是一种可拓展的标记语言2.XML用于存储和转发数据,而不在于显示数据3.XML的标签没有预定义,需要自行定义XML与HTMLXML不是HTML的替代XML和HTML为不同的目的而设计:XML是为了数据的存储与传输,其焦点是数据的内容HTML是为了数据的显示,其焦点是数据的外观XML的优势XML最大的优势是他能对各种编程语言编写的数据进行管理,使得在任何平台下都能通过解析器来获得XML数据.XML语法一个XML文件由文档声明、元素标签、属性、注释、组成.文档声明来声

2021-03-15 17:14:10 85

原创 log4j

log4jlog4j是一个功能强大的日志组件,提供方便的日志记录.入门示例1.新建一个java工程,导入所需要的log4j-1.2.17.jar包,2.src同级目录下创建log4j.propertis ### 设置###log4j.rootLogger = debug,stdout,D,E### 输出信息到控制抬 ###log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Targ..

2021-03-12 11:41:56 70

原创 503. 下一个更大元素 II

题目给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。示例 1:输入: [1,2,1]输出: [2,-1,2]解释: 第一个 1 的下一个更大的数是 2;数字 2 找不到下一个更大的数;第二个 1 的下一个最大的数需要循环搜索,结果也是 2。方法:使用单调栈解决本题。单调栈中保存的是下标,从栈底到栈

2021-03-06 14:10:19 65

原创 Dom

DomDOM是Document Object Model文档对象(网页中的标签)模型的缩写.通过html dom,可用javaScript操作html文档的所有标签.查找元素//通常,通过 JavaScript,您需要操作 HTML 标签。//为了做到这件事情,您必须首先找到该标签。//有四种方式通过 id 找到 HTML 标签 document.getElementById(“id");通过标签名找到 HTML 标签 document.getElemen

2021-01-26 20:55:35 79

原创 JavaScript函数和对象

JavaScript函数语法函数定义的基本语法:function functionName([arguments]){javascript statements[return expression]}function: 表示函数定义的关键字;functionName:表示函数名;arguments:表示传递给函数的参数列表,各个参数之间用逗号隔开,可以为空;statements: 表示实现函数功能的函数体;return expression:表示函数将返回expression的值,

2021-01-24 13:39:50 126

原创 JavaScript

JavaScriptJavaScript是一种基于对象和事件驱动的、并具有安全性能的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。JavaScript特点是一种解释性脚本语言(代码不进行预编译))。主要用来向HTML标准通用标记语言下的一个应用)页面添加交互行为。可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。跨平台特性,在绝大

2021-01-23 13:14:12 85

原创 JDBC

JDBC概述JDBC是一种用于执行SQL语句的Java API,可以为多种关系型数据库提供统一访问,它由一组用Java语言编写的类和接口组成。一般是Java开发者制定了JDBC规范,数据库开发商实现接口,程序员学习JDBC规范.API集成在java.sql包中 DriverManager类作用:管理各种不同的JDBC驱动Connection 接口 与特定数据库的连接Statement 接口 执行sqlPreparedStatement接口 执行sqlResultSet接口 接收查

2021-01-22 13:12:38 67

原创 DQL-基本查询和基础查询

DQL分组函数功能用作统计使用,又称为聚合函数或统计函数或组函数分类1.sum求和SELECT SUM(数据名) FROM 表名SELECT SUM(stu_age) FROM t; -- SELECT SUM(数据名) FROM 表名2.avg平均值SELECT AVG(数据名) FROM 表名SELECT AVG(stu_age) FROM t; -- -- SELECT AVG(数据名) FROM 表名3.max最大值SELECT MAX(数据名) FROM 表名SEL

2021-01-19 12:37:44 132

原创 Mysql-DML、DQL

DML定义DML是数据操纵语言,对数据进行操作.常用语句是:insert delect update创建表CREATE TABLE t( stu_name VARCHAR(10) COMMENT '姓名,主键' , stu_age INT COMMENT '年龄', stu_sex CHAR(1) DEFAULT '男' COMMENT '性别' , stu_phone VARCHAR(11) CO

2021-01-15 20:58:58 143

原创 Mysql

Mysql数据库MySQL语法规范1.不区分大小写,关键字大写2.每句话结尾加’;’注释1.单行注释: – 单行注释 (–后有一个空格)2.单行注释:#注释文字3./*多行注释*/;SQL定义结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统.优点不是某个特定数据库供应商专有的语是言,几乎所有DBMS都支持SQL简单易学实际上强有力的语言,

2021-01-12 11:07:13 68

原创 350. 两个数组的交集 II

题目描述给定两个数组,编写一个函数来计算它们的交集。输出结果中每个元素出现的次数,应与元素在两个数组中出现次数的最小值一致。示例示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[4,9]算法分析1.将第一个数组中的元素存入Map12.对第二个数组进行遍历,如果其中的元素被Map1的KeySt包含并且Value值大于0,则将其存入新的Map2,并

2021-01-09 13:43:04 52

原创 349. 两个数组的交集

题目描述给定两个数组,编写一个函数来计算它们的交集。示例示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4]算法分析1.将第一个数组中的元素存入Set12.对第二个数组进行遍历,如果其中的元素被Set1包含,则将其存入新的Set2,否则跳过.3.将Set2中的元素添加进数组.代码 public int[] intersection(

2021-01-09 13:19:43 58

原创 常用组件

常用组件标签标签是用来容纳文本和图标的控件,通常用来在界面中标识别的控件 /**构造函数: JLabel() 创建一个空的标签 JLabel(String text) 创建一个带文本的标签 JLabel(Icon image) 创建一个带图像的标签 常用方法: void setText(String text) 设置标签上的文本 String getText() 获得标签上的文本

2020-12-29 12:20:36 147

原创 GUI

GUIGUI:图形用户界面,可以使程序看上去友好。SwingSwing是纯Java组件,使得应用程序在不同的平台上运行时具有相同外观和相同的行为。Swing中的大部分组件类位于javax.swing包中.Swing中的组件非常丰富,支持很多功能强大的组件容器组件java的图形用户界面的基本组成部分是组件常用组件JFrame用来在Swing程序中创建窗体JPanel()创建一个空面板JPanel(LayoutManaer layout)创建带有指定布局的面板/

2020-12-28 15:24:47 81

原创 746. 使用最小花费爬楼梯

题目描述## 标题数组的每个索引作为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 costi。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。题目示例## 标题输入: cost = [10, 15, 20]输出: 15解释: 最低花费是从cost[1]开始,然后走两步即可到阶梯顶,一共花费15。示例 2:输入: cost = [1, 100, 1,

2020-12-21 16:01:15 50

原创 快速排序

快速排序 的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。6.1 算法描述快速排序使用分治法来把一个串(list)分为两个子串(sub-lists)。具体算法描述如下:步骤1:从数列中挑出一个元素,称为 “基准”(pivot );步骤2:重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。

2020-12-17 13:54:58 59

原创 创建线程

创建线程两种方式1.继承Thread类 重写run方法Thread类中的run方法本身并不执行任何操作,如果我们重写了run方法,当线程启动时,它将执行run方法。public class ThreadDemo extends Thread { @Override public void run() { //在run方法中编写需要独立运行的代码 for (int i = 0; i < 100; i++) { }}Thread类中的方法1

2020-12-14 14:30:12 55

原创 线程

程序程序一段静态的代码,是为了完成某种特定的任务,用某种语言编写的一组指令的集合.进程进程就是正在执行的程序线程线程就是进程内部的最小执行单元与进程的关系一个进程可以包含多个线程.但是一个线程只能属于一个进程,并且线程不能脱离进程而运行.每一个进程至少包含一个线程,在主线程中开始执行程序,在主线程中可以创建并启动其他的线程一个进程中的所有线程共享该进程的内存资源多线程多线程就是指一个程序中有多个线程,他们各自完成不同的任务,就是程序中包含多个执行单元.多线程好处可以提高程序的响应

2020-12-09 14:32:10 61

原创 网络编程

网络编程概述计算机网络:把分布在不同地理区域的计算机与专门的外部设备,用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息、共享硬件、软件、数据信息等资源。网络编程的目的:就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换java.net 包中 J2SE 的 API 包含有类和接口,它们提供底层次的通信细节。你可以直接使用这些类和接口,来专注于解决问题,而不用关注通信细节。Java是 Internet 上的语言,它从语言级上提供了对网络应用程序的支持

2020-12-08 16:24:32 117

原创 序列化与Print流

Print流Print 打印流:只做输出没有输入Print流单向输出(从服务器端内容向客户端浏览器打印输出网页内容)打印流分为字节打印流和字符打印流PrintWriter:字符打印流print方法可以打印各种类型数据 PrintWriter print = new PrintWriter("E:\\a.html"); print.print("<b>aaa</b>"); print.print("<b>bbbbb&

2020-12-06 16:25:54 58

原创 输入与输出

输入与输出把电脑硬盘上的数据读到程序中,称为输入,即input,进行数据的read操作从程序往外部设备写数据,称为输出,即output,进行数据的write操作输入流与输出流/*流按着数据的传输方向分为: 输入流就是往程序中读。 输出流就是从程序中往外写。所有输入流都是InputStream类或者Reader类的子类。 类名以InputStream结尾的类都是InputStream的子类。 类名以Reader结尾的类都是Reader类的子类。所有输出流都是Output

2020-12-04 16:45:23 524

原创 File类

File类File类是java.io包中很重要的一个类;File类的对象可以表示文件,还可以表示目录,在程序中一个File类对象可以代表一个文件或目录;File对象可以对文件或目录的属性进行操作,如:文件名、最后修改日期、文件大小等;File对象无法操作文件的具体数据,即不能直接对文件进行读/写操作。File类的构造方法 //三种方式 File file = new File("E:\\笔记"); //File(String pathname) Fi

2020-12-04 16:30:35 356

原创 Set

SetSet接口也继承了Collection接口,Set中所存储的元素时不可以重复的,但是是无序的.也没有索引.Set接口实现了两个类:HashSet: HashSet类中的元素不能重复,其中的元素是无序的,不是按照输入顺序排的,会通过哈希值来选择位置.所以不能使用for循环遍历TreeSet:是有序的,按照元素排序(a,b,c);HashSet不同内容的元素哈希值可能会相等,这是他们在同一位置,采用链表的形式存储,HashSet的底层是Hashmap public static v

2020-11-22 16:24:25 105

原创 Collection

集合数组相当于是存储同一类型的元素的一个容器,但是数组有局限性,数组的长度定义之后就不可以修改,但是在实践中我们经常需要一些可以变长的数据集合.而我们需要对数据的保存的逻辑可能各种各样,于是就有了各种各样的数据结构。Java中对于各种数据结构的实现,就是我们用到的集合。Java的集合框架是由很多接口,抽象类,具体类组成的.[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RVXPlN6w-1606032366575)(C:\Users\LWB\AppData\Roaming

2020-11-22 16:05:09 180 2

原创 异常

异常概念在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美,在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避免的,比如:客户输入数据的格式,读取文件是否存在,网络是否始终保持通畅等等。就是执行过程中遇到的错误,不包含代码编译错误.Java 异常可以分为两类:1.Error:程序不能处理的,会抛出错误,程序控制不了 如 JVM系统内部错误、内存不够用等严重情况。2.Exception:运行时,由于各种原因导致,程序不能正常运行,通过异常处理机制可以处理. 如:空指

2020-11-15 10:28:19 72

原创 API1

Math提供了一系列静态方法用于科学计算;其方法的参数和返回值类型一般为double型。public class MathDemo { //Math类主要用于科学计算,其参数类型与返回值类型一般为double /*abs 绝对值 sqrt 平方根 pow(double a, double b) a的b次幂 max(double a, double b) min(double a, double b) random() 返回 0.0 到

2020-11-15 10:22:36 174

原创 String

String类字符串是由多个字符组成的一串数据(字符序列)的字符串常量,值改变后会重新创建一个新的对象.有两种创建形式: String string1=new String("abc"); String a="abc";第一种创建方式是现在栈中创建一个对String类的对象的引用,然后去查找常量池中是否有"abc",如果有会直接指向,不用创建新对象,如果没有会会在堆中创建一个String对象,并将"abc"放入常量池中.第二种是直接在堆中创建新对象.无论内容是否相等

2020-11-08 17:11:45 58

原创 API

APIAPI(Application Programming Interface)应用程序编程接口就是对java中预先定义好的类,接口功能,函数功能的说明文档,目的是提供给开发人员进行使用帮助.Object类Object类是所有Java类的祖先.所有的对象或者数组都可以实现这个类中的方法.Java中所有的类没有显示的继承其他类,默认继承Object类.这是为了实现多态性,Object类型可以表示任何类型.public class A{}public class A extends Objec

2020-11-08 14:43:10 300

原创 排序算法

排序算法分类1、冒泡排序(Bubble Sort)2、选择排序(Selection Sort)4、希尔排序(Shell Sort)5、归并排序(Merge Sort)6、快速排序(Quick Sort)7、堆排序(Heap Sort)8、计数排序(Counting Sort)9、桶排序(Bucket Sort)10、基数排序(Radix Sort)冒泡排序基本思想1.冒泡排序就是将相邻的两个数比较大小,较大的往后,较小的往前.算法描述1.比较相邻的两个数,如果第一个比第二个大,

2020-11-02 15:51:04 227

原创 数组

数组数组:是一种线性的数据集合java数组:是数据类型相同的数的集合.数组本身是引用类型,即对象,但是其中的可以存储的元素可以是基本数据类型,也可以是引用数据类型.数组的创建数组的声明数据类型+[]+变量名 或者 数据类型+变量名+[] 一般选择第一种 int [] a; int[]a,b; b是int类型的变量 int b []; int b,a[]; a是数组数组的创建有三种方式大致可以分为两类 动态创建数组和静态创建数组

2020-11-02 15:50:26 93

原创 接口

接口例如生活中的Usb接口 可以通过Usb风扇,Usb鼠标,U盘来使用接口从本质上来说,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法体的实现接口的声明[访问修饰符] interface 接口名称 [extends 其他的接口名1,….其他的接口名n] { // 声明常量 // 抽象方法 }package javaoop.day6;public interface Animal { public void eat

2020-10-28 22:22:58 54

原创 多肽与抽象类

多肽定义多肽是同一事物,不同时刻表现的不同状态多肽的三个条件1.要有继承2.要有重写3.父类引用指向子类对象多态环境下对成员方法的调用class Animal{ void show() { System.out.println(“Anmial"); }}class Cat extends Animal{ void show() { System.ou

2020-10-28 17:02:36 152

空空如也

空空如也

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

TA关注的人

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