自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JAVA大猩猩的博客

啥也不是,没啥技术含量

  • 博客(56)
  • 问答 (1)
  • 收藏
  • 关注

原创 面试突击---MySQL索引

​ (2)二叉树、BST、AVL、红黑树这几种树也可以支持K-V格式的数据存储,但是它们有一个共同的特点就是至多只有两个分支,那么在进行数据存储的时候,一个三层的树至多可以存储7个数据结果值,这个数据太少了,如果想要存储更多的数据,只能把树的高度变高,而树的高度变高之后又会导致IO的次数变多,影响查询效率,那么我们就要思考如何在保证树的高度不变的情况下存储更多的数据,上述的这些树存储数据少的原因在于分支至多只有两个,那么我们就要思考改变分支的结构了,因此有了B-树。

2024-04-16 17:20:08 989

原创 经典算法——队列与栈之间的转化

经典算法Java语言实现

2022-06-10 11:11:04 272 1

原创 消息中间件RabbitMQ

RabbitMQ引言解决的问题能解决模块之间的耦合度高,导致一个模块宕机后,后续全部功能都不能用了的问题,达到解耦的作用。能解决同步通讯的时间成本高的问题,达到异步通讯的作用,提升客户的体验。能解决高并发导致系统压力过大的问题,达到流量削峰的作用,减轻服务器压力。RabbitMQ介绍市面上比较火爆的几款MQ:ActiveMQ,RocketMQ,Kafka,RabbitMQ。对比如下:语言的支持:ActiveMQ,RocketMQ只支持JAVA语言,Kafka,RabbitMQ支持多门

2022-03-09 21:58:53 1595

原创 Java修饰符

访问控制修饰符作用防止对封装数据的未授权访问。有助于保证数据完整性,保护对类、变量、方法和构造方法的访问。当类的私有实现细节必须改变时,可以限制发生在整个应用程序中的“连锁反应”。四种private(私有的):仅当前类可见;default(默认的):在同一包可见;protected(受保护的):在同一包内的类和本类的所有子类可见;public(公共的):所有类都可见。访问权限从大到小:public —> protected —> default —> priva

2022-01-17 21:40:23 329

原创 Java标识符命名规则

Java标识符命名规则必须由字母、数字、下划线或美元符号组成;不能与数字开头;不能与关键字冲突;不能和Java类库的类名冲突;应该使用有意义的名称(最好使用英文单词组合)。

2022-01-17 21:02:19 292

原创 Java中类的初始化过程

结论首先,加载父类中的静态代码块和静态属性,按照静态代码块和静态属性在代码中从上到下出现的先后顺序加载;然后,加载子类中的静态代码块和静态属性,按照静态代码块和静态属性在代码中从上到下出现的先后顺序加载;其次,加载父类中的普通代码块和普通属性,按照普通代码块和普通属性在代码中从上到下出现的先后顺序加载;最后,加载子类中的普通代码块和普通属性,按照普通代码块和普通属性在代码中从上到下出现的先后顺序加载;验证示例代码public class LoadClassTest { public

2022-01-17 20:33:35 873

原创 解决mac m1 安装mysql数据库 无法启动

背景:之前安装过mysql,然后一顿操作,搞得mysql启动不了了,于是卸载重装,各种不好使,重装之后,更是直接启动不了了,也不知道什么原因,于是网上找资料,各种试,终于弄好了,从中我觉得可能的原因有以下情况:1. 之前生成的mysql文件没删除干净有以下文件,执行以下命令进行删除,没有可忽略sudo rm /usr/local/mysqlsudo rm -rf /usr/local/mysql*sudo rm -rf /Library/StartupItems/MySQLCOMsudo rm

2021-09-25 09:26:44 1774

原创 JVM的三种垃圾回收算法

一、什么是垃圾?在了解垃圾回收机制之前我们首先要定义一下什么是垃圾,我们内存里大部分的对象都是随着方法的执行而创建,方法执行完毕后这些对象就不会被再次使用了,但是这些生成的对象不会被清除掉,所以我们内存里面的对象会越来越多,这时我们就需要一种机制把这种不会被再次使用的对象清除掉,而这种不会被再次使用的对象我们就称之为垃圾。二、如何判断对象是否可以被回收?1. 引用计数法原理:引用计数法是为对象添加一个引用计数器,然后用一块额外的内存区域来存储每个对象被引用的次数,当对象每有一个地方引用它时,那我们对

2021-08-29 14:38:54 3851

原创 webservice接口接收xml数据报错:Unmarshalling Error: Maximum Number of Child Elements limit (50000) Exceeded解决

报错详细日志:WARN 2021-08-21 08:45:36,610 PhaseInterceptorChain -> Interceptor for {http://lnpi.webservice.pgl.com/}OrderImport#{http://lnpi.webservice.pgl.com/}uploadOrderInfo has thrown exception, unwinding noworg.apache.cxf.interceptor.Fault: Unmarshall

2021-08-21 09:07:11 2156

原创 创建不做身份鉴定的HTTPClient发送HTTPS的POST请求的工具类,解决异常:sun.security.validator.ValidatorException: PKIX path vali

https和http的区别引用路径:HTTP和HTTPS的区别超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加 密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信 息,比如:信用卡号、密码等支付信息。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基 础上加入了SSL/

2021-08-20 09:06:43 411

原创 nginx做负载均衡,IE浏览器访问到静态资源,但页面图片显示不出来

今天做了用nginx负载均衡一个项目,搭建了两台服务器!nginx.conf配置文件如下:#user nobody;worker_processes 1;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout

2021-08-17 18:30:11 1073

原创 知识点之Java 注解 Annotation

什么是注解?注解(Annotation)是JDK5.0开始引入的技术,是对某一事物进行添加注释说明,会存放一些信息,这些信息可能对以后某个时段来说是很有用处的。Java注解又叫java标注,java提供了一套机制,使得我们可以对方法、类、参数、包、域以及变量等添加标准(即附上某些信息)。且在以后某个时段通过反射将标注的信息提取出来以供使用。注解有什么作用?编译检查Annotation具有“让编译器进行编译检查的作用”。例如:@SuppressWarnings, @Deprecated和@Ov

2021-05-04 23:24:02 167 2

原创 解决一些jar包没有maven坐标的苦恼:将第三方jar包转成maven的jar包

将第三方jar包转成maven的jar包要知道有些第三方提供的jar包文件是没有maven版本的,但是你这时候需要用到,那该怎么办呢?这时候我们需要用将这第三方的jar包转成maven版来使用。首先你需要准备外部jar包我的这个jar包现在以及下载放到桌面地址为:C:\Users\admin\Desktop\aspose-words-15.8.0-jdk16.jar(注意:在转maven jar包之前需要确保计算机已有maven环境)打开命令 按win+R键 输入cmd —>回车

2021-04-30 15:29:09 498 5

原创 问题记录之tomcat中的Catalina日志中的异常:java.lang.IllegalArgumentException: 在请求目标中找到无效字符。有效字符在RFC 7230和RFC 3986中

问题记录项目上线后出现一个奇怪的bug,前端请求到不了后端,后端方法里打的日志都没记录,上线前本地测试一点问题没有,真TM奇怪!顿时迷茫加无助,只好求助组长了,现象给他一描述,组长一语(去查一下tomcat的Catalina日志)道破天机,哎,这就是人与人之间的差别。我当时TM都不知道Catalina是个啥,于是让我百度了一下:好,让实施去拿一下tomcat的Catalina的日志吧!日志拿来一看都是这个Exception:java.lang.IllegalArgumentException: 在请

2021-04-30 12:44:49 961 2

原创 如何在idea中使用tomcat部署web项目

如何在idea中使用tomcat部署web项目会者不难,难者不会,看似简单,但要是不知道的话,能把人急死!!!第一步:第二步:按以下顺序点击第三步:选择本地已有的Tomcat第四步:添加项目war包第五步:选择war包,点击OK第六步:热部署(可配可不配),然后点击OK就完成了...

2021-01-18 14:45:54 1044

原创 如何打开idea中svn提交,更新按钮

如何打开idea中svn提交,更新按钮每次从svn拉完代码都不显示svn提交和更新按钮,每次都记不住,记录一下,供有同样烦恼的伙伴参考。第一步:点击上面工具栏中的VCS,弹出下拉项,点击第二项(Enable Version Control Lntegration…)第二步:选择Subversion,然后点击OK,提交,更新按钮就出来了第三步:点击OK...

2021-01-18 14:23:00 3011

原创 用java将数据填充到ftl模板,导出word文档

准备ftl模板先创建word文档,然后保存成ftl文件,找到需要填充的关键字,用KaTeX parse error: Expected 'EOF', got '#' at position 15: {key}替换,列表可得用<#̲list key as map…{map.key}。就相当于一个大Map里存有String和List这种结构数据。参考如下图:工具类package com.bj.aisino.afx.utils;import com.aisino.aosplus.core.Co

2020-11-10 17:08:49 1582 2

原创 SQLserver中常用的截取字符串函数:left(str,len)、right(str,len)、substring(str,pos,len)

SQL中字符串截取#函数 substring(str,pos,len)#str:字符串#pos:坐标#len:截取的坐标线长度#底层原理:比如一条坐标线,中点坐标为0,向左是负数,向右是正数,str放到起点坐标为1,终点坐标为str长度的位置。#pos就是坐标,len就是截取坐标线的长度,然后对比str在截取到坐标线上存在的字符串。#以下是示例:SELECT SUBSTRING('老成都融资事业部',2,2);#结果:成都SELECT SUBSTRING('老成都融资事业部',2,6);

2020-11-06 09:55:27 2622

原创 自己写的将数组中的“null“字符串转成null的小工具类,报java.lang.NullPointerException

起初的工具类代码://转字符"null"为空 public static void toNull(Object[] obj){ if (obj!=null) { for (int i = 0; i < obj.length; i++) { String s = obj[i].toString(); if ("null".equalsIgno

2020-09-28 11:39:23 969

原创 解决navicat远程连接数据库报2059错误的方法

就这个错误,网上搜了一堆资料和解决办法!知道了原因:在用navicat连接MySQL8+时会出现2059错误,这是由于新版本的MySQL使用的是caching_sha2_password验证方式,以前的navicat还没有支持这种验证方式。但方法一点都不好使,因为我们没法改别人的mysql的密码验证方式啊!(好像可以改,那得你本机的mysql版本的高于8,反正我5.7的版本cmd也远程不了,你用高版本的mysql可以试试)因为navicat的版本低,没有支持caching_sha2_password这种验证

2020-09-23 17:24:00 1702 4

原创 WSDL文件生成Java代码

WSDL文件生成Java代码进入jdk安装目录下的bin目录下,打开CMD命令行,输入如下命令:wsimport -keep -d D:\temp\d -s D:\temp\s -p com.map -verbose http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl-keep:是否生成java源文件,即在生成 .class 文件的同时也会生成 .java 源文件-d:指定.class文件的输出目录,此目录必须存在。-s:指定.j

2020-09-04 08:18:41 4761

原创 解决别人给的项目,放到自己idea中,包全爆红的问题

现象最近别人给了一个项目,一打开就发现项目全报红,但是又不影响运行.让我百思不得其解.原因因为别人是从SVN拉取下来的项目,项目用的是SVN管理的,原来idea当前的project用了版本控制器,那么建到这个project下面的所有项目就都是加入到版本控制里面的,所以项目文件和名称都是红色的。解决方法点开idea的settings.找到Version Control这个选项,修改项目的VCS为none,应用即可。还不明白请看详细解决方案...

2020-08-03 08:42:27 2859

原创 CORS解决跨域

1. 什么是cors?CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。浏览器端:目前,所有浏览器都支持该功能(IE10以下不行)。整个CORS通信过程,都是浏览器自动完成,不需要用户参与。服务端:CORS通信与AJAX没有任何差别

2020-05-30 19:21:15 331

原创 统一异常响应

需求前端通过post请求,调用接口传输用户对象给后端controller层,如果价格为空,则报错并告知用户,如果不为空,则返回处理过的用户对象。@Datapublic class Item { private Integer id; private String name; private Long price; }方案一(不推荐) @PostMapping("/itemPrice") public Map<String,Object> test1(Long p

2020-05-29 21:44:52 362

原创 mybatis逆向工程实现

搭建逆向工程Mybatis Generator: mybatis官方提供的一套工具(jar包),可以方便的根据数据库表创建实体类、dao接口、映射文件(只能生成最基础的CRUD操作的代码)创建maven工程导入依赖<dependencies> <dependency> <groupId>org.mybatis.gen...

2020-05-02 08:39:32 288

原创 用shiro解决SaaS企业管理系统中存在的权限问题

1,系统中存在的权限问题请求需要经过登录验证(登录成功才能访问)某些请求需要经过权限验证(只有具备权限才能访问)页面资源(按钮,超链接)需要根据权限动态展示2,shiro的概述2.1,概述Apache Shiro是Java的一个安全框架。功能强大,使用简单的Java安全框架,它为开发人员提供一个直观而全面的认证,授权,加密的解决方案。专业术语认证(Authent...

2020-04-29 08:40:17 408

原创 好玩的dubbo,apache提供的一个RPC框架(远程调用框架),解决分布式系统中web层和service层的调用。

Dubbo的概述Dubbo:是apache提供的一个RPC框架(远程调用框架),解决分布式系统中web层和service层的调用。Dubbo官网地址:[http://dubbo.apache.org]dubbo的结构:服务提供者: service工程,对外提供服务提供消费者:web工程,调用服务提供者获取数据注册中心:zookeeper注册中心监控中心:dubbo-admin...

2020-04-23 22:50:15 406

原创 springwebmvc的拦截器

拦截器简介JavaWeb阶段学习过Filter(过滤器),过滤器是Servlet规范中的,对于所有的JavaWeb都适用。此处的拦截器是spring webmvc独有的,只能在spring webmvc中使用。功能和过滤器雷同。不管是过滤器还是拦截器,都是AOP编程思想的具体表现。编写拦截器的步骤和执行流程编写一个类,实现HandlerInterceptor接口即可,重写接口方法,实现想...

2020-04-12 23:00:38 581

原创 springwebMVC中的异常处理机制

编写一个异常处理器,实现特定接口HandlerExceptionResolverpackage com.itheima.handler;import org.springframework.web.servlet.HandlerExceptionResolver;import org.springframework.web.servlet.ModelAndView;import jav...

2020-04-12 22:39:54 111

原创 springwebmvc中的文件上传

导入commons-fileupload的坐标spring webmvc中的一种上传机制,是使用的apache的commons-fileupload实现的。<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</ar...

2020-04-12 22:35:12 125

原创 springwebmvc中的异步请求和响应

idea中的测试案例环境搭建创建maven项目,配置pom.xml文件,导入jar包坐标<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema...

2020-04-12 22:26:14 251

原创 REST风格的URL(主要用在异步请求)

什么是REST风格的URL之前地址的写法:用不同的地址区分不同的操作,REST风格的URL:用不同的请求方式来区分不同的操作。Restful是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。主要用于客户端和服 务器交互类的软件,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存机制等。Restful风格的请求是使用“url+请求方式”表示一次请求目的的,H...

2020-04-12 20:11:51 1098

原创 spring框架xml配置,常用数据源&spring-jdbc内置数据源

常用的数据源市面上常用的数据源:光(HikariCP) 德鲁伊(Druid) C3P0 DBCP 其他不管是什么人开发的,所有的数据源都必须实现javax.sql.DataSource接口。下面说这几种数据源在使用spring框架的maven项目中的配置:光(HikariCP)(目前最快的数据源)1.在pom.xml文件中导入坐标 <dependency> ...

2020-04-07 20:48:25 833

原创 面向接口编程之service接口

软件开发原则高内聚,低耦合对修改关闭,对扩展开放(升级的话尽量不要修改原来的代码,可以重新编写一个实现类。)没有使用面向接口编程会遇到这样的问题:按层开发,修改service中的某个方法的时候,会出现随便起名的问题,导致web中的代码都需要修改。用接口定义方法名就可以避免乱起名的问题了。idea中从一个类中提取一个借口的方便方法按下面的步骤即可提取:工厂设计模式步骤分析:...

2020-03-26 20:51:03 2650

原创 web项目中的文件上传之用户头像上传简单实现

前端页面上的操作首先要在需要上传的from表单上添加 enctype=“multipart/form-data”,这个标明该from表单是分块提交的东东;而且提交方法必须是post,action是路径提交到那个servlet,方法名隐藏域是为了找servlet上的action=update的方法。然后得有文件上传的框<input type="file" id="***" name...

2020-03-26 20:14:19 3901 2

原创 Mybatis加载策略

应用场景在企业开发时,不是在查询所有的数据的时候都会去查询关联数据,这个时候就要用到延迟加载机制* 一个用户,该用户下有1000个订单 我们在查询用户的时候,要不要把关联的订单一起查询?不需要的,什么时候用到订单了在查询该用户的订单即可 我们在查询订单详情的时候,要不要把关联的用户一起查询?需要的 * 延迟加载策略 就是在需要用到关联数据时才进行加载,不需要用到数据时就不加载数据...

2020-03-18 18:42:28 161

原创 在浏览器上实现文件上传

实现以下文件上传要实现一个文件的上传请求的方式必须是post必须要设置 enctype=“multipart/form-data” (设置分割线)表单的提交的时候会分成多个部分提交,多个部分之间使用分割线来分割选择文件必须要使用filejsp代码:<%@ page contentType="text/html;charset=UTF-8" language="java" %...

2020-03-14 19:59:06 1992

原创 被SQL综合练习这题整崩心态

题目sql综合练习题:-- 需求:按日期统计每个课程的咨询人数CREATE TABLE `zixun` ( `id` int(11) NOT NULL AUTO_INCREMENT, `zixunriqi` date DEFAULT NULL COMMENT '咨询日期', `zixunkecheng` varchar(11) DEFAULT NULL COMMENT '咨询课程...

2020-03-12 21:57:35 102

原创 MySQL数据库中常用函数

1,日期函数1. 函数:NOW() | CURDATE() | CURTIME() 描述:获取系统当前日期时间、日期、时间 实例:SELECT NOW(); 2. 函数:YEAR(DATE) | MONTH(DATE) | DAY(DATE) 描述:从日期中选择出年、月、日 实例:SELECT YEAR(NOW()); 3. 函数:LAST_DAY(DATE) 描述:返...

2020-03-11 16:51:08 100

原创 MySQL 服务器重置密码

1,修改my.ini文件在my.ini文件的[mysqld]栏下添加 skip-grant-tables如果文件中有,可能注释掉了,这里需要去掉注释符号#改完后如下:[mysql]# 设置mysql客户端默认字符集default-character-set=utf8 [mysqld]skip-grant-tables# 设置3306端口port = 3306 # 设置mysq...

2020-03-10 19:30:41 161

空空如也

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

TA关注的人

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