自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

心中的亚雷泽的博客

热爱技术,热爱生活!

  • 博客(14)
  • 收藏
  • 关注

原创 面试踩过的坑系列 - 基础篇(学习HashMap)

Java面试中,但凡谈到集合,避不开HashMap。咱就来好好了解一下这个东西。1. 首先了解一下HashMap的实现原理/数据结构。 要知道hashmap是什么,首先要搞清楚它的数据结构,在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,hashmap也不例外。Hashmap实际上是一个数组和链表的结合体(在数据结构中,一般称之为“链表散列“),请看下图(横排表示数组,纵排表示数组元素【实际上是一个链表】)..

2020-05-21 14:25:36 265

原创 面试踩过的坑系列 - 基础篇(volatile关键字与线程安全)

首先,看一段如下代码(一次面试中被问到的):public class Test { private volatile static int inc = 0; public void increase(){ inc++; } public static void main(String[] args) { final Test test = new Test(); int activeThreadCount = Thr

2020-05-20 17:31:47 582

原创 面试踩过的坑系列 - 基础篇(Integer篇 - 装箱/拆箱机制)

Java是面向对象的编程语言,一切都是对象,但是为了编程的方便还是引入了基本数据类型,为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从Java 5开始引入了自动装箱/拆箱机制,使得二者可以相互转换,对应如下:原始类型:boolean,char,byte,short,int,long,float,double包装类型:Boolean,Character,Byte,Short,Integer,L

2020-05-20 16:34:14 198

原创 RocksDB问题点解决及相关学习记录

RocksDB实际使用过程中,面对高并发环境,出现了数据存储阻塞的问题。[场景介绍]数据量/次:300多张表,每张表数据量为4K个Key-Value左右。下盘周期:60s一次。[分析日志]RocksDB的日志,先后出现“Stall write”与“Stop write”相关错误日志;操作RocksDB的相关Java线程出现阻塞的情况。查找资料,网上的解释为: 我们知道, 当flush/compaction赶不上write rate的速度时,rockdb会降低write ra..

2020-05-18 15:45:33 2174

原创 Java数据结构线程安全问题

引言:深入Java编程,不可避免触及到各类数据结构的线程安全与否的问题。因此,希望能通过此篇博文,总结归纳一下Java各类数据结构线程安全知识。1. 什么是哈希表在讨论哈希表之前,我们先大概了解下其他数据结构在新增,查找等基础操作执行性能数组:采用一段连续的存储单元来存储数据。对于指定下标的查找,时间复杂度为O(1);通过给定值进行查找,需要遍历数组,逐一比对给定关键字和...

2018-11-28 11:15:16 1324

原创 Zookeeper学习记录(入门级)

1. 什么是Zookeeper?ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现。 它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。 最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 2. Zookeeper能为我们提供什么?文件系统 通知机制 3. Z...

2018-11-13 15:16:42 107

原创 RocksDB数据库简介及使用分享

目录1 介绍 21.1 文件介绍: 22 架构 33 特性 43.1 Get,Interator(迭代器)和快照 43.2 前缀迭代器 53.3 更新 53.4 持久化 53.5 ReadOnly 模式 63.6 数据库调试日志 63.7 事务日志 63.8 Memtable 管道 63.9 合并 Merge 操作 73.9.1 合并条件 7...

2018-10-27 11:26:11 17050 4

原创 大数据时代常用的几类Key-Value(NoSQL)数据库

在过去的十年中,计算世界已经改变。现在不仅在大公司,甚至一些小公司也积累了TB量级的数据。各种规模的组织开始有了处理大数据的需求,而目前关系型数据库在可缩放方面几乎已经达到极限。 一个解决方案是使用键值(Key-Value)存储数据库,这是一种NoSQL(非关系型数据库)模型,其数据按照键值对的形式进行组织、索引和存储。KV存储非常适合不涉及过多数据关系业务关系的业务数据,同时能有效减少读写磁盘...

2018-10-20 18:00:53 18156 1

原创 Git常用命令及简化配置

一. Git常用命令汇总1.系统级操作命令:[1-1] 从远端克隆代码命令git clone 'http://10.20.30.40/code/code.git'[1-2] 初始化git init[1-3] 配置用户名及邮箱git config --global user.name "用户名"git config --global user.email "邮箱...

2018-10-05 11:44:55 1218

转载 Java 灰盒测试实战经验分享一之 Javassist

Java学习之javassist1、读取和输出字节码 1 ClassPool pool = ClassPool.getDefault(); 2 //会从classpath中查询该类 3 CtClass cc = pool.get("test.Rectangle"); 4 //设置.Rectangle的父类 5 cc.setSuperclass(pool.get("test.P...

2018-09-04 15:24:35 831

原创 Java 灰盒测试实战经验分享三之 Java Instrumentation 升级版(Java SE 6)

前言结合上一篇文章[Java 灰盒测试实战经验分享二之 Java Instrumentation 新功能(JAVA SE 5)]主要讲解了如何使用Java的Instrumentation特性(Java SE 5提出)实现对Java程序中main函数启动前的修改。这一功能(或特性)可以灵活运用于如灰盒测试在内的不修改主程序而达到故障注入的框架设计中。不过,还是存在一定的局限性。即,需要在java程序...

2018-07-04 16:32:50 235

原创 Java 灰盒测试实战经验分享二之 Java Instrumentation 新功能(Java SE 5)

Instrumentation(插桩/打桩)一般指的是获取计算机软件或者硬件状态的数据的技术。[详细解释]常用实现的方法是将一段代码注入到目标程序中。从注入目标程序的时间点的角度可分为两种类型:静态插桩、动态插桩从注入目标程序的格式的角度可分为两种角度:源代码插桩、二进制插桩插桩技术常常用于程序监控与跟踪。Java Instrumentation利用 Java 代码,即 java.lang.ins...

2018-05-24 15:28:27 507 4

原创 JqGrid动态列实现

最近在项目中使用到JqGrid。个人感觉,较之前的DataGrid好用一些,功能也比较齐全。关于JqGrid的API解释,在这里不再进行嗷述,网上一搜一大把。只是在项目实现过程中需要进行可配置化,因此需要进行JqGrid的动态列。(说白了,列头不直接在JS里面写死,要从数据库或者配置文件读取)这里,对这个实现方法进行简单的梳理和记录。

2017-09-07 10:07:02 2327

原创 模态窗口详解及各浏览器适配经验分享

模态窗口详解及各浏览器适配经验分享

2017-08-28 11:10:30 2029 3

空空如也

空空如也

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

TA关注的人

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