自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA中7大设计原则

学习设计原则,学习设计模式的基础。在实际开发过程中,千万不能形成强迫症。碰到业务复杂的场景,我们需要随机应变。而且不是一定要求所有代码都遵循设计原则,我们要考虑人力、时间、成本、质量,不是刻意追求完美,要在适当的场景遵循设计原则,体现的是一种平衡取舍,帮助我们设计出更加优雅的代码结构。原文链接:https://blog.csdn.net/little__SuperMan/article/details/104596393。

2023-08-03 18:12:33 199

原创 Git简单指令介绍

​ (1) Changes to be committed : 它表示已暂存(Staged)但尚未提交(Committed)的更改​ (2)Changes not staged for commit:它表示存在已修改但尚未暂存的文件​ (3)Untracked files:它表示存在未跟踪的文件​ 这些文件都可以通过下面指定进行添加所有文件:具体看想提交的内容或者只提交一个目标文件提交后,Git会对当前的操作进行Hash计算,通过计算后的值将数据保存下来,保存的位置为版本库.git文件目录的ob

2023-07-18 10:45:24 128

原创 3.Redis常用的五大数据类型

​ String是redis最基本的类型,可以理解为与memcached一摸一样的数据类型,一个key对应一个value。​ String类型是二进制安全的。意味着Redis的string可以包含任何数据。比如jpg图片或者序列化对象。​ String类型是Redis最基本的数据类型,一个Redis中字符串value最多可以是512Mincrby/decrby <key> <步长>​ 1.单键多值。

2023-07-06 00:42:16 138

原创 2.Redis概述安装

​ 1.端口 6379 -> Merz(人名)​ 2.默认16个数据库,类似数组下标从0开始,初始默认使用0号库​ 3.使用命令select dbid 来切换数据库,如:select 8​ 4.统一密码管理,所有的库使用同样的密码。​ 5.dbsize 查看当前数据库key的数量​ 6.flushdb 清空当前库​ 7.flushall 通杀全部库Redis是单线程+多路IO复用技术​ 多路复用是指 使用一个线程来检查多个文件描述符(Socket)的就绪状态。

2023-07-06 00:13:04 91

原创 1.NoSql数据库简介

​ NoSQL(not only SQL),“不仅仅是SQL”,泛指非关系型数据库。NoSQL数据库不依赖业务逻辑方式存储,而以简单的key-value模式存储,因此大大增加了数据库的扩展能力。​ 1.不遵循SQL标准。​ 2.不支持ACID。​ 3.远超SQL性能。

2023-07-05 23:58:26 77

原创 12.Reids6应用问题解决

​ 一个一定是不存在的缓存以及在数据库中也查不到的数据,由于缓存时不命中时被动写的,并且处于容错的考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。​ 解决方案:​ (1)对于空值缓存:​ 如果一个查询返回的数据为空(不管是数据是否不存在),我们仍然把这个空结果(null)进行缓存,设置空结果的过期时间会很短,最长不会超过5分钟。

2023-07-04 10:30:45 42

原创 11.Redis集群

​ Redis集群实现了对redis的水平扩容,即启动N个redis节点,将整个数据库分布存储在这N个节点中,每个节点存储总数据的1/N。​ Redis集群通过分区(partition)来提供一定程度的可用性(availability):即使集群中有一部分节点失效或者无法进行通讯,集群也可以继续处理命令请求。​ 一个集群中至少有3个主节点。​ 分配原则尽量保证每个主数据库运行在不同的IP地址,每个从库和主库不在一个IP地址上。

2023-07-04 10:22:22 41

原创 10.Redis主从复制

​ 主机数据更新后根据配置和策略,自动同步到备机master/server机制,Master以写为主,slave以读为主。

2023-07-03 21:10:56 31

原创 9.Redis持久化之AOF

​ AOF (Append Only File) 以日志的形式来记录每个写操作(增量保存),将Redis执行过的所有指令记录下来(读操作不记录),只允许追加文件但不可以改文件,Redis启动之初会读取该文件重构数据,换言之,重启的话就根据日志文件内容将写指令从前到后执行一次以完成数据的恢复工作。

2023-07-03 14:17:28 44

原创 8.Redis6持久化之RDB

​ 在指定时间间隔内将内存中的数据集快照写入磁盘,也就是行话将的snapshot快照,它恢复时是将快照文件直到读到内存中。

2023-07-03 14:05:17 46

原创 7.Redis6的事务操作

​ Redis事务是一个单独的隔离操作:事务中所有命令都会序列化、按顺序执行。事务在执行过程中,不会被其他客户端发送过来的请求所打断。​ Redis事务的主要作用就是串联多个命令防止别的命令插队。

2023-07-03 14:00:33 32

原创 6.Redis新数据类型

​ 在工作当中,我们会经常用遇到与统计相关的功能需求,比如统计网站的PV(pageView页面访问量),可以使用Redis的incr、incrby轻松实现。​ 但像UV(UniqueVisitor,独立访客)、独立IP数,搜索记录数等需要去重和计数问题如何解决?求这种集合中不重复元素个数的问题成为基数问题。​ 解决基数问题很多方案:​ (1)数据存在Mysql表中,使用distinct count计算不重复元素的个数。

2023-07-03 12:41:44 32

原创 5.Redis的发布和订阅

redis发布和订阅。

2023-06-29 15:37:00 60

原创 JSTL标签

JSTL标签1.JSTL介绍​ JSTL(JavaServer Pages Standard Tag Library,JSP标准标签库)是一个JSP标签集合,它封装了JSP应用的通用核心功能。2.常用标签的使用(1).<c:if>标签jstl写判断 jstl表达式if语句,当test值为true则执行标签内容 <% char c='男'; if(c!='男'){ request.setAttribute("message","女"); }else{

2021-06-29 00:35:02 958 1

原创 EL表达式

EL表达式1.什么是EL表达式?是一种在JSP页面获取数据的简单方式(只能获取数据,不能设置数据)2.EL表达式语法(绑定名)如:(绑定名) 如:(绑定名)如:{username}; <!--数据绑定--> <% session.setAttribute("username","admin1"); request.setAttribute("username","admin2"); pageContext.setAttribute("username","admi

2021-06-29 00:32:32 876

原创 Servlet监听器

监听器1.什么是监听器?​ 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行。2.配置文件 <!--配置监听器--> <listener> <listener-class>common.ListenerCommon</listener-class> </listener>3.被监听的类被监听的类,需要实现一

2021-06-29 00:30:44 910 1

原创 Servlet过滤器

过滤器1.什么是过滤器?Servlet规定当中定义的一种特殊的组件,用来过滤(拦截)Servlet容器的调用过程,容器收到请求后,会先遇到过滤器,再调用后续的其他组件,例如Servlet;2.如何写过滤器?1.当一个类实现了Filter接口,那么这个类就是一个过滤器。2.在接口方法中,实现过滤处理逻辑(doFilter)3.在web.xml中配置过滤器(1)web.xml配置文件 <!--配置过滤器--> <filter> <filter-name&

2021-06-29 00:28:49 701 1

原创 Jsp (java server page)

Jsp (java server page)1.jsp是什么?sun公司制订的一种服务器端动态页面技术规范。注:a.虽然使用servlet也可以生成动态页面,但是过于繁琐(需要使用out.println语句输出),并且维护麻烦(要修改页面,就必须修改java代码)。所以sun才制订了jsp规范。b. jsp是一个以.jsp为后缀的文件,主要内容是html和少量的java代码。容器(比如tomcat)会将该文件转换成一个对应的servlet然后执行。c. jsp本质就是一个servlet!2.指

2021-06-29 00:22:24 430

原创 Servlet上下文

Servlet上下文1.什么是servlet上下文?​ 容器启动后会给 每一个web应用创建一个唯一的符合ServletContext接口要求的对象,该对象一般称为Servlet上下文,一个web应用对应一个上下文.2.特点​ 只要容器不关闭,上下文就一直存在。3.如何获取servlet上下文?​ Genericservlet提供了getServletContext()方法来获取上下文 //获取该对象的servletContext上下文 ServletContext sc=req.

2021-06-28 13:53:28 648

原创 Servlet状态管理

状态管理1.什么是状态管理​ 将浏览器与web服务器之间多次交互当作一个整体来处理并且将多次交互的所涉及的数据(状态)保存下来;2.如何进行状态管理a.Cookie技术​ 将少量数据(状态)保存在浏览器端b.Session技术​ 将数据(状态)保存在服务端(数据共享)3.什么是Cookie​ 服务器临时存放在浏览器的少量数据,将这些数据用来跟踪用户的状态;3.1Cookie的工作原理​ 当浏览器访问服务器时,服务器将少量的数据以set-cookie的形式发送给浏览

2021-06-28 13:51:53 552

原创 Servlet生命周期

Servlet生命周期1.什么是servlet生命周期​ servlet容器创建servlet对象,到servlet对象销毁这个过程称之为servlet生命周期。2.生命周期如下2-1:实例化​ a.什么时候实例化?​ 情况1:容器收到请求后创建servlet对象​ 情况2:启动容器之后立刻创建servlet对象(需要配置文件)​ 以上两种情况容器调用Servlet的构造器创建对象。​ b.创建了几个实例?​ 容器之创建了一个实例。

2021-06-28 00:37:21 2492 1

原创 转发和重定向

转发和重定向1.转发1.1什么是转发?​ 一个web组件将未完成得处理交给另外一个web组件继续做,web组件指得是jsp或者servlet,常见得场景是一个servlet获取处理结果之后交给一个jsp来展示。1.2如何转发?绑定数据到request对象:​ 1.通过HttpServletRequest提供得方法setAttribute(string name,object obj),​ name:一般称为绑定名 obj:一般称为绑定值​ 2.通过httpservl

2021-06-28 00:34:50 2493 1

原创 Servlet基础概念

Servlet基础概念1.什么是servlet​ Sun(Oracle)公司制定的一种用来 扩展Web服务器功能的组件规范.2.servlet如何来运行​ 需要部署到容器(服务器tomcat)中才能运行.3.HTTP协议​ 1.他是网络传输协议,特点:一次请求一次响应​ 2.数据包结构:请求(请求行,消息头,消息正文),响应(状态行,响应头,响应正文)4.开发Servlet的步骤① 编写一个实现Servlet接口或继承HttpServlet的Java类② 使用javac命令编译源文件

2021-06-28 00:31:50 2027 1

原创 数据的导出Excel表

数据的导出Excel表1.原理​ 点击前端页面的按钮函数,函数里面去调用后端对应对的请求地址,这个请求地址所对应的方法再去调用业务层,业务层再去持久层拿到数据,返回给控制层,控制层将数据封装为比特数组的格式返回给前端页面,供客户去下载。2.前端jsp页面<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-

2021-06-28 00:27:16 1976 1

原创 AJAX图片上传

AJAX图片上传1.原理​ 通过Ajax技术将文件名存入数据库,将文件内容存入后端服务器。用户下次去使用时,直接去调用文件存入后端服务器的路径和文件名的拼接,即可得到文件的完整路径。再利用javascrpt技术将这个完整的路径渲染到页面上即可。2.jsp前端页面<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><!DOCTYPE html PUBLI

2021-06-28 00:24:26 2170 1

原创 AJAX异步请求

AJAX1.什么是AJAX?• Asynchronous JavaScript and Xml 异步的JavaScript和Xml• AJAX是一种用来改善用户体验的技术,其实质是,使用XMLHttpRequest对象异步地向服务器发请求• 服务器返回部分数据,而不是一个完整的页面,以页面无刷新的效果更改页面中的局部内容1.ajax不是新的技术,是javascript,xml,XMLHttpRequest(xhr)的结合体,完成异步提交功能.2.同步提交:用户提交数据后,当前页面

2021-06-28 00:21:42 2264 1

原创 JSON演示

JSON介绍1…基本介绍JSON (Javascript Object Notation 声明)是一种轻量级的数据交换格式。1)数据交换将数据转换成一种与平台无关的数据格式然后发送给接收方来处理。2)轻量级JSON相对于xml,文档更小,解析速度更快。语法注:JSON借鉴了javascript的一些语法。1)表示一个对象{属性名:属性值,属性名:属性值…}注意:a.属性名必须使用双引号括起来。b.属性值可以是string,number,null,true/false,object

2021-06-28 00:15:03 1994 1

原创 Spring系统分层

Spring系统分层1.分层​ 控制层(表现层):数据展现和操作页面,接受请求和数据的返回​ 业务层(服务层):封装业务逻辑,​ 持久层(数据访问层):封装数据访问逻辑并持久存入数据库中2.各层之间的关系​ 1.控制层通过接口调用业务层的服务,业务层通过接口调用持久层的服务;​ 2.下一层的实现发生任何改变,只要接口不变,不会影响上一层。3.图示...

2021-06-28 00:05:57 2102

原创 Spring拦截器

Spring拦截器1.如何写拦截器​ 1.在java类中要实现Handlerinterceptor接口。​ 2.在接口方法里面,实现拦截处理逻辑。2.代码演示2.1Spring-Mvc.xml配置文件 <!--配置拦截器--> <mvc:interceptors> <mvc:interceptor> <!--被拦截的请求地址/**:拦截所有请求地址--> <mvc:mapping path="/**"/>

2021-06-27 23:36:46 1926 1

原创 spring容器解决post请求乱码和处理异常

spring容器解决post请求乱码和处理异常1.spring容器解决post请求乱码​ spring容器解决post请求乱码问题可以配置Spring提供的一个过滤器(CharacterEncodeingFilter)针对post请求有效。web.xml配置文档 <filter> <filter-name>filter</filter-name> <filter-class>org.springframework.web.filt

2021-06-27 23:34:59 2106

原创 Spring事务管理

Spring事务管理1.两种方式1.1方式一:结合springAOP实现事务管理<!--控制事务需要连接对象,所以要连接jdbc的事务--> <bean id="txMange" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="source"/> </bean> &l

2021-06-27 23:33:54 2421

原创 Spring整合Mybatis

Spring整合Mybatis1.Spring配置文件1.1配置数据库连接池 <!--读取文件--> <util:properties id="config" location="classpath:Config/db.properties"/> <!--配置数据库连接池--> <bean id="source" class="org.apache.commons.dbcp.BasicDataSource"> <prope

2021-06-27 23:30:04 2421

原创 Mybatis框架

Mybatis框架1.什么是Mybatis框架?​ MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。​ MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。​ MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口。2.Mybatis如何工作?​ 主要利用映射器(接口)和映射文件(sql语句)二者之间对数据库进行操作。3.使用Mybatis框架所需的jar包 <!-- mybatis -->

2021-06-27 23:24:36 2353

原创 SpringJDBC

SpringJDBC1.Spring JDBC是什么?​ Spring框架对JDBC的封装,对通常jdbc的api做了一些封装,调用这些方法时,不再需要考虑如何获取连接,关闭连接以及处理异常等。2.代码演示2.1:db.properties文件内容drivername=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/kungedbname=rootpassword=521125lycmaxActive=1maxWait=800

2021-06-27 23:18:48 2466

原创 Spring MVC

Spring MVC1.什么是SpringMVC?​ SpringMVC(Modle View Controller)是一个用来简化web开发的mvc框架,springMVC是spring框架的一部分,它是一种软件架构思想,其核心是一个软件划分为三种不同类型的模块,分别是模型,视图和控制器,其中模型用来封装业务逻辑视图用来处理表示逻辑,控制器(处理器)用来协调模型和视图,一般用java类充当模型,使用servlet充当控制器,jsp充当视图。使用MVC框架思想实现一个简单的计算BMI指数1.1B

2021-06-27 23:16:30 2530

原创 Aop面向切面

Aop面向切面1.AOP在spring中的作用​ 1.横切关注点:跨越应用程序多个模块的方法或者功能,即使与我们的业务逻辑 无关但是我们需要关注的部分就是横切关注点,例如日志,安全。缓存,事务等等;​ 2.切面(ASPECT):横切关注点,被模块化的特殊对象,也就是一个类;​ 3.通知(ADVICE):切面必须要完成的工作,也就是类中的一个方法;​ 4.目标(TARGET):被通知的对象;​ 5.代理(Proxy):向目标对象应用通知之后创建对象;​ 6.切入点(PointCut)

2021-06-27 23:09:13 2449 1

原创 代理模式说明

代理模式一.概念​ 代理模式就是AOP面向切面编程的底层原理,在不影响真实角色的情况下,代理角色为真实角色添加其他的功能。二.分类​ 1.静态代理 ​ 2.动态代理三.共有的角色说明​ 1.抽象角色:一般会使用接口或者抽象类来解决。​ 2.真实角色:被代理的角色;(实现抽象角色);​ 3.代理角色:代理真实角色:(实现抽象角色的条件下额外添加部分功能); ​ 4.客户角色:访问代理角色的人实例(租房)​ 1.抽象角色:租房​ 2.真实角色:房东​ 3.代理角色:中介​ 4.客

2021-06-27 23:08:00 2448

原创 Bean的作用域和生命周期

Bean的作用域和生命周期1.Bean的作用域(scope)1.1基础概念spring在默认情况下,其中Bean都是单例模式(默认都为单例scope=“singleton”),单例模式:容器中创建唯一的实例化,在软件中一个永远唯一的对象,称为单例。当scope=“prototype”(原型)就是多例模式,每次调用getBean()时,会创建对象,spring会创建多个实 例,也就是多例的。1.2单例模式1.Xml配置文件创建一个dog对象,并且是单例的<bean id="c" c

2021-06-27 23:05:40 2432 2

原创 自动注入与组件扫描

自动注入与组件扫描1.自动注入​ 1.spring为了简化,给我们提供了自动注入的功能:​ 2.当指定了autowire="byName"属性的时候,spring会根据Bean的属性(id)(对象的setXXX)来注入对象。​ 3.当指定了autowire="byType"属性的时候,spring会根据类型(class)来查找对应的对象;​ 以上都是set注入1.1XML配置文件 <bean id="cat" class="fyjz.com.Spring.Cat"/> &

2021-05-31 14:55:10 2595

原创 Spring基础概念

Spring基础概念1.什么是Spring?Spring是一个开源的用来简化开发的应用程序框架。1.1简化开发Spring对一些常用的API做了封装,简化了程序代码(例如使用Spring JDBC访问数据库)就不用考虑连接的获取和关闭。1.2解耦Spring帮助我们管理对象之间的关系,便于程序的维护。1.3集成可以集成其他的一些框架(例如:mybatis等)2.Spring容器​ Spring框架是一个核心模块用来管理对象的。​ 由于Spring中存储javaBean对象(就是符合

2021-05-31 14:49:49 2501 1

空空如也

空空如也

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

TA关注的人

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