自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 问答 (1)
  • 收藏
  • 关注

原创 简单介绍Linux IO阻塞模型和Epoll原理

Linux IO模型的简单介绍和了解

2022-03-16 23:31:02 1320

原创 MySQL不走索引的几种情况

1、使用到了or,但是却并不是所有条件都创建了索引,会导致所有索引失效。将or用到的条件全部都加上索引。2、模糊查询时,使用 % 作为开头。要避免这种情况很简单,做右模糊即可。3、多列索引没有按照最左前缀匹配原则来查找。比如 a=1 AND b=2 AND c<0 AND d=3,则不会走到cd的索引,原因就是因为MySQL的最左前缀匹配原则,原理很简单,B+树创建的时候,会按照顺序来创建。b+树的数据项是复合的数据结构,比如(name,age,se...

2020-11-16 21:26:19 2715

原创 spring面试题之——注解

什么是基于java的spring注解配置?给一些注解的例子基于java的配置,允许你在少量的java注解的帮助下,进行你的大部分spring配置而非通过xml文件。以@Configuration注解为例,它用来标记类可以当作一个bean的定义,被spring IOC容器使用。另一个例子是@Bean注解,它表示此方法将要返回一个对象,作为一个bean注册进spring应用上下文。什么是基于注解的容器配置?相对于xml文件,注解型的配置依赖于通过字节码元数据装配组件,而非尖括号(<be

2020-07-03 15:01:12 576

原创 MySQL锁相关面试题

对MySQL的锁了解吗?当数据库有并发事务的时候,可能会产生数据的不一致,这时候需要一些机制来保证访问的次序,锁机制就是这样的一个机制。例子:就像酒店的房间,如果大家随意进出,就会出现多人抢夺一个房间的情况,而在房间上装上所,申请盗钥匙的人才可以入住并且将房间锁起来,其他人只有等他使用完毕才可以使用。隔离级别与锁的关系在Read Uncommited级别下,读取数据不需要加共享锁,这样就不会跟被修改的数据上的排他锁冲突。在Read Commited级别下,读操作需要加共享锁,但是在语句执

2020-07-03 12:54:30 2100 2

原创 【Windows】zookeeper+kafka+整合springboot

前言本文参考了大量其它博客,此处只是做了一定的汇总和一些疑难杂症的处理。前置准备1、安装好jdk。(包括配置好环境变量等等)2、如果需要使用到springboot,则最好安装好idea或者是sts和maven。正文安装zookeeper1、前往zookeeper的官方网站下载zookeeper,本文选用的版本是3.6.1https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.6.1/apache-zookeep..

2020-07-02 20:54:03 850

原创 spring面试题之——Bean

什么是spring bean?bean是构成用户应用程序主干的对象。bean由spring IoC容器管理。bean由spring Ioc容器实例化,配置,装配和管理。bean是基于用户提供给容器的配置元数据创建的。spring提供了哪些配置方式?1、基于XML配置bean所需的依赖项和服务在XML格式的配置文件中指定。这些配置文件通常包含许多bean定义和特定于应用程序的配置选项。它们通常以bean标签开头。例如<bean id="studentbean" clas

2020-06-28 16:29:11 1745

原创 spring面试题之——控制反转(IOC)

什么是spring ioc容器?spring框架的核心是spring容器。容器创建对象,将他们装配在一起,配置它们并管理它们的完整生命周期。spring容器使用依赖注入来管理组成应用程序的组件。容器通过读取配置的配置元数据来接受对象进行实例化,装配和组装的指令。该元数据可以通过XML、java注解或者是java代码提供。什么是依赖注入?在依赖注入中,您不必创建对象,但必须描述如何创建它们。您不是直接在代码中将组件和服务连接在一起,而是描述配置文件中哪些组件需要哪些服务。由IOC容器将他们装配

2020-06-28 12:59:37 1557

原创 spring面试题之——一般问题

不同版本的spring framework有哪些主要功能?什么是spring framework?spring是一个开源框架应用,旨在降低应用程序开发的复杂度。它是轻量级、松散耦合的。它具有分层体系结构,允许用户选择组件,同时还为J2EE应用程序开发提供了一个有凝聚力的框架。它可以集成其它框架,入structs、hibernate、EJB等,所以又称为框架的框架。列举spring framework的有点。由于spring framework的分层架构,用户可以自由选择自己需要的组件。s

2020-06-28 12:34:37 274

转载 java内部类以及使用场景

本文转自https://www.cnblogs.com/firefrost/p/5064210.html内部类,即定义在另一个类中的类。那么为什么会有内部类这个概念,使用场景又是什么?为了回答这个问题,先看看下面的内容。内部类的特点:1、它体现了一种代码的隐藏机制和访问控制机制,内部类与所在外部类有一定的关系,往往只要该外部类调用此内部类,所以没有必要专门用一个java文件存放这个类。public class Outer {  private int num;   privat

2020-06-28 01:23:37 508

原创 MySQL面试题简单汇总之——事务

前言面试题都是从各大平台论坛收集整理而来,并且包含了本人一些调试和实践,侵删。什么是数据库事务?事务是一个不可分割的数据库操作序列,也是数据库并发控制的基本单位,其执行结果必须使数据库从一种一致性状态变到另一种一致性状态。事务是逻辑上的一组操作,要么都执行,要么都不执行。举例:转账小明要给小红转账1000元,这个转账会涉及到两个关键操作就是:小明的余额减少1000元,将小红的余额增加1000元。万一在这两个操作之间突然出现错误比如银行系统崩溃,导致小明余额减少了而小红的余额没有增加,这样

2020-06-27 13:57:23 283

原创 Mysql索引类面试题简单汇总+简单调优实践

什么是索引?1、索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。2、索引是一种数据结构。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中的数据。索引的实现通常是B树以及其变种B+树。(MySQL的索引虽然显示的是BTREE,但实际上它是B+树实现的。)3、用大白话说,索引就相当于目录,为了方便查找书中的内容,通过对内容建立索引形成目录。索引是一个文件,是需要一定的物理空间的。索引的优缺点?优

2020-06-25 17:53:46 293

原创 windows下配置redis集群+整合springboot+解决各种配置时的疑难杂症

前言今天花了两三个小时终于把redis集群在Windows系统下配好了,Windows你都搞定了,Linux那还不是随随便便嘛。我绝对不是因为懒得搞一台服务器才这么干的。需要用到的东西1、ruby 需要用到版本较高的ruby,建议直接去官网下载2.7版本的就好。不需要下载Devkit。另一个好处是2.7版本的ruby不再需要你重新配置一个源了。https://rubyinstaller.org/downloads/2、redis3.2.100版本,这个版本是Windows所支持的最高

2020-06-23 22:27:56 249

原创 常见的mybatis面试题大汇总,并附带一些简要实现,易于理解

前言以下所有面试题都是从各大平台、论坛获取,对其进行了一定的整理和补充。1、什么是mybatis1、mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注sql语句本身,不需要去处理加载驱动、创建链接、创建statement等繁杂的过程。程序员直接编写原生的sql,可以严格控制sql的执行性能,灵活度高。2、mybatis可以用xml或注解来配置,将POJO映射成数据库中的记录,几乎避免了所有JDBC代码和手动设置参数以及获得结果集。3、通过xml.

2020-06-23 15:51:02 679

原创 八个常见面试问到的设计模式结合spring或java类库进行分析,并提供简单的java实现——单例、工厂、适配、装饰、代理、迭代器、观察者、责任链

创建型1、单例模式单例模式确保一个类只有一个实例。单例模式可以有多种实现,其中分为懒汉式和饿汉式。懒汉式指的是直到使用时才进行实例化,例如spring的BeanFactory就是使用懒汉式加载,好处就是可以节省资源,更快的启动。但是它是线程不安全的,不安全之处体现在它可能会被多次实例化,因此实现方式可以是枚举、静态内部类、双重校验锁等。其中枚举可以防止反射攻击。饿汉式指的是直接在应用启动时就将其实例化,很显然是线程安全的。例如在spring中的applicationContext中就是用

2020-06-22 20:31:48 146

原创 五大排序算法——冒泡,插入,选择,希尔,快排的解析和java代码实现

1、冒泡排序1.从头到尾遍历所有元素,如果当前元素大于下一个元素,则进行交换。以此类推,则最大的元素将会被放到数组的末尾。2.数组总长度减少1,继续重复上一步操作,直到最外层循环的元素个数变成1则排序完成。 public static void bubbleSort(int[] arr) { //1、所有元素的数量 for (int i = arr.length - 1; i > 0; i--) { //2、交换元素的过程

2020-06-21 21:50:17 183

原创 ConcurrentHashMap的put方法源码级分析

之前被面试官问到,如果ConcurrentHashMap的CAS操作失败时会怎么做呢?当时并没有阅读过ConcurrentHashMap的源码,仅仅停留在使用上,因此这个问题回答的很不好,今天记录一下。首先看到ConcurrentHashMap的put方法是长这样的。 public V put(K key, V value) { return putVal(key, value, false); }很显然,它调用了一个putVal方法,接着往下看。我.

2020-06-11 21:43:33 415

原创 springboot启动流程——如何加载默认配置

前言 我只是一名尚未参加工作的大学生,纯纯的springboot小白,本文仅用作自己学习记录使用。若其中出现任何错误,都欢迎指出,如果在我查阅资料后发现确实是我的错误,那将会立即更正,请不要喷我。 本篇文章参考了大量CSDN已有的博客,且我本人也查阅了相关的springboot源代码。正文首先让我们从头开始。众所周知,springboot应用在启动类上都有一个注解,@SpringBootApplication;这个注解如果朋友们打开它的声明,就会发现里面...

2020-06-10 23:29:53 730

原创 springboot使用actuator出现404 解决方案

极有可能是因为你的服务配置了context-path,因为admin是从eureka中获取信息的,因此需要添加如下配置。#如果配置了context-path的话,需要加上如下配置,否则会出现404eureka.instance.metadata-map.management.context-path=${server.servlet.context-path}/actuator...

2020-05-10 20:46:11 4229 1

原创 idea+devtools无法正常触发的可能原因之一

最近在使用devtools的时候,发现idea总是不会自动编译。(即使配置了下面的选项)大家知道,自动编译代码之后,devtools才会帮你重启。tips:devtools的原理是感知你的classpath(或者是其他你配置好的路径)下的文件是否发生变更来重启。这时候,我发现使用sts或者是eclipse都是正常的,保存(ctrl+s)过后devtools就会...

2020-04-24 23:29:57 403 1

原创 feign+hystrix简单使用介绍——也用到了eureka+zuul+springcloud

1、通过maven引入如下所示的jar包。 <!-- 引入 Feign, 可以以声明的方式调用微服务 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>sp...

2020-04-08 16:40:51 145

原创 MySQL8 Public Key Retrieval is not allowed

在连接字符串中加入 allowPublicKeyRetrieval=true 即可。在idea中如果用到了hibernate框架会导致报一些奇怪的错误而不是上面的Public Key Retrieval is not allowed。因此在idea中要注意这一点。...

2020-03-28 14:30:49 167 1

原创 gitee 连接 vs2019

0、电脑上装好git,百度一搜一大堆;-------------------------------------------------------------------------------------------------------------------------------------------------------------------------在你的vs201...

2020-03-22 00:37:50 4283 11

原创 MySQL workbench 创建存储过程需要注意加上结束符

DELIMITER $$ //注意create procedure login()BEGINselect * from o2o.tb_area ;end$$ //注意DELIMITER $$ //注意create procedure login3()BEGINselect * from o2o.tb_area ;end$$ //注意...

2020-03-13 19:23:24 2459

原创 linux常用命令,不定期更新

软连接就是快捷方式。

2020-03-11 09:36:31 144 2

原创 docker——常用指令

docker pull url 从url拉取容器。docker run -d url ————后台运行镜像,如果不存在该镜像,则会自动下载。docker exec -it ‘容器id‘ bash ——————进入镜像容器,容器的id通过docker ps查看。docker images ——————查看本地容器。...

2020-03-11 09:09:15 179

原创 墙内maven深坑之一定要配置全局设置(Global Settings)

如果不配置这个,就会导致你的pom.xml文件第一行报错。尽管你在你的项目中配置了阿里云镜像!错误内容大多如下。Failure to find org.springframework.boot:spring-boot-maven-plugin:jar:2.2.5.RELEASE in http://repo.maven.apache.org/maven2 was cached in t...

2020-03-06 10:27:06 2070

原创 只要pom文件报错,首先想到的就应该是加镜像,被坑了好几次

<repositories> <repository> <id>nexus-aliyun</id> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus...

2020-03-06 09:07:17 118

原创 windows使用命令行导出MySQL数据库,出现拒绝访问解决方案

以管理员身份运行命令提示符(如果不这么做,就可能会出现拒绝访问字样)。使用cd ,到C:\Program Files\MySQL\MySQL Server 8.0\bin目录下然后运行下面的代码。mysqldump -u root -p test>D:\test.sql运行后将.sql为后缀的文件导入到D盘根目录下。...

2020-02-23 00:57:01 4111 6

原创 git上传代码到分支

需要:安装好的git;你的代码文件;第一步:随便创建一个文件夹,右键,如果你安装好了git,你就能看到:Git Bash Here,点击它;第二步:进入到类似命令行的界面,然后输入 git init;之后你就可以在你新建的文件夹看到.git文件夹,这是一个隐藏文件夹,如果你没有设置查看隐藏文件,那就去设置。设置完就能看到了。第三步:添加url;输入:git remote add ori...

2020-02-16 21:22:27 432

原创 websocket握手失败可能的原因之一

server.servlet.context-path=/***如果在application.properties中配置了上面的属性,则在连接服务器时应该按照下面的链接进行连接,***是你配置的前缀ws = new WebSocket("ws://127.0.0.1:8080/***/websocket/" + user);//连接服务器否则就会出现握手失败的错误。在MyWeb...

2020-02-15 21:39:36 5421 8

原创 测试号获取用户的openid

通过测试号来获取用户的openid,首先,打开测试号。https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html按照上面的链接进行操作。第一步:在postman中编辑好你的链接,然后复制到微信开发者工具中。按下回车...就会发现code已经出现在...

2020-02-11 22:57:01 2238

原创 通过workbench修改MySQL的引擎

If you want to define what stroage engine MySQL Workbench should use be defolt (not what default engine stroage is set in your MySL RDMS): open MySQL Workbench; Edit -> Preferences -> click on t...

2020-02-10 22:24:06 816

原创 java后台链接matlab(springboot),只需要启动一次matlab即可,可以在服务端运行(超简单,亲测可用)

有些时候我们可能会遇到要写非常复杂的算法,或者是要处理奇怪的数据(比如巨大的矩阵)。这个时候我们想实现这些复杂的算法,自己实现或许是一件很艰难或者是不可能的事情,因此分享一个使用springboot配置连接matlab的方式。首先,导入相关的包,springboot之类的包就不再赘述了。重点是下面这个。 <dependency> &l...

2020-02-03 15:49:25 2515 7

原创 使用json-lib处理xml转json的数据

String XMLstring = HttpUrlUtil.getURLContent("你的url"); XMLSerializer xmlSerializer = new XMLSerializer(); String result = xmlSerializer.read(XMLstring).toString(); System.out.p...

2020-02-01 16:07:10 313

原创 mybatis@Param注解使用小tips

当传入的参数为对象时,需要使用这个注解,否则可能会出现如下异常:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'essay' in 'cla...

2020-01-27 00:34:59 175

原创 记录下自己对递归的粗浅的理解

1、明确递归的终止条件。这一步骤是重中之重,一定要明确何时返回。例如:斐波那契数列,当n=0或n=1时。2、每一个节点,都可以拆分成相对独立的关系。例如:斐波那契数列,每个节点与前两个节点有一定的关系。3、需要无条件信任计算机。针对我个人而言,以前时常会纠结递归的中间过程,很容易进入一个死循环,脑子仿佛不够用了一样,以前使用的方法是画树状图帮助自己理解。现在当自己遇到递归问...

2020-01-26 16:35:02 69

原创 mybatis中一个逗号引发的血案

在做一个项目的过程中,发现一个问题。mybatis的update语句中的<if test>...(知道是啥就好)如果test的结果是失败的,那么后面的语句是不会加进去的!相当于在生成SQL查询语句时,这条语句是不存在的。这就意味着,如果你有多个update,一旦你漏写了逗号,并且test失败,那么并不会报错!这就埋下了一个大坑,这可让我好找啊,一个逗号就那么一丢丢大小,找的...

2020-01-26 01:06:33 624 1

转载 使用C#制作Flyby bird小游戏

链接: https://pan.baidu.com/s/15AepOQFqCU3spi29k4nfuA 提取码: k7u2

2019-06-27 18:45:04 450 1

空空如也

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

TA关注的人

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