自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Arthas

Arthas记录下命令:https://www.cnblogs.com/theRhyme/p/10659265.htmldashboard查看当前系统的实时数据面板java -jar arthas-boot.jar进入arthas实例信息。sc -d *MathGame通过sc命令来查找JVM里已加载的类jad demo.MathGame通过jad命令来反编译代码watch demo.MathGame primeFactors returnObj通过watch命令可以查看函数的参

2021-09-28 01:18:22 1608

原创 HBase优化

一般列族不要超过三个公共流程(三层索引)HBase中单表的数据量通常达到TB级或PB级,但大多数情况下数据读取可以做到毫秒级。HBase是如何做到的呢? 要想在实现表中数据的快速访问,通用的做法是数据保持有序并尽可能的将数据保存在内存里。HBase也是这样实现的对于海量的数据,首先要解决存储的问题。数据存储上,HBase将表切分成小一点的数据单位region,托管到RegionServer上,和以前关系数据库分区表类似。但比关系数据库分区,分库易用。这一点在数据访问上,HBase对用户是透明的。数据

2021-09-27 23:41:39 181

原创 Storm

Storm分布式计算引擎。Jstorm是一个类似于Hadoop MapReduce的系统,用户按照指定的接口实现一个任务,然后这个任务交给JStorm系统,JStorm将这个任务跑起来,并按7 * 24小时运行。如果中间一个worker发生了意外故障,调度器立即分配一个新的worker来替换这个失效的worker。特性:异常健壮:集群易管理,可轮流重启节点容错性好:消息处理过程出现异常,会进行重试语言无关性:topology可以用多种语言编写架构类型:主从架构:简单,高效,但主节点存在单点

2021-08-16 01:58:06 202

原创 Kafka

KafkaKafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。使用消息队列的好处:解耦允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束可恢复性系统的一部分组件失效时,不会影响到整个系统。消息系统降低了进程间的耦合度,所以即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统恢复后被处理缓冲有助于控制和优化数据流经过的速度,解决生产消息和消费消息的处理速度不一致的情况灵活性 & 峰值处理能力

2021-08-13 01:12:48 258

原创 顺丰科技已上岸面经(收集牛客近年来面经)

本人双飞本科在秋招入职多益网络,然后本次春招,努努力了一把成功拿到了顺丰科技的offer。以下为我在牛客上收集到的近年来的面试题目以及答案,希望对大家有用。顺丰科技第一篇用过模糊查询吗?说一说like什么时候可以用索引?对于前后都有百分号的sql语句 这个语句是不走索引的EXPLAIN SELECT * FROM `user` WHERE username LIKE '%ptd_%'; //这个语句是不走索引的对于只有后面使用% 使用到了索引EXPLAIN SELECT * .

2021-04-14 16:40:54 1959 3

原创 MySQL总体复习

一条SQL查询语句是如何执行的SQL语句在MySQL中各个功能模块中的执行过程如下图如上图MySQL可以分为两大部分Server层和存储引擎。Server层: 连接器,查询缓存,分析器,优化器,执行器等。涵盖大多数MySQL的大多数核心服务功能,以及所有的内置函数。所有跨存储引擎都在这一层实现,包括存储过程,触发器,视图等。存储引擎: 负责数据存储和提取。包括:InnoDB,MyISAM,Memory等多种存储引擎。从上图来看多种存储引擎共用一个Server层。连接器负责跟客户端建

2021-03-08 01:41:49 321 2

原创 多线程互问

多线程实现线程的方式知道哪些 ?实现Runnable接口实现Callable接口继承Thread类线程池线程有哪些分类?守护线程: 虚拟机创建(不一定),典型垃圾回收线程用户线程: 程序创建虚拟机会等待非守护线程结束运行后退出,但不会等待守护线程。什么是线程饥饿?饥饿 : 是由于线程无法获取需要的资源,由高优先级线程占用资源,线程处于等待状态不被唤醒。产生饥饿的原因: 高优先级线程占用资源; 无法获取锁。什么是死锁,活锁?死锁: 多个线程都无法获得资源继续执行。可以通

2020-10-20 22:27:40 242

原创 Java基础/集合互问

JAVA基础讲讲final关键字的作用数据:声明数据为常量,可以是运行时常量,也可以是在运行时被初始化后不能被改变的常量。对于基本类型,final使数值不变;对于引用类型,final使引用不变,也就不能引用其他对象,但是被引用的对象本身是可以修改的。方法声明方法不能被子类重写。private方法隐式的被指定为final,如果在子类种定义的方法和基类中的一个private方法签名相同,此时子类的方法不是重写基类的方法,而是在子类中定义了一个新的方法。类声明不允许被继承。讲讲stat

2020-10-19 01:05:03 182

原创 MySQL面试互问

MySQL数据库指定哪些索引,都说说普通索引,唯一索引,主键索引,全文索引使用索引的优点提高数据的搜索速度加快表与表之间的连接速度在信息检索过程中,若使用分组及排序子句进行时,通过建立索引能有效的减少检索过程中所需的分组及排序时间,提高检索效率。使用索引的缺点在我们建立数据库的时候,需要花费的时间去建立和维护索引,而且随着数据量的增加,需要维护它的时间也会增加。在创建索引的时候会占用存储空间在我们需要修改表中的数据时,索引还需进行动态的维护,所以对数据库的维护带来了一定的麻烦。

2020-10-16 02:44:13 1114 5

原创 Linux基本命令操作

LinuxLinux关机服务器到迫不得已才会关机正确的关机流程为: sync > shutdown > reboot >halt关机指令为: shutdown ( 可以使用man shutdown 来看一下帮助文档sync #将数据同步到硬盘中shutdown #关机指令shutdown -h 10 'This server will shutdown after 10 mins' # 计算机将在十分钟后关机,并且会显示在当前登录用户的屏幕中shut

2020-10-14 00:33:56 995

原创 数据库事务(死锁)

死锁!!!!!!最近面试被问的比较多的就是死锁。。(记录一下吧什么情况下会出现死锁项目中什么时候会出现死锁死锁跟事务的联系?死锁产生的条件有哪些锁? 死锁会造成什么问题?Mysql如何保持原子性,一致性,持久性(ACID)(事务的四大特性)死锁产生的条件死锁发生的条件- 互斥条件:就是一个资源只能有一个进程占有,不可以被两个或者多个进程占有- 不可抢占条件:进程已经获得的资源在未使用之前,不可被抢占,只能在使用完之后自己释放- 占有申请条件:进程自己已经至少保持一个资源,又请

2020-09-22 02:19:58 2376

原创 并发工具

并发工具CountDownLatch(倒计时器)背景1.5之后被引入的,跟它一起被引入的工具还有CyclicBarrier、Semaphore、concurrentHashMap和BlockingQueue。存在于java.util.current包下概念countDownLatch这个类使用一个线程等待其他线程各自执行完成后再执行是通过计数器来实现的,计数器的初始值是线程的数量。每当一个线程执行完毕后计数器就减1,当计数器为0时,表示所有线程都执行完毕,然后在闭锁上等待的线程就可

2020-08-28 13:49:35 196

原创 ElasticSearch的倒排索引和分词

倒排索引倒排索引以字或词为关键字进行索引,表中关键字所对应的记录表项记录了出现这个字或词的所有文档,一个表项就是一个字表段。它记录该文档的ID和字符在该文档中出现的位置情况。以下三个文档去除停用词后构造倒排索引Term(单词): 一段文本经过分析器以后就会输出一串单词,这一个个的就叫做TermTerm Dictionary(单词字典) 顾名思义,它里面维护的是Term,可以理解为Term的集合Term Index(单词索引): 为了更快的找到某个单词,我们为单词建立索引Posting L

2020-08-27 23:47:32 736 2

原创 mysql&redis

MySQL和Redis的区别1. mysql和redis的数据库类型mysql是关系型数据数据库,持久数据主要存放于硬盘,读取速度慢redis是NOSQL,非关系型数据库,缓存数据库。即将数据存储在缓存中,缓存的读取速度块,能够大大的提高运行效率,但是保存时间有限2. mysql的运行机制mysql作为持久化存储的关系型数据库,每次操作都存在I/O操作,如果反复频繁访问数据库。频繁访问数据库花费大量时间,导致运行效率过慢反复的访问数据库会导致负载过高,那么缓存的概念就产生了3.

2020-08-27 00:15:50 125

原创 Mybatis中#和$的区别?

Mybatis中#和$的主要区别是:#{} 传入参数在SQL中显示字符串,能够很大程度防止sql注入;${} 传入参数在sql中直接显示为传入的值,无法防止sql注入动态sql是mybatis的主要特征之一,在mapper中 定义的参数传到了xml中之后,在查询之前mybatis会对其进行动态解析。提供了sql语法 #{}和${}mybatis中的#和$的区别是什么传入的参数在SQL中显示不同#传入的参数在SQL中显示为字符串,会对自动传入的数据加一个双引号。例如:

2020-08-26 23:31:57 361

原创 多线程实例

多线程实例第一种方式(继承Thread类public class Thread1 extends Thread{ @Override public void run(){ } public static void main(String[] args){ //调用线程的方法 Thread1 thread1 = new Thread1(); Thread1 thread2 = new Thread1

2020-08-20 10:38:19 284

原创 面试复习(查漏补缺)

数据库系统原理索引索引是帮助MySQL高效获取数据的排序好的数据结构建立的索引是存储在本地磁盘中的索引结构二叉树红黑树Hash表B—Tree二叉树某些场景下二叉树有弊端,所以Mysql使用的是B+ 树来做索引当索引为以下的情况时建立索引并不会加速查询速度HashMap在JDK1.8之后将底层的链表优化成红黑树红黑树红黑树(平衡二叉树)演示地址:https://www.cs.usfca.edu/~galles/visualization/RedBlack.ht

2020-08-20 10:37:22 248

原创 面试总结(JavaGuide)

DispathcherServletHashMap的底层实现JDK1.8之前底层的实现是数组+链表 结合一起使用,也就是散列表拉链法:创建一个链表数组,数组中每一格就是一个链表。若遇到哈希冲突,则将冲突的值写入到链表中即可。(数组+链表)jdk1.8之后使用==(数组+红黑树)==如何选用集合主要根据集合的特点来选用,比如我们需要根据键值获取到元素值时就选用 —> Map接口下的集合。​ 需要排序时选择 -----> TreeMap​ 不需要排序选

2020-08-20 10:35:40 5009

原创 JUC

如何了解JUC源码 + 官方文档(面试高频问java.util 工具包,分类Runnable 没有返回值,效率相比Callable相对较低java默认有两个线程;Java本身不能开启线程public synchronized void start() { /** * This method is not invoked for the main method thread or "system" * group threads creat

2020-08-20 10:33:51 205

原创 JVM

JVM垃圾回收算法标记清除算法最基础的垃圾回收算法,分为两个阶段,标注和清除。标记阶段标记出所有需要回收的对象,清除阶段回收被标记的对象所占用的空间。如图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s1sPothM-1597890706272)(C:\Users\晨边\AppData\Roaming\Typora\typora-user-images\image-20200802171609944.png)]从图中我们可以发现,该算法最大的问题是内存碎片化严重

2020-08-20 10:32:51 131

原创 单点登录

单点登录(SSO)Single Sign On在多个应用系统中,用户只需要登录一次就可以访问任何所有互相信任的应用系统他包括将这次主要的登录映射到其他应用中用于同一个用户的登录机制。。SSL(Secure Socket Layer)SSL: 安全套接字,位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证,使用数字签名确保完整性,使用加密确保私密性,以实现客户端和服务器端之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。SSL核心概念:加密算法,

2020-08-20 10:30:57 308

原创 Vue

VUE学习文档:https://cn.vuejs.org/v2/guide/视图层: HTML + CSS + JS:给用户看,刷新后台的数据CSS预处理器:SASS 基于 Ruby , LESS 基于NodeJSVUE = Angular + React一些常用的UI框架Ant-Desgin:阿里巴巴出品的,基于React的UI框架ElementUI,Iview,ice :饿了么出品,基于Vue的UI框架Bootstrap : Twitter推出的一个用于前端开发的开源工具包Am

2020-08-20 10:29:29 241

原创 SpringBoot

SpringBoot去看看Dubbo+zookeeperSpringSecurity:Shiro 看看!!!往下了解的springCloud微服务guspringcloud入门RestfulEurekaRibbonFeignHyStrixZuul路由网关SpringCloud config:git现在了解:Springboot配置yml自动装配:重要:谈资继承web开发:业务的核心继承数据库 Druid分布式开发:Doubbo(RPC) +zookeepers

2020-08-20 10:28:13 1240

原创 Spring

Spring特点轻量级控制反转面向切面容器框架集合[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MNU0N5yF-1597890377401)(C:\Users\晨边\AppData\Roaming\Typora\typora-user-images\image-20200810225520048.png)]Spring常用模块核心容器核心容器提供Spring框架的基本功能,核心容器的主要组件是BeanFactory,它是工厂模式的实现。Bean

2020-08-20 10:26:58 185

原创 Spring Data JPA

Spring Data JPAorm思想hibernate框架介绍JPA规范jpa的基本操作搭建环境的过程完成基本的CRUD操作简介:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据表建立映射,是一个全自动框架,Hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操控数据库。JPA:JSP全称是Java Persistence API,即Java持久化API,是SU

2020-08-20 10:25:16 607

原创 Spark

Sparkscala**val:**声明的变量不可变(推荐)**var:**声明的变量可以变val a:Int = 123val s: = "scala"val s:String = "scala"Scala的值类型有7种(无引用类型)ByteCharShortIntLongFloatDoubleval y = if(x>1) 1 else -1## 支持多种类型的返回val z = if(x>1) 1 else "error"val a = if(x

2020-08-19 22:59:31 637

原创 Redis

Redisredis基本环境配置首先下载redis(linux环境下的):https://redis.io/download 建议下载5.0.8版本的$ wget http://download.redis.io/releases/redis-6.0.3.tar.gz$ tar xzf redis-6.0.3.tar.gz$ cd redis-5.0.8$ make进入redis-5.0.8文件夹之后。yum install gcc-c++makemake install安装

2020-08-19 22:58:07 387

原创 MySQL基础知识

Mysql视图创建视图CREATE VIEW 视图名[字段 …] AS 查询sql语句更新视图CREATE OR REPLACE VIEW 视图名 [字段…] AS 查询的sql语句或ALTER VIEW 视图名 [字段…] AS 查询的sql语句删除视图DROP VIEW 视图名查看数据中哪些是表哪些是视图show table status视图的优点查询性能提高相对于直接SQL省去了语法检查和解析阶段的开销改动表结构 达到少修改的效果假如因为某

2020-08-19 22:56:54 137

原创 Java基础

Java基础数据类型基本数据类型byte / 8char / 16short / 16int / 32float / 32long / 64double / 64boolean / ~boolean 只有两个值:true false 可以使用1 bit来存储,但是具体大小没有明确规定 JVM会在编译时期将boolean类型的数据转换​ 为int,1表示true 0表示false

2020-08-19 22:54:18 268

原创 Hadoop集群搭建

集群Linux环境搭建注意事项确保任务管理器中的服务vmware开启状态确认好VmWare生成的网关地址确认VmNet8网卡已经配置好的IP地址和DNS在Vmware中安装虚拟机并将虚拟机复制三份,放到大小至少有100G的硬盘中。并在虚拟机中打开[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vEOJ0sgD-1597848654945)(https://gitee.com/ChenbinRR/images/raw/master/typora-

2020-08-19 22:52:44 420

原创 Doubbo&&阿里规约

Dubbo文档阅读Dubbo 社区目前主力维护的有 2.6.x 和 2.7.x 两大版本Dubbo解决的方面:当服务越来越多时,服务 URL 配置管理变得非常困难,F5 硬件负载均衡器的单点压力也越来越大。当进一步发展,服务间依赖关系变得错踪复杂,甚至分不清哪个应用要在哪个应用之前启动,架构师都不能完整的描述应用的架构关系。服务的调用量越来越大,服务的容量问题就暴露出来,这个服务需要多少机器支撑?什么时候该加机器?RPC架构节点角色说明Provider暴露服务的服

2020-08-19 22:50:22 158

原创 Docker

Docker 20/6/2Docker 学习Docker概述Docker安装Docker命令镜像命令容器命令操作命令Docker镜像容器数据卷DockerFileDocker网络原理IDEA 整合DockerDocker composeDocker SwarmDocker概述一款产品: 开发–上线 ! 应用环境,应用配置!开发 ---- 运维 。 问题:在我的电脑上可以运行!版本更新 导致服务不可用!对于运维考验十分大。开发及运维!环境配置十分麻烦

2020-08-19 22:47:28 933

原创 数据库系统原理

数据库系统原理原子性(Atomicity)事务被视为不可分割的最小单元,事务的所有操作要么全部提交成功,要么全部失败回滚。回滚可以用回滚日志(Undo Log)来实现,回滚日志记录着事务所执行的修改操作,在回滚时反向执行这些修改操作即可。一致性数据库在事务执行前后都保持一致性状态。在一致性状态下,所有事务对同一个数据的读取结果都是相同的。隔离性个事务所做的修改在最终提交以前,对其它事务是不可见的。持久性一旦事务提交,则其所做的修改将会永远保存到数据库中。即使系统发生崩溃,事务执行的结果也不

2020-08-19 22:44:52 173

原创 MySQL

MySQL基础主键值不能修改,也不允许复用(不能将已经删除的主键赋值给新数据行的主键)。SQL支持以下三种注释:# 注释select *From mytable; -- 注释/* 注释1 注释2 */数据库创建语句create database test;use test;创建表create table mytable( # int 类型 不为空 自增 id int not null auto_increment, # int类型,不可为空,默认值为1,不

2020-08-19 22:35:19 144

原创 Filter过滤器

Filter(过滤器)Filter是Servlet规范的三大组件之一,顾名思义,就是过滤。可以在请求到达目标资源之前先对请求进行过滤拦截。即对请求进行一些处理;也可以在响应到达客户端之前先对响应进行拦截过滤,即对响应进行一些处理。Fliter的生命周期​ Filter的生命周期与Servlet的生命周期类似,其主要生命周期阶段有四个:Filter对象的创建,Filter对象的初始化,Filter执行doFilter()方法,及其最终Filter对象被销毁。​ Filter的整个生命周期过程的

2020-08-19 22:32:35 265

原创 疫情期间的学习(转战Typora) 手写学习提纲

最近比较忙,然后发现csdn写启博客来比较不方便,而且广告太多。而且发现了一些很好用的工具Typora & Xmind (同样也支持markdown语法,所以把文件都在本地写好然后放到Github中去)Github:我的地址(包含了一些最近学习的知识点的总结)Xmind 知识树形图Linux操作系统计算机网络设计模式面向对象单个知识点 平时没有总结的东西Filter (过滤器)MySQLMySQL存储过程MySQL视图数据库系统原理总体学习.

2020-07-30 18:05:42 379

转载 Redis在实战项目中的运用

Redis在实际项目中的运用向业务逻辑中添加缓存1.1 接口封装把jedis封装成一些自己项目中常用的类库util类,方便自己在项目中的调用。1.1.1 接口定义将需要用到的函数类,抽象一个接口出来,方便看整体逻辑以及调用jedisClientpackage cn.e3mall.common.jedis;import java.util.List;public interface JedisClient { String set(String key, String value);

2020-06-09 11:57:11 621

原创 ThreadPoolExector

线程池总结(三大方法,七大参数,四中拒绝策略)三大方法使用Executors创建线程池的三大方法:Executors.newSingleThreadExecutor()创建只能容纳一个线程的线程池,这个线程池相当于只能容纳一个线程的容量。 ExecutorService threadPool = Executors.newSingleThreadExecutor();// 单个线程Executors.newFixedThreadPool()创建一个固定容纳最多指定线程池的线程容量

2020-05-15 17:23:18 335

原创 Elasticsearch同步Mysql数据库(Windows环境下->logstash

ElasticSearch与Mysql1. logstash的安装首先在官网下载logstash下载地址(logstash:https://www.elastic.co/downloads/logstash注意:下载的logstash版本要和elasticsearch一致下载好后,解压,打开就能使用了:2. logstash的配置在安装完成logstash之后,我们就需要配置对应的数据库信息了(mysql① 在解压的logstash里面创建一个mysql文件夹(名字随便起的②下载对应的

2020-05-13 02:51:18 505

原创 Java集合题--Interview

Java集合题Collection和Collections的区别CollectionCollectionsArrayList和Vector的区别ArrayListVector说说ArrayList,Vector,LinkedList存储性能和特性快速失败(fail-fast)和安全失败(fail-safe)的区别是什么?快速失败(fail-fast)安全失败(fail-safe)Hashmap的数据结构hashMap什么时候进行扩容?List,Map,Set三个接口,存取元素时,各有什么特点?Set的元素里

2020-05-09 17:19:15 362

空空如也

空空如也

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

TA关注的人

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