自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xp_lx12的博客

学习是一个漫长的过程,你需要一点一滴的积累,有一天就能实现自己的梦想。

原创 JAVA 线上故障排查完整套路

线上故障主要会包括 CPU、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如 jstack、jmap 等工具也是不囿于一个方面的问题的,基本上出问题就是 df、free、top 三连,然后依次 jstack、jmap 伺候,具体问题具体分析即可。一、CPU一般来讲我们首先会排查 CPU 方面的问题。CPU 异常往往还是比较好定位的。原因包括业务逻辑问题(死循环)、频繁 gc 以及上下文切换过多。而最常见的往往是业务逻...

2020-07-04 11:26:36 79

转载 使用JMeter进行简单POST的JSON操作

1.启动jmeter:在bin下以管理员身份运行jmeter.bat,启动jmeter2. 创建测试计划:默认启动jmeter时会加载一个测试技术模板,保存测试计划:修改名称为UseTestt,点击保存,选择保存路径,后面的步骤,每次添加或修改了了一些选项,软件并不会自动保存到jmx文件中,所以进行测试后,如果需要保存本次测试选项,要手动到“文件”菜单中保存一下。3. 添加线程组右键左边树中的测试计划“UseTestt”节点,“添 加”→”Threads”→”线程组”..

2020-06-06 16:37:07 49

转载 springboot整合nacos作为配置中心和注册中心

springboot整合nacos作为配置中心和注册中心springboot整合nacos作为注册中心和配置中心1.pom文件添加依赖<?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-instance" xsi:schemaLocation="http://mav

2020-05-11 21:52:15 188

转载 MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格...

2020-05-11 16:55:05 1138

转载 Java虚拟机:垃圾收集算法

垃圾回收机制的意义Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存。ps:内存泄露是指该内存空间使用完毕之后未回收,在不涉及复杂数据结构的一...

2020-04-21 09:59:34 79

原创 Mybatis不推荐使用二级缓存

mybatis 二级缓存不推荐使用 一 mybatis的缓存使用。大体就是首先根据你的sqlid,参数的信息自己算出一个key值,然后你查询的时候,会先把这个key值去缓存中找看有没有value,如果有,直接返回出来,就不查询db了。如果没有,那么查询db,然后将key,value保存到缓存中,以便下次使用。 1.1mybatis的一级缓存是基于sqlsession为生命...

2020-04-13 17:39:15 56

原创 使用Mysqldump命令备份和恢复Mysql数据库

以下内容来自网络。1、导出命令:mysqldump -u用户名 -p数据库密码 数据库名 > 文件名如果用户名需要密码,则需要在此命令执行后输入一次密码核对;如果数据库用户名不需要密码,则不要加“-p”参数,导入的时候相同。注意输入的用户名需要拥有对应数据库的操作权限,否则无法导出数据。由于是作系统维护和全部数据库的导出,一般我们使用root等超级用户权限。比如要将abc这个数...

2020-04-08 15:00:50 205

转载 技术中台实践 :微服务篇

文首发于InfoQ Pro更多精彩内容抢先看,尽在InfoQ Pro“中台”这个概念火了一年多了,年初的时候又”火“了一次。相信任何事物都有它的两面性,正如我们做架构的时候其实也一直在做取舍。小鹏汽车的技术中台(Logan)已经快两岁了,今天我们不讨论该不该做技术中台,只说说中台给我们带来了什么。不管黑猫白猫,捉到老鼠就是好猫。一、背景小鹏汽车的智能离不开复杂系统的支撑...

2020-04-07 17:49:07 177

原创 SpringBoot项目常用开发规范

表设计规范1、表名全部小写,单词间通过'_'间隔2、主键命名为'id',varchar(20),不使用数据库的序列,应用生成全局序列。3、必须包含4个审计字段且不能为空。created_time、updated_time、created_by、updated_by。4、关键词要求大写,使用IDE如idea进行格式化5、常量枚举全部用大写外键及索引命名规范1、唯一索引:u...

2020-03-25 10:40:37 495

原创 如何在 Spring/Spring Boot 中做参数校验

目录基础设施搭建相关依赖标题实体类验证Controller的输入验证 Service 中的方法Validator 编程方式手动进行参数验证自定以 Validator(实用)使用验证组@NotNull vs @Column(nullable = false)(重要)参考数据的校验的重要性就不用说了,即使在前端对数据进行校验的情况下,我们还是要对传入后端的数据再进行一遍校验,避免用户绕过浏览器直接通...

2020-03-16 22:07:55 385

原创 @Transactional回滚问题(try catch、嵌套)

Spring 事务注解 @Transactional 本来可以保证原子性,如果事务内有报错的话,整个事务可以保证回滚,但是加上try catch或者事务嵌套,可能会导致事务回滚失败。Transactional是spring中定义的事务注解,在方法或类上加该注解开启事务。主要是通过反射获取bean的注解信息,利用AOP对编程式事务进行封装实现。如果错误抛到切面可以感知到的地步,那就可以起作用。

2020-03-16 17:57:20 555

原创 SpringApplication run方法核心逻辑

run方法逻辑:SpringApplication的静态方法最终是去构造了一个SpringApplication实例对象,并调用了SpringApplication的成员方法runpublic static ConfigurableApplicationContext run(Class<?>[] primarySources, String[] args) { ...

2020-03-14 10:04:22 3879

转载 Spring Boot 自动配置原理

我们来举个示例,对照下这三个问题。在我们引入spring-boot-starter-web依赖,会创建一个 8080 端口的内嵌 Tomcat,同时可以通过application.yaml配置文件中的server.port配置项自定义端口。那么这三个问题的答案如下:友情提示:为了更易懂,这里的答案暂时是表象的,不绝对精准。壮着胆子,我们来看看 Spring...

2020-03-13 14:43:00 3534

原创 Java 代码优化细节

1、尽量指定类、方法的final修饰符带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一个类为final,则该类所有的方法都是final的。Java编译器会寻找机会内联所有的final方法...

2020-03-11 15:58:45 2099

原创 Maven 项目上传至中央仓库以及版本更新

如何将我们自己的库也能这样来使用呢?下面我们将详细的讲解每一步的过程:一、通过 sonatype 把你的开源库提交到Maven的中心库1、首先,在sonatype 官网中注册账号。进入官网的时候比较慢,需要耐心等待。注意要记住账号密码,会用于我们后续的发布及相关操作。在https://issues.sonatype.org 注册账号,需要注意的是密码必须超过 12 位,且包含至少一...

2020-03-07 23:09:46 4896

转载 Spring Boot Cache使用与整合

一:Spring缓存抽象#Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口来统一不同的缓存技术;并支持使用JCache(JSR-107)注解简化我们开发; Cache接口为缓存的组件规范定义,包含缓存的各种操作集合; Cache接口下Spring提供了各...

2020-01-18 16:05:42 3520

原创 harbor离线安装

1、介绍Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。2、下载地址: h...

2019-12-04 20:07:22 2305

原创 docker安装Jenkins

尽量不要使用docker安装Jenkins!!!,有很多的坑!!!1.下载Jenkins的docker镜像:docker pull jenkinsci/blueocean2、启动命令:docker run \ -u root \ --rm \ -d \ -p 8080:8080 \ -p 50000:50000 \ -v /var/run/docker....

2019-12-04 15:15:08 1783

转载 MySQL使用规范手册,程序员必知必会

背景一个平台或系统随着时间的推移和用户量的增多,数据库操作往往会变慢;而在Java应用开发中数据库更是尤为重要,绝大多数情况下数据库的性能决定了程序的性能,如若前期埋下的坑越多到后期数据库就会成为整个系统的瓶颈;因此,更规范化的使用MySQL在开发中是不可或缺的。一、MySQL数据库命名规范1、数据库所有表前缀均使用项目名称首字母缩写;2、数据库所有对象名称均使用小写字母,并且单词...

2019-11-26 19:39:53 605

转载 无Redis不编程,40道面试题

1、什么是Redis?Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。...

2019-11-18 10:26:04 642

原创 redis配置持久化到磁盘

一、Redis 持久化介绍Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。但是一旦进程退出,Redis 的数据就会丢失。为了解决这个问题,Redis 提供了 RDB 和 AOF 两种持久化方案,将内存中的数据保存到磁盘中,避免数据丢失。Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”)...

2019-11-13 10:47:26 3568

转载 铁路“12306”的架构太牛了!

铁路“12306”的架构太牛了!CSDN企业招聘今天作者:绘你一世倾城“(别快走开,文末有人人可拿的奖品喔),一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票!12306 抢票,极限并发带来的思考虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用 12306,还会考虑“智...

2019-11-12 09:35:38 882

转载 配置集群模式下的ssh免密码登录

在使用hadoop配置集群模式时,必然要使用ssh进行各个机器之间的免密码登录。环境准备:  集群模式下会有多个主机,而本教程使用的主机名和IP地址如下:192.168.1.160 master192.168.1.161 slave1一、安装ssh服务:  若系统中没有安装ssh服务,则要在每台机器中都安装ssh服务  redhat,fedora,cento...

2019-09-22 11:14:57 633

原创 人工智能大数据,公开的海量数据集下载

数据集的网站:1、Public Data Sets on Amazon Web Services (AWS)http://aws.amazon.com/datasetsAmazon从2008年开始就为开发者提供几十TB的开发数据。2、Yahoo! Webscopehttp://webscope.sandbox.yahoo.com/index.php3、Konect is a...

2019-09-19 09:45:24 1625

原创 Sqoop1.4.6快速入门总结

1 Sqoop概述传统的应用程序管理系统,即应用程序与使用RDBMS的关系数据库的交互,是产生大数据的来源之一。由RDBMS生成的这种大数据存储在关系数据库结构中的关系数据库服务器中。当大数据存储和Hadoop生态系统的MapReduce,Hive,HBase,Cassandra,Pig等分析器出现时,他们需要一种工具来与关系数据库服务器进行交互,以导入和导出驻留在其中的大数据。在这里,S...

2019-09-04 16:13:22 2033

原创 SQurriel配置和客户端无法连接Phoenix问题

问题描述:环境:ESC中搭建的ambari大数据管理平台,添加Hbase服务时勾选Phoenix支持,Phoenix本版4.7。step1: 添加phoenix服务器安装目录下的phoenix-[version]-client.jar到squirrel-sql安装目录lib/下step2: 添加驱动,填写驱动类名:org.apache.phoenix.jdbc.PhoenixDrivers...

2019-09-03 16:41:41 708

原创 Ambari2.6详细安装步骤

Ambari详细安装步骤 Ambari简介Ambari跟Hadoop等开源软件一样,也是Apache Software Foundation中的一个项目,并且是顶级项目。目前最新的发布版本是2.7.3。就Ambari的作用来说,就是创建、管理、监视Hadoop的集群,但是这里的Hadoop是广义,指的是Hadoop整个生态圈(例如 Hive,Hbase,Sqoop,Zookeeper等...

2019-08-29 11:30:20 2140

转载 hive与hbase的十大区别与联系

问题导读:hive与hbase的底层存储是什么?hive是产生的原因是什么?habase是为了弥补hadoop的什么缺陷?共同点:1.hbase与hive都是架构在hadoop之上的。都是用hadoop作为底层存储区别:2.Hive是建立在Hadoop之上为了减少MapReduce jobs编写工作的批处理系统,HBase是为了支持弥补Hadoop对实时操作的缺陷的项目 。3.想象你在操作RM...

2019-08-26 15:48:31 648

原创 mysql:5.7使用docker安装,设置从主复制模式

一、拉镜像:docker pull mysql:5.6二、启动容器:docker run --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6MYSQL_ROOT_PASSWORD:设置初始密码。①基本启动(缺点:容器关闭再启动我们的数据就没有了)# docker run --nam...

2019-08-24 11:02:44 572

原创 伪分布式模式安装HBase和ZooKeeper

第一步:安装单机ZooKeeper1.在namenode机器下,配置zookeeper,先解压安装包,使用命令:tar-zxvfzookeeper-3.4.4.tar.gz2.进入zookeeper的配置目录,首先把zoo_sample.cfg重命名一下,可以重新复制一遍,使用命令:cpzoo_sample.cfg zoo.cfg3.配置zoo.cfgdat...

2019-08-20 14:32:53 801

原创 Hive使用HiveServer2服务端配置、启动允许远程连接

1、hive 命令行模式直接输入./hive/bin/hive的执行程序,或者输入 hive –service cli用于linux平台命令行查询,查询语句基本跟MySQL查询语句类似。2、jdbc远程连接hiveserver2(1)、hiveserver2增加了权限控制,需要在hadoop的配置文件中配置增加权限。在hadoop的core-site.xml中添加如...

2019-08-15 14:38:35 1111

原创 docker命令总结

1、强制删除全部container docker container rm -f $(docker container ls -a -q)2、强制删除所有镜像docker image rm -f $(docker image ls -a -q)3、运行redis命令:docker run -d --name redis -p 16...

2019-07-08 17:15:47 643

原创 SpringBoot整合Graylog3.0

Graylog简介Graylog是一个开源的完整的日志管理工具,功能和ELK类似,安装部署更方便。官方网站https://www.graylog.org1、pom.xml引入以下包 <!--日志收集--> <dependency> <groupId>de.siegmar</groupId> <artifact...

2019-07-06 16:52:40 1047

原创 VMware虚拟机 NAT模式 配置静态ip

前言:Ubuntu16.04 VMware虚拟机 NAT模式 配置静态ip,这个问题困扰我好长时间,桥接的静态ip我会了,然而用NAT 的方式配置集群会更好。(NAT 方式客户机之间的通讯不经过路由器),所以想着换成NAT方式会更好。要使用NAT方式设置静态ip ,需要相当多的计算机网络知识了。第一先查看你的主机的网卡是否把网络共享给虚拟网卡vmnet8 了吗?打开网络共享中心———&...

2019-05-30 10:23:56 1691

转载 Linux下RocketMQ环境的配置

RocketMQ是一款分布式消息系统,最初是由阿里巴巴消息中间件团队研发并大规模应用于生产系统,满足线上海量堆积的需求,在去年捐赠给Apache开源基金会,并列为孵化项目,今年成功的正式成为了apache顶级项目;早期阿里曾经基于ActiveMQ研发的消息系统,随着业务消息的规模增大,瓶颈逐渐明显,后来也考虑过Kafka,但是因为在低延迟和高可靠性方面没有选择,最后才自主研发了RocketMQ,各...

2019-05-28 11:53:51 725

原创 Spring事务嵌套引发---Transaction rolled back because it has been marked as rollback-only

使用@Transactional(propagation = Propagation.REQUIRES_NEW)注解就可以。

2019-05-22 17:21:48 1632

转载 RocketMQ之console监控平台使用详解

一、序现在网上“同质性”的技术文章太多了,本来想了解下rocketmq-console监控平台的文档使用,不知道是搜索姿势有问题还是没这需求,找到的全是rocketmq-console的部署安装。测试了很遍,结合理解,差不都搞懂了很多关于此监控平台的用法,分享记录一波。二、模块1.OPS这里很容易看清楚,双击标签可以修改NameSer的I...

2019-05-22 15:48:53 4998 3

原创 记一次spring boot项目启动服务器内存不足

1、top然后按m,显示内存剩余大小:2、ps -aux --sort -rss |head 列出进程拿物理内存占用排序 使用ps aux 查看系统进程时,第六列即 RSS列显示的就是进程使用的物理内存。ps aux --sort=-rss (rss查看内存量)3、free -mtotal: 本机共有多少内存used: 本机已消耗的内存free: 本机空闲的内...

2019-04-28 14:24:36 1596

原创 IDEA配置修改和常用插件使用

一、Idea配置修改。 自动编译开关 忽略大小写开关 智能导包开关 悬浮提示开关 取消单行显示tabs的操作 项目文件编码 设置行号显示 正文自动编译开关在Eclipse中自动编译开关是开着的,如下所示那么,在IDEA中,务必要手动将其打开,非常重要!如下所示忽略大小写开关IDEA默认是匹配大小写,...

2019-04-13 17:25:51 1628

转载 idea安装插件plugin(主要针对网络连接不上的情况)

STEP1:ctrl + alt + s 打开settingsSTEP2:在输入框键入 PluginsSTEP3:输入你想要的插件名称,我这边输入的是nodejs,因为最近在学(我这边是安装过的...所以这样显示)。STEP4:点开中下方的前两个按钮(Install plugins; Browse repositories)就可以在线进行下载了敲重点!敲...

2019-04-13 11:07:51 1763

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