- 博客(63)
- 收藏
- 关注
转载 线程池的五种状态
线程池的5种状态:Running、ShutDown、Stop、Tidying、Terminated。线程池各个状态切换框架图:1、RUNNING(1) 状态说明:线程池处在RUNNING状态时,能够接收新任务,以及对已添加的任务进行处理。(02) 状态切换:线程池的初始化状态是RUNNING。换句话说,线程池被一旦被创建,就处于RUNNING状态,并且线程池中的任务数为0!private final AtomicInteger ctl = new AtomicInteger(ctl.
2020-05-18 10:47:51
587
原创 Dubbo知识点
Dubbo,因为我用的是dubbo,而且我写了,这个也是高频,写了必须问的,他的设计框架,负载均衡,spi机制,一般顺势会提到zk,选举算法,分布式锁等,一些常见的dubbo问题可以去搜,网上的基本都有。可能会顺带去问cloud的问题,生产没用过不怕,你现在可以自己clone一个项目,最起码,互联娃,你得知道还有这个玩意儿,还有他集成了啥,比如rureka,hystrix,ribbon,feign...
2020-04-13 01:02:31
264
1
转载 面试开场介绍与项目介绍?
自我介绍主要准寻下面几个方向:基本信息之类的简历上都有,简单说一下毕业参加工作的时间即可。首先介绍一下之前的工作经验,比如什么时间段在什么公司,在这个公司担任什么职务。之所以离开上一家公司是出于……考虑(离职理由要争当,尽可能从职业发展的角度出发)……通过**渠道关注到贵公司**岗位的招聘信息,该职位跟我未来的职业发展相对契合,而且贵公司的业务(或者企业实力、行业口碑、企业文化...
2020-04-11 20:34:01
778
转载 Redis常用命令
1 BGREWRITEAOF 异步执行一个 AOF(AppendOnly File) 文件重写操作 2 BGSAVE 在后台异步保存当前数据库的数据到磁盘 3 CLIENT KILL [ip:port] [ID client-id] 关闭客户端连接 4 CLIENT LIST 获取连接到服务器的客户端连接列表 5 CLIENT ...
2020-03-28 17:39:02
122
转载 Redis5.0.0配置文件
# redis版本 5.0.0 # 如果想要使用到配置文件,Redis服务必须以配置文件的路径作为第一个参数启动。如:./redis-server /path/to/redis.conf # 单位说明:当需要指定内存大小时,可能会用到不同的单位,如1k、5GB、4M等,这里给出其单位含义:# 指定单位是大小写不敏感。如1GB、1gB、1Gb是一样的。# 1k => 1000 ...
2020-03-27 12:35:44
490
转载 MongoDB基础
为什么我们要使用MongoDB?特点:高性能、易部署、易使用,存储数据非常方便。主要功能特性有: 面向集合存储,易存储对象类型的数据。 模式自由。 支持动态查询。 支持完全索引,包含内部对象。 支持查询。 支持复制和故障恢复。 使用高效的二进制数据存储,包括大型对象(如视频等)。 自动处理碎片,以支持云计算层次的扩展性 支持Python,PHP,Ruby,Java,C,C...
2020-03-17 09:45:04
283
原创 数据结构与算法
转载地址:https://www.jianshu.com/p/158b8bfb1831一. 最小生成树算法连通图:在无向图G中,若从顶点i到顶点j有路径,则称顶点i和顶点j是连通的。若图G中任意两个顶点都连通,则称G为连通图。 生成树:一个连通图的生成树是该连通图的一个极小连通子图,它含有全部顶点,但只有构成一个数的(n-1)条边。 最小生成树:对于一个带权连通无向图G中的不同生成...
2020-02-03 18:12:50
195
转载 负载均衡
一、 负载均衡分类硬件负载均衡 常见的硬件有比较昂贵的F5和Array等商用的负载均衡器,它的优点就是有专业的维护团队来对这些服务进行维护、缺点就是花销太大,所以对于规模较小的网络服务来说暂时还没有需要使用。 软件负载均衡 目前使用最广泛的三种负载均衡软件Nginx/LVS/HAProxy,他们都是基于Linux的开源免费的负载均衡软件,这些都是通过软件级别来实现,所以费用非常低廉。...
2019-12-12 10:06:11
308
原创 shiro
简介Apache Shiro是一个强大且易用的Java安全框架,主要功能有身份验证、授权、安全加密和会话管理。相比较Spring Security,shiro有小巧、简单、易上手等的优点。shiro权限的操作粒度能控制在路径及按钮上,数据粒度通过sql实现。Shrio简单够用。至于OAuth,OpenID 站点间统一登录功能,现如今单点登录很多已经通过cookies实现。因此Shiro完全能够...
2019-11-18 16:47:49
1100
1
转载 Elasticsearch知识点
目录1 什么是Elasticsearch?2 Elasticsearch的特点3 Elasticsearch基础概念4 Elasticsearch基本数据类型(看这里)5 Elasticsearch基本检索类型5.1 检索和过滤5.2 结构化检索5.3 全文检索5.4 复合检索5.5 特定检索6 Elasticsearch基本基本聚合类型6.1 Me...
2019-10-29 16:03:54
468
原创 Logstash知识点
Logstash的基本知识Logstash是什么logstash是开源数据收集引擎,可以用数据的统一和扩充。相关版本支持(看这里)工作原理(看这里)输入file:从文件系统上的文件读取,非常类似于UNIX命令tail -0Fsyslog:在知名端口514上侦听syslog消息并根据RFC3164格式进行解析redis:使用redis通道和redis列表从redis服务器读取。...
2019-10-17 10:08:33
572
转载 SpringBoot知识点
目录什么是 Spring Boot?为什么要用 Spring Boot?Spring Boot 的核心配置文件有哪几个?它们的区别是什么?Spring Boot 的配置文件有哪几种格式?它们有什么区别?Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?开启 Spring Boot 特性有哪几种方式?Spring Boot 需要独立的容器运行吗?运行...
2019-10-14 16:20:36
493
转载 GC和GC算法
详解分代回收Java 的堆内存被分代管理,为什么要分代管理呢?分代管理主要是为了方便垃圾回收,这样做基于2个事实,第一,大部分对象很快就不再使用;第二,还有一部分不会立即无用,但也不会持续很长时间。虚拟机堆内存划分为年轻代、老年代、和永久代,如下图所示。 年轻代主要用来存放新创建的对象,年轻代分为 Eden 区和两个 Survivor 区。大部分对象在 Eden 区中...
2019-10-11 10:14:20
267
转载 JVM类加载机制和双亲委派原则
详解类加载机制类的加载指将编译好的 Class 类文件中的字节码读入内存中,将其放在方法区内并创建对应的 Class 对象。类的加载分为加载、链接、初始化,其中链接又包括验证、准备、解析三步。如下图所示。 加载是文件到内存的过程。通过类的完全限定名查找此类字节码文件,并利用字节码文件创建一个 Class 对象。 验证是对类文件内容验证。目的在于确保 Class ...
2019-10-11 10:12:31
295
转载 GC算法之ZGC
详解 ZGCZGC特点ZGC 是最新的 JDK1.11 版本中提供的高效垃圾回收算法,ZGC 针对大堆内存设计可以支持 TB 级别的堆,ZGC 非常高效,能够做到 10ms 以下的回收停顿时间。这么快的响应,ZGC 是如何做到的呢?这是由于 ZGC 具有以下特点。 ZGC 使用了着色指针技术,我们知道 64 位平台上,一个指针的可用位是 64 位,ZGC 限制最大支持 4TB ...
2019-10-11 09:53:45
2138
1
转载 GC算法之G1算法
G1 算法G1 在 1.9 版本后成为 JVM 的默认垃圾回收算法,G1 的特点是保持高回收率的同时,减少停顿。G1 算法取消了堆中年轻代与老年代的物理划分,但它仍然属于分代收集器。G1 算法将堆划分为若干个区域,称作 Region,如下图中的小方格所示。一部分区域用作年轻代,一部分用作老年代,另外还有一种专门用来存储巨型对象的分区。 G1 也和 CMS 一样会遍历...
2019-10-11 09:51:29
3786
1
转载 GC算法之CMS算法
CMS算法CMS算法是JVM中老年代常用的垃圾回收算法,全称是Concurrent Mark Sweep算法,即并发标记-清除算法。算法的执行步骤如下图所示,共有六个步骤。CMS-Steps3.1 初始标记(Initial Mark):CMS算法中两个会触发Stop the World事件中的一个,这个阶段会标记所有与GC Roots直接相关联的对象,以及被存活的青年代对象所直...
2019-10-11 09:44:29
7211
2
转载 JVM内存模型
详解 JVM 内存模型JVM 内存模型主要指运行时的数据区,包括 5 个部分,如下图所示。Heap(堆)和方法区是所有线程共享的,栈、本地方法栈和程序技术器是各个线程独占的。线程独占的:栈也叫方法栈或者Java虚拟机栈,是线程私有的,程在执行每个方法时都会同时创建一个栈帧,用来存储局部变量表、操作栈、动态链接、方法出口等信息。调用方法时执行入栈,方法返回时执行出栈。栈帧:...
2019-10-11 09:39:41
246
原创 关于JVM知识点
JVM 知识点汇总JVM知识点有6个大方向,其中,内存模型、类加载机制、GC垃圾回收是比较重点的内容。性能调优部分偏重实际应用,重点突出实践能力。编译器优化和执行模式部分偏重理论基础,主要掌握知识点。各个部分需要了解的知识点如下。 内存模型:程序计数器、方法区、堆、栈、本地方法栈的作用,保存哪些数据。 类加载:双亲委派的加载机制,以及常用类加载器分别加载哪种类型的类...
2019-09-30 09:25:39
286
转载 数据库中间件详解
1数据库拆分过程及挑战 互联网当下的数据库拆分过程基本遵循的顺序是:垂直拆分、读写分离、分库分表(水平拆分)。每个拆分过程都能解决业务上的一些问题,但同时也面临了一些挑战。1.1 垂直拆分对于一个刚上线的互联网项目来说,由于前期活跃用户数量并不多,并发量也相对较小,所以此时企业一般都会选择将所有数据存放在一个数据库 中进行访问操作。举例来说,对于一个电商系统,其用户模...
2019-09-25 16:17:49
783
原创 常用的工具
JVM相关工具JMC(Java Mission Control)监控和性能分析:JVM、JFR(重要)、JMX线上调试:btrace:JVM实时监控工具其他常用的JVM工具:jps:查看java进程信息jmap:查看JVM中对象的统计信息jstat:对JVM的资源和性能进行实时监控jstack:查看JVM线程栈信息jinfo:动态查看、调用jvm参数压力测试:JHM常用Linux...
2019-08-18 10:33:21
144
原创 消息队列
使用场景应用解耦合:应用之间不用直接调用,可以通过队列来传递消息,完成通信。 异步任务:队列可以用来执行异步任务,任务提交方无需等待结果。 削峰填谷:在突发流量时,可以通过队列做缓冲,不会对后端服务产生较大的压力,当峰值过去时,可以逐渐消费堆积的数据,来填平流量的低谷。 消息广播:一写多读消息协议JMS:是Java的消息服务,规定了Java使用消息服务的API,Spring提供了支...
2019-08-13 11:02:39
198
原创 redis缓存知识点
redis的特点单线程异步IO,采用非阻塞异步事件处理机制,缓存数据都是内存操作,IO操作时间不会太长,单线程可以避免线程上下文切换产生的代价 支持持久化,所以redis不仅可以做缓存,也能做nosql数据库 多数据结构:String、Hash、List、Set、ZSet、HyperLogLog、Geo 提供主从模式以及cluser集群部署机制redis的常见的5种数据结构:类型...
2019-08-12 16:33:30
418
原创 缓存
缓存的类型及使用场景 本地缓存:在进程所在的内存中进行缓存,比如:使用Map实现在JVM堆中缓存。也可以使用ehcache这样的工具实现。 优点:能直接在heap区内读写,最快也最方便。 缺点:同样是受heap区域影响,缓存的数据量非常有限,同时缓存时间受GC影响。 主要满足单机场景下的小数据量缓存需求,同时对缓存数据的变更无需太敏感,如一般配置管理、基础静态数据等场景 分布...
2019-08-12 14:55:31
170
原创 MySql基础知识点
常用的sql语句条件查询、关联查询、排序查询、分组查询、逻辑关键字、函数常用的数据类型整数型和浮点数类型 大小 用途 TINYINT 1 字节,8位 小整数值 SMALLINT 2 字节,2*8位 大整数值 MEDIUMINT 3 字节,3*8位 大整数值 INT或INTEGER 4 字节,4*8位 大整数...
2019-08-12 10:42:49
285
原创 MyBatis知识点
Mybatis的优缺点优点:原生sql sql语句与代码解耦合 简单易学 原生的sql语句,sql调优灵活缺点:半自动ORM,不能自动生成sql语句 sql语句依赖于具体数据库,数据性移植差Mybatis缓存机制一级缓存作用域是SqlSession,会对同一个SqlSession中执行语句的结果进行缓存,来提高再次执行的效率。SqlSession关闭或者有新增更新删...
2019-08-11 11:38:30
466
原创 Spring
基础概念1.Spring 是一个轻量级的 IOC/DI和 AOP 容器的开源框架。使用Spring框架的好处是什么?轻量级、容器化、控制反转、面向切面编程、事务管理、异常处理、可以集成多种优秀的框架。2.什么是IOC(控制反转)思想?Spring中关于IOC思想的具体方式DI(依赖注入)?这篇文章IOC(inverse of control):控制反转 对象的创建以及依赖关系可...
2019-06-19 11:18:14
445
原创 Java基础
考察点:1.基本概念和基本原理2.实现方式与使用场景3.经常用到的知识点4.实际应用中容易犯错的点5.与面试的岗位相关的知识点加分项:1.知识点与具体业务场景结合2.以反例来描述实际场景中误用的危害3.与知识点相关的优化点4.与知识点相关的最新技术趋势5.如果很了解某个知识点,可以尽量回答得深入1.关于面向对象Java面向对象编程是一种思想,是现...
2019-06-05 15:30:07
671
转载 Kafka相关知识点
简介Kafka是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做消息队列系统),常见可以用于web/nginx日志、访问日志,消息服务等等。根据官网的介绍,ApacheKafka®是一个分布式流媒体平台,它主要有3种功能: 1:发布和订阅消息流。这个功能类似于消息队列,这也是kafka归类为消息队列框架的原因 2:以容错的方式保存消...
2019-05-20 17:24:08
1168
转载 为什么要用Redis而不直接用Map做缓存?
缓存的区别缓存分为本地缓存和分布式缓存。以java为例,使用自带的map或者guava实现的是本地缓存,最主要的特点是轻量以及快速,生命周期随着jvm的销毁而结束,并且在多实例的情况下,每个实例都需要各自保存一份缓存,缓存不具有一致性。使用redis或memcached之类的称为分布式缓存,在多实例的情况下,各实例共用一份缓存数据,缓存具有一致性。缺点是需要保持redis或memcached服...
2019-03-15 09:41:21
3262
转载 redis问题
redis的命令参考:http://redisdoc.com/redis功能文档:http://redisdoc.com/topic/cluster-spec.html#id11.什么是redis?可基于内存亦可持久化的日志型、Key-Value数据库,支持多种数据结构,并且支持单机模式、主从模式、哨兵模式、集群模式多种部署模式。2.redis中的数据类型?Redis支持五种数...
2019-03-12 10:55:16
678
转载 Linux常用命令大全
Linux常用命令大全(非常全!!!)原文地址:https://www.cnblogs.com/yjd_hycf_space/p/7730690.html系统信息arch 显示机器的处理器架构(1)uname -m 显示机器的处理器架构(2)uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)hdparm ...
2019-03-07 11:44:52
244
转载 Mongodb知识点
1.什么是NOSQL?NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库(RDBMS)的数据库管理系统的统称。NoSQL用于超大规模数据的存储。2.什么是MongoDB?MongoDB与MySQL的区别?MongoDB是一个基于分布式文件存储的开源数据库系统。将数据存储为一个文档,数据结构由键值(key=>valu...
2019-03-07 11:38:57
873
原创 MongoDB集群搭建(分片+副本集)
MongoDB集群搭建(分片+副本集)分片则指为处理大量数据,将数据分开存储,不同服务器保存不同的数据,它们的数据总和即为整个数据集。追求的是高性能。 副本集是在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的安全性。在生产环境中,通常是这两种技术结合使用,分片+副本集。本篇文章采用的版本为3.6。1.搭建环境系统:windows10服务器:192.168.6....
2019-03-01 16:11:55
872
转载 数据库面试
一、数据库问答题1. SQL语言包括哪些类型?数据定义DDL:Create Table,Alter Table,Drop Table, Create/Drop Index等数据操纵DML:Select ,insert,update,delete,数据控制DCL:grant,revoke2. 内联接,外联接区别?内连接是保证两个表中所有的行都要满足连接条件,而外连接则不然。在外连接中...
2019-02-13 09:03:42
9480
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人