暂无个人介绍
基本概念 实体:现实世界中客观存在并可以被区别的事物。比如“一个学生”、“一本书”、“一门课”等等。值得强调的是这里所说的“事物”不仅仅是看得见摸得着的“东西”,它也可以是虚拟的,比如说“老师与学校的关系”。
1 描述 1) CopyOnWriteArrayList是List的一种线程安全的实现;2) 其实现原理采用”CopyOnWrite”的思路(不可变元素),即所有写操作,包括:add,remove,set等都会触发底层数组的拷贝,从而在写操作过程中,不会影响读操作;避免了使用synchronize.
合理使用并发 单线程程序并不一定比多线程程序性能差 1) 当任务较轻,执行任务的消耗没有开启多线程消耗多时;2) 当上下文切换带来的消耗较高时;3) 当多线程的同步处理代价过大时; 并发的优势 1) 提高系统的吞吐率:能够合理的利用IO等待时间等情况;2) 提高响应性.
基本概念 计算机系统的组成 1)计算机系统由”硬件”和”软件”两大部分组成;计算机性能的好坏,取决于软件和硬件功能的总和;2)硬件:计算机系统的实体部分,由看得见摸得着的电子元件组成;3)软件:事先编制的具有特定功能的程序;4)固件:将某种特定功能的软件持久化到只读存储器中;5)计算机软件通常可以.
信息 = 位 + 上下文 1)文本文件&二进制文件:只由ASCII构成的文件称为文本文件,其它非文本文件称为二进制文件;2)信息表示的基本思想:系统中所有的信息(包括:磁盘文件、存储器中的程序和用户数据、网络上传送的数据等)都是由一串位表示的。
Netty中概念的理解 1)Channel:相当于一个Socket连接,类比java nio的SocketChannel;2)EventLoop:反应堆线程,通过非阻塞方式执行I/O任务、定时任务等,类比java nio的Selector;I/O任务和定时任务都被抽象为事件,通过eventloop.
简介 beats组件是一系列用于采集数据的轻量级代理程序,用于从服务端收集日志、网络、监控数据,并最终汇总到elasticsearch。beats组件收集的数据即可以直接上报给elasticsearch,也可以通过logstash中转处理后上报给elasticsearch。
PriorityBlockingQueue可以理解为线程安全的PriorityQueue,其实现原理与PriorityQueue类似,在此基础上实现了BlockingQueue接口,能够作为阻塞队列使用,由于PriorityBlockingQueue是无界队列,因而使用put方法并不会阻塞,offer方法不会返回false。
通过学习优先队列和二叉堆,我们知道优先队列中队首的元素总是最大(最大堆)或者最小(最小堆)的元素,根据这个规律,如果我们把一系列无序的元素插入到优先队列中,然后再从优先队列中逐个删除元素,则删除元素的顺序是有序的。
优先队列,顾名思义,就是允许优先级高的元素先出队,优先级低的元素后出队。它与普通队列FIFO(先进先出)的特性不同,元素的出队顺序并不受入队顺序的影响,而是允许我们自定义元素的优先级(排序)来决定出队顺序。
ScheduledThreadPoolExecutor作为ScheduledExecutorService接口的实现,提供了延迟执行任务或者周期性执行任务的能力。通过名称可以看出,ScheduledThreadPoolExecutor基于线程池实现,它通过继承ThreadPoolExecutor实现线程池管理能力的复用,同时扩展了自己的定时任务调度能力。
redis客户端与服务端通信,使用RESP(REdis Serialization Protocal,redis序列化协议)协议通信,该协议是专门为redis设计的通信协议,但也可以用于其它客户端-服务器通信的场景。
logstash是基于实时管道的数据收集引擎。它像一根处理数据的管道,收集分散的数据,进行汇总处理后输出给下游进行数据分析和展现。 logstash可以配合Beats组件或者其它第三方组件进行数据收集,数据经过处理后存放到elasticsearch中进行检索和分析。
x-pack作为elasticsearch的增强组件,主要提供安全、监控等功能。elasticsearch安装x-pack组件的顺序如下图: 离线安装x-pack 因为大多数情况下,生产环境中的服务器无法访问到外网环境,因此,使用离线安装方式;在线安装方式见参考连接;1)下载离线安装包.
Elastic Stack是一套支持数据采集、存储、分析、展现的全流程数据分析工具,旧时称作ELK(Elasticsearch,Logstash,Kibana的缩写,)。Elastic Stack由一系列的工具集组成,其核心组成如下图: Logstash & Beats:数据采集工具,logstash适合大批量数据的采集,其结构较重,消耗资源较大,适合集群化部署。
linux内核版本低于3.5,不支持seccomp; [2018-03-12T11:56:52,328][WARN ][o.e.b.JNANatives ] unable to install syscall filter: java.
ThreadPoolExecutor是jdk自带的线程池实现。看到了"池"一定会想到对象池模式,它是单例模式的一个变种,主要思想是通过共享复用已有的空闲对象,达到限制开销和提高性能的目的。这里的对象可以理解为某种"资源",比如:数据库连接、线程、socket连接...创建这种资源的消耗比较大,如果每次使用都新建的话,会造成额外的开销。
定义: Provide a surrogate(代理) or placeholder(占位符) for another object to control access(控制访问) or append ability(赋能) to it.类型: 结构型模式场景: 访问控制,赋能思路: 为调用者和被调用者之间留有余地,以应对变化。
1 什么是类加载机制? java程序的从源代码到执行的过程包括编译和运行两个阶段。编译阶段由编译器执行,将源代码(.java)文件编译成字节码文件(class文件);运行阶段由JVM执行,将字节码文件加载到内存中,变为虚拟机可以直接使用的数据结构,该过程即为类加载机制。
Executor框架是concurrent包提供的用于执行线程任务的框架,它基于生产者-消费者模式实现,将提交任务的线程和执行任务的线程解耦。提交任务的线程视作生产者,执行任务的线程视作消费者。任务的执行策略可以通过定制不同的消费者实现,比如:任务可以同步执行,也可以异步执行;任务可以按照编排优先级,高优先级的任务可以优先执行;任务可以延迟执行或者按周期执行...这些实现对于生产者而言透明,生产者无需关注消费者的具体实现,仅需要按照业务需求提交任务即可。
kafka配置简述;
1)kafka的下载&安装; 2)kafka中bin目录中脚本和config目录下配置文件用途介绍; 3)topic的创建、删除;
什么是kafka? kafka是一个分布式流式平台,能够通过订阅-发布模式在应用之间实时传递数据流,同时保证可靠性和容错性;简单理解,就是一个分布式消息队列。 kafka涉及的3基本概念 kafka服务:既可以以单点方式运行,也可以通过多个节点组成集群运行; record:kafka中的每条记录称.