自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 最全面的Elasticsearch查询调优

将内存分配给文件系统缓存​ Elasticsearch严重依赖文件系统缓存来增加搜索速度,我们要尽量确保至少有一半的可用内存进入文件系统,以便Elasticsearch可以将索引的热点区域保留在屋里内存中。使用更快的硬件。创建合适的文档索引映射​ 避免连接,nested可以使查询慢几倍,父子关系可以使查询慢数百倍,我们可以尽量通过非规范化文档在不连接的情况下回答相同的问题,则可以显著的提升查询速度。搜索尽可能搜索较少的字段使用query_string,或者multi_ma..

2022-04-05 19:56:55 3020

原创 Elasticsearch写入优化,看这一篇就够了

前些日子总结了下写入原理,有写入原理肯定会有写入优化, 在看写入优化前最好了解一下什么是写入原理,因为这样可以更容易理解写入优化,为什么这么优化,下面是总结的一些优化点。大数据量的写入最好控制在低检索时间段,并且使用批量请求第一,减小读写之间资源竞争,读写分离第二,当检索请求数据量很小时候,可以减少甚至完全删除副本分片,关闭segment的自动创建已达到高效利用内存的目的,因为副本的存在会导致主从之间频繁的进行数据同步,大大增加服务器的资源占用第三,当很多请求同时发送时,太大的批量请求可能会使

2022-04-04 15:50:16 2194

原创 当别人问你Elasticsearch写入原理,看完这篇我不信你还不会

在了解Elasticsearch的写入原理之前先了解一下什么是refresh刷新时间间隔,那什么是刷新时间间隔呢,我们来举一个例子:当我们新创建一条索引的时候,这条索引并不会立刻对搜索可见,他会现在内存buffer(缓冲区)中,等buffer满了,或者主动刷新时候才可以进行搜索,默认1000ms,可以理解为请求一个文档写入到ES中要过1秒才可以查询到。这也是ES为什么是近实时,而不是完全实时的原因。那主动刷新的时间间隔(refresh_interval)如何设定?refresh_interval 参数,

2022-03-26 22:49:32 1476

原创 javascript特点,适用于哪些地方

Javascript-可以用任何编辑文本的工具编写js代码-由浏览器内置的javascript引擎执行代码解释执行:事先不编译,逐行执行基于对象:内置大量的线程的对象适宜下列场景客户端的数据计算客户端的表单验证浏览器的事件触发网页特效制作服务器表单验证...

2019-08-03 08:32:50 192

原创 Java网络编程

网络编程分类tcp编程:tcp传输控制协议,能够保证数据在传递时候不丢失upd编程:不保证数据能够传递到对象,数据可能丢失若干名字:-socket套接字-ip地址ipv4 四段地址ipv6 六段地址用于唯一确定网络上的计算机-端口号每台计算机都有65536个端口 0-----------65535可以把它比喻为一个能够访问计算机的"门"特殊的内置端口:80端口...

2019-07-23 18:55:33 131

原创 javaIO

JavaIO在java的IO流中 Input代表输入 Output代表输出内存–>外存(本地流输入)外存–>内存(本地流输出)数据的持久化-数据长时间保留在硬盘上-数据长时间保存在数据库上,其实数据库的本质是以数据文件的方式持久化到硬盘上在硬盘中的实际体现出来的是文件和目录,java中提供了一个java.io.File类用来操作文件的目录信息和文件的信息,就是不能操作...

2019-07-22 18:56:50 99

原创 为什么使用封装类以及什么是拆箱装箱

为什么要使用封装类八种基本数据类型,给制定的基本数据类型存储完数据,基本数据类型不能通过方法操作数据,不是面向对象的操作方式,封装类解决了这个问题,先把数据存储给封装类的对象,然后通过封装类的对象打点调用方法,通过方法可以对对象中的数据做各种操作比如://用面向对象的思维实现Integer intObj=new Integer(10);//把整型数据转换成字节byte byteValu...

2019-07-16 19:35:32 493

原创 String,StringBuilder,StringBuffer的区别

String-java.lang.String使用的final修饰的类,不能被继承-字符串底层封装的是字符数组,以及操作字符数组的api方法-字符串一旦创建,对象将无法更改,但字符串的引用可以重新赋值-java字符串采用的是Unicode编码String常量池-java为了提高性能,静态的字符串(字面量,常量)在常量池中创建,并尽量使用同一个对象,重用静态字符串-对于重复出现的字符串...

2019-07-16 19:24:00 139

原创 final和finally和finalize的区别

final关键字-可以修士在变量上,就是常量-可以修饰在方法上,方法不能被重写-修饰在类上,类不能被继承finally关键字-用于在异常处理中释放资源finalize方法-在GC收集对象之前调用此方法...

2019-07-16 19:13:07 121

原创 集合的排序

List集合排序:-Collection.sort(List)sort方法的参数是一个List集合,对List集合中的数据排序,如果List集合中的元素,每个元素内部只有一个数据,就直接比较可以,前提是要保证元素中的数据类型,必须重写了compareTo方法如果List集合中的元素,并且每个元素中有很多的其他数据,那么就需要把元素的类型实现Comparable接口,并重写CompareTo方...

2019-07-16 19:10:28 234

原创 Collection和collections区别

Collection接口:是List接口和Set接口的父接口,接口中规范了List集合和Set集合的操作方式Collections类:在类中有很多方法,这些方法都是用来操作集合的,可以看成是集合的工具类,且很多的方法是静态方法...

2019-07-16 18:51:38 231

原创 java异常

异常的继承层次顶级类:ThrowableException类:是程序员能够写代码处理的异常根类分为两个类别:免检异常:不是必须添加try catch finally的程序是能够编译和执行的,执行时触发了符合了的异常程序还是意外终止       必检异常:必须添加try catch finally,如果不添加则会有红波浪线提示,说明程序是不能编译和执行的Error类:不是程序员能使用的,一...

2019-07-12 20:40:05 143

原创 简述垃圾收集管理器GC

GC是jvm中的一个后台线程,此线程完成的功能是收集堆空间中的没有引用的对象内存空间,并释放空间GC的主要特点是能够释放无用的对象空间,程序员是无法掌控GC的调用的GC针对的是堆空间,在堆空间中创建的对象,是创建在新生代新生代区:  新生代分类:young generation    伊甸园区:Eden 所有新创建的对象都放在此区    幸存区:Survivor在伊甸园区中经过一个扫描...

2019-07-12 19:07:53 140

原创 Java中内部类与匿名内部类

内部类所谓内部类,就是把类放在某个范围的内部类可以放在包中类可放在文件中, .java文件类可以放在类中(类里套类) 内部类类可以放在方法中(方法里套类) 内部类类中放置内部类要使用内部类,就需要在外部类中实例化内部类的对象然后用对象打点调用内部类中的方法(可以在外部类中,调用内部类中的私有方法和私有属性)通过内部类里的方法来操作内部类的数据,在内部类中可以直接使用外部类中...

2019-07-10 19:30:55 116

原创 java中有关抽象类的简单说明

抽象类如果在一个类中,有方法,没有方法体,那么这个方法就是抽象方法如果一个类中,只有抽象方法,那么这个类就是抽象类抽象类也是类,有类就可以放置属性和方法抽象类可以放置属性,属性可以用来存储数据抽象类中也可以放置没有方法体的方法,此方法能够完成某个功能抽象类中可以放置没有方法体的方法,这个方法就是抽象方法,只要类中有一个抽象方法那么这个类就是抽象类抽象类不能实例化对象,因为抽象类有抽象...

2019-07-09 19:58:55 141

原创 java的封装和继承

封装所谓封装,就是把私有的数据封装,用公有的getter and setter 或者是构造方法存取数据类中之封装功能,不会封装数据,适合做功能最后把现实世界的物和事转移到计算机中类中封装的就是属性和方法继承继承必须以封装为基础实现继承就是为了代码重用,继承充分的展现了代码的可复用性因为现实世界有很多的继承关系,所以把现实世界的物或事转换到计算机中,就需要java的继承,同时增加了类...

2019-07-09 19:22:21 156

原创 java中的多态

多态的判断标准跨类且继承,多态是以继承为基础的子类重写长辈的方法子类对象赋值给长辈的引用用长辈的引用打点调方法– 用对象打点能调用出哪些方法,取决于这个对象所对应的类或接口中的有哪些方法– 如果用长辈的引用打点调用方法,是重写过的方法,那么就执行子类重写后的方法– 如果长辈的引用打点调用的方法是没有重写重写过的方法,则调用本长辈类中的方法, 执行的是本长辈类中的方法多态的应用...

2019-07-09 19:06:03 94

原创 java中的运算符以及优先级

赋值运算符= 把等号右边的结果赋值给左边算术运算符+ - * / % ++ –逻辑运算符& ! | && !! || 其结果为boolean类型&与运算 :只要有一个为假值,结果就为假值 同真为真|或运算:有一个为真值,结果就为真值,同假为假!非运算: 结果的相反&&短路与 ||短路...

2019-07-09 18:53:07 179

原创 java中的static与final关键字

final关键字:final最终的final关键字可以修饰在成员变量和局部变量final关键字可以修饰在方法上final关键字可以修饰在类上final关键字修饰在变量上,最后的量值不能被修改,所以i是常量,变量只能赋值一次final修饰在成员变量上,必须直接给初值,不给初值会报错final修饰在局部变量上,可以先声明,后给初值,初值只能赋值一次final修饰在方法上,那么这个方法就...

2019-07-09 18:43:54 112

原创 Java的值传递和引用传递

值传递值传递是基本数据类型的数据传奇,是栈中的数据基本数据类型的数据作为方法的参数进行传递,那么在方法中会另外开辟一个新的内存空间,跟原来的内存空间不是一个内存空间,如果在方法中对参数的值进行更改,不糊影响原来的内存空间的值如果非要获取方法中修改后的值,则需要把修改后的值返回出来引用传递引用传递是数组的传递,对象的传递,是堆中的数据如果传递的是对象或数组,实际上是吧对象或数组的引用传...

2019-07-09 18:43:39 80

原创 代码块

代码块就是一对{}括起来的代码块有两种:-在类中用代码块括起来的一段代码,类中的代码块在new构造函数之前执行-在类方法中用代码块括起来的一段代码,方法中的代码块用于限定某些变量的作用域类中的代码块的应用场景:在构造函数之前需要初始化一些数据的时候...

2019-07-09 18:41:42 68

原创 Java中super与this的用法

this的用法this有两种形式的用法:-this. 访问当前对象的属性或方法-this(参数列表)调用本类的其他构造方法this指的是当前的对象super的用法super(参数列表)参数列表,可以是0个也可以是多个调用父类构造,且super(参数列表)只能写在子类构造的第一条语句super()调用的是父类无参构造,如果不写,系统会自动给填上super用来调用父类的方法或属性,...

2019-07-09 18:40:46 95

原创 ==与equals的区别

equals与==的区别:  ==:是一个判断相等的运算符,这个运算的两边如果是基本数据类型判断的是值是否相等    这个运算符的两边如果是某个类类型的对象,判断的是两个对象是否在同一个地址      如果地址相同,那么内容一定是相等的      如果地址不相同,那么内容就不一定相等   equals:方法不能判断基本数据类型的数据,只能判断对象是否相等      ...

2019-07-09 18:39:56 148 1

原创 java接口

特点接口中的方法和属性都是公有的接口不能实例化对象,必须由子类实现接口且子类可以实现多个接口,解决了java的单继承问题,多个接口之间用逗号间隔子类实现接口关键字implement,子类必须把接口中的方法都实现了才可以实例化子类对象,否则子类就是抽象类接口中可以有属性,但默认的是public static final,不适合做数据存储接口中可以有方法,方法是没有方法体的,且是公有的,p...

2019-07-09 18:38:34 119

原创 Java中的继承,封装,多态

封装把现实世界的对象转换到计算机中的对象,而且保证数据的安全性继承代码的复用性,复用性提高了,类和类中的关系复杂了多态多态就是执行的结果有多种状态.还可以理解为:有对象名称,用对象名称打点调用方法,在不同的时候执行的方法的功能是不一样的...

2019-07-09 18:26:51 73

原创 Java的对象和类在jvm中的存储机制

jvm把内存分为三个主要部分方法区:存储的是类的定义,静态数据,常量池,由jvm来控制管理堆区:数组申请的空间,对象申请的空间,总之就new是new出来的空间.堆空间中存储的是数组数据,对象的数据,可以通过程序操作的栈区:堆中的对象空间中存储的是属性数据,没有方法.判断对象是否相等,主要判断的是对象中的属性的值是否相等,所以对象就是数据的载体,对象中没有方法,只有数据,通过对象.的调用党法,...

2019-07-07 15:30:11 855

原创 JAVA的八种数据类型以及使用他们的目的

在JAVA中最小的单位是bit(比特),一个字节有8个bit一个bit(比特)要么是0要么是1JAVA中的八种基本数据类型类型所占字节储存的数据类型byte1个用来储存字节数据short2个用来储存短整型数据int4个用来储存整型数据long8个用来储存长整形数据 (后边必须用L或l结尾)float4个用来存储浮点型数据 (后边...

2019-07-07 12:58:06 241

原创 JAVA中JDK,JRE,JVM是什么以及其中的关系

JDK(java development tool kit ) JDK是JAVA的开发工具包,有java的所有命令(功能) 比如: javac命令:用来编译java文件,把.class的源代码文件编译成.class的字节码文件 java命令:用来执行.class字节码文件,把.class字节码文件放在J...

2019-06-30 13:02:03 161

空空如也

空空如也

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

TA关注的人

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