摘要: 能沉淀下来的东西,往往都很基础,整理了下JAVA中遇到的数据结构 目录大纲: 到目前接触到的 有几个说明: 可扩容数组 ArrayList 扩容数组的实现, 满了后扩容,扩容在1.5倍,通过copy过来,无扩容因子 可扩容的数组链表 数组链表的扩容实现: 以HashMap为例子, 当链表深度过长,或 阅读全文
posted @ 2017-02-24 11:06 何锦彬 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 一, 红黑树所处数据结构的位置: 在JDK源码中, 有treeMap和JDK8的HashMap都用到了红黑树去存储 红黑树可以看成B树的一种: 从二叉树看,红黑树是一颗相对平衡的二叉树 二叉树-->搜索二叉树-->平衡搜索二叉树--> 红黑树 从N阶树看,红黑树就是一颗 2-3-4树 N阶树-->B 阅读全文
posted @ 2017-02-20 14:41 何锦彬 阅读(9352) 评论(1) 推荐(2) 编辑
摘要: 2, HASHMAP的死链问题 扩容前 [ 1 ] [ 2 ] [ 3 ] [ 空] 5 10 第一个线程扩容后,数组链表如下 [ 1 ] [ 10 ] [3] [] [] [] [] 2 第二个线程又把从头把2指向10,然后2和10形成了个死循环 HashMap在 JDK8后 把数组链表变成了数组 阅读全文
posted @ 2017-02-16 16:03 何锦彬 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 因为一直用spring整合了mybatis,所以很少用到mybatis的session缓存。 习惯是本地缓存自己用map写或者引入第三方的本地缓存框架ehcache,Guava 所以提出来纠结下 实验下(spring整合mybatis略,网上一堆),先看看mybatis级别的session的缓存 放 阅读全文
posted @ 2017-02-16 10:44 何锦彬 阅读(594) 评论(0) 推荐(0) 编辑
摘要: 服务器的JAVA进程使用的内存是否正常 服务器中,JAVA进程的内存占用= JVM内存+ JAVA堆最大内存大小(Xmx)+JAVA堆外内存大小+栈区( 线程数* Xss) 最需要关注: 1., 服务器内存是否够JAVA进程开销 坑点: 每次JAVA的启动,只是检查当前linux的RES内存, 并不 阅读全文
posted @ 2017-02-12 09:07 何锦彬 阅读(859) 评论(0) 推荐(0) 编辑
摘要: 没事总喜欢写二叉树, 发现这东西把脑袋开启 今年任务, 加密安全字符集, 内存篇,网络篇,数据存储篇,加油 应该是生成下面这个树 阅读全文
posted @ 2017-02-06 16:49 何锦彬 阅读(172) 评论(0) 推荐(0) 编辑
摘要: OOM问题一般都是人工代码失误, 多数其实在review阶段应该可以排除,本文主要是想记录下内存快照排查OOM的一个过程 场景: 系统的交互安全完全依赖各种加密做(做到了无session,完全WEB无状态,这个设计以后可讲下),故加密变得很重要,但因为有新的加密引入了BouncyCastleProv 阅读全文
posted @ 2017-01-20 21:54 何锦彬 阅读(1437) 评论(0) 推荐(0) 编辑
摘要: 基本每次性能问题,除了数据库,其它高发地区就是GC问题了,踩过很多次GC的坑,结合最近一次总结下 阅读全文
posted @ 2017-01-13 18:30 何锦彬 阅读(2682) 评论(5) 推荐(0) 编辑
摘要: 运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] args) { System.out.println("sleep .."); try { Thre 阅读全文
posted @ 2016-11-24 14:36 何锦彬 阅读(10704) 评论(1) 推荐(0) 编辑
摘要: 先准备一个网页测试编码 输入中文字,名字 “何锦彬” 进行提交提交到servelt , 用servelt输出收到的内容protected void doPost(HttpServletRequest request, HttpServletRespons... 阅读全文
posted @ 2015-10-19 19:30 何锦彬 阅读(686) 评论(1) 推荐(0) 编辑