- 博客(6)
- 资源 (17)
- 收藏
- 关注
原创 hashmap的扩容机制原理解析以及设置合适大小的初始值(java代码性能优化)
通过Hashmap中源码发现,有三个常量,static final int DEFAULT_INITIAL_CAPACITY = 16;static final int MAXIMUM_CAPACITY = 1 << 30;static final float DEFAULT_LOAD_FACTOR = 0.75f;三个常量中可以看出,默认的容器大小是16,最大长度是2的30次方,load factor默认是0.75,扩充的临界值是16*0.75=12当我们往HashMap中put元素
2020-12-29 23:53:40 439
原创 java集合面试重点总结
集合介绍List Set Map 都是接口 List Set继承Collection(Collections是工具类)List子类(有序,可重复)---ArrayList、Vector、LinkedListArrayList、Vector 底层是数组(查找快,增删慢)前者线程不安全,后者线程安全Linkedlist 底层是链表查找慢,增删快Set(无序,唯一)---HashSet TreeSet LinkedHashSetHashSet 底层是哈希表(hashcode equals.
2020-12-29 23:48:55 151
原创 分布式全局ID最优生成器设计
项目是分布式的架构,需要设计一款分布式全局ID,参照了多种方案,最后基于snowflake的算法设计了一款自用ID生成器。具有以下优势:保证分布式场景下生成的ID是全局唯一的 生成的全局ID整体上是呈自增趋势的,也就是说整体是粗略有序的 高性能,能快速产生ID,本机(I7-6400HQ)单线程可以达到每秒生成近40万个ID 只占64bit位空间,可以根据业务需求扩展在前缀或后缀拼接业务标志位转化为字符串。雪花算法(Snowflake)是twitter公司内部分布式项目采用的ID生成算法,开源后广
2020-12-20 08:32:18 185 1
原创 Kubernetes显示错误状态为:CrashLoopBackOff
如果容器无法启动,则Kubernetes将显示错误状态为:CrashLoopBackOff。通常,在以下情况下容器无法启动: 应用程序中存在错误,导致无法启动 你未正确配置容器 Liveness探针失败太多次 你应该尝试从该容器中检索日志以调查其失败的原因。如果由于容器重新启动太快而看不到日志,则可以使用以下命令:$ kubectl logs <pod-name> --previous这个命令打印前一个容器的错误消息。也可以参考下面的详细解析
2020-12-06 10:38:20 21582
原创 使用命令启动kubelet报错:too many open files
解决方案:首先使用ulimint -n查看系统允许打开的最大文件数,若非65535,建议调整到65535,截图如下:使用echo 'ulimit -n 65535'>> /etc/profilesource /etc/profile设置系统最大的文件数为65535再次使用ulimit -n查看可以看到最大文件数已经调整到65535.如果启动还是报错,则继续下面的步骤:1.使用lsof命令来列出打开文件存在的进程,若显示一个进程打开文件过多并且该进程用处不大,可以.
2020-12-05 19:23:25 739 1
原创 什么是DevOps?
DevOps的理念从狭义地讲,就是要缩短研发到部署的时间,从广义的讲它涵盖了从需求提出到投产后的监控运维,整个生命周期的管理。总的来说,大致包括以下几个部分:1.从需求到开发阶段的敏捷管理2.从开发到投产阶段的持续集成3.投产后的持续监控和自动化运维4.从开发到投产后的持续部署5.从投产后到业务部门的持续分析和反馈...
2020-12-03 22:26:04 231
apache-tomcat-6.0.18.exe
2016-07-11
MyEclipse10.1破解工具及方法图解.zip
2016-07-10
commons-logging-1.2-bin.zip
2016-06-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人