自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一网打尽java注解-克隆-面向对象设计原则-设计模式

设计模式是指一套被反复使用,代码设计经验的总结。针对一些问题的解决方式,经过很长时间的修改打磨最终成为一种固定的模式。开闭原则:要求对扩展开放,对修改关闭里氏替换原则:不要破坏继承体系依赖倒置原则:要求面向接口编程单一职责原则:实现类职责要单一接口隔离原则:在设计接口的时候要精简单一迪米特法则:只与直接的朋友的通信合成复用原则:尽量使用聚合和组合的方式,而不是使用继承。

2023-08-23 10:29:08 1635 1

原创 工厂模式并不难理解

工厂方法模式与简单工厂模式不同的是:方法工厂模式会为每一个类创建一个工厂,用的时候就会创建自己对应的工厂,通过对应的工厂创建对象;再创建一个总工厂,就是对工厂的抽象。左图中商务一套搭配属于同一族,右边运动服属于一族,右边的外套和左边的外套属于不同组的同一个等级,右图中的上衣,裤子,鞋是同族的不同等级产品。是为访问类提供一个创建一系列相关或相互依赖对象的接口,无需指定他们具体的类,就能得到同族的不同等级的产品。简单工厂模式中,一旦需要大规模的添加新的创建对象时需要修改工厂的逻辑,违背开闭原则,不方便使用。

2023-08-21 20:58:02 339 1

原创 B树和B+树&MySQL为什么用B+树?

B树也称为B-树,是一颗多路平衡查找树。描述B树的时候需要确定它的阶数,阶数表示一个节点最多可以有几个孩子,一般用m表示。当m=2时,就是二叉搜索树。每个结点最多有m-1个关键字。根结点可以只有一个关键字。非根节点中至少有Math.ceil(m/2)-1个关键字。每个节点中的关键字都按照从小到大的顺序排列,每个关键字的左子树中的值都小于它,每个右子树的值都大于它。所有叶子节点都位于同一层。

2023-08-19 14:49:34 725

原创 阻塞IO、非阻塞IO和IO多路复用

当内核进程访问数据没有准备好时,立即返回一个失败信息,告诉用户进程没有准备好,用户进程不断的重新调用数据,也就是不断的问内核准备好了没有,在这段时间内核在后台会持续尝试将硬件上的数据读取到缓冲区。直达某一刻,数据准备好了,也到达内核了,访问不在报错,尝试拷贝并返回数据。先调用select函数,select内部可以接收多个fd,也就是可以吧每个客户端的Socket对应的FD都可以传给select函数,然后传入到内核,内核检查这些FD是否有准备就绪的,只要有一个准备就绪的,就调用recvfrom函数处理。

2023-08-17 14:50:35 273

原创 Redis知识点

主从模式很好地解决了数据备份问题,并且由于主从服务数据几乎是一致的,因而可以将写入数据的指令发送给主机执行,读取数据的指令发送给不同的从机执行,达到读写分离。随着互联网 web2.0 网站的兴起,传统的关系数据库在处理 web2.0网站,特别是超大规模和高并发动态网站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。哨兵模式的核心还是主从复制,是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。

2023-08-13 22:23:43 351

原创 MySQL高阶知识点

索引就是一个排好序的快速查找的数据结构。数据库除存储数据本身之外,还维护着一个满足特定查找算法的数据结构,这些数据结构以某种方式指向数据,这要就可以在这些数据结构的基础上实现高级查找算法,这种数据结构就是索引。左边是数据表,一共两列七行记录,最左边表示数据记录的地址,为了加快Col2的查找速度,可以维护一个右边所示的二叉查找树,每个节点分别包含索引键值和一个执行对应数据记录物理地址的指针,这样就可以运用二叉查找在一定的复杂度内获取到响应数据,而快速的检索出符合条件的记录。

2023-08-11 11:30:55 401

原创 Spring MVC&Spring Boot

M——Model模型:完成业务逻辑,由JavaBean构成,service + dao+entityV——view视图:看到的页面C——Controller控制器:接收请求、调用模型当一个请求发送过来之后,会先到到Controller控制层,控制层在交给Model模型层处理,Model层处理完成之后,返回处理结果给Controller层,在通过View视图层渲染后相应给用户。

2023-08-07 12:22:45 716

原创 spring总结

如果Bean对象是singleton单例Bean时,在Spring在创建Bean的时候会有将Bean对象存入一个Map集合中,在集合中以Bean的名称为key,在后续程序中有使用到该bean的时候直接从集合中获取,以达到单例bean的效果。Bean的配置是将Bean组装在一起,前提是需要知道Bean的依赖关系。在Spring框架中,在配置文件中设定Bean的依赖关系是一个很好地机制,Spring容器能够自动配置相互合作的Bean,这意味着容器不需要手动配置,能通过Bean工厂处理Bean之间的协作。

2023-08-04 21:34:20 1690

原创 Spring Bean的生命周期

在选择了构造方法之后,就会准备构造方法需要的参数,会在单例池中根据参数class类进行查找,如果根据类没有找到,就会根据参数名继续查找,如果没有找到就会报错。通过“加载Bean定义”LoadBeanDefinition方法,用“xml,注解扫描”等各种方式,找到程序中定义的Bean,并放入到容器中的一个“Bean定义集合”BeanDefinitionMap中,有了这些BeanDefinitionMap“Bean定义的集合”之后,容器就可以遍历这个集合,通过creatBean方法创建每一个Bean对象。

2023-08-03 12:13:54 684

原创 动态代理(以外卖为例)

System . out . println("吃");我们只想要吃饭也就是执行eat()方法,但是在吃饭之前我们需要做饭,盛饭等一些复杂操作,如果直接在eat方法里面添加做饭盛饭的代码(称为侵入式),这种方式在实际开发中可能会破坏源代码,我们此时就会需要代理(也就是外卖),也就是将做饭,盛饭这些事情都交由外卖这个代理,我们只需要吃就行。

2023-08-01 21:23:51 166

原创 java线程&多线程并发

wait和notify必然是成对出现的,如果一个线程wait后必然需要另一个线程通过notify进行唤醒,从而达到线程之间的通信,在多线程中要实现多线程之间的通信除了使用管道流外只能使用共享变量的方法实现,也就是说线程t1访问和修改共享变量s,线程t2获得修改后的共享变量s,从而完成多线程的通信,但是多线程本身具有并行执行的特性,也就是说同一个时刻多个线程同时执行,这种状态下线程t2在访问共享变量s时必须知道s是否已经被修改,否则需要等待。不同的进程使用不同的内存空间,而所有的线程共享一片相同的内存空间。

2023-06-07 20:53:42 685

原创 java基础知识点复习①

java是一门开源的面向对象的编程语言,具有面向对象的封装、继承、多态的特点。封装:将类的某些信息隐藏起来,只提供特定的方法来访问或修改这些隐藏信息,从而防止直接操作类中的某些属性。是通过访问权限修饰符来实现封装的,public——protected——default——private访问权限依次减小,封装多使用private关键词修饰属性或者方法。封装可以提高代码的安全性、将内部实现封装起来提高代码的复用。

2023-04-21 20:34:07 711 1

原创 系统分析*

表示一个类对象使用另外一个类对象的信息和服务,被使用对象的变化可能会影响到使用对象。系统分析:运用一定的方法,把复杂的对象分解成简单的组成部分,找出这些部分的基本属性和彼此之间的关系。表示一个类对象使用另外一个类对象的信息和服务,被使用对象的变化可能会影响到使用对象。类图:用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解。类图七个元素:类、接口、协作、依赖关系、泛化关系、关联关系以及实现关系。关联关系:对象之间结构关系。用例图描述系统外部的执行者与系统的用例之间的某种联系。

2023-02-19 17:57:24 410

原创 系统设计*

*最大的优势是:将整体问题局部化,把可能的变化分别分装在不同的层中,保持层间的松耦合。软件架构的意义:就是要将可逻辑划分的部分独立出来,用约定的接口和协议将他们有机的结合在一起,形成职责清晰、结构清晰的软件结构。模型接受控制层请求的数据,并返回最终的处理结果给控制层,最后提交给相应的视图进行显示。主要任务:依据系统分析报告,考虑信息系统实现环境,通过对IS逻辑模型的理解和细化,确定出IS的设计模型。提高数据的全局一致性、系统的整体性,减少因数据不一致而造成的错误。可以节省计算机的存储空间,提高运算速度。

2023-02-19 17:57:04 354

原创 并发编程底层原理

例如在买票和秒杀这种大量线程同时访问一个共享资源时,通过编程实现线程依次对共享资源进行访问。缓存导致不可见问题,编译优化导致无序问题,线程切换导致非原子问题。

2023-02-19 08:30:00 705

原创 系统规划*

why:为什么做企业信息化战略规划?what:企业信息战略规划的内容是什么?who:有谁来做企业信息化战略的工作?when:什么时机和条件下进行企业信息化战略规划?how:如何进行企业信息化战略规划?

2023-02-15 19:00:40 194

原创 信息系统基本知识1

数据:记录客观事物的性质、形态、数量特征的抽象符号。信息:数据经过加工处理后由特定含义的,对决策有价值的结果。系统是处于一定的环境中,为达到某种目的、由相互联系,相互作用的多个元素有机集合而成的,能够执行特定功能的综合体。≥两个要素组成,要素是系统最基本单位。要素之间存在有机联系任何系统都有特定功能信息系统是一个人造复合系统。由人、硬件、软件和数据资源、通信与网络设备组成。目的是为了及时正确的收集、加工、存储、传递和提供信息实现对组织中各项活动的管理、调节、和控制,并未组织目标服务的综合系统。

2023-02-15 16:17:14 2619 4

原创 JVM——垃圾回收

java语言和C++语言的区别,就在于垃圾收集技术和内存动态分配上,C++语言没有垃圾收集技术,需要开发人员手动的收集。垃圾收集并不是java的产物。垃圾回收的三大经典问题:那些内存需要回收?什么时候回收?如何进行回收?垃圾是指运行程序中没有任何引用指向的对象,需要被回收。

2023-02-14 07:45:00 2186 1

原创 JVM(Java Virtual Machine)基础知识

就是一台虚拟计算机,它是一款软件,用来执行虚拟的计算机指令。虚拟机可以分为两类:系统虚拟机和程序虚拟机。VMware就属于系统虚拟机。物理的模拟了一个可以操作的操作系统平台。Java虚拟机就是一个程序虚拟机。它是为执行某个单个程序的而设计的。Java虚拟机中执行的指令我们称之为Java字节码指令。Java虚拟机是执行Java字节码文件的,可以独立运行。Java虚拟机是Java技术的核心,因为所有的Java程序都是在Java虚拟机中运行。程序计数器,java栈,本地栈是线程私有的。

2023-02-08 14:30:00 2027

原创 ArrayList源码解析与相关知识点

ArrayList底层源码进行解析,在加上自己的一点理解

2022-12-13 23:08:47 681

原创 JDBC最简单的使用

JDBC概述JDBC搭建PreparedStatement 和Statement结果处理

2022-10-25 20:21:33 884

原创 多表设计和关联查询

多表设计表设计原则数据库设计范式第一范式:确保每一列保持原子性第二范式:要有主键,其他字段都依赖于主键第三范式:消除传递依赖,即“消除冗余”什么是外键,外键的作用添加外键关联查询连接条件的分类内连接外连接

2022-10-21 19:23:27 759

原创 Spring事务处理以及集成Mybatis

事务处理什么是事务事务的作用什么时候用到事务spring事务管理配置事务管理器注解方式失效情况Spring事务传播行为事务处理什么是事务事务是指一组sql语句的集合,集合中有多条sql语句肯能是insert、update、select,我们希望这些所有的sql语句都成功,或者都失败。属于数据库的特性。事务的四大特性:原子性、隔离性、持久性、一致性事务的作用保证用户的每一个操作都是可靠的,事务中的每一步操作都必须成功执行,只要有发生异常就回退到事务开始未进行操作的状态...

2022-08-24 15:00:00 294

原创 AOP基础知识了解

AOP面向切面编程的术语:切面的三个关键要素AOP的实现基于AspectJ的xml配置方式实现基于注解方式的实现AOP 为的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP 是 OOP 的延续,是软件开发中的一个热点,是 java 开发中的一个重要内容。利用 AOP 可以对业务逻辑和非业务逻辑进行隔离,从而使得各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。......

2022-08-22 11:30:00 322

原创 Spring JDBC

Spring JDBCSpring自身提供了控制层的SpringMVC和持久层的SpringJdbcTemplate,主要使用其中的事务管理功能。开发步骤

2022-08-20 09:45:00 104

原创 Spring入门知识以及项目搭建与依赖注入

Spring基础知识了解什么是Spring?Spring的特点Spring的体系结构什么是IOC?项目搭建依赖注入(di)基于XML的di引用类型的自动注入byName(按名称注入)byType(按类型注入)使用多配制文件基于注解的di使用注解的步骤:常用的注解:注解与xml配置文件对比Spring基础知识了解Spring官网:https://spring.io/什么是Spring? 耦合度是什么?就是一块布与一身衣服的区别...

2022-08-20 09:15:00 112

原创 Mybatis中的动态SQL和缓存

Mybatis中的动态SQLifwheretrimchoosesetforeach特殊符号的处理Mybatis的缓存为什么使用缓存一级缓存二级缓存

2022-08-17 08:15:00 283

原创 Mybatis中的传参以及增删改查

Mybatis中的传参以及增删改查Mybatis中的参数传递单个参数直接传递传递多个参数Mybatis中写新增案例#{}和${}的区别#{}占位符${}拼接符Mybatis中写修改Mybatis中写删除Mybatis中写查询多张表关联查询时Mybatis中写一对多查询Mybatis中写嵌套查询Mybatis中注解方式书写增删改查...

2022-08-14 17:45:00 879

原创 框架&Mybatis的基础了解

框架&Mybatis的基础了解1.三层架构是什么使用三层架构的好处:2.常用的框架ssm3.什么是框架4.什么是Mybatis框架5.Mybatis环境搭建

2022-08-11 12:15:00 79

原创 Maven快速入门

Maven简介及其安装和配置

2022-08-08 08:30:00 89

原创 SQL——DQL

SQL——DQL的基础语法

2022-08-06 13:20:22 577

原创 SQL——DML

SQL中的DML语句及其使用方法

2022-08-06 13:09:07 137

原创 Spl__DDL

结构化查询语言(Structured Query Language)简称安SQL,也是一种编程语言,是一种数据库查询和程序设计语言,用于存取以及查询、更新和管理数据库系统。SQL优点:①不是某个特定数据库供应商专有的语言,几乎是所有BDMS都支持SQL;②简单易学;③强有力的语言,灵活使用可以进行非常复杂和高级的数据库操作。SQL分为三部分:DDL 、 DML 、 DQL。**mysql语法规范:**①不区分大小写,建议关键字大写,表名,列明小写。② 每句话用“;“结束。单行注释:-- (两个杠杠后面加

2022-07-12 08:02:35 400

原创 MySql安装

文章目录数据库我们为什么需要学习数据库?什么是数据库?数据库的相关概念根据不同的存储类型可以分为安装mysql为root账号设置密码安装客户端工具——SQLyog数据库数据库:专业存储数据的软件,里面数据存储是有一定的规则的,可以使用数据库操作语言sql,实现方便,实现方便,高效的数据管理(增,删,改,查)。我们为什么需要学习数据库?在java中当我们需要将数据保存时,需要借助IO向外输出数据;数据库可以实现数据持久化到本地(java程序中产生的数据在对象中存储,而对象在内存中存储)为了方便高效的

2022-05-20 00:15:35 407

原创 java——泛型

文章目录泛型泛型类从泛型类派生子类泛型接口泛型通配符(?)无边界的通配符<?>上边界的通配符<? extends E>下边界的通配符<? super E>类型擦除泛型泛型:只存在编译期间泛型:是指将"类型参数化",就是将参数类型也定义为变量

2022-05-07 22:27:21 41

原创 集合(二)

集合集合体系结构:ArrayList添加元素的过程及扩容机制?ArrayList和LinkedList的区别?HashMap的底层实现原理?HashMapMap遍历方式1Map遍历方式2Collections类

2022-04-29 20:39:50 476 1

原创 Java SE 线程总结

线程程序,进程,线程线程和进程的关系创建线程继承Thread类的方式实现Runnable接口实现Callable接口的方式.Thread类中的方法线程的优先级线程的状态线程的分类多线程多线程的概念什么时候需要用多线程多线程的缺点多线程的优点并行与并发线程同步同步锁synchronized多线程买火车票问题Lock(锁)线程死锁线程通信经典例题:生产者/消费者问题

2022-04-26 18:17:27 279

原创 网络编程小结

java网络章节总结

2022-04-14 18:10:58 1309

原创 面向对象最基础知识点

面向对象什么是面向对象?

2022-04-13 20:08:14 193

原创 IO流章节总结

文章目录File类输入及输出的概念字节流与字符流输入输出节点字节流节点流与处理流输入输出节点字符流Print流对象输入输出流对象序列化与反序列化File类file类是java.io下的一个重要的类,直接继承Object类,实现了Serializable和ComparableFile类的对象可以表示文件,还可以表示目录,在程序中的一个File类对象可以代表一个文件或目录;import java.io.File;import java.io.IOException;public class Fil

2022-04-08 17:04:49 395

空空如也

空空如也

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

TA关注的人

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