自我学习
Mr.OO
Java后端开发 可称呼:小鸣同学
请各大佬多多指教~
展开
-
在前端将JSON数据格式化展示解决办法
我一个后台开发人员,要自己敲公司数据管理系统对应接口的前端部分。研究这前端问题好几个小时,结果写了这个函数解决了我的问题:function JSON_Format(str) { //判空 if (str == null) { return "查询结果为空"; } //栈-用于括号匹配 var stack = []; //新格式化JSON字符串 var tmpStr = '';原创 2021-06-24 10:51:22 · 914 阅读 · 0 评论 -
Web开发安全相关问题
(1)XSS跨站脚本攻击:XSS (Cross-Site Scripting)跨站脚本攻击是一种常见的安全漏洞,恶意攻击者在用户提交的数据中加入一些代码,将代码嵌入到了Web页面中,从而可以盗取用户资料,控制用户行为或者破坏页面结构和样式等。为了和 CSS 区分,这里把攻击的第一个字母改成了 X,于是叫做 XSS。最简单的就是当我们提交一个查询后弹出一个alert页面,却无论如何都关不掉,这就是发生了XSS跨站脚本攻击。XSS产生原因:XSS产生的原因是过于信任客户端的数据,没有做好过滤或者转义等转载 2020-10-19 16:58:19 · 376 阅读 · 1 评论 -
网络协议知识小结(一)
OSI七层协议模型?OSI七层模型包括应用层,表示层,会话层,传输层,网络层,数据链路层以及物理层应用层 : 由用户自己规定,规定各个应用之间消息传递的形式等,包括各机互访协议,分布式数据库协议等。常见的应用层协议有HTTP协议和FTP等表示层 : 在满足用户需求的基础上,尽可能的节省传输费用而设置的,比如传输压缩文件,jpeg或者加密文件等格式会话层 : 用于建立和拆除会话传输层 : 负责将来自会话层的消息传递给网络层,常见的传输层协议有TCP和UDP等协议网络层 : 规定通信网内的路由选原创 2020-10-18 16:19:26 · 458 阅读 · 0 评论 -
HashMap,Hashtable,ConcurrentHashMap 相关问题小结
HashMap和Hashtable的区别有哪些?HashMap没有考虑同步,是线程不安全的;Hashtable使用了synchronized关键字,是线程安全的HashMap允许null作为Key;Hashtable不允许null作为Key,Hashtable的value也不可以为nullHashMap是线程不安全的是吧?你可以举一个例子吗?HashMap线程不安全主要是考虑到了多线程环境下进行扩容可能会出现HashMap死循环Hashtable线程安全是由于其内部实现在put和remove原创 2020-09-25 15:15:10 · 250 阅读 · 0 评论 -
Spring小结
Spring知识点小结Spring?Spring是一个开源框架,它由Rod Johnson创建,是为解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益(1)目的:解决企业应用开发的复杂性(2)功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能(3)范围:任何Java应用(4)简单来说,S原创 2020-09-08 23:18:59 · 236 阅读 · 0 评论 -
网络与WEB基础小结
网络与WEB服务器返回给客户端 http 响应包的状态码有哪几大类?302、304 分别是什么意思?状态码分为五大类:信息性状态码(Informational),表示请求已被接受,需要继续处理。码值范围:1xx成功状态码(Success),表示请求已成功被服务器接收、理解、并接受。码值范围:2xx重定向状态码 (Redirection) ,表示需要客户端采取进一步的操作才能完成请求。码值范围:3xx客户端错误状态码 (Client Error),表示请求语法错误或者请求无法完成。码值范围:4原创 2020-09-08 14:35:23 · 250 阅读 · 0 评论 -
redis基础内容总结
redis" Redis 是一个开源(BSD 许可)的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如字符串(strings),散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询,bitmaps, hyperloglogs 和地理空间(geospatial)索引半径查询。 Redis 内置了 复制(replication),LUA 脚本(Lua scripting),LRU 驱动事件(LRU evi原创 2020-09-07 19:59:37 · 259 阅读 · 0 评论 -
MySQL进阶小结
MySQL进阶分析一下 select * from t_employee t where t.age=27 and t.name = ‘李四’ 这条语句在 mysql 中如何执行的?在连接器上进行权限检查。首先在连接器如果没有权限,直接返回错误信息;如果有权限,在 MySQL8.0 版本以前,会先查询缓存,以这条 sql 语句为 key 在内存中查询是否有结果,如果有直接缓存,如果没有,执行下一步在分析器上进行词法分析和语法分析。词法分析会提取 sql 语句的关键元素 select,提取需要查原创 2020-09-07 16:19:12 · 340 阅读 · 0 评论 -
MySQL锁
事务是什么?事务(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性事务有哪些特性?原子性(Atomicity):事务是一个不可分割的单位,事务中的所有SQL等操作要么都发生,要么都不发生一致性(Consistency):事务发生前和发生后,数据的完整性必须保持一致隔离性(Isolation):当并发访问数据库时,一个正在执行原创 2020-09-06 16:37:21 · 183 阅读 · 0 评论 -
MySQL索引知识总结
MySQL ( 目前最流行的关系型数据库管理系统 )什么是索引?MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构,可以帮助我们快速的进行数据的查找索引是什么样的数据结构?索引的数据结构跟存储引擎有关,在MySql中使用较多的索引有B+数索引和哈希索引,我们常用的MYISAM和InnoDB存储引擎的默认索引实现为:B+树索引Hash索引和B+树索引有什么区别或者说优劣呢?首先要知道Hash索引原创 2020-09-05 14:20:55 · 251 阅读 · 0 评论 -
队列知识总结
栈(Stack)和队列(Queue)的相同点和不同点是什么?如何用两个栈实现队列(入队和出队)?相同点:栈和队列都属于线性表栈和队列插入操作都是限定在线性表的头尾进行栈和队列插入和删除的时间复杂度是O(1)不同点:特性不同,栈先进后出 (LIFO,Last In First Out) ;队列先进先出 (FIFO,First In First Out)栈知识表的一端进行插入和删除操作,队列是在表的一端插入,另一端删除Java的栈(Stack)继承自 Vector,再往上的接口是原创 2020-09-04 14:54:03 · 566 阅读 · 0 评论 -
JavaIO基础总结
IO基础什么是流?作用是什么?流是一种有顺序的,有起点和终点的字节集合,是对数据传输的总成或抽象。即数据在两设备之间的传输称之为流,流的本质是数据传输,根据数据传输的特性讲流抽象为各种类,方便更直观的进行数据操作。字符流和字节流的区别是区别是什么?字符流的由来:因为数据编码的不同,而有了对字符进行高效操作的流对象,其本质就是基于字节流读取时,去查了指定的码表。字符流和字节流的区别:读写单位不同:字节流一字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字原创 2020-09-03 21:48:58 · 528 阅读 · 0 评论 -
线程与线程池重点知识总结
Java中线程有哪些状态?六种状态:初始状态 (NEW) :尚未启动的线程处于此状态。通常是新创建了线程,但还没有调用 start () 方法运行状态(RUNNABLE):Java 线程中将就绪(ready)和运行中(running)两种状态笼统的称为 “运行中”。比如说线程在运行线程池中,等待被调度选中,获取 CPU 的使用权,此时处于就绪状态(ready)。就绪状态的线程在获得 CPU 时间片后变为运行中状态(running)阻塞状态 (BLOCKED):表示线程阻塞于锁等待状态 (WAIT原创 2020-09-02 15:05:50 · 224 阅读 · 0 评论 -
锁与并发重点知识总结
什么是线程死锁?死锁产生的条件是什么?如何避免死锁?什么是线程死锁?死锁是指两个或两个以上的进程(线程)在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁。死锁产生的条件是什么?互斥条件 :该资源任意一个时刻只由一个线程占有请求与保持条件 : 一个线程/进程因请求资源时对已经获得的资源保持不放不剥夺条件 : 线程/进程已经获得的资源在未使用之前不能被其他线程/进程强行剥夺 (只有自己使用完毕主原创 2020-09-02 10:25:58 · 277 阅读 · 0 评论 -
SpringBoot后台返回前端后字符串中文乱码
直击解决方案:在SpringBoot项目中的自定义MVC配置类中进行修改 (我自己实现的 MVC配置类是: MvcConfiguration ,继承了 WebMvcConfigurer, ApplicationContextAware,关系到中文乱码的是 WebMvcConfigurer 这个类下面的 StringHttpMessageConverter在 MvcConfiguration...原创 2020-03-30 23:22:49 · 2106 阅读 · 0 评论 -
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
Mysql 设置密码时提示有关密码安全问题:转自:点我加载转载 2020-03-17 20:59:28 · 132 阅读 · 0 评论 -
java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyPreparedStatement.isClosed()Z
报错 :java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyPreparedStatement.isClosed()Z is abstract问题分析: 出现该问题是因为 c3p0 的版本偏低,只适用与 Mysql 5.x 版本。我用的是 Mysql 8.x版本,所以治理需要更改 c3p0 的版本到与 m...原创 2020-02-23 11:26:58 · 1620 阅读 · 3 评论 -
SpringBoot(五)— 错误处理机制和嵌入式Servlet容器配置
1、错误处理机制1)、SpringBoot默认的错误处理机制默认效果: 1)、浏览器,返回一个默认的错误页面浏览器发送请求的请求头: 2)、如果是其他客户端,默认响应一个json数据原理: 可以参照ErrorMvcAutoConfiguration;错误处理的自动配置;给容器中添加了以下组件 1、DefaultErrorAttributes:帮我们在页...原创 2020-01-22 12:43:53 · 349 阅读 · 0 评论 -
SpringBoot(四)— web开发
四、Web开发1、简介使用SpringBoot;1)、创建SpringBoot应用,选中我们需要的模块;2)、SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来3)、自己编写业务代码;自动配置原理?这个场景SpringBoot帮我们配置了什么?能不能修改?能修改哪些配置?能不能扩展?xxxxxxxAutoConfiguration:帮我们给...原创 2020-01-18 12:38:24 · 233 阅读 · 0 评论 -
SpringBoot (三)— 日志
三、日志1、日志框架前言,开发一个大型系统: 1、①System.out.println("");②将关键数据打印在控制台;③去掉?④写在一个文件? 2、框架来记录系统的一些运行时信息;日志框架 ; zhanglogging.jar; 3、高大上的几个功能?异步模式?自动归档?xxxx? zhanglogging-good.jar? 4、将以前框架卸下来?换上新的框...原创 2020-01-15 20:01:26 · 156 阅读 · 0 评论 -
SpringBoot(二)— 配置文件
1、配置文件SpringBoot 使用一个全局的配置文件,配置文件名是固定的;application.propertiesapplication.yml配置文件的作用:修改SpringBoot自动配置的默认值;SpringBoot 在底层都给我们自动配置好;YAML(YAML Ain’t Markup Language) YAML A Markup Language:是...原创 2020-01-11 19:33:02 · 242 阅读 · 0 评论 -
SpringBoot(一)— 入门
一、Spring Boot 入门1、Spring Boot 简介简化 Spring 应用开发的一个框架;整个Spring技术栈的一个大整合;J2EE开发的一站式解决方案;2、微服务2014 - martin fowler 提出微服务:架构风格(服务微化)一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;单体应用:ALL IN ONE微服务:每一个功能元素最终都是...原创 2020-01-10 17:14:54 · 180 阅读 · 0 评论 -
解决 SpringBoot 依赖导入过慢问题
在搭建 Maven 项目时,解决依赖导入慢问题是通过更改 setting.xml 的镜像仓库为阿里云镜像仓库 ,Spring Boot 解决此问题也一样打开 SpringBoot 项目的 Pom.xml 文件,在里面添加下列代码(更改镜像为阿里云)<repositories> <repository> <id>aliy...原创 2019-12-11 22:03:57 · 5453 阅读 · 10 评论 -
正确版本!!!彻底解决tomcat中文乱码问题
在网上搜索后,不管我们更改 Server.xml 的 URIEncoding 还是编译器的编码方式都没用,最终我找到了彻底解决的办法:① — >>> 打开 tomcat 文件② — >>> 打开 conf 文件夹③ — >>> 打开 logging.properties 文件④ — >>> 找到第 50 行的位...原创 2019-12-10 21:54:12 · 5948 阅读 · 14 评论 -
SpringMVC -- 解决静态资源无法访问问题
缘由 :DispatcherServlet 导致客户无法直接访问任何静态资源方法一:采用<mvc:resources />,例如:在 Spring-web.xml 配置文件里配置,这样将静态资源的处理经由Spring MVC框架交回Web应用服务器处理,可达到访问静态资源的目的。 <mvc:resources location="/img/" mapping="/i...原创 2019-11-19 19:09:46 · 726 阅读 · 0 评论 -
SpringMVC - RESTful 学习
什么是 RESTful ?REST : Representational State Transfer (表述性状态转移)REST并不是一种创新技术,它指的是一组架构约束条件和原则符合REST的约束条件和原则的架构,就称它为RESTful架构RESTful 核心内容资源与URI资源的表述状态转移RESTful 架构特点统一了客户端访问资源的接口url 更加简洁,易于理...原创 2019-11-08 11:35:16 · 213 阅读 · 1 评论 -
Spring Boot - 初学(概述)
Spring 和 SpringBoot 开发流程图对比Spring应用开发流程Spring Boot应用开发流程Spring Boot核心特性 :极低的学习成本可独立运行的Spring项目。“习惯优于配置”,极大的提高了开发效率。极简的组件依赖,自动发现与自动装配。提供运行时的应用监控与分布式架构和云计算的天然集成Spring Boot目录结构 :①...原创 2019-11-07 20:13:33 · 213 阅读 · 0 评论 -
Linux基础命令
Linux简介Linux是一款 开源免费 的 操作系统。操作系统包含标准接口为软件提供了调用方式操作系统包含硬件驱动可以控制硬件操作Linux特点:免费、可靠、安全、稳定、多平台。Linux命令格式命令 [选项] [参数1] [参数2] 例如: Is -| /关机 / 重启命令关机: shutdown -h now重启: shutdown -r now 或 reb...原创 2019-11-05 15:55:32 · 199 阅读 · 0 评论 -
ASCII,Unicode,UTF-8码介绍
ASCII码ASCII 码一共规定了128个字符的编码,比如空格SPACE是32(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的一位统一规定为0。UnicodeUnicode,就像它的名字表示的,这是一种所有符号的编码。Unicode 当然是一个很大的集合,现在的规模可...原创 2019-11-02 13:43:20 · 226 阅读 · 0 评论 -
Java - 核心设计模式和原则
(本次设计模式摘自大话设计模式书本知识,用 C# 讲解的)简单工厂模式简单工厂模式是属于创建型模式,简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。策略模式前言:面向对象的编程,并不是类越多越好,类的划分是为了封装,但分类的基础是抽象,具有相同属性和功能的对象的抽象集合才是类。策略模...原创 2019-10-31 16:03:41 · 295 阅读 · 0 评论 -
走进CSDN的第一个 1024程序员节
咦,今天是1024节诶,祝各位大佬们节日快乐!!!有感而发我是今年年初开始养成逛 CSDN,自己写小博客的习惯的。这半年多来,自己也从大一下过渡到了大二上了,自己在 JavaWeb 的路上越陷越深,也越来越喜欢 java这门语言,我很喜欢它的语言美。在这半年多里,我喜欢边看视频边做笔记,慢慢地会把这些笔记放在博客上。 没想到,还会有那么多的访客,小开心 哈哈哈。这是这几个月来的小成果:...原创 2019-10-24 10:57:04 · 1310 阅读 · 0 评论 -
Mybatis(四)— 注解开发大全
这几年来注解开发越来越流行,Mybatis 也可以使用注解开发方式,这样我们就可以减少编写 Mapper 映射文件了。本次先围绕一些基本的 CRUD 来学习,再学习复杂映射关系及延迟加载。mybatis 的常用注解说明@Insert:实现新增@Update:实现更新@Delete:实现删除@Select:实现查询@Result:实现结果集封装@Results:可以与@Result...原创 2019-10-17 15:52:57 · 198 阅读 · 0 评论 -
Mybatis(四)— 一级缓存和二级缓存
介绍: 像大多数的持久化框架一样,Mybatis 也提供了缓存策略,通过缓存策略来减少数据库的查询次数,从而提高性能。一级缓存证明一级缓存的存在一级缓存是 SqlSession 级别的缓存,只要 SqlSession 没有 flush 或 close,它就存在。编写用户持久层 Dao 接口public interface IUserDao { /** * 根据 id 查询 ...原创 2019-10-15 20:33:26 · 324 阅读 · 0 评论 -
Mybatis(四)—延迟加载策略
通过前面的学习,我们已经掌握了 Mybatis 中一对一,一对多,多对多关系的配置及实现,可以实现对象的关联查询。实际开发过程中很多时候我们并不需要总是在加载用户信息时就一定要加载他的账户信息。此时就是我们所说的延迟加载。何为延迟加载?延迟加载:就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据。延迟加载也称懒加载.好处:先从单表查询,需要时再从关联表去关联查询,大大...原创 2019-10-14 21:00:37 · 248 阅读 · 0 评论 -
Mybatis(三)— JNDI和数据源
转自:添加链接描述转载 2019-10-14 16:13:48 · 338 阅读 · 0 评论 -
Mybatis(三)— 多表查询之一对多
本次案例主要以最为简单的用户和账户的模型来分析 Mybatis 多表关系。用户为 User 表,账户为Account表。一个用户(User)可以有多个账户(Account)。具体关系如下:一对一查询(多对一)需求查询所有账户信息,关联查询下单用户信息。注意:因为一个账户信息只能供某个用户使用,所以从查询账户信息出发关联查询用户信息为一对一查询。如果从用户信息出发查询用户下的账户...原创 2019-10-12 13:17:36 · 443 阅读 · 0 评论 -
Spring学习(三)
编写事务管理工具类并分析连接和线程解绑编写业务层和持久层事务控制代码并配置spring的ioc测试转账并分析案例中的问题工具类:TransactionManager的实现在这里插入** 和事务管理相关的工具类,它包含了: 开启事务,提交事务,回滚事务和释放连接*/public class TransactionManager { private ConnectionUti...原创 2019-09-09 22:30:33 · 198 阅读 · 0 评论 -
Spring学习(三) -- AOP
AOP 概述AOP:全称是 Aspect Oriented Programming,即:面向切面编程。通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开...原创 2019-09-10 15:28:50 · 189 阅读 · 0 评论 -
Spring(四)-- JdbcTemplate
JdbcTemplate实现 jdbctemplate 要导入的依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <...原创 2019-09-15 13:34:45 · 295 阅读 · 0 评论 -
Spring(四)— 声明式事务控制
依赖导入 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <v...原创 2019-09-16 12:51:28 · 153 阅读 · 0 评论