自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(473)
  • 收藏
  • 关注

原创 SQL——左连接(Left join)、右连接(Right join)、内连接(Inner join)

最近在做SQL相关的练习,发现以前那么自信的SQL放久了不碰也变得棘手起来,特别是这一块表之间的内外连接。所以这篇是关于这个内外连接的整理。根据上面的栗子,看起来是不是清晰明了多了,而且也更有对比性了。如果还是觉得只是这会儿懂了,但是用起来还是觉得有点难的话,就下面这种集合思维,大头也是最近才发现,这样想的话就会简单很多了。我们有两个表:A和B,那么就分别将其当做一个集合那么我们的左右外连接和内连接就相当于变成了这样↓↓↓。

2022-09-12 03:26:51 1332 1

原创 Mysql和Redis如何保证数据一致性

如何保证数据库和缓存双写一致,下面提供几种方法,来讨论下他们的优缺点。数据一致性没有绝对的保证,要么牺牲性能加锁,要么串行。在高并发下,这些方案都只能做到优化深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

2022-09-11 10:46:26 1234 1

原创 ClickHouse查询语句详解

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

2022-09-11 01:57:06 4652

原创 Gateway网关简介以及使用

全局过滤器到底什么时候用?利用全局过滤器我们可以用来做统一网关鉴权,以及全局日志记录等等。怎么用?实现implements GlobalFilter, Ordered两个接口,然后重写两个方法即可。一个是filter方法,一个是getOrder方法。全局过滤器可以存在多个,多个的时候根据getOrder方法的返回值大小就行排序执行,数字最小的过滤器优先执行。@Component //必须加,必须加,必须加@Override。

2022-09-09 22:25:42 1448

原创 python之爬虫基础(1)

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

2022-09-08 23:05:32 330

原创 Linux root密码修改

前言:最近遇到有将自己root密码忘记的情况,这里总结一下root密码修改的几种方法,仅供参考。2.按e进入编辑(空格+/init 1或空格+singe或空格+1),三种选一种就行。4.完成以上操作,即可进入单用户模式,passwd 直接修改,然后重启即可。2.找到图中结尾位置添加init=/bin/sh,然后ctrl+x。4.至此密码修改成功,使用新密码登陆即可(可能多等个几分钟)3.修改完成后,按回车,退回上一界面,按b保存重启。1.开机选中系统,按下e键进入编辑模式。1.重启系统,按e进入如下模式。

2022-09-07 15:46:26 3885

原创 JVM内存不要超过32G

通常64位JVM消耗的内存会比32位的大1.5倍,这是因为对象指针在64位架构下,长度会翻倍(事实上当内存到达40-50GB的时候,有效内存才相当于使用Compressed OOPS技术时候的32G内存)让JVM的GC面临更大压力的指针对象(在实际应用中构建大于12-16G的堆时,若无很好的性能调优与测评,你很容易就会引起一个耗时数分钟的完全GC)其伪代码原理就不贴了,Compressed OOPS,可以让跑在64位平台下的JVM,不需要因为更宽的寻址,而付出Heap容量损失的代价。

2022-09-07 13:18:28 1320

原创 JAVA面试题----------抽象类和接口的区别

抽象类对象的引用必须执行一个实现了自己所有抽象方法的子类对象。接口对象的引用必须执行一个实现了自己所有方法的子类对象。

2022-09-07 10:44:35 147

原创 idea导入项目,tomcat启动按钮是灰色的

2.如果重新导入tomcat还是灰色的,那就换个工作空间,重新导入项目就可以了。今天导一个普通java项目,添加tomcat后,启动按钮却是灰色的。1.删掉你的tomcat,重新导入一个,点击工具栏。

2022-09-07 08:12:50 2528

原创 java单例模式——详解JAVA单例模式及8种实现方式

另一方面,在使用单例对象的时候,要注意单例对象内的实例变量是会被多线程共享的,推荐使用无状态的对象,不会因为多个线程的交替调度而破坏自身状态导致线程安全问题,比如我们常用的VO,DTO等(局部变量是在用户栈中的,而且用户栈本身就是线程私有的内存区域,所以不存在线程安全问题)。缺点:效率太低了,每个线程在想获得类的实例时候,执行getInstance()方法都要进行同步。这种方式和上面的方式其实类似,只不过将类实例化的过程放在了静态代码块中,也是在类装载的时候,就执行静态代码块中的代码,初始化类的实例。

2022-09-06 16:40:58 2011 1

原创 JavaWeb调用Hadoop进行MapReduce示例

我们已经知道Hadoop能够通过Hadoop jar ***.jar input output的形式通过命令行来调用,那么如何将其封装成一个服务,让Java/Web来调用它?首先,***.jar是一个Hadoop任务类的封装,我们可以在没有jar的情况下运行该类的main方法,将必要的参数传递给它。input 和output则将用户上传的文件使用Hadoop的JavaAPI put到Hadoop的文件系统中。可以在任意平台下,登录该项目地址,上传文件,得到结果。Hadoop环境搭建见前面的帖子。

2022-09-06 15:21:44 189

原创 Java 多线程:彻底搞懂线程池

Executors 的 4 个功能线程池虽然方便,但现在已经不建议使用了,而是建议直接通过使用 ThreadPoolExecutor 的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。和:主要问题是堆积的请求处理队列均采用,可能会耗费非常大的内存,甚至 OOM。和:主要问题是线程数最大数是,可能会创建数量非常多的线程,甚至 OOM。

2022-09-06 13:59:30 103

原创 IntelliJ IDEA如何运行SpringBoot项目(手把手超详细截图)

用IDEA打开项目,开始配置maven环境 ,如果本地没有提前配置好maven,就用IDEA默认的配置即可。注:将SpringBoot默认的DataSource改为DruidDataSource。:如果本地没有配置过maven,可以保持如下默认配置 (未配置直接忽略情况2):如果本地配置过maven仓库地址,要在上处红框修改为自己本地的maven地址。本地有maven环境,所以此处配置修改与本地适配。:本地缺少依赖包,需要下载,点击刷新符号即会下载。使用druid连接池时需要的配置。

2022-09-06 12:36:40 752

原创 IDEA对于mybatis.xml文件没有自动提示功能

首先下载两个文件,一个是mybatis-mapper.xml,一个是mybatis-config.xml,将其导入到IDEA中就有代码提示啦。导入方式,file->setting 或者setting for new project。后面的内容是存放这两个文件的本地存储的地址。,点击该链接可下载两个文件。

2022-09-06 11:02:48 2158

原创 IDEA 导入maven项目报错

我们在使用IDEA导入别人的项目时,或者从svn或者git上宕项目的时候 一定要在IDEA中更改该项目的MAVEN配置 和配置JDK,不然项目就会报错。其实就是没有配置 本地的maven和settings.xml文件,包括本地仓库。导下来的项目的这些配置还是之前的,需要更改这本地的。点击Settings。

2022-09-06 09:28:07 1155

原创 eclipse加载maven工程提示pom.xml无法解析org.apache.maven.pluginsmaven-resources-plugin2.4.3解决方案

{user.home}是maven的配置路径,一般是我的文档,是window-preferences-MyEclipse-Maven4MyEclipse-User Setting里面的Local Repository。,如果执行正确应该会在{user.home}.m2 epositoryorgapachemavenpluginsmaven-resources-plugin下看到maven-resources-plugin-2.4.3.jar文件。请仔细按着上述四步操作,应该不会有问题。

2022-09-06 08:08:04 1013

原创 Hadoop可能遇到的问题

解决方法:先停掉hadoop,把slaves的dfs/data的内容删除,再次启动后,会创建新的clusterID,也可以复制master的clusterID到slaves中。Q2:启动hadoop后namenode没有启动,namenode日志报错:checkpoint directory does not exist or is not accessible.把master和slaves的tmp,master的dfs/name目录和slaves的dfs/data文件夹内容清空即可。

2022-09-02 16:22:55 374

原创 Go网络编程 Conn接口

conn结构体为一个 *netFD的网络文件描述符号,Conn接口方法都会作用在conn对象上。(net.conn只是*netFD的wrapper结构,最终Write和Read都会落在其中的fd上)主要通过Read(b []byte)读取数据,Write(b [byte]) 写数据 及Close() 关闭连接。Conn是一种通用的面向流的网络连接,多个Goroutine可以同时调用Conn上的方法。其源码定义在net.go中。

2022-09-02 14:57:42 482

原创 elasticsearch详解(一)——es是什么、能做什么?

全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。全文搜索搜索引擎数据库中的数据。

2022-09-02 13:36:54 1921

原创 Elasticsearch(四) es出现的问题:填坑

在elasticsearch 根目录下,给定用户权限。-R表示逐级(N层目录) , * 表示 任何文件。在/config/elasticsearch.yml 配置里添加下面参数。在/config/jvm.options中修改jvm的大小。#给用户elasticsearch设置密码,连续输入2次。#分配 elasticsearch 到 es 组。#添加一个用户:elasticsearch。#切换到elasticsearch用户。创建一个新的用户去启动es。#创建一个用户组 es。

2022-09-02 12:14:41 479

原创 ECK安装elasticsearch集群及es配置x-pack

(设置node.store.allow_mmap: false对性能有影响,应针对虚拟虚拟机一节中所述的生产工作负载进行调整。访问es,ECK会给es创建cluster IP,ECK自动集成了X-PACK插件,分别通过。将证书文件生成到指定的目录下,这里指定为/etc/elasticsearch。此处操作为,在一台机器上生成,然后分发到集群中的其他机器上,文件要保持一致。es6.8以上的版本默认集成了x-pack,但是需要配置开启。创建单个节点的es operator自动创建节点。ECK安装的前提条件。

2022-09-02 10:52:18 946

原创 Dubbo无法注册Zooker错误(待补充)

命令: /sbin/iptables -I INPUT -p tcp --dport 2181 -j ACCEPT。查看错误是因为无法链接Zookeeper,那么影响网络链接的问题有哪些,服务未启动、ip:端口填写错误等等,嗯,配置一致,不是这个错误原因,那么是不是端口2181未开放的原因。由此可见,zookeeper服务处于运行状态,排除服务未启动状态。这次启动程序后,zookeeper中已经注册了服务。但愿踩坑的你尽早发现这个问题喔。2、查看ip:端口是否填写正确。

2022-09-02 09:28:09 798

原创 docker安装maven

将容器/var/nexus-data挂载到主机/root/nexus-data目录启动。进入容器 docker exec -it 容器id bash。docker attach 容器id。查看maven 私服密码。访问端口号 8081。

2022-09-02 08:08:03 681

原创 dubbo 报错

该错误是Dubbo 对象没有实列化。

2022-09-01 16:58:23 672

原创 Docker安装ElasticSearch 版本7.6.2

1、从仓库中查找所有ElasticSearch的镜像2、选择一个版本镜像进行拉取3、查看镜像4、通过镜像,启动一个容器,并将9200和9300端口映射到本机(的默认端口是9200,我们把宿主环境9200端口映射到Docker容器中的9200端口)然后把文件的映射全部映射到宿主机把容器内Elasticsearch的配置文件复制到本地:如果有修改配置文件的需求的话5、 浏览器访问ip:92001、进入es容器内部,/plugins下新建ik文件夹。...

2022-09-01 14:31:37 434

原创 Docker -- tar包安装Docker

【代码】Docker -- tar包安装Docker。

2022-09-01 12:02:33 2689

原创 Apache Shiro权限框架

Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。...

2022-09-01 09:17:49 415

原创 feature map理解

找不到文章出处了。

2022-08-31 17:39:38 224

原创 阿里巴巴Java面试题、笔试题(含答案)

这也是为什么我把内存区域分为线程共享和非线程共享的原因,非线程共享的那三个区域的生命周期与所属线程相同,而线程共享的区域与JAVA程序运行的生命周期相同,所以这也是系统垃圾回收的场所只发生在线程共享的区域(实际上对大部分虚拟机来说只发生在Heap上)的原因。通常,对于两个不同页面的脚本,只有当执行它们的页面位于具有相同的协议(通常为https),端口号(443为https的默认值),以及主机 (两个页面的模数 Document.domain设置为相同的值) 时,这两个脚本才能相互通信。int a = b;.

2022-08-31 11:01:52 770

原创 超全面试汇总——Hadoop(二)

Hadoop是一个开源软件框架,用于存储大量数据,并发计算/查询节点的集群上的数据。Hadoop包括以下内容::Hadoop分布式文件存储系统。MapReduce:分布式计算框架。它以分布式和并行的方式处理大量的数据。YARN(资源定位器):用于管理和调度集群资源的框架。hadoop2.x提出的Hadoop能够进行对海量数据进行批处理的核心,在于它的分布式思想,也就是多台服务器(节点)组成集群,进行分布式的数据处理。...

2022-08-31 09:39:51 675 1

原创 服务器异常重启,导致mysql启动失败,问题解决过程记录

总结:可能由于最初安装数据库的时候忽略的一些东西,导致违反SELinux的安全模式,然后目录权限混乱,导致mysql无法创建文件。2)修改/etc/selinux/config 文件,将SELINUX=enforcing改为SELINUX=disabled。1)临时关闭 setenforce 0。3)重启服务器 reboot。...

2022-08-31 08:14:09 2617

转载 解决MySQL报错ERROR 2003 (HY000) Can‘t connect to MySQL server on ‘localhost3306‘ (10061)

由于在此登录命令没有提供端口号,所以 MySQL 客户进程默认服务进程使用的端口号为 3306。由于这与服务进程的端口号不一致,所以导致其与服务进程进行通信时失败。笔者在新电脑安装完 MySQL 后,尝试登录时,MySQL 一直给出如下报错。后来又不断卸载 MySQL,然后按原始方法重新安装 MySQL,终于发现了原因所在。另一种办法是,在登录的时候指定 MySQL 服务进程的端口号,这时的命令为。在笔者的电脑上,造成这个现象的原因是,笔者修改了 MySQL 的配置文件。Windows 10 教育版。...

2022-08-30 16:39:10 9025 1

原创 网络编程(一)—— 网络编程模型 & 基础概念

子网掩码并不是只有上面三种,它可以接受任意各位,如255.255.255.252也是一个子网掩码,这个子网掩码能分割出30位的网络和2位的主机,对于这个子网掩码的网络,最多只有四台主机,因为主机号部分的位数就决定了网络中可存在主机数量,当然一般来说实际可用的主机数还要减去广播地址(全为1),不可用地址(全为0)两个。在网络编程中,服务器端和客户端都指的是一个独立的进程。计算机(单一网卡)的IP地址是唯一的,而一个计算机能建立多个连接的基础就是这个端口号,通过不同的端口号,建立不同的连接。...

2022-08-30 15:13:04 125

原创 白话讲解Dubbo服务

3.application.properties文件中配置dubbo的注册地址和注册名称。配置完毕后随着此项目的启动,此提供者也就开始提供协议中规定的服务了。2.在application.properties文件配置dubbo。dubbo服务是典型的RPC服务调用方式,即所谓的远程调用。如此待项目启动后,会自动调用zk中注册的相关服务提供者。...

2022-08-30 13:45:09 265

原创 查看linux文件夹下文件数量

查看当前文件夹下有多少个文件,多少个子目录需在终端输入。查看当前目录下有多少个文件及文件夹需在终端输入。查看当前文件夹中文件的数量,则需在终端输入。查看当前目录下字节数需在终端输入。...

2022-08-30 12:17:31 348

原创 如何把JSON对象转为map对象

System.out.println(“这个是用JSONObject的parseObject方法来解析JSON字符串!System.out.println(“这个是用JSONObject类的parse方法来解析JSON字符串!System.out.println(“这个是用JSON类的parseObject来解析JSON字符串!System.out.println(“这个是用JSON类,指定解析类型,来解析JSON字符串!System.out.println(“这个是用JSON类来解析JSON字符串!...

2022-08-30 10:54:17 16260 1

原创 SpringBoot项目循环依赖问题处理

当启动项目时,可能出现程序不能启动的情况,查看调试日志,会提示原因是SpringBoot 从 2.6 开始默认不允许出现Bean循环引用。而且这个是在Bean定义上也就是类上就不允许出现循环引用。

2022-08-30 09:26:58 806

原创 Linux服务器端口不通处理方法及CentOS 78 防火墙操作命令

在linux服务器部署应用经常会出现因为端口开放而引起的无法访问问题,此类问题确认需要从客户端检查端口是否开放。一般服务器经过以上的处理,端口就会开放,客户端访问一般不会出现其他问题,但是需要注意的是。如果此处没有使用代理服务器,暴漏的IP端口就需要开放上面应用对应的。因为我这边使用nginx做了反向代理,对外开放的服务接口统一走。需要在云主机的安全组配置中添加对应的安全组规则,端口访问才能通。如果在查看防火墙中没有显示你需要访问的端口,则需要开放端口。确定服务启动正常,使用命令。查看服务器开放的端口。..

2022-08-30 08:07:49 4218

原创 RabbitMQ与Erlang版本对应关系

支持的最大Erlang/OTP。支持的最大Erlang/OTP。最低要求Erlang/OTP。最低要求Erlang/OTP。推荐使用22.x或23.x。RabbitMQ版本。RabbitMQ版本。

2022-08-29 15:05:29 8306

原创 Linux部署,并查看后台

用Xshell6 进入Tomcat的bin目标下,ll或者ls命令,可以看到很多命令;先进行Tomcat关闭操作(如果Tomcat已经启动):./shutdown.sh。然后进行Tomcat启动操作:./startup.sh。此时已经启动完毕,想看控制台日志的话:进入Tomcat的logs目录中:tail -f catalin.out。单词貌似打错了,明白就好。用Xftp6将war包拷至Linux的Tomcat的webapp包下。工具2:Xshell6。...

2022-08-29 13:43:43 352

空空如也

空空如也

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

TA关注的人

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