自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leecode---盛最多水的容器

因为水桶的短板效应,所以我们只需保留较高的那一个高继续和下一个高进行组合,才有机会获得更高的容器高度,所以当左指针对应的数比右指针对于的值要大的时候,将左指针像右边移动一位,反之,则将右指针像左移动一位,因为不管是左指针右移,还是右指针左移,容器的长度都是固定减小的,所以容器的长度是始终递减的,所以当左右指针相遇的时候,所有情况中面积最大的就是盛水量最多的了。题目描述:给定一个长度为 n 的整数数组 height。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

2024-02-21 14:50:11 324

原创 ElasticSearch入门

ElasticSerach是一个分布式,高性能,高可用,可伸缩,RESTful 风格的搜索和数据分析引擎。2.3:高可用:提供复制机制,一个分片可设置多个复制,使得服务器宕机时集群可照常运行。agg_type: 聚合的类型(例如, ‘terms’,‘avg’ 等)。Range Aggregation(范围聚合):按字段的值划分为不同的范围。Average Aggregation: 计算字段的平均值。get 和 lte :大于等于和小于等于的范围条件。Sum Aggregation: 计算字段的总和。

2024-01-17 14:49:16 526

原创 spring Data Elasticsearch入门

描述: Spring Data Elasticsearch 项目提供了与Elasticsearch 搜索引擎的集成。Spring Data ElasticSearch 的关键功能领域是以POJO为中心的模型,用于与Elastichsearch 文档交互并轻松编写Repository样式的数据访问层。其中字段上的 @Field 注解的 FieldAnalyzer ,是定义的枚举类。FieldAnalyzer.IK_SMART ---- 会做最粗粒度的拆分。rest:通过HTTP API 方式访问ES。

2024-01-12 14:23:19 482

原创 四数之和java版

在确定第一个数之后,如果nums[i] + nums[n-3] + nums[n-2] + nums[n-1] < target ,代表第一个数与数组中的三个最大数之和都小于目标值了,则说明后面剩下的三个数无论取什么值,四数之和一定小于target,则需要进入下一轮循环,枚举nums[i+1];在确定前两个数之后,如果nums[i] + nums[j] + nums[j+1] + nums[j+2] > target ,说明剩下的两个数,无论取什么值,四个数之和一定会大于taret,因此退出第二层循环;

2023-11-24 11:34:29 472

原创 三数之和 Java版

题目描述:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 请你找出所有和为 0 且不重复的三元组。第四步:移动指针,由于目前数组已经有序了,如果值大于0 则大的数小一些即可,右指针左移,反之小于0左指针右移。第二步:创建左右两个指针,循环数组,将i的位置的值,当作是我们自己,左右指针分别指向两个队友(两个数)。为了后续操作做准备。输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]

2023-11-24 11:21:36 403

原创 力扣刷题,两数之和

第二次便利4 6 - 4 = 2,判断map,发现key有2,则直接返回结果作为key的map对应的value也就是0下标,第二个就是本次便利的i=4的下标1。第一次便利2 6 - 2 = 4 ,判断map里没有4这个key,我们把i的值2放进map里key为值,value为下标。解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。输入:nums = [2,7,11,15], target = 9。输入:nums = [3,2,4], target = 6。

2023-11-24 11:13:46 373

原创 Spring-MVC

一。Spring与Web环境集成1.1ApplicationContext应用上下文获取方式应用上下文对象是通过ClasspathXmlApplicationContext(spring配置文件) 方式获取的,但是每次从容器中获得Bean时都要编写new ClasspathXmlApplicationContext(spring配置文件) ,这样的弊端是配置文件加载多次,应用上下文对象创建多次。在Web项目中,可以使用ServletContextListener监听Web应用的启动,我们可以在Web应

2022-05-17 09:40:26 175

原创 spring

一。概述1.Spring是分层的java SE/EE应用full-stack轻量级开源框架,以loC(反转控制)和AOP(面向切面编程)为内核。提供了展现层SpringMVC和持久层Spring JDBCTemplate以及业务层事务管理等众多企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的java EE企业应用开源框架。2.Spring的优势1.方便解耦,简化开发2.AOP编程的支持3.声明式事务的 支持4.方便程序的测试3.spring程序开发步骤1)导入s

2022-05-17 08:41:38 139

原创 MyBaties

1.Mybatis概念:mybatis 是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。2.MyBatis开发步骤①添加MyBatis的坐标②创建user数据表③编写User实体类④编写映射文件UserMapper.xml⑤编写核心文件SqlMapConfig.xml⑥编写测试类3.编写UserMapper映射文件<?xml version="1.0" enc

2022-05-16 10:24:29 88

原创 redis

一Redis的基本介绍1.概念: redis是一款高性能的NOSQL系列的非关系型数据库,它是用C语言开发的一个开源的高性能键值对(key-value)数据库2.NOSSQLA和关系型数据库比较优点:1)成本:nosql数据库简单易部署,基本都是开源软件,不需要像使用oracle那样花费大量成本购买使用,相比关系型数据库价格便宜。2)查询速度:nosql数据库将数据存储于缓存之中,关系型数据库将数据存储在硬盘中,自然查询速度远不及nosql数据库。3)存储数据的格式:nosql的存储格式是key

2022-04-01 10:47:25 88

原创 Ajax&Json

1.概念:是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术同步响应:客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作。异步响应: 客户端不需要等待服务器端的响应。在服务器处理请求的过程中,客户端可以进行其他的操作。2.实现方式:Ajax: $.ajax({ url:"ajaxServlet1111" , // 请求路径 type:"POST" , //请求方式 //dat

2022-04-01 09:34:06 113

原创 JQuery高级

1.动画1.三种方式显示和隐藏元素1.默认显示和隐藏方式1. 三种方式显示和隐藏元素1. 默认显示和隐藏方式1. show([speed,[easing],[fn]])1. 参数:1. speed:动画的速度。三个预定义的值(“slow”,“normal”, “fast”)或表示动画时长的毫秒数值(如:1000)2. easing:用来指定切换效果,默认是"swing",可用参数"linear"* swing:动画执行时效果是 先慢,中间快,最后又慢* linear:动画执行时速度是匀速

2022-03-28 10:44:45 67

原创 JQuery初级

概念:一个javaScript框架。简化js开发*jQuery是一个快速 简洁的javaScript框架一.JQuery对象和js对象区别与转换1.JQuery对象在操作时,更加方便2.JQuery对象和js对象方法不通用的。3.两者互相转换jq转化为js:jq对象【索引】或者jq对象jq对象.get(索引)js转换为jq:$(js对象)二.基本操作学习事件绑定//1.获取b1按钮$("#b1").click(function(){alert(“abc”);});2. 入口函

2022-03-28 10:38:16 78

原创 javaWeb的三大组件

1.概念. 概念:* 生活中的过滤器:净水器,空气净化器,土匪、* web中的过滤器:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。* 过滤器的作用:* 一般用于完成通用的操作。如:登录验证、统一编码处理、敏感字符过滤…2.实现过程:1. 定义一个类,实现接口Filter2. 复写方法3. 配置拦截路径1. web.xml2. 注解// An highlighted blockvar foo = 'bar';@WebFilter("/*")//访问所有资源之

2022-03-28 10:00:01 171

原创 EL表达式入门学习

一。概念:表达式语言作用:替换和简化jsp页面中java代码的编写语法:¥{表达式}注:就是怕默认支持el表达式。如果要忽略el表达式1. 设置jsp中page指令中:isELIgnored=“true” 忽略当前jsp页面中所有的el表达式2. ${表达式} :忽略当前这个el表达式二。el表达式的使用运算:* 运算符:1. 算数运算符: + - * /(div) %(mod)2. 比较运算符: > < >= <= == !=3. 逻辑运算符: &

2022-03-04 19:25:50 167

原创 JSP框架入门学习

一.概念:Java Server Pages: java服务器端页面* 可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码。二.原理:JSP本质上就是一个Servlet三.jsp脚本:jsp定义java代码的方式<%代码%>:定义Java代码,在service方法中。service方法中可以定义什么,该脚本就可以定义什么。<%!代码%>:定义的Java代码,在jsp转换后的java类的成员位置、<%=代码%>:定义的java代码

2022-03-04 19:21:01 1753

原创 Session会话技术

1.概念:服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象中,Session的实现是依赖于Cookie的。。2.使用方法:1.获取HttpSession对象:HttpSession session=request.getSession();2.使用HttpSession对象Object getAttribute(String name)void setAttribut(String name,Object value)void removeAttribute(Str

2022-03-04 17:43:15 206

原创 会话技术Cookie

概述:会话:一次会话中包含多次请求和响应。* 一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止.功能:在一次会话的范围内的多次请求间,共享数据方式:1. 客户端会话技术:Cookie2. 服务器端会话技术:Sessioncookie:1.概念:客户端会话技术,将数据保存到客户端2.使用步骤1.创建Cookie对象,绑定数据*new Cookie(String name,String value)2.发送Cookie对象*response,addCookie(

2022-03-04 17:28:21 149

原创 图书管理系统(重构版)

理系统项目前提项目说明项目内容项目的开发接口实体类设计模式开发遇到的Bug调试开发后的经验项目前提【项目前提】 掌握java基本语法 熟悉使用流程控制 理解面向对象思想 熟练封装,继承,多态 熟悉使用接口,异常 熟悉使用集合 熟悉掌握I/o流相关操作 熟悉数据库操作 了解三层架构和常用设计模式 熟悉使用Git工具项目说明 长期以来,人们使用传统的人工方式管理图书馆的日常业务,其操作流程比较烦琐。在借书时,读者首先将要借的书和借阅证交给工作人

2022-01-04 14:38:08 263

原创 HLML课堂笔记

HTML概述web概念概述B/S架构详解HTML概述插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入web概念概述javaWeb:使用java语言开发基于互联网的项目软件架构:1.C/S:客户端/服务器端例如:QQ,迅雷…优点:1.用户体验好缺点:1.开发,安装,部署,维

2021-12-29 19:25:06 603 1

原创 Git的基本操作

一。环境配置设置用户信息:git config --global user.name “itcast” //设置用户名git config --global user,email “hello@itcast.cn”二。查看配置信息git config --list //查询所有配置信息git config user.name //查询用户名信息git config user。email //查询用户邮箱信息二。本地仓库操作命令1.查看文件git status -s(去掉-s

2021-11-30 16:02:23 135 1

原创 设计模式——责任链模式

责任链模式:责任链模式定义:也叫职责链模式,为请求创建一个接受者对象的链,使多个接受者都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些接受者连成一条链,并沿着这条链传递该请求,不保证一定有接受者处理该请求。使用场景:1.多个对象可以处理一个请求,但是今天哪个对象处理请求在运行时确定。2.可动态指定一组对象处理请求,或者添加新的处理者。3.需要在不明确指定请求处理者的情况下,向多个处理者中的员工提交请求。Handler 抽象处理者角色定义一个处理请求的接口,包含抽象处理方

2021-11-26 10:31:32 398 2

原创 设计模式----观察者模式

观察者模式定义:观察者模式(发布-订阅模式),属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知属于的观察者对象,使他们能够自动更新自己。1.Subject:抽象主题(抽象被观察者),抽象主题角色把所有观察者对象保存在一个集合里,每个主题都可以有任意数量的观察者,抽象主题提供一个接口,可以增加和删除观察者对象。2.ConcreteSubject:具体主题(具体被观察者),该角色将有关状态存入具体观察者对象,在具体主题的内部状态

2021-11-26 10:04:02 157

原创 设计模式-----装饰器模式

定义与特点:装饰器模式的定义:只在不改变现有对象结构的情况下,动态地个该对象增加一些职责(即增加额外功能) 的模式,他属于对象结构型模式。特点:1.装饰器是继承的有力补充,比继承灵活,在不改变原有对象的 情况下,动态的给一个对象扩展功能,即插即用。2.通过使用不用装饰类及这些装饰类的排列组合,可以实现不同效果3.装饰器模式完全遵守开闭原则主要缺点是:装饰器模式会增加许多子类,过度使用会增加程序的复杂性装饰器模式的结结构与实现:结构:1.抽象构件角色:定义一个抽象接口一规范准备接收附近责任的

2021-11-25 17:47:36 259

原创 设计模式----代理模式

代理模式:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。代理模式的优点:1.职责清晰:具体角色是实现具体的业务逻辑,不用关心其他非本职责的事务,通过后期的代理完成一件事务,代码清晰。在某种情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象可以在客户类和委托对象之间起到中介的作用,起特征是代理类和委托类实现相同的接口2.高扩展性:具体主题角色随时会发生变化,但是只要实现了接口,接口不变,代理类就可以不做任何修改继续使用,符合“开闭原则”。另外,代理类除了是客户类

2021-11-25 17:11:07 357 1

原创 设计模式----抽象工厂模式

抽象工厂(AbstractFactory)模式的定义:是一种访问类提供一组相关或相互依赖对象的接口,且访问类无需指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。使用抽象工厂模式一般要满足以下条件:1.可以在类的内部对产品族中相关联的多等级产品共同管理,而不必专门引入多个新的类来进行管理。2.当需要产品族时,抽象工厂可以保证客户端始终只使用同一个产品的产品组。3.抽象工厂增强了程序的可扩展性,当增加一个新的产品族时,不需要修改原代码,满足开闭原则。缺点::当产品族中需要增加一个新的产品时

2021-11-25 16:11:05 72 1

原创 设计模式---工厂模式

工厂模式工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。工厂模式分为三类:1.简单工厂模式(Simple Factory)2.工厂方法模式(Factory Method)3.抽象工厂模式(Abstract Factory)简单工厂其实不是一个标准的的设计模式。GOF 23 种设计模式中只有「工厂方法模式」与「抽象工厂模式」。简单工厂模式可以看为工厂方法模式的一种特例,为了统一整理学习,就都归为工厂模

2021-11-24 19:52:13 286

原创 单例模式简述

一。单例模式单例模式是设计模式中最简单的模式之一。通常,普通类的构造函数是公有的,外部类可以通过“new 构造函数()”来生成多个实例。但是,如果将类的构造函数设为私有的,外部类就无法调用该构造函数,也就无法生成多个实例。这时该类自身必须定义一个静态私有实例,并向外提供一个静态的公有函数用于创建或获取该静态私有实例。单例模式的优点:1.单例模式可以保证内存里只有一个实例,减少了内存的开销2.可以避免对资源的多重占用3.单例模式设置全局访问点,可以优化和共享资源的访问单例模式的缺点:1.单例模式

2021-11-24 15:39:53 117

原创 三层架构的基本介绍

1.什么是三层架构图解:2.分为哪是三层UI(表现层): 主要是指与用户交互的界面。用于接收用户输入的数据和显示处理后用户需要的数据。BLL:(业务逻辑层): UI层和DAL层之间的桥梁。实现业务逻辑。业务逻辑具体包含:验证、计算、业务规则等等。DAL:(数据访问层): 与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交给业务层,同时将业务层处理的数据保存到数据库。(当然这些操作都是基于UI层的。用户的需求反映给界面(UI),UI反映给BLL,BLL反映给DAL,DAL进行

2021-11-24 10:28:36 154

原创 Apache-DBUtils实现CRUD操作

一。Apache-DBUtils简介commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。API介绍:org.apache.commons.dbutils.QueryRunnerorg.apache.commons.dbutils.ResultSetHandler工具类:org.apache.commons.dbutils.DbUtil

2021-11-23 17:30:53 441

原创 数据库连接池

一。JDBC数据库连接池的必要性在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤:在主程序(如servlet、beans)中建立数据库连接进行sql操作断开数据库连接这种模式开发,存在的问题:普通的JDBC数据库连接使用 DriverManager 来获取,每次向数据库建立连接的时候都要将 Connection 加载到内存中,再验证用户名和密码(得花费0.05s~1s的时间)。需要数据库连接的时候,就向数据库要求一个,执行完成后再断开连接。这样的方式将会消耗大量的资

2021-11-23 17:27:15 89

原创 Blob类型&数据库事务

JDBC操作MySQL BLOB类型批量插入数据库事务MySQL BLOB类型一。特点1.MySQL中,BLOB是一个二进制大型对象,是一个可以存储大量数据的容器,它能容纳不同大小的数据。2.插入BLOB类型的数据必须使用PreparedStatement,因为BLOB类型的数据无法使用字符串拼接写的。3.MySQL的四种BLOB类型(除了在存储的最大信息量上不同外,他们是等同的)4.实际使用中根据需要存入的数据大小定义不同的BLOB类型。5.如果存储的文件过大,数据库的性能会下降。6.如

2021-11-23 16:58:04 1697

原创 PreparedStatement的使用

1.PreparedStatement介绍可以通过调用 Connection 对象的 preparedStatement(String sql) 方法获取 PreparedStatement 对象2.PreparedStatement的使用获取connection连接方法:@Test public void getConnection() throws Exception { //1.加载配置文件 InputStream is = ClassLoader.get

2021-11-19 10:25:53 1257

原创 JDBC的基础操作

1.JDBC的基础介绍数据库——JDBC——java关系图,程序使用一套标准的JDBC接口可以大大提高程序的可移植性1.JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,(java.sql,javax.sql)使用这些类库可以以一种标准的方法、方便地访问数据库资源。2.JDBC接口(API)包括两个层次面向应用的API:Java API,抽象接口,供应用程序开

2021-11-19 09:44:57 65

原创 多表连接查询

1.笛卡尔集* 产生条件:1. 省略连接条件2. 连接条件无效3. 所有表中所有行互相连接* 解决方案:添加有效筛选条件内连接SQL92语法:SELECT 查询列表FROM 表名1 别名1 ,表名2 别名2WHERE 连接条件 AND 筛选条件 GROUP BY 分组列表 HAVING 分组后筛选条件 ORDER BY 排序列表SQL99语法:select 字段列表from 表名1[inner] join 表名2 on 条件where 筛选条件

2021-11-14 17:21:02 1084 4

原创 排序&分组查询

1.排序查询语法:select要查询的东西from表where条件order by 排序的字段|表达式|函数|别名 【asc|desc】排序方式:ASC:升序,默认的DESC:降序*排序分类:1.按单个字段进行排序2.按多个字段排序3.按表达式排序4.按别名排序5.按函数排序注意:如果有多个排序条件,则当之前的条件值一样时,才会判断第二条件常见函数:1.字符函数concat:拼接substr:截取子串lower:转换成小写upper:转换成大

2021-11-14 17:12:35 465

原创 MySQL数据库的介绍

数据库简介:数据库指的是长期存在计算机内,有组织,可共享,大量数据的集合。数据是按照特定的数据模型来组织,存储在数据库中。数据库的好处:1.持久化数据到本地2.可以实现结构化查询,方便管理数据库相关概念:DB(database):数据库,保存一组有组织的数据的容器**DBMS(Database Management System):**数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据**SQL:**结构化查询语言,用于和数据库通信的语言SQL的语言分类**DML(Data

2021-11-14 16:54:53 884

原创 图书管理系统的工具类设计

因为整个项目要求将数据写入文件所以,我们将文本的读写操作都封装在工具中这样能大大提高程序的复用性:1.反序列化方法:Public static< T > List< T > myReader(String fIleName, T t);-因为整个程序中要将各种不同类型对象的从文本中读取出来,所以采用泛型,这样可以提高方法的复用性。将文本中的对象进行反序列化的时候,要明确给出对象的个数,否则获取的次数超过文本中的对象上限时就会出现java.io.EOFException异常,反之

2021-11-06 09:45:50 150 1

原创 图书管理系统竟如此简单?图书管理系统工具类设计,带你玩转项目二

图书管理系统工具类MyTools:因为整个项目要求将数据写入文件所以,我们将文本的读写操作都封装在工具中这样能大大提高程序的复用性:-因为整个程序中要将各种不同类型的从文本中读取出来,所以采用泛型,这样可以提高方法的复用性。Public static List myReader(String fIleName, T t);public static<T> List<T> myReader(String fileName,T t){//用来存储从文本中取出的对象信息。 Li

2021-10-30 11:18:20 180 9

原创 图书管理系统

设计要求(1)读者信息管理:包括读者信息添加和读者信息查询与修改功能。用户登录成功之后,可以浏览所有读者的信息,也可以检索特定读者的信息;同时,可以对读者信息进行维护,包括增加、删除及修改。具体信息包括读者类型(读者的类型决定着他可以借到书的最大数量和最大归还天数)、读者姓名、出生日期、性别、电话、所在院系、注册日期等。(相关存储数据可通过I/O流直接存在文件,可也直接在文件里读的数据)(2)图书信息管理:包括图书信息添加和图书信息查询与修改功能。用户登录成功之后,可以浏览所有图书信息和检索特定图书的

2021-10-28 15:07:50 5932 7

空空如也

空空如也

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

TA关注的人

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