- 博客(88)
- 资源 (1)
- 收藏
- 关注
原创 JDBC中Blob类型数据的注意事项和too large异常的处理
●MySQL中, BLOB是一个二进制大型对象,是一个可以存储大量数据的容器,它能容纳不同大小的数据。●插入BLOB类型的数据必须使用PreparedStatement ,因为BLOB类型的数据无法使用字符串拼接写的。●MySQL的四种BLOB类型(除了在存储的最大信息量上不同外,他们是等同的)类型 大小(单位:字节)TinyBlob 最大255Blob 最大65KMediumBlob 最大16MLon...
2020-08-10 16:55:34
479
原创 IDEA使用Maven,在执行JDBC操作时加载properties文件出现空指针异常
这是因为使用Maven要求配置文件放在resources文件夹下,而放在resources root 或者放在项目下都会报空指针异常(Exception in thread “main” java.lang.NullPointerException),亲测。需放在如上图文件夹中
2020-08-07 23:55:17
789
原创 单向链表的简单实现--Java
public class Node { Node next; Object data; public Node(Object data){ this.data = data; } }class Linked_List(){ Node head; /** * 查询链表中的元素个数 */ public int getLen(){ Node cur = head.next;
2020-08-06 09:12:23
315
原创 栈的数组实现--Java
思路:定义maxSize固定栈的大小,top指向栈顶,初始化为-1,bottom指向栈底初始化为0。当top == -1时,栈为空。当top == maxSize-1时,栈满。public class ArrayStack { int maxSize; int top; int bottom; Object[] arr; public ArrayStack(int maxSize){ this.maxSize = maxSize;
2020-08-06 08:37:43
190
原创 环形队列的数组实现(Java)和原理详细图解
环形队列的数组实现(Java)和原理详细图解环形队列可用内存空间为maxSize-1,front指向队列头元素,rear指向队列尾元素后的一个空间。只入队时当front == rear时队列为空,front == rear+1时队列满。图例令maxSize == 8 ,则可用内存为7初始化队列front = 0;rear = 0;由于front == rear 此时队列为空不断向队列中添加元素,直到添加7个元素,此时最后一个元素为a6,rear的内存地址为a6后的空间。仅入队时rear
2020-08-05 18:01:01
1825
原创 普通队列的实现(Java数组)及其缺点
用数组实现队列时,如果不移动,随着数据的不断读写,会出现假满队列的情况。即尾数组已满但头数组还是空的。public class ArrayQueue { int front; int rear; int maxSize; Object []arr; public ArrayQueue(int maxSize){ front = -1;//指向第一个元素的前一个位置 rear = -1;//指向最后一个 arr
2020-08-05 17:06:45
337
原创 稀疏数组与常规数组的转化
稀疏数组当一个数组中大部分元素是无意义数值的时候,可以用稀疏数组来保存改数组。稀疏数组的处理方式:第一行:记录数组有几行几列。有多少个有意义的值值。 第一行以后:把具有不同值的元素和行列以及值记录在 一个小规模的数组中,从而缩小程序的规模 列数恒为3下图左边为常规数组,右边为稀疏数组代码实现:常规数组-->稀疏数组--->常规数组public class SparseArray { public static void main(String[] arg
2020-07-31 12:23:06
209
原创 BeanUtils怎么没有populate方法
最近在练习项目时,发现使用BeanUtils.populate()方法封装对象,方法报红,百思不得其解。翻开源码发现包下没有populate方法,断定包导错了,不应该是Spring下的BeanUtils,应该是apache下的BeanUtils这个才是正确的Bean包...
2020-07-31 11:51:51
1871
6
原创 IDEA文件多层文件夹以xx.xx.xx的形式创建怎么展开成子文件夹
IDEA文件多层文件夹以xx.xx.xx的形式创建怎么展开成子文件夹最近在练习项目的时候发现,以xx.xx.xx的形式创建多层文件夹不会展开,如图找了许多资料也没说到点子上,都在说快捷键。经过一番摸索发现只需要点击项目右上角的齿轮将Compact Middle packages 前面的√ 取消即可展开子文件夹如图点击右侧齿轮将Compact Middle packages 前面的√ 取消over...
2020-07-31 11:44:59
5869
4
原创 卸载mysql后再安装提示The service already exists!
卸载mysql后再安装输入mysqld --install 回车后提示The service already exists!原因:卸载的时候没有卸载干净方法:一、重新以管理员身份打开cmd二、输入命令sc delete mysql,删除该mysql三、再执行mysqld --install 就能成功了...
2020-07-30 21:42:50
430
原创 非关系型数据库--Redis学习小结
# Redis 1. 概念: redis是一款高性能的NOSQL系列的非关系型数据库 1.1.什么是NOSQL NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。 随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库
2020-07-29 07:55:54
212
原创 JavaWeb--json学习小结
JSON: 1. 概念: JavaScript Object Notation JavaScript对象表示法 Person p = new Person(); p.setName("张三"); p.setAge(23); p.setGender("男"); var p = {"name":"张三","age":23,"gender":"男"}; * json现在多用于存储和交换文本信息的语法 * 进行数据的传输 * JSON 比 XML 更小、更快,更易解析。
2020-07-29 07:54:19
113
原创 JavaWeb--Ajax学习笔记
# AJAX: 1. 概念: ASynchronous JavaScript And XML 异步的JavaScript 和 XML 1. 异步和同步:客户端和服务器端相互通信的基础上 * 客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作。 * 客户端不需要等待服务器端的响应。在服务器处理请求的过程中,客户端可以进行其他的操作。 Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 [1] 通过在后台与服务器进行少量数据交换,Ajax 可以
2020-07-29 07:53:12
166
原创 JavaWeb--JQuery高级篇学习笔记
JQuery 高级 1. 动画 1. 三种方式显示和隐藏元素 1. 默认显示和隐藏方式 1. show([speed,[easing],[fn]]) 1. 参数: 1. speed:动画的速度。三个预定义的值("slow","normal", "fast")或表示动画时长的毫秒数值(如:1000) 2. easing:用来指定切换效果,默认是"swing",可用参数"linear" * swing:动画执行时效果是 先慢,中间快,最后又慢
2020-07-29 07:52:02
150
原创 JavaWeb--JQuery基础篇学习笔记
JQuery 基础: 1. 概念: 一个JavaScript框架。简化JS开发 * jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨 是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优 化HTML文档操作、事件处理、动画设计和Ajax交互。 * JavaSc
2020-07-29 07:50:31
146
原创 JavaWeb--Listener学习笔记
Listener:监听器 * 概念:web的三大组件之一。 * 事件监听机制 * 事件 :一件事情 * 事件源 :事件发生的地方 * 监听器 :一个对象 * 注册监听:将事件、事件源、监听器绑定在一起。 当事件源上发生某个事件后,执行监听器代码 * ServletContextListener:监听ServletContext对象的创建和销毁 * 方法: * void contextDestroyed(ServletContextEvent sce) :Serv
2020-07-29 07:48:00
221
原创 JavaWeb--Filter学习笔记
Filter:过滤器 1. 概念: * 生活中的过滤器:净水器,空气净化器,土匪、 * web中的过滤器:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。 * 过滤器的作用: * 一般用于完成通用的操作。如:登录验证、统一编码处理、敏感字符过滤... 2. 快速入门: 1. 步骤: 1. 定义一个类,实现接口Filter 2. 复写方法 3. 配置拦截路径 1. web.xml 2. 注解 2. 代码: @WebFi
2020-07-29 07:46:16
119
原创 JSTL学习小结
JSTL 1. 概念:JavaServer Pages Tag Library JSP标准标签库 * 是由Apache组织提供的开源的免费的jsp标签 <标签> 2. 作用:用于简化和替换jsp页面上的java代码 3. 使用步骤: 1. 导入jstl相关jar包 2. 引入标签库:taglib指令: <%@ taglib %> 3. 使用标签 4. 常用的JSTL标签 1. if:相当于java代码的if语句 1. 属性:
2020-07-29 07:43:47
109
原创 EL表达式学习小结
EL表达式 1. 概念:Expression Language 表达式语言 2. 作用:替换和简化jsp页面中java代码的编写 3. 语法:${表达式} 4. 注意: * jsp默认支持el表达式的。如果要忽略el表达式 1. 设置jsp中page指令中:isELIgnored="true" 忽略当前jsp页面中所有的el表达式 2. \${表达式} :忽略当前这个el表达式 5. 使用: 1. 运算: * 运算符: 1. 算数运算符: + - * /(di
2020-07-29 07:41:56
190
原创 MVC模式发展及简介
MVC:开发模式 1. jsp演变历史 1. 早期只有servlet,只能使用response输出标签数据,非常麻烦 2. 后来又jsp,简化了Servlet的开发,如果过度使用jsp,在jsp中即写大量的java代码,有写html表,造成难于维护,难于分工协作 3. 再后来,java的web开发,借鉴mvc开发模式,使得程序的设计更加合理性 2. MVC: 1. M:Model,模型。JavaBean * 完成具体的业务操作,如:查询数据库,封装对象 2. V:View,
2020-07-29 07:40:50
648
原创 JSP入门学习小结(二)
JSP: 1. 指令 * 作用:用于配置JSP页面,导入资源文件 * 格式: <%@ 指令名称 属性名1=属性值1 属性名2=属性值2 ... %> * 分类: 1. page : 配置JSP页面的 * contentType:等同于response.setContentType() 1. 设置响应体的mime类型以及字符集 2. 设置当前jsp页面的编码(只能是高级的IDE才能生效,如果使用低级工具,则需要设置pageEncoding属性
2020-07-29 07:38:37
81
原创 Session会话技术学习小结
Session:主菜 1. 概念:服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象中。HttpSession 2. 快速入门: 1. 获取HttpSession对象: HttpSession session = request.getSession(); 2. 使用HttpSession对象: Object getAttribute(String name) void setAttribute(String name, Object value)
2020-07-27 20:29:30
163
原创 JSP入门学习小结(一)
JSP:入门学习 1. 概念: * Java Server Pages: java服务器端页面 * 可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码 * 用于简化书写!!! 2. 原理 * JSP本质上就是一个Servlet 3. JSP的脚本:JSP定义Java代码的方式 1. <% 代码 %>:定义的java代码,在service方法中。service方法中可以定义什么,该脚本中就可以定义什么。 2. <%!
2020-07-27 20:28:17
107
原创 Cookie会话技术学习小结
## 会话技术 1. 会话:一次会话中包含多次请求和响应。 * 一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止 2. 功能:在一次会话的范围内的多次请求间,共享数据 3. 方式: 1. 客户端会话技术:Cookie 2. 服务器端会话技术:Session## Cookie: 1. 概念:客户端会话技术,将数据保存到客户端 2. 快速入门: * 使用步骤: 1. 创建Cookie对象,绑定数据 * new Cookie(String n
2020-07-27 20:25:54
136
原创 IDEA右键无法new servlet
解决方法:选择File下的 Project Structure点击Facets点击Deployment Descriptors下的 Add Application Server specific descriptor直接点OK就行,再OK确定应用设置。
2020-07-27 14:02:40
1743
2
原创 ServletContext对象学习小结
ServletContext对象: 1. 概念:代表整个web应用,可以和程序的容器(服务器)来通信 2. 获取: 1. 通过request对象获取 request.getServletContext(); 2. 通过HttpServlet获取 this.getServletContext(); 3. 功能: 1. 获取MIME类型: * MIME类型:在互联网通信过程中定义的一种文件数据类型 * 格式: 大类型/小类型 text/html image/jp
2020-07-26 23:08:18
107
原创 Servlet--Response小结
Response对象 * 功能:设置响应消息 1. 设置响应行 1. 格式:HTTP/1.1 200 ok 2. 设置状态码:setStatus(int sc) 2. 设置响应头:setHeader(String name, String value) 3. 设置响应体: * 使用步骤: 1. 获取输出流 * 字符输出流:PrintWriter getWriter() * 字节输出流:ServletOutputStream getOu
2020-07-26 23:07:12
99
原创 HTTP--Response小结
HTTP协议: 1. 请求消息:客户端发送给服务器端的数据 * 数据格式: 1. 请求行 2. 请求头 3. 请求空行 4. 请求体 2. 响应消息:服务器端发送给客户端的数据 * 数据格式: 1. 响应行 1. 组成:协议/版本 响应状态码 状态码描述 2. 响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态。 1. 状态码都是3位数字 2. 分类: 1. 1xx:服务器就收客户端消息,但没有接受完成,等待
2020-07-26 23:04:28
123
原创 Sverlet--Request小结
Request: 1. request对象和response对象的原理 1. request和response对象是由服务器创建的。我们来使用它们 2. request对象是来获取请求消息,response对象是来设置响应消息 2. request对象继承体系结构: ServletRequest -- 接口 | 继承 HttpServletRequest -- 接口 | 实现 org.apache.catalina.connector.RequestFacade
2020-07-26 19:27:36
179
原创 HTTP--Request学习小结
HTTP: * 概念:Hyper Text Transfer Protocol 超文本传输协议 * 传输协议:定义了,客户端和服务器端通信时,发送数据的格式 * 特点: 1. 基于TCP/IP的高级协议 2. 默认端口号:80 3. 基于请求/响应模型的:一次请求对应一次响应 4. 无状态的:每次请求之间相互独立,不能交互数据 * 历史版本: * 1.0:每一次请求响应都会建立新的连接 * 1.1:复用连接 * 请求消息数据格式 1. 请求行
2020-07-26 19:01:39
202
原创 Druid版本与MySQL及驱动版本的匹配问题及解决方案
最近搭建项目时,因为Java版本与MySQL及驱动版本的问题报错很多次,查了很多资料终于解决了,写下小结。首先贴出Druid下载地址:Druid下载最开始使用的mysql-8.0.20、mysql-connector-java-5.1.37-bin.jar、druid-1.0.9.jar,报错java.sql.SQLException: Access denied for user ‘root’@‘localhost’ (using password: YES)发现mysql驱动版本有点低,就换了驱
2020-07-26 18:48:49
8889
1
原创 Servlet--入门学习小结
## Servlet: server applet * 概念:运行在服务器端的小程序 * Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则。 * 将来我们自定义一个类,实现Servlet接口,复写方法。 * 快速入门: 1. 创建JavaEE项目 2. 定义一个类,实现Servlet接口 * public class ServletDemo1 implements Servlet 3. 实现接口中的抽象方法 4. 配置Servlet
2020-07-25 19:28:09
112
原创 Tomcat下载、安装、配置和使用小结
* Tomcat:web服务器软件 1. 下载:http://tomcat.apache.org/ 2. 安装:解压压缩包即可。 * 注意:安装目录建议不要有中文和空格 3. 卸载:删除目录就行了 4. 启动: * bin/startup.bat ,双击运行该文件即可 * 访问:浏览器输入:http://localhost:8080 回车访问自己 http://别人的ip:8080 访问别人 * 可能遇到的问题: 1. 黑窗口一闪而过
2020-07-25 19:23:36
177
原创 XML学习笔记总结
## XML: 1. 概念:Extensible Markup Language 可扩展标记语言 * 可扩展:标签都是自定义的。 <user> <student> * 功能 * 存储数据 1. 配置文件 2. 在网络中传输 * xml与html的区别 1. xml标签都是自定义的,html标签是预定义。 2. xml的语法严格,html语法松散 3. xml是存储数据的,html是展示数据 * w3c:万维网联盟 2
2020-07-25 07:58:46
137
原创 开发中应该怎么解决线程安全问题?
聊一聊,开发中应该怎么解决线程安全问题?是一上来就选择线程同步吗? synchronized不是,synchronized会让程序的执行效率降低,用户体验不好。系统的用户吞吐量降低。用户体验差。在不得已的情况下再选择线程同步机制。第一种方案:尽量使用局部变量代替"实例变量和静态变量”。第二种方案:如果必须是实例变量,那么可以考虑创建多个对象,这样实例变量的内存就不共享了.(一个线程对应1个对象,100个线程对应100个对象,对象不共享,就没有数据安全问题了. )第三种方案:如果不能使用局部变
2020-07-23 22:09:04
210
原创 Spring JDBC--学习笔记总结
* Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发* 步骤: 1. 导入jar包 2. 创建JdbcTemplate对象。依赖于数据源DataSource * JdbcTemplate template = new JdbcTemplate(ds); 3. 调用JdbcTemplate的方法来完成CRUD的操作 * update():执行DML语句。增、删、改语句 * queryForMap():查询结果将结果集封装为map集合,将列名作
2020-07-22 09:30:15
179
原创 数据库连接池--学习笔记总结
1. 概念:其实就是一个容器(集合),存放数据库连接的容器。 当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。2. 好处: 1. 节约资源 2. 用户访问高效3. 实现: 1. 标准接口:DataSource javax.sql包下的 1. 方法: * 获取连接:getConnection() * 归还连接:Connection.close()。如果连接对象Connecti
2020-07-22 09:28:02
141
原创 JavaScript--学习笔记总结
概念: 一门客户端脚本语言 * 运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎 * 脚本语言:不需要编译,直接就可以被浏览器解析执行了* 功能: * 可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验。* JavaScript发展史: 1. 1992年,Nombase公司,开发出第一门客户端脚本语言,专门用于表单的校验。命名为 : C-- ,后来更名为:ScriptEase 2. 1995年,Netscape(网景
2020-07-22 09:24:42
135
原创 CSS案例练习
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>注册页面</title> <style> *{ margin: 0px; padding: 0px; box-sizing: border-box; } body{ .
2020-07-22 09:22:57
171
原创 CSS--学习笔记总结
1. 概念: Cascading Style Sheets 层叠样式表 * 层叠:多个样式可以作用在同一个html的元素上,同时生效2. 好处: 1. 功能强大 2. 将内容展示和样式控制分离 * 降低耦合度。解耦 * 让分工协作更容易 * 提高开发效率3. CSS的使用:CSS与html结合方式 1. 内联样式 * 在标签内使用style属性指定css代码 * 如:<div style="color:red;">hello css</div>
2020-07-22 09:20:53
120
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人