- 博客(37)
- 资源 (6)
- 收藏
- 关注
原创 面试之rabbitmq必备内容
例如,在物联网(IoT)应用中,各种传感器设备作为生产者发布带有特定主题标签(如device.type.temperature、device.location.office.floor1)的消息,数据分析平台可以根据需要订阅特定的主题模式(如device.type.#接收所有类型传感器的数据,或device.location.office.*接收办公楼内所有楼层的数据),以便进行针对性的数据收集和分析。例如,消费者接收到消息后,先记录消息ID和期望的处理顺序,然后放入本地队列或数据库中按序调度执行。
2024-04-23 13:11:33
625
2
原创 面试官:说一下索引失效场景有哪些?
对索引列进行数学运算(如除法、乘法等)或应用函数(如TO_CHAR(), UPPER(), LOWER()等),可能导致索引失效,因为索引存储的是原始数据值,而非经过计算或函数处理后的值。对于一个多列索引,查询仅使用索引的一部分(如只查询b和c列),或者查询顺序与索引列顺序不一致(如先查询c再查询a),可能导致索引失效。如果表数据发生显著变化后未重新收集统计信息,或索引长期未进行维护,可能导致查询优化器对索引效用的评估不准确,从而不使用索引。=、)可能导致索引失效,除非索引支持倒序扫描。
2024-04-23 13:08:53
391
原创 公司大佬对excel导入、导出的封装,那叫一个秒啊
最近在封装公司统一使用的组件,主要目的是要求封装后开发人员调用简单,不用每个项目组中重复去集成同一个依赖l,写的五花八门,代码不规范,后者两行泪。为此,我们对EasyExcel进行了二次封装,我会先来介绍下具体使用,然后再给出封装过程。
2024-01-26 17:29:02
143
原创 MYSQL表中没有主键,怎么找到重复的数据
有一次遇到这样一个面试题,说如果一个表中没有主键,如何找到里面重复的数据?表数据如下:表结构如下:针对以上问题,有以下几种解决方案。
2024-01-11 15:51:07
890
原创 SpringBoot启动流程源码分析二、SpringApplication准备阶段
准备阶段主要干了如下几件事情设置headless为true(表示可以在缺少显示屏、键盘或者鼠标时候的系统配置)文件META-INF\spring.factories中获取SpringApplicationRunListener接口的实现类EventPublishingRunListener,主要发布SpringApplicationEvent。创建Environment并设置比如环境信息,系统属性,输入参数和profile等信息打印Banner信息。
2023-04-02 23:03:16
246
原创 SpringBoot启动流程源码分析一、入口参数研究和创建对象
这不最近到金三银四的季节了么,有个朋友去参加了一个面试,回来的时候给我说其它还可以,但是问到SpringBoot的启动原理了,说了解的不深,我仔细转过头来也想了一下自己用了这么长时间的SpringBoot,说实话还真没有仔细研究过他的启动原理。我觉得还是有必要去研究一下。
2023-03-25 23:02:21
491
原创 Java开发常见模糊点
本文旨在记录日常开发中的模糊点。。。。持续更新汇总中。。。。。。。#一、java1、Java部署方式在Linux上的部署发方式nohup java -jar xxx.jar > catalina.out 2>&1 &停止方式ps -ef | grep email-0.0.1.jar | grep -v grep | awk '{ print $2 }'kill -9 pid对应停止脚本#!/bin/bashPID=$(ps -ef | grep you
2021-12-08 15:50:23
744
原创 vagrant快速创建三台虚拟机
这里使用的版本:Vagrant 2.2.14VirtualBox:6.11、创建虚拟机使用命令执行如下vagrant upVagrant.configure("2") do |config| (1..3).each do |i| config.vm.define "k8s-node#{i}" do |node| # 设置虚拟机的Box node.vm.box = "centos/7" confi
2021-12-05 13:34:43
420
原创 前端html项目(非vue项目)通过jenkins打包成docker镜像,实现自动化部署
前言记录公司中一次将前端项目打包成docker镜像的经历先看下效果图:镜像:访问如下:本次打包方式分两种:1.将项目代码直接打包到镜像中2.将项目代码挂载出来一、docker基础docker默认大家都会,只说几个细节挂载目录的时候,前面的地址为宿主机也就是本机的路径,后面为容器路径。端口同理挂载的时候是挂载不了文件的,只能挂载文件夹nginx.conf和default.conf文件是包含的关系。另外说明:这里建议大家在使用docker命令的时候,每次都自己手动去敲
2021-11-17 15:15:14
2873
原创 后端调用文件上传接口upload上传文件
一、问题起因我在用Java的方式创建了文件,然后需要对其上传到文件服务器上去二、问题展示文件上传接口 @PostMapping({"/upload"}) public R upload(@RequestParam(value = "isdb",defaultValue = "false") boolean isdb, @RequestParam("file") MultipartFile file) throws Exception { if (file.isEmp
2021-10-19 16:39:38
3075
原创 redis乱码问题
一、问题起因:我在对redis进行存储数据的时候,存储到redis里面的数据为这样的这里我并没有理会,然后我再获取其中的一个值的时候,在redis的客户端进行操作的时候能获取到里面的值然后再用java的方式进行获取,发现一直返回Nul,表示很无语 @Test public void createOfficialLetter() { boolean officialLetter = generateProjectPdfService.crea..
2021-10-19 16:28:42
1197
原创 Spring常用注解&自定义注解的使用&元注解解读
一、元注解元注解:是用于修饰注解的注解,通常用在注解的定义上。一般用于指定某个注解生命周期以及作用目标等信息,为Java内置的注解,主要有如下几种:@Target: 注解的作用目标@Retention: 注解的生命周期@Documented:注解是否应当被包含在 JavaDoc 文档中@Inherited:是否允许子类继承该注解1、@Target用于指明被修饰的注解最终作用的目标是什么,是类还是方法等。定义@Documented@Retention(RetentionPolicy
2021-09-06 17:34:15
400
原创 Spring Bean的生命周期
Spring Bean的生命周期综上为Spring的生命周期,主要生命周期为标颜色的部分,总共分四步。实例化bean(createBeanInstance)属性填充(populateBean)初始化bean(initializeBean)销毁以下从源码阶段对Spring的生命周期进行分析上面主要的代码实现都在doCreate()方法中。可以看到,在当前方法中有Spring Bean生命周期的三个步骤如下protected Object doCreateBean(final String
2021-09-06 15:41:39
85
原创 Spring源码学习四、Bean的加载
这章分析的是,从容器中获取bean Student student = (Student)xmlBeanFactory.getBean("student");bean加载的大体思路 @Override public Object getBean(String name) throws BeansException { return doGetBean(name, null, null, false); } 继续往下追踪 /** * Return an instance, whic
2021-09-03 17:22:08
292
原创 spring源码学习三、Spring自定义标签的使用与解析原理
PS:本文参照《Spring源码深度解析2》与spring官方,仅作个人学习这章节将会学到什么?我们如何自定义一个spring的标签?了解spring自身的标签比如beans是如何配置的spring是如何去解析我们配置的自定义标签上一章分析了解析spring的默认标签的部分,先回顾一下这里我们要分析的代码根源是从哪里开始的 /** * Parse the elements at the root level in the document: * "import", "alias",
2021-08-27 15:38:58
243
原创 spring源码学习二:spring对默认标签的解析
dd[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h8RIbugl-1629797537303)(D:\tool\Typora\data\images\abc.png)]d
2021-08-26 15:51:37
152
原创 设计模式学习第二天:桥接设计模式
目录一、基础概念二、桥接设计模式1、需求:手机操作问题2、普通解决方式3、桥接设计模式解决方式三、注意事项一、基础概念是 一种结构型设计模式 将实现与抽象放在两个不同的类层次中,使两个层次可以独立改变 Bridge模式基于类的最小设计原则,通过使用封装、聚合及继承等行为让不同的类承担不同的职责。它的主要特点是把抽象(Abstraction)与行为实现(Implementation)分离开来,从而可以保持各部分的独立性以及应对他们的功能扩展图示说明:.
2021-07-05 16:52:41
198
原创 设计模式学习第一天:8种单例设计模式
一、基础概念1、什么是单例设计模式?二、单例设计模式的八种方式1、饿汉式(静态常量)(可用)2、饿汉式(静态代码块) (可用)3、懒汉式(线程不安全)4、懒汉式(线程安全-同步方法)5、懒汉式(线程安全-同步代码块)6、双重检查 (推荐使用)7、静态内部类 (推荐使用)8、枚举 (推荐使用)一、基础概念1、什么是单例设计模式?在整个软件系统中,某个类只存在一个对象实例。且该类通过静态方法只提供一种取得实例的方法。举例:比如 Hibernat..
2021-07-02 17:01:42
167
原创 IDEA 错误 找不到或无法加载主类
第一种处理方式:删除,重新引入,引入以后,重新构件项目build-->Rebuild project第二种:菜单—》File—》Invalidate Caches/Restart 选择Invalidate and Restart 或者 只是Invalidate,清除掉缓存,然后 >Rebuild Project...
2021-07-01 11:01:10
168
原创 前端如何将实体对象(包含其他实体的)传给后端
记录一次后台接口使用封装后的javaBean作为参数,给前端进行调用接口如下:整体请求路径,http://127.0.0.1:2024//view/roster/RosterController/inSertRoter2 @ApiOperation(value = "写表", notes = "返回值说明\n" + "code: success:成功 error:失败\n" + "msg: 调用成功或失败信息,该接口信息均可在前端进行提...
2021-03-26 19:23:25
9282
1
原创 由file.delete()删除不了文件引发的血案
早上在检查文件定时下载情况的时候发现,文件下载了,但是没替换成功这里说下定时下载的原理:定时从网站下载指定文件,然后检查此次下载的文件大小是否大于之前生产环境的文件,如果大,则进行替换,替换原则是删除原来的文件,然后将这个文件移动到生产环境即可第一步、检查最新原始文件是否下载成功, 通过检查,发现文件下载成功,且大小大于原来文件,则满足替换原则,但是没有替换掉,检查代码: if (localFileSizeDown - localFileSizePro > 0) {
2021-03-06 12:15:30
1164
原创 多线程之Callable项目实战总结
package com.trg.test;import java.util.concurrent.Callable;public class CalcCallable implements Callable<Double> { private double num1; private double num2; private String type; public CalcCallable() { super(); } public CalcCallabl.
2020-05-14 12:02:47
337
原创 使用jqprint插件打印Bootstrap table表格出现双表头问题处理
问题描述:打印表格出现以下问题解决方法:注释掉高度,问题就解决了,具体原因不清楚,有大佬知道的,可以留言指教下$table.bootstrapTable({// height: getHeight(), striped: true, uniqueId: 'year', searchOnEnterKey: true, sh...
2020-05-07 14:51:06
961
原创 layui时间选择器闪退问题处理
layui时间选择器的使用,可以查看官网详细介绍:https://www.layui.com/doc/modules/laydate.html问题描述:点击时间框的时候出现时间下拉框,然后闪退,不能选择。解决方法:加入这行代码:trigger: 'click' 代表单击触发事件laydate.render({ elem: '#esYear', ...
2020-05-07 14:08:35
563
原创 如何通过Nginx来反向代理ftp服务器
需求:项目开发中使用到ftp作为存储图片或者文件的服务器,要对图片进行上传保存的时候,通过ftp将图片上传服务器地址。路径为现在想通过http的方式去访问该文件夹下面的文件,主要通过如下配置1、安装Nginx网上百度,教程很多安装好后通过Linux的远程连接工具打开Nginx的配置文件有两个注意点第一个:上面的user对应的是你的要ftp用户,务必要写,不然会报...
2019-10-06 22:17:44
4918
原创 二、 JMS-activeMQ 与spring的整合
Spring整合JMS一、点对点模式1.1消息生产者1、创建工程springjms_producer引入依赖:<properties> <spring.version>4.2.4.RELEASE</spring.version> </properties> <dependencies> <...
2019-08-17 13:31:49
129
原创 一、 JMS-activeMQ 入门
备注:主要参考黑马老师祯帅课程所写一、消息中间件消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。对于消息中间件,常见的角色大致也就有Producer(生产者)、Consumer(消费者)常见的消息中间件产品:(1)ActiveMQActiveMQ ...
2019-08-17 13:11:03
410
转载 oracle学习-------触发器
原文地址:https://www.cnblogs.com/huyong/archive/2011/04/27/2030466.html#top博主写的非常不错,感谢分享—————————————————————————————————————————————————————————目录8.1触发器类型8.1.1DML触发器8.1.2替代触发器8.1.3系统触发...
2019-05-29 11:09:53
151
原创 前端json格式转换
前端代码片段:<tr> <td>{{entity.brandIds}}</td> <td>{{entity.specIds}}</td> <td>{{entity.customAttributeItems}}</td> </tr>显示结果:...
2019-05-18 23:04:33
3498
原创 select2插件的使用
1、引入JS <link rel="stylesheet" href="../plugins/select2/select2.css" /> <link rel="stylesheet" href="../plugins/select2/select2-bootstrap.css" /> <script src="../plugins/se...
2019-05-18 17:31:10
484
原创 Type Target runtime Apache Tomcat v7.0 is not defined.
这个问题是在更新代码的时候由于SVN报错,One or more files are in a conflicted state.(本地修改了代码没提交导致更新的时候重复了)所以我将里面出现黄色叹号的内容全部删除掉重新更新更新代码导致的报错:解决方法:打开项目中.settings文件夹下面的org.eclipse.wst.common.project.facet.core.xml文...
2019-02-20 10:20:17
236
原创 Excel中对于科学计数法的数据处置
了解Excel中如果数据超过12位,则会自动进行数据转换成科学计数法数据;由于Excel的精度为15,所以数据超过15位后面的部分自动会用0补充进行科学计数,但是不是我们要的效果。像这种数据,如何处理?第一种方法:将其转换为文本①在数据前面加英文'②利用设置单元格格式的方式设置但是以上方式治标不治本,我的方法 是,如下: ...
2018-12-11 15:28:37
1582
原创 MyBatis学习二------CRUD(增删改查)
本文内容:1、关于Mybatis核心配置文件的三个标签environments、databaseIdProvider、mappers将会在本文中进行使用 environments:数据库连接环境的切换 databaseIdProvider:支持多数据库厂商 mappers:映射文件2、Mybatis的CRUD操作: ①根据批量注册接口的形式进行操作 ②根据注册映射文件的形式进行操作3、Mybatis通过inse
2018-09-09 02:37:19
146
原创 MyBatis学习一------HelloWord
一、什么是Mybatis二、Mybatis和Hibernate的区别三、Mybatis的HelloWord 1、目录结构如下: 准备工作,创建java项目,导入此次要使用jar包,然后在数据库中创建库表表结构如下;这里连接的是mysql数据库,因为是简单的一个表,不予过多解释准备工作做好开始着手项目:第一步:创建Mybatis的核心配置文件(全局配置文件下一...
2018-09-05 00:52:25
151
原创 Maven---环境搭建
1、先下载maven压缩包地址:http://maven.apache.org/download.cgi2、解压该文件---》进行环境变量配置(和jdk配置类似)在这里必须要注意的是,操作系统是不是win10的,如果是win10的,必须按照如下配置,否则,必然会报错(非win10的,到出都可以找到的)配置path:3、环境变量配置好以后,则打开DOS窗口进行验证...
2018-09-02 21:42:28
223
1
翻译 java程序员面试题之32问
一,谈谈final, finally, finalize的区别。 final—修饰符(关键字) 修饰类,则该类不能被继承;修饰方法,不能被重写;修饰成员变量,不能被二次赋值(所以说必须 给定初始值);不能和abstract同时使用; finally—专门用于在try-catch块之后,一般用于关闭
2017-11-27 18:11:57
1362
2
hibernate-search-5.8.0.Final-dist.zip
2017-12-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人