自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springBoot整合redis以及事务的处理

JedisJedis是一个java的模块,用来连接和操作我们的Redis数据库。类似于以前我们用我们的jdbc操作我们的mysql数据库。在使用Jedis 连接redis之前,需要修改redis.conf的配置文件:redis.conf中注释掉bind 127.0.0.1(127.0.0.1表示只支持localhost连接,不支持远程连接) protected-mode no(关闭protected-mode模式,此时外部网络可以直接访问;开启protected-mode保护模式,需配置bin

2022-05-05 09:08:10 941

原创 redis笔记

redis简介Redis是单线程+多路IO复用技术;多路复用是指使用一个线程来检查多个文件描述符(Socket)的就绪状态,比如调用select和poll函数,传入多个文件描述符,如果有一个文件描述符就绪,则返回,否则阻塞直到超时。得到就绪状态后进行真正的操作可以在同一个线程里执行,也可以启动线程执行(比如使用线程池)默认16个数据库,类似数组下标从0开始,初始默认使用0号库;使用命令 select <dbid>来切换数据库。如: select 8数据都在内存中,支持持久化,主...

2022-05-04 15:41:18 717

原创 排序算法总结

排序分类内部排序:插入排序 直接插入排序 希尔排序 选择排序 简单选择排序 堆排序 交换排序 冒泡排序 快速排序 归并排序 基数排序外部排序:数据量过大时,无法加载到内存中,借助外部存储进行排序。1冒泡排序对排序序列从下表较小的元素开始,依次比较相邻元素的值,若发现逆序就交换。例如:对数组3,9,-1,10,20进行排序。第一趟排序:从下标为0的位置开始,到数组长度最后一个元素;相邻之间两两比较3,9对比----》3,9,-1,10,20

2022-04-27 20:14:49 225

原创 Spring Boot

什么是Spring Boot本质上说,Spring Boot就是Spring,他做了Spring中需要自己去做的Spring Bean配置,简化了Spring的难度,提供了各种启动器,开发者能快速上手 。用我的话来理解,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar包,Spring Boot 整合了所有的框架。Spring Boot优点可以对主流开发框架五配置集成。 项目可以独立运行,无需外部依赖Servlet容器。

2022-04-24 14:37:11 156

原创 MyBatis总结

什么是MybatisMyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。Mybatis是一个半ORM(对象关系映射)框架,底层封装了JDBC,是程序员在开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,严格控制sql执行性能,灵活度高。数据持久化:将内存中数据模型转换为存储模型。例如:程序员操作数据对数据库进行增删该查操作。ORM:(Object relation Mappi

2022-04-24 11:03:32 278

原创 Spring MVC

MVCMVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分M:Model,模型层,指工程中的JavaBean,作用是处理数据JavaBean分为两类:一类称为实体类Bean:专门存储业务数据的,如 Student、User 等 一类称为业务处理 Bean:指 Service 或 Dao 对象,专门用于处理业务逻辑和数据访问。V:View,视图层,指工程中的html或jsp等页面,作用是与用户进行交互,展示数据C:Controller,控制层,指工程中的servlet,作用是

2022-04-23 21:56:53 385

原创 Spring总结

1.什么是SpringSpring是一个轻量级的开源的JavaEE框架;致力于提供一个以统一的、高效的方式构造整个应用,并且可以将单层框架以最佳的组合揉和在一起建立一个连贯的体系。特点:方便解耦(IOC),简化开发。 支持Aop编程。 方便程序测试。 方便与其他框架进行整合。 方便进行实务操作。 降低API开发难度。2.Spring基本框架Spring Core:这是Spring框架最基础的部分,它提供了依赖注入(DependencyInjection)特征来实现容器对Bea

2022-04-23 17:11:43 374

原创 JVM笔记总结

JVM组成部分类装载器:加载字节码文件。 运行时数据区:存放数据。 执行引擎:负责把这些命令解释给操作系统。 本地方法接口:调用不同的语言接口给java用。内存结构图堆: 堆内存最大;线程共享;可垃圾回收;java堆处于物理上不连续的内存空间中,堆的内存是一块块凑起来的;当堆中没有内存完成实例分配,且堆空间无法扩展时会抛出OutOfMemoryError。 存放对象。 GC采用分代收集法管理堆空间。 方法区: 线程共享,内存不连续,可扩展、可垃圾回收,可抛出OutOf

2022-04-23 10:11:46 313

原创 java线程同步和线程安全(synchronized、volatile、lock锁原理)

线程同步定义:几个线程之间要排队,一个一个对共享资源进行操作,而不是同时操作。线程排队。 共享资源。 共享的资源是个变量。线程同步实现方式1.同步代码块将synchronized(共用锁对象){}放在方法内;将需要同步的代码块放入{}中。实现Runnable接口创建线程时,同步对象可以使用this。线程安全。public class Sychronized_test { public static void main(String[] args) { Ti

2022-04-21 23:13:12 413

原创 java多线程总结

程序、进程、线程程序:为完成特定任务,用某种语言编写的一组指令的集合,即指一段静态代码。例如:听歌时,当双击听歌软件的可执行程序,此时程序会被加载到内存中,执行程序,便产生了进程。进程:是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程(他生命周期)。是操作系统 进行资源分配,调度的最小单位。 每个进程都是独立的,相互不影响、不进行资源共享、一个进程崩溃不影响其他进程状态。 一个进程中可以有多个线程。线程:线程是进程的一个实体。每一个独立的

2022-04-19 15:48:45 486

原创 java集合类总结

Collection体系继承树蓝色框:接口 红色框:实现类 红色框+阴影:常用实现类Queue:先进先出的队列。 Map体系继承树蓝色框:接口。 红色框:实现类。 红色框+阴影:常用实现类Map:具有映射关系(k,v)的 集合,其所有key无序且不可重复。集合与数组对比数组初始化后,其长度就确定了;而集合是可以动态扩展容量的。 数组一旦定义好,就只能存储指定类型数据,集合存放类型可以不是一种。 数组时java语言内置数据类型,是线性排序的,查...

2022-04-19 10:28:18 713

原创 CGLIB动态代理

介绍CGLIB(Code Generation Library)是一个开源、高性能、高质量的Code生成类库(代码生成包)。它可以在运行期扩展Java类与实现Java接口。CGLIB的底层是通过使用一个小而快的字节码处理框架ASM,来转换字节码并生成新的类。实现步骤被代理类。 拦截器的配置;创建一个实现MethodInterceptor接口的实现类,重写intercept()方法,在此方法中调用需被增强业务方法。 通过Enhancer对象设置被代理类的字节码文件、回调方法。最终通过它获取代理

2022-04-18 14:55:43 451

原创 代理模式(静态代理,JDK动态代理)

定义:使用一个代理将对象包装起来,然后用该代理对象取代原始对象;任何对原始对象的调用都要通过代理;代理对象决定是否以及何时将方法调用到原始对象上。使用代理模式的目的保护目标对象。 增强目标对象。before()、after() 降低了系统的耦合度。弊端:降低了访问效率 。可通过加缓存缓解上述弊端:缓存已处理过的业务,当来了一个新的业务访问时,先看缓存中有没有,没有再调用被代理类的方法。静态代理代理类和被代理类在编译器就被确定。public class MyTest {

2022-04-17 15:42:19 219

原创 java反射

反射机制在运行时,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;在java中,只要给定类的名字,就可以通过反射机制来获得类的所有信息。java反射创建对象效率低于new创建对象。因为它要先找到类资源,使用类加载器创建。为什么需要反射java对象在运行时可以表现为两种类型,即编译时类型和运行时类型。 如Person p = new Student();,这行代码生成一个p变量,该变量在编译时为Person类型,运行时类型为Student。当

2022-04-16 20:19:38 89

原创 泛型类总结

为什么设置泛型java集合有个缺点,将对象丢进集合之后,集合就会”忘记“这个对象的数据类型,当再次取出该对象时,该对象的编译类型就变成了Object类型(其运行时类型没变)。java集合这样设计保证了很好的通用性,但也带来了下面两个问题。集合对元素类型没有任何限制,;当我们创建一个只保存Dog类型的对象,但程序也可以很轻易的就将Cat对象丢进去。所以可能引发异常。 由于把对象丢进集合时,集合丢失了对象的状态信息,只知道他盛装的是Object。因此取出集合元素后通常还需进行强智类型转换。这中强转既增

2022-04-16 15:58:57 100

原创 java异常总结

异常体系结构分类Error:系统级错误,是java运行环境内部错误,无法通过程序来处理这样的问题;除非退出程序,别无选择;常见的堆内存或方法去内存不够抛出OutOfMemoryError,java虚拟机栈内存不足抛出StackOverflowError。 Exception: checked:是编译器在编译时进行校验的;这种类型异常必须处理,通过throws语句或者try{}cathch{} 语句块来处理检测异常。编译器会分析哪些异常会在执行一个方法或者构造函数的时候抛出。 unchec

2022-04-16 12:21:10 141

原创 String类

StringString常用方法package stringTest;import java.util.Arrays;public class StringTest { public static void main(String[] args) { String str = "abcabcabc"; //返回指定索引处字符 char ch = str.charAt(0);//abcabcabc -----> a

2022-04-15 22:11:36 231

原创 java基础总结

这里写目录标题为什么java可以一次编写,到处运行java访问修饰符面向对象封装继承多态成员变量VS局部变量重写VS重载接口VS抽象类代码块static和final基本数据类型和包装类Object类为什么java可以一次编写,到处运行java访问修饰符面向对象封装继承多态成员变量VS局部变量重写VS重载接口VS抽象类代码块static和final基本数据类型和包装类Object类...

2022-04-15 16:29:44 60

原创 MySql总结(四)----事务

ACID四大特性原子性:数据事务是不可分割的工作单位,要么都执行成功,有一个不成功就撤销操作。 一致性:指事务将数据库从一种状态转变为另一种一致的状态。事务从开始到结束,数据库的完整性约束没有被破坏。例如银行转账:a给b转账500块,a若减少了500块,那么b就相应的增加500块,在这个过程中,钱的总数是没变的。 隔离性:每个读写十五的对象与其他事务的操作对象能相互分离,该事务提交前,其他事务不可见。 持久性:事务一旦提交,其结果是永久的,提交后数据保存到硬盘上。事务类型扁平事务:使用最为频

2022-04-14 21:16:03 705

原创 MySql总结(三)----索引

索引:帮助mysql高效获取数据的数据结构,对表中一列或多列进行排序的结果,相当于一本书的目录。mysql中索引存储类型:BTree、HASH。存储引擎mysql特有的一个术语,存储引擎是一个表存储/组织数据的方式,索引是在存储引擎中实现的,不同存储引擎,表存储数据方式不同。InnoDb存储引擎:支持事务,mysql默认存储引擎,只支持BTree索引。使用两个文件表示每个表:.frm文件:存储表结构的定义信息等。 .ibd文件:存储数据和索引相关信息。MYISAM存储引擎:不

2022-04-14 14:26:14 556

原创 mysql总结(二)----DML(增删改查语句)

select语句1.去除重复行:distinct例如:select distinct department_id from employees2.模糊查询:like %:代表不确定个数的字符 _:代表一个不确定字符 转义符:\ 例如:select last_name from employees where last_name like '_a%'3.排序:order by 升序(默认):asc 降序:desc例如:select * fro...

2022-04-14 11:08:10 340

原创 MySql总结(一)

为什么使用数据库数据保存在内存中:存储速度快,但不能永久保存。数据保存在文件:永久保存,但速度很慢(频繁的IO操作),查询数据不方便。数据保存在数据库中:永久保存,使用SQL语句查询方便,管理数据也方便。SQLsql:数据库查询语言,用于存储数据、查询、更新和管理关系数据库系统。SQL分类:DML:数据操作语言,增删改查(select、update、insert、delete)。 DDL:数据定义语言,定义数据库、表、试图、索引(create、alter、drop)。 DCL

2022-04-13 21:55:50 248

空空如也

空空如也

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

TA关注的人

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