- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 windows10安装ElasticSearch及相关插件
1.ElasticSearch简介ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口操作ES,也可以利用Java API。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。...
2019-07-29 10:17:58 455
原创 volidate的作用及其实现原理
volidate关键字在JDK中有大量应用,其主要作用有二个:1是保证变量在多线程之间的可见性;2是禁止指令重排序;但是volidate并不具备原子性。下面将分别介绍可见性、指令重排序、实现原理及为什么不能保证原子性。可见性:可见性是指多线程情况下线程能够自动发现volatile变量的最新值。如果对Java内存模型比较了解的话会知道,每个线程都会被分配一个线程栈,如果对象是多线程间的共享资源时...
2019-07-24 12:40:58 4252
原创 JVM管理分析工具介绍
本文介绍一下JDK的bin目录下自带的一些管理分析工具,例如jps、jstat、jmap、javap等(注:我本地为win10,要想直接在cmd中执行这些命令需要配置环境变量到bin层)jps1. 说明:jps 命令类似linux的ps命令,但是它只列出系统中所有的 Java 应用程序(即linux中的 ps -ef | grep java)。通过jps命令可以方便地查看 Java 进程的...
2019-07-18 16:25:42 280
原创 JVM内存划分与垃圾回收机制
JVM 内存区域主要分为线程私有区域的程序计数器、虚拟机栈、本地方法区和线程共享区域的 堆、方法区、直接内存。注:线程私有数据区域生命周期与线程相同,随着用户线程的启动/结束而创建/销毁;线程共享区域随虚拟机的启动/关闭而创建/销毁。程序计数器(线程私有):一块较小的内存空间, 是当前线程所执行的字节码的行号指示器,每条线程都要有一个独立的程序计数器,是唯一一个在虚拟机中没有规定任何 Ou...
2019-07-17 12:47:18 229
原创 Java编译器优化运算符和位运算的一次验证
问题:昨天看到群友在讨论数学运算在编译期会做优化变成位运算,所以不需要刻意的使用位运算。虽然我们都知道在底层汇编代码中位运算效率高,例如直接右移1位远远高于除以2的指令效率,但是我从未实际测试过,现在来测试一下具体的情况。这就要考虑到java编译的流程:.java文件先转换成.class文件(字节码),在运行的时候,JVM先接收到字节码,再做JIT即时优化和编译,形成对应的机器码。这里我本地的JD...
2019-07-17 09:26:55 544
原创 HashMap剖析
1、HashMap是什么?- HashMap是一个散列桶(数组和链表),它存储的内容是键值对(key-value)映射。- HashMap采用了数组和链表的数据结构,能在查询和修改方便继承了数组的线性查找和链表的寻址修改。- HashMap是非synchronized,所以HashMap速度快。- HashMap可以接受null键和值,而Hashtable则不能。2、HashM...
2019-07-17 09:16:08 127
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人