- 博客(82)
- 收藏
- 关注

原创 HashMap原理及面试题(精髓)
HashMap集合简介HashMap基于哈希表的Map接口实现,是以key-value存储形式存在,即主要用来存放键值对。HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突**(两个对象调用的hashCode方法计算的哈希码值一致导致计算的数组索引值相同)**而存在的(“拉链法”解决冲突)
2021-03-10 15:14:06
496
原创 原型,模板,策略,适配器模式
如果咱们拷贝的对象是不可变的,也就是说我这个对象只会查看,不会增删改,那么,直接用浅拷贝就好了,如果拷贝的对象存在增删改的情况,那么就需要使用深拷贝了。接着我们来看一下策略模式,策略模式呢也是非常简单,他就是定义一个主要的接口,然后很多个类去实现这个接口,比如说我们定义一个文件上传的接口,然后阿里云的上传类去实现它,腾讯云的上传类也去实现它,这样因为都是实现的同一个接口,所以上传类之间是可以在代码中互相替换的。这个模板方法模式,简单来说就是一句话:在父类中定义业务处理流程的框架,到子类中去做具体的实现。
2024-03-19 20:52:46
739
原创 JAVA代理模式梳理
代理模式:为其他对象提供一种代理,用以控制对这个对象的访问;我们使用代理对象,可以在不修改目标对象的基础上,增强主业务逻辑;比如说我们的系统中有一个登录接口,我们要对这个登录接口做一下功能迭代,比如说加一个统计登录耗时的接口,但是我们要加的这个功能不能去修改原有的代码逻辑,就是你不能在登录接口里面直接加这个统计代码,那怎么呢?那就可以通过代理对象来做,通过代理对象,可以在不修改目标对象的登录接口的基础上,还能增强这个业务的逻辑。
2024-03-17 21:09:57
806
1
原创 设计原则、工厂、单例模式
简单来说,设计模式就是很多程序员经过相当长的一段时间的代码实践、踩坑所总结出来的一套解决方案,这个解决方案能让我们少写一些屎山代码,能让我们写出来的代码写出来更加优雅,更加可靠。所以设计模式的好处是显而易见的。当然,设计模式不仅仅能够让我们写出更好的代码,他还有些好处,我们在读框架、中间件源码的时候,我们会设计模式,就能够更好的去理清源码的整个逻辑,读起来也会轻松不少。面试的时候,设计模式还是问的比较多的,所以呢,设计模式学得好,工作少不了。
2024-03-17 20:21:46
1185
原创 数据库高级- 数据库索引概述及设计原则
我们平常所说的索引,如果没有特别指明,都是指B+树(多路搜索树,并不一定是二叉的)结构组织的索引。其中聚集索引、复合索引、前缀索引、唯一索引默认都是使用 B+tree 索引,统称为 索引。所以每种存储引擎的索引都不一定完全相同,也不是所有的存储引擎都支持所有的索引类型的。在原B+Tree的基础上,增加一个指向相邻叶子节点的链表指针,就形成了带有顺序指针的B+Tree,提高区间访问的性能。索引的设计可以遵循一些已有的原则,创建索引的时候请尽量考虑符合这些原则,便于提升索引的使用效率,更高效的使用索引。
2023-06-29 12:34:42
384
原创 docker 安装及部署应用
*-v $PWD:/usr/local/tomcat/webapps:**将主机中当前目录挂载到容器的webapps。**-p 8080:8080:**将容器的8080端口映射到主机的8080端口。
2023-06-23 21:24:55
1058
原创 vmware 安装centos 7 查不到ip
接着来查看ens33网卡的配置:vi /etc/sysconfig/network-scripts/ifcfg-ens33 注意vi后面加空格。最后重启网络 就好啦 sudo service network restart。发现ens33 没有inet 这个属性,那么就没法通过IP地址连接虚拟机。这里把no改成yes。
2023-06-22 22:43:34
218
原创 mysql Using join buffer (Block Nested Loop) join连接查询优化
Block Nested Loop算法是Join Buffer的一种实现方式,它的特点是使用了类似于嵌套循环的方式进行查询,即将一个表的每一个数据块都分别和另一个表进行匹配,最终得到连接结果。使用Block Nested Loop算法需要注意两个表的大小,一般情况下,对于大小不一的两张表,应该把小表放在外面循环,而把大表放在内部循环,这样可以有效提高执行效率。在执行连接操作时,MySQL需要将两个表的数据进行组合,通常是先取出一张表的数据,然后根据指定条件在另外一张表中进行查找。
2023-05-25 13:29:24
2818
原创 rocketmq启动连接失败
按照官网 http://rocketmq.apache.org/docs/quick-start/ 实例,启动报错:RemotingTooMuchRequestException: sendDefaultImpl call timeout。
2023-02-07 14:47:27
1426
原创 Java常见基础面试题
抽象类里面可以用普通方法,而接口中的方法全部都是抽象的;在应用范围上来说,接口往往在程序设计的时候,用来定义程序模块的功能,方便各模块协同工作;抽象类是对相似类进行抽象,形成一个抽象的父类可供重用!事务是一系列的数据库操作,是数据库应用的基本逻辑单位,事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。事务具有如下特性:(其中原子性最为重要,必须掌握)
2023-01-30 11:33:05
455
原创 docker应用部署
Docker 应用部署一、部署MySQL搜索mysql镜像docker search mysql拉取mysql镜像docker pull mysql:5.6创建容器,设置端口映射、目录映射# 在/root目录下创建mysql目录用于存储mysql数据信息mkdir ~/mysqlcd ~/mysqldocker run -id \-p 3306:3306 \--name=cp_mysql \-v $PWD/conf:/etc/mysql/conf.d \-v $
2022-05-11 13:49:19
134
原创 Java 基础中的基础算法题
1.输入一个数字,判断其是否为水仙花数。 public static void main(String[] args) { //接受控制台输入信息 Scanner scanner = new Scanner(System.in); System.out.println("请输入一个数"); //获取控制台输入的数字 int number = scanner.nextInt(); //取的百位数
2022-03-11 17:31:23
4901
2
转载 maven jar包手动导入依赖
https://blog.csdn.net/fenglongmiao/article/details/80703618
2021-11-08 16:05:24
281
原创 基金基础知识
基金概括与种类什么是基金官方定义:全称叫证券投资基金,作为一种投资工具,把众多投资人的资金汇集起来,由基金托管人(列如银行)托管,让专业的基金管理公司管理和运作,通过投资股票和债券等投资,获取收益。基金的种类按是否课赎回划分开放式基金:发行总额不固定,总数随时增减,规定场所申购和赎回;封闭式基金:份额事先确定好,封闭期内总数不变,只能通过证卷市场买卖;按投资对象划分货币基金货币基金是聚集社会闲散资金,由基金管理人运作,基金托管人保管资金的一种开放式基金,专门投向风险小的货
2021-10-13 23:44:13
377
原创 股票基础知识
股票的分类我国上市的股票有A股、B股、H股、N股、S股等的区分。(不用记太多我们要做的一般只有沪深A股)。我们的股票一般就是沪深A股:说白了在上海和深圳交易的A股。60开头的股票 ---- 上证A股0开头的股票 ----深圳A股3开头的股票 ---- 创业板(证券公司去开通)688开头的股票 —科创版(最低50w资金)后期可能政策改变。股票的交易时间股票的交易时间每周一到周五上午09:30到11:30 下午13:00到15:00周六周日休市不交易(国家发定节假日不交易)(集合竞价
2021-10-12 00:17:15
9050
原创 面试高频题目
一般是根据我自己简历上写的来问的1.spring1.常用注解有哪些,怎么用的2.解释ioc和aop,并说明实际运用(特别是aop的运用)3.自定义注解怎么写 自己查一下4.怎么获取bean中的对象2.springboot1.什么是springboot2.它的执行流程3.核心注解有哪些(并说明用途)4.自定义端口怎么弄3.springmvc1.执行流程(核心组件)2.谈谈mvc模式是什么(什么好处)3.@Controller和@RestController的区别4.前后
2021-10-09 15:59:26
105
原创 前端知识总结 1
软件流程开发最初所有的开发工作都是由后端工程师完成的,随着业务越来越繁杂,工作量变大,于是我们将项目中的可视化部分和一部分交互功能的开发工作剥离出来,形成了前端开发。大约从2005年开始正式的前端工程师角色被行业所认可,到了2010年,互联网开始全面进入移动时代,前端开发的工作越来越重要。前端开发软件 VS Code下载和安装 地址 https://code.visualstudio.com/Download配置中文插件首先安装中文插件:Chinese (Simplified) Langu
2021-09-30 16:30:04
231
原创 mybatis-plus笔记
分页插件MyBatis Plus自带分页插件,只要简单的配置即可实现分页功能添加配置类 创建config包,创建MybatisPlusConfig类package com.atguigu.mybatisplus.config;@Configuration //可以将主类中的注解移到此处@MapperScan("com.atguigu.mybatisplus.mapper") public class MybatisPlusConfig {}添加分页插件 配置类中添加@Bean配
2021-09-30 14:25:29
117
原创 尚融宝-项目介绍和前后端核心框架
项目介绍尚融宝是一个网络借贷信息中介服务平台,为个人投资者、个人融资用户和小微企业提供专业的线上信贷及出借撮合服务。行业案例:人人贷、 拍拍贷项目架构前台网站系统项目业务流程需要掌握的知识技术栈1、后端SpringBoot 2.3.4.RELEASESpringCloud Hoxton.SR8:微服务基础设施 - 服务注册、服务发现、服务熔断、微服务网关、配置中心等SpringCloud Alibaba 2.2.2.RELEASEMyBatis Plus:持久层框架和代码生成.
2021-09-30 14:15:31
1638
原创 notepad++ 忘记保存文件
在C:\Users\Administrator\AppData\Roaming\Notepad++\backup这个路径里面保存着 用txt打开
2021-09-29 08:59:25
343
原创 基于springboot的电脑商城
首页用户登录注册商城首页修改密码功能个人资料修改头像上传地址管理订单管理购物车创建订单文档项目地址:getee百度网盘:链接:https://pan.baidu.com/s/1E4tFimsDYCVaeozr0I_11Q提取码:tmlb...
2021-09-27 19:48:11
657
原创 基于Netty的网络编程项目实战
Netty介绍与相关基础知识Netty提供异步的事件驱动的网络应用程序框架和工具,用以快速开发高性能,高可靠性的网络服务器和客户端程序。Netty提供了简单易用的API基于事件驱动的编程方式来编写网络通信程序更高吞吐量学习难度低BIO、NIO、AIO 介绍与区别...
2021-06-18 15:45:24
384
2
原创 Java -jar 如何在后台运行项目
java -jar babyshark-0.0.1-SNAPSHOT.jar这样运行的话会有一个问题,就是我们一关闭当前窗口就会停止运行项目,要想解决这个问题,就需要在后台运行。nohup java -jar babyshark-0.0.1-SNAPSHOT.jar > log.file 2>&1 &上面的2 和 1 的意思如下:0 标准输入(一般是键盘)1 标准输出(一般是显示屏,是用户终端控制台)2 标准错误(错误信息输出)将运.
2021-06-02 16:52:24
219
3
原创 mysql面试题
存储引擎InnoDB支持事务支持行级锁支持外键对数据准确性要求比较高,插入数据比较多的情况下MyISAM不支持事务支持表锁不支持外键对数据查询比较多,更新比较少的情况下MEMORY不支持事务支持表锁不支持外键索引索引:是帮助mysql快速获取数据的一种数据结构,是本质就是一种数据结构按功能划分普通索引 :最基本的索引,没有任何限制唯一索引:索引列的值必须唯一,但允许有空值主键索引:一种特殊的唯一索引,不允许有空值组合索
2021-05-05 20:40:45
147
原创 spring的bean生命周期及循环依赖
spring框架中bean的创建过程是怎么样的首先,简单来说的话,spring框架的bean经过四个阶段,实例化->属性赋值->初始化->销毁然后具体来说,spring中的bean经过了一下几个步骤实列化: new xxx(); 两个时机 1.当客户端容器申请一个bean时 2.当容器在初始化一个bean时发现还需要依赖另一个bean。beanDefinition对象保存设置对象属性(依赖注入):spring通过BeanDefinition找到对象依赖的其他对.
2021-05-05 00:55:37
265
原创 中间件
Reids:Redis支持的数据类型?(1)String字符串:格式: set key valuestring类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。string类型是Redis最基本的数据类型,一个键最大能存储512MB。 (2)Hash(哈希)格式: hmset name key1 value1 key2 value2Redis hash 是一个键值(key=>value)对集合。Redis hash是
2021-03-20 11:13:07
517
原创 Java笔试编程题
递归斐波那契数列问题(第n个数=第n-1个数+第n-2个数) 有一列数有如下规律,1,1,2,3,5,8,13,21,34…,求第20位数是多少,要求使用递归实 现。public class demo1{ public static void main(String[] args){ System.out.prinlnt(digui(20)); } public static int digui(int val){ if(val==1||val==2){ return 1;
2021-03-12 22:24:33
190
原创 MYSQL索引及存储引擎
什么是索引索引(index)是帮助MySQL高效获取数据的数据结构(有序)。索引优势劣势优势提高数据检索的效率,降低数据库的IO成本。通过索引列对数据进行排序,降低数据排序的成本,降低CPU的消耗。劣势索引列也是要占用空间的。虽然索引大大提高了查询效率,同时却也降低更新表的速度,如对表进行INSERT、UPDATE、DELETE。因为更新表时,MySQL 不仅要保存数据,还要保存一下索引文件每次更新添加了索引列的字段,都会调整因为更新所带来的键值变化后的索引信息。索引结
2021-03-10 15:12:57
126
原创 JAVA面试题基础
Map的四种遍历方式 HashMap<String,String> hashMap=new HashMap<>(); hashMap.put("sp001","手机"); hashMap.put("sp002","电脑"); hashMap.put("sp003","平板"); hashMap.put("sp004","电视"); //第一种遍历方式:通过键找值遍历map集合
2021-03-10 14:50:40
111
原创 MySQL经典50道练习题
#–1.学生表 #Student(s_id,s_name,s_birth,s_sex) –学生编号,学生姓名, 出生年月,学生性别CREATE TABLE `Student` ( `s_id` VARCHAR(20), s_name VARCHAR(20) NOT NULL DEFAULT '', s_brith VARCHAR(20) NOT NULL DEFAULT '', s_sex VARCHAR(10) NOT NULL DEFAULT '', PRIM
2021-03-10 14:49:50
210
2
原创 5招搞定导入maven依赖问题
如果导入maven依赖报红线,首先删除maven重新导入。如果重新导入还是报错,找到本地导入依赖的文件夹搜索*lastupdate,将搜索出来的文件全部删掉,重新导入。如果还是报错,找到maven仓库的配置conf下的settings.xml,删掉自己配置的镜像下载去中央仓库下载。如果还是报错,只能说明是maven名称错误,修改代码...
2021-02-05 11:19:05
695
原创 zookeeper分布式锁
Zookeeper 数据模型ZooKeeper 是一个树形目录服务,其数据模型和Unix的文件系统目录树很类似,拥有一个层次化结构这里面的每一个节点都被称为: ZNode,每个节点上都会保存自己的数据和节点信息节点可以拥有子节点,同时也允许少量(1MB)数据存储在该节点之下节点可以分为四大类PERSISTENT 持久化节点EPHEMERAL 临时节点 :-ePERSISTENT_SEQUENTIAL 持久化顺序节点 :-sEPHEMERAL_SEQUENTIAL 临时顺序节点 :-es
2021-02-04 13:49:33
122
原创 ElasticSearch总结
倒排索引倒排索引:将各个文档中的内容,进行分词,形成词条。然后记录词条和数据的唯一标识(id)的对应关系,形成的产物。ElasticSearch数据的存储和搜索原理使用数据库查询存在的问题性能低:使用模糊查询,左边有通配符,不会走索引,会全表扫描,性能低功能弱:如果以”华为手机“作为条件,查询不出来数据使用ElasticSearch使用“手机”作为关键字查询生成的倒排索引中,词条会排序,形成一颗树形结构,提升词条的查询速度使用“华为手机”作为关键字查询华为 :1,3
2021-02-02 23:03:37
422
1
原创 springcloud总结
Spring Cloud 与 Dubbo 对比Spring Cloud 与 Dubbo 都是实现微服务有效的工具。dubbo性能高、SpringCloud功能全。Dubbo 只是实现了服务治理,而 Spring Cloud 子项目分别覆盖了微服务架构下的众多部件。Dubbo 使用 RPC 通讯协议,Spring Cloud 使用 RESTful 完成通信,Dubbo 效率略高于 Spring Cloud。Eureka是一个用于注册微服务的注册中心注册每个微服务的IP地址信息,进而解耦微服
2021-01-28 17:46:51
204
4
转载 SpringBoot单元测试失败,报错InvalidTestClassError
转载 : https://www.cnblogs.com/changemax/p/12311457.html
2021-01-27 19:18:44
458
转载 mybatis-plus时遇到maven依赖报红线
转载https://blog.csdn.net/weixin_42329970/article/details/106444028
2021-01-25 14:37:22
1898
原创 RabbitMQ高级深入
消息的可靠投递在使用 RabbitMQ 的时候,作为消息发送方希望杜绝任何消息丢失或者投递失败场景。RabbitMQ 为我们提供了两种方式用来控制消息的投递可靠性模式。confirm 确认模式return 退回模式rabbitmq 整个消息投递的路径为:producer(生产者)—>rabbitmq broker(MQ中间件)—>exchange(交换机->通过routing key绑定queue)—>queue—>consumer(消费者绑定exchang
2021-01-23 21:32:32
198
mysql数据优化详细教程
2023-06-28
MYSql高级教程-存储引擎和SQL优化
2023-06-28
MYSQL 高级篇之数据库搜索引擎及原理
2023-06-28
微服务springcloud的面试题
2023-06-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人