自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用BigDecimal时遇到的坑

1. 加减乘除操作时,会生成新对象存储结果值,而不是直接改变被减数、被除数。 @Test public void f1(){ BigDecimal v1 = new BigDecimal("10"); BigDecimal v2 = new BigDecimal("5"); BigDecimal add = v1.add(v2); BigDecimal...

2019-11-04 10:48:17 293

原创 LinkedList源码解析(JDK1.8)

文档头LinkedList是List和Deque接口的双向链表实现,实现所有列表操作,允许null。 有关index的操作都会遍历链表,只是从头走或从尾遍历的区别 是不同步,需要外部同步操作或 Collections.synchronizedList(new LinkedList(...)); iterator也是fast-fail类型的,iterator生成后,除了iterator自己...

2019-07-24 17:09:55 365

原创 Vector源码解析(JDK1.8)

文档头Vector是可变长度数组 通过capacity 和 capacityIncrement 管理数据的存储空间 也是fast-fail的 是同步的变量定义 protected Object[] elementData; // 元素数组 protected int elementCount; // 元素数量 protected int capaci...

2019-07-24 15:58:55 227

原创 ArrayList源码解析(JDK1.8)

文档头Arraylist 是List接口实现类,是可扩容数组。允许空值,粗略地认为与Vector相同,不过是非同步的。 capacity指定内部数组容量,可以自动增长。存入大量数据前可以ensureCapacity(),确保容量达到一定值,也可以称作扩容 非同步地, 多线程访问发生结构性修改时,必须外部同步操作;或者用Collections.synchronizedList。 itera...

2019-07-22 15:22:17 188

原创 jmap工具使用

jmap是jdk自带的管理工具,可以详细地查看堆内存、类加载器使用情况,以及导入dump文件使用方法“pid”表示运行着的java应用的pid。jmap -h 查看jmap的使用帮助 jmap -heap pid 打印堆信息, 包括 JVM版本、垃圾收集器、堆配置、堆各个区域使用情况 jmap -histo pid 打印堆内每个类的实例数,以及各自占用空间 jma...

2019-07-17 16:42:28 2399

原创 对GC机制的理解

前言java程序员只需要关注业务流程无需管理内存,JVM会自动帮我们管理。程序运行过程中,对象、类信息等不停增加,占据的内存会越来越多,不及时清除可能是系统变慢甚至系统崩溃。因此java提供GC(Garbage Collection)机制自动地清除“垃圾对象”,回收空余空间。正因为GC机制由JVM管理,java程序员无法控制它的运行,GC时间也无法控制。 因此需要了解它,在工作中注意这方面。...

2019-07-17 10:59:29 372

原创 记录JVM参数配置

通用配置-XX:+DisableExplicitGC 禁用程序中手动调用GC 调试时打开 -XX:+PrintClassHistogram-XX:+PrintGCDetails-XX:+PrintGCTimeStamps-XX:+PrintCommandLineFlags -XX:+HeapDumpOnOutOfMemoryError 打印oom error -XX:HeapDu...

2019-07-15 17:17:10 828

原创 对JVM内存模型的理解

JVM内存模型:JVM会为每个线程分配独立的空间,用来进行本线程的运算。因此内存模型构成有线程独有的,也有线程共享的。程序计数器(PC) 线程独有的,是一块较小的内存空间。 记录本线程下一步要执行的指令,通过改变PC值来运行不同行的字节码。 栈(stack) 线程独有的,在线程启动时系统就会分配一个连续的、大小固定的内存空间,这个空间大小可以配置。简单理解就是存储线程运行时需要的引用...

2019-07-15 14:43:13 276

原创 (四)nginx的location匹配详情

location块nginx.conf中server块下会有location块,用于处理请求的uri并进入相应location下的配置,可以配置多个location来区分不同资源。location配置语法location [= | ~ | ~* | ^~] uri {# location 下的配置}location = uri 表示精确匹配, 必须于uri完全相同的...

2019-07-10 10:56:24 191

原创 (三)nginx做springboot(tomcat)项目负载均衡

获取测试包链接:https://pan.baidu.com/s/113o5XXeqqYIn3SWRRWuEPQ 提取码:soj8,java -jar just-change-port-0.0.1-SNAPSHOT.jar --server.port=8088启动测试包,server.port表示项目监听的端口号,可以自己设置。, 访问后应该是这样的首页。Nginx负载均衡方...

2019-07-09 17:21:33 957

原创 (二)nginx做web服务器

nginx目录下创建 test/www mkdir -p test/www 在www目录下编写欢迎页面 vim index.html from 8000 修改 conf/nginx.conf, 在http块里面添加一个server块。 server { listen 8000; ...

2019-07-08 11:44:06 173

原创 (一)nginx简介及tengine部署

简介nginx是一款轻量级的web服务器、反向代理服务器、电子邮件(IMAP/POP3/SMTP)代理服务器。具有占用内存少、并发能力强的优点,被百度、京东、新浪、网易、腾讯、淘宝等等使用。tengine是淘宝开源的web项目。在nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性,可以说是加强版的nginx。后面会安装tengine。官网地址:http://tengine...

2019-07-08 10:59:12 348

原创 (七)lucene部分理解

简介Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包。Lucene是一个全文搜索工具包,不能直接使用,开发人员可以用来在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。lucene名词解释 原始数据 原始的数据,它可以是网页上的html,数据库里读出的数据,也可以是一句话。 总之需要被lucene...

2019-07-05 16:01:14 215

原创 (六)spring-data-elasticseach操作es

简介官方文档地址:https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/spring-data-elasticseach提供对es的高层次抽象,用于存储、查询、排序、分片操作。集成添加依赖 <dependency> <groupId>org.spr...

2019-07-03 17:07:23 634

原创 (五)使用IK分词器、扩展ik词库和停词库

使用IK分词器集成ik分词器https://mp.csdn.net/postedit/93602713 实体类PosEntity /** 省略了getter、setter*/class PosEntity{ private Integer posId; private String posName; private String posAddress; } 实体类...

2019-07-03 16:04:45 1761

原创 (四)通过TransportClient操作es

准备添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency> <d...

2019-07-03 16:04:12 4463

原创 (三)elasticsearch的简单rest操作

简介Es提供易理解、功能强大的rest api,用以用户与集群的交互。可以用作以下操作:检查集群、节点、索引的健康、状态、统计 执行index的CRUD操作和搜索操作。 执行高级查询。例如paging, sorting, filtering, scripting, aggregations等。准备本文通过kibana操作,需要提前运行es集群和kibana。访问Kibana地址...

2019-07-03 10:44:13 368

原创 (二)Kibana安装及IK分词器集成

kibana简介Kibana是一个开源的分析和可视化平台,设计用于和Elasticsearch一起工作,由java开发的web程序。可用于搜索查询、与es做交互、执行数据分析、提供数据可视化等功能。你可以轻松地执行高级数据分析,并且以各种图标、表格和地图的形式可视化数据。kibana安装配置获取安装包链接:https://pan.baidu.com/s/10j9rqYQrGWLH...

2019-06-27 11:21:53 892

原创 (一)elasticsearch简介及6.2版本安装

简介ElasticSearch是一个基于Lucene由java语言开发的搜索引擎,是一个分布式、多用户、支持REST操作、开源的全文搜索引擎。ElasticSearch配置简单、扩展性强、实时性强,在大量数据情况下性能很高,是当前流行的企业级搜索引擎。用途网络商城 存储商品、库存信息,提供搜索和商品建议 日志手机、事务数据收集 、统计汇总 使用logstash 迅速的业务调查...

2019-06-25 11:55:14 428

原创 (五)zookeeper主要应用及思路

目录一、配置中心二、leader选举三、分布式锁四、分布式计数器五、服务注册中心一、配置中心通过zookeeper存储配置文件,, client读取该路径的配置文件,并用watcher监控节点状态,, 当znode数据变化时,client接收到事件重新读取配置文件。注意watcher机制是一次性的,因此重新加载一次后需要再次注册watcher。 二、leade...

2019-06-20 15:40:43 164

原创 (四)curator-recipes笔记

目录## 选举 #### 锁 #### Barriers #### Counters #### Cache ##curator-receipts应用,,来自 [http://curator.apache.org/curator-recipes/index.html](http://curator.apache.org/curator-recipes/index.html)...

2019-06-19 17:57:42 1155

原创 (三)curator介绍以及简单zookeeper操作

curator简介curator是Netflix公司开源的一套zookeeper客户端框架,由java语言编写,包含了对zookeeper源语的高层次、低层次封装,让我们能更简单、更可靠地使用zookeeper。此外,curator还提供了仅用底层开发比较困难的高级特性。curator常用模块:curator-client 提供一些curator客户端底层操作 curator-fr...

2019-06-19 17:45:25 345

原创 (二)zookeeper命令

简介本章将记录所有的zookeeper命令以及可能使用的场景,需提前配置好zookeeper环境ZNode增删查改操作help 查看zk命令列表 create,创建节点, path可以为绝对路径也可以为相对路径 , data为节点值, -s表示创建顺序节点, -e表示创建临时节点(使用很多,会话关闭或者创建节点的Cli关闭节点会小时)。 delete, 删除空节点,节点不为...

2019-06-17 14:45:10 1399

原创 (一)zookeeper简介及环境搭建

什么是zookeeperZooKeeper(简称ZK)是一个分布式的,开源的协调服务,用Java语言编写,它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。我们可以用ZK实现比如达成共识、集群管理、leader选举等,因此ZK被许多应用集成作为重要组件,如Hadoop、Hbase、elasticsearch等。ZK是以fast paxos算...

2019-06-14 16:34:28 311

转载 收集的文章

一、Java之美[从菜鸟到高手演变]之JVM内存管理及垃圾回收https://blog.csdn.net/zhangerqing/article/details/8214365JVM内存的结构pc,栈,本地方法栈,堆,方法区 常量池 string.internal()直接内存 nio垃圾回收指数计数算法及其缺陷根搜索算法:强(不回收) 软(不急回收) ...

2019-06-13 17:33:32 116

原创 (十一)redis主从模式及哨兵

一、主从模式简介redis中可以通过slaveof 或者配置文件设置slaveof选项,来让当前server成为某个server的从节点,本server就是被称为从服务器(slave),对方被成为主服务器(master)。slave会复制master的数据,master可以接收读写请求,slave默认情况下只能读不能写。优点slave会复制master数据,达到备份效果 多个s...

2019-06-11 14:59:27 139

原创 (十)redis持久化方式

目录简介RDBAOF简介redis支持数据持久化,就是将内存中的数据存储到物理介质中,在断电后数据不会丢失。redis提供两种数据持久化方式:RDB和AOF。RDBRDB是一定时间间隔内触发一次全量备份,将当前redis中的数据镜像写入磁盘,是redis默认的持久化方式。可以在满足配置文件条件是自动执行save,也可以有客户端调用save、bgsave执行 sa...

2019-06-11 10:05:54 114

原创 (九)redis之pubsub、transactions

一、pubsub简介redis的pub/sub设计的很轻量级,做到了基本的发布和订阅,不支持持久化等企业级特性。命令SUBSCRIBE ,订阅一个或多个channel,接收channel新增的消息。 PSUBSCRIBE, 订阅pattern匹配的channel。pattern支持 *代表一个或多个字符,?代表一个字符。 UNSUBSCRIBE,取消订阅 PUNSU...

2019-06-10 15:16:22 266

原创 (八)redis之HyperLogLog 、Geo

目录一、HyperLogLog简介命令用途PS二、Geo简介命令一、HyperLogLog简介redis中的HyperLogLog是用来做基数(集合中的不重复数据)统计的算法,优点是在数据量很大时计算基数数量的空间大小固定而且很小。 每个键需要12KB内存,可以计算2^64次方个不同基数,不会随着元素增多而耗费更多内存。但是只会计算基数数量,不...

2019-06-10 11:54:15 359

原创 (七)redis常用数据结构之hash

目录一、简介二、命令大全三、实际使用一、简介Redis 的 hash与java的map类似,用于存储string类型的key、value映射,很适合存储同类对象。二、命令大全HDEL, 删除key下的一个或多个field HEXISTS,判断key下field是否存在 HGET, 获取key下field的值 HGETALL, 获取key下所有键值对。...

2019-06-06 14:44:44 161

原创 (六)redis常用数据结构之sorted_set

目录一、简介二、命令大全三、应用一、简介redis中sorted_set是增加了score(分数)功能的set,同样是无序不重复的字符串,可以根据score实现排序、排名等功能,也可以完成set的去重、集合操作。二、命令大全ZADD,向set中添加一个或多个成员,并指定分数,, NX | XX 分别表示集合不存在时生效、存在时生效,,CH和INCR选项用于修改集合...

2019-06-06 14:44:40 931

原创 (五)redis常用数据结构之Set

目录一、简介二、命令大全三、sscan四、set的引用场景一、简介Redis 的 Set 是用于存储String 类型的无序不重复集合。集合成员是唯一的,不能出现重复的数据,因此可用于去重。Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。集合中最大的成员数为 232- 1 (4294967295, 每个集合可存储40多亿个成员)。...

2019-06-05 17:38:52 244

原创 (四)redis常用数据结构之list

目录一、简介二、命令合集三、list应用一、简介redis中list采用双向链表结构,和java的LinkedList很相似,通过void *指针保存value,可以存储包括字符串在内的多种数据类型,具有有序可重复特点。二、命令合集list命令主要是对列表的增删查改。常用命令会加粗 BLPOP阻塞地弹出一个列表最左(最前)元素,没有元素时会等待,直到等待超时 。...

2019-06-05 15:02:31 169

原创 (三)redis常用数据结构之strings

目录一、环境介绍二、strings三、strings的bitmap四、bitop一、环境介绍系统:CentOS6.8 redis版本: 4.0.7 终端软件:Xshell 说明:下面都将使用redis的help命令对各个数据结构做命令详解,在这之前需要安装好redis,运行server,运行cli连接上server。二、stringshelp @string,即...

2019-06-05 11:32:18 264

原创 (二)允许外网登陆、安装desktop manager

目录一、开放redis端口二、修改redis配置文件三、安装图形界面工具一、开放redis端口vim /etc/sysconfig/iptables , 开放6379端口 service iptables restart, 重新加载iptables二、修改redis配置文件protected-mode ,注释上说保护模式默认开启,只有你确定想要其它...

2019-06-04 15:11:55 194

原创 (一)Linux下安装配置redis

一、redis简介redis是使用ANSI C语言编写、基于内存、支持持久化、key-value存储的非关系型数据库。redis提供丰富的数据类型,可以方便地存储复杂数据类型,所以应用比较广泛二、安装配置获取安装包并上传至Linux服务器 链接:https://pan.baidu.com/s/1ZJU8u5XduXfCBnVW_zFisg 提取码:o60p ,我习惯放在/u...

2019-06-04 11:50:53 176

原创 (五)xshell和winscp的安装使用

目录一、xshell二、winscp一、xshellXshell是一款安全的终端模拟软件,支持SSH1, SSH2,TELNET协议。通过网络连接,让用户可以在windows下操作不同服务器终端,达到远程管理效果。 链接:https://pan.baidu.com/s/1svNTvc2E-VPbgzYZk3MWbA 提取码:2fqi, 安装过程中的名称公司,酌情填写。 ...

2019-06-03 17:56:05 671

原创 (四)centos6.8修改hosts|/修改hostname/授予root权限/防火墙开关/开放指定端口

目录一、修改hosts二、修改hostname三、授予root权限四、linux防火墙五、开放端口一、修改hostshosts文件是/etc下的一个配置文件,记录着域名或主机名对应的ip地址。每台英特网上的计算机都会有ip地址,类似于具体的门牌号,可以通过ip地址访问到本机器。不过ip地址不好记,所以可以用域名映射ip地址的方式,通过访问域名访问具体主机。 host...

2019-06-03 16:46:09 1719

原创 (三)linux常用命令

目录一、实用的命令和快捷键二、文件文档类命令三、文件内容类四、vi与vim五、压缩与解压六、用户管理七、用户组管理八、文件权限九、磁盘和内存十、搜索查找十一、服务一、实用的命令和快捷键tab键自动补全命令,有多个时会提示。 ctrl + C,ctrl + q退出当前进程 ctrl + l清屏,同clear sync 将数据同步...

2019-06-03 16:45:51 136

原创 (二)centos6.8安装vmtools/配置Linux虚拟机ip/配置共享文件夹

目录一、安装vmtools二、设置虚拟机ip,ping通baidu三、如何看nat模式下的gateway和dns四、设置共享文件夹一、安装vmtools新安装的虚拟机和外部机器文件不能直接拖拽,复制的东西不共用 开始安装 ,打开桌面的光盘, 将拖到桌面,打开终端,解压这个文件 tar -zxf VMwareTools-10.1.14-6627299.tar.gz 进...

2019-06-03 16:45:19 388

空空如也

空空如也

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

TA关注的人

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