自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ES基础知识

1. ES基本概念 Elasticsearch 是一个分布式、RESTful 风格,支出高扩展、高可用的实时搜索和数据分析引擎。 2. ES中的重要组成部分 Node(节点):装有 ES服务并且提供故障转移和扩展的服务器 Cluster(集群):一个或者多个 Node组织在一起,进行共同工作和共同分享整个数据具有负载均衡功能的集群 Document(文档):一个文档是可以被索引的基础信息单元 Index(索引):索引是拥有几分相似文档的集合 Type(类型):一个索引中

2021-10-15 15:38:01 676

原创 java Future小记,自用

文章参考 Future 详解 1. Future?异步? 在线程池中,我们知道调用future.get()方法是会阻塞当前线程,知道得到get方法的返回值之后才继续运行,所以future是异步编程? 线程池中的提交任务的方法有两种,一个是 execute,参数是 Runnable方法,返回值是 void方法; 第二种方式是 submit方法: 有三种 submit。这三种按照提交任务的类型来算分为两个类型。 提交执行 Runnable 类型的任务。 提交执行 Callable 类型的任务。 但是返回值

2020-10-20 16:31:54 144

原创 java内存模型与synchronized原理

1. 为啥要有内存模型? 计算机在执行程序的时候,每条指令都是在CPU中执行的,而执行的时候,又免不了要和数据打交道。而计算机上面的数据,是存放在主存当中的,也就是计算机的物理内存啦。随着CPU技术的发展,CPU的执行速度越来越快。而由于内存的技术并没有太大的变化,所以从内存中读取和写入数据的过程和CPU的执行速度比起来差距就会越来越大,这就导致CPU每次操作内存都要耗费很多等待时间。所以就在CPU与内存之间增加高速缓存,缓存的概念大家都知道,就是保存一份数据拷贝。他的特点是速度快,内存小,并且昂贵。 程序

2020-10-18 15:13:58 187

原创 关于并发、并行的小结

问题:什么是并发?什么是并行? 并发:在操作系统中,在一段时间内有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行。 也就是说在 单CPU的计算机中,我们看起来“同时做的多件事情”,其实只是通过CPU的时间片技术并发完成的。比如用户感觉在“同时“听歌和打游戏,其实只是并发执行,非真的同时执行。并发是会抢占资源的 并行:并行(Parallel),当系统有一个以上CPU时,当一个CPU执行一个进程时,另一个CPU可以执行另一个进程,两个进程互不抢占CPU资源,可以同时进行,这

2020-10-17 15:48:06 415

原创 操作系统5大IO模型解释

IO模型学习 漫画编程–如何给女朋友解释什么是Linux的五种IO模型 1. java API中提供了三种IO模型,分别是阻塞IO(BIO)、非阻塞IO(NIO)和异步IO(AIO) 2. 操作系统提供的IO模型: 在Linux(UNIX)操作系统中,共有五种IO模型,分别是:阻塞IO模型、非阻塞IO模型、IO复用模型、信号驱动IO模型以及异步IO模型。 2.1 阻塞IO:进程或者线程等待某个条件,条件不满足,就一直等下去,直到满足条件 应用进程通过系统调用 recvfrom 接收数据,但由于内核还未准备

2020-10-17 14:12:54 528 1

原创 NIO学习

1.BIO简介 BIO是 Block I/O ,就是阻塞IO BIO存在的缺点: 阻塞式的IO模型,服务器端会阻塞等待客户端的接入 弹性伸缩能力差,一个客户端对应一个线程处理,导致性能差 多线程耗资源 2. NIO简介 NIO是 Non-blocking I/O 或者 New I/O, 出现于 JDK1.4 问题:基于非阻塞IO,设计应对高并发场景编程? 猜想NIO解决: 客户发出的请求在服务器端建立一个socket,放入set集合中,一直遍历集合中进行read获取数据,有数据进行handler处

2020-10-14 10:57:05 114

原创 java的try-with-resource自动关闭资源

1. 传统的 try catch 模块 对于 IO操作,数据库连接,socket连接使用资源关闭时,一般进行的try catch 进行异常捕获和释放资源,示例代码: /** * 释放资源 * * @author www.codingme.net */ public class TryCatachFinally { /** * 异常处理 * * @param args */ public static void main(String[] ar

2020-10-13 23:37:57 403 1

原创 线程池学习

1.线程池的处理流程 注意点:核心线程池已满时需要将任务加入阻塞队列,如果阻塞队列满才看线程池的最大线程数量 2. 线程池可选择的阻塞队列 public void blockingQueueTest(){ /** * 基于数组的有界的阻塞队列,容量为10 */ ArrayBlockingQueue<Integer> queue = new ArrayBlockingQueue<>(10); /*

2020-10-12 15:22:45 85

原创 mysql笔记

1.结构 1. 1 查询语句(书写格式) 1.2 查询语句执行步骤 1.3 group by group by 分组,输出是分组后第一条数据,如上图所示。 1.4 count(1) 与 count(name) 区别 也就是说,count(1)时候,会自动帮我们虚拟化一个temp出来,全是写入1, 然后根据分组情况 数 1 的个数(如上图),但是如果count(name) 情况下,出现 name为空,count(name) 不记录它的值。 count(distinct *) count

2020-07-19 19:58:41 94

空空如也

空空如也

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

TA关注的人

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