会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
小小的平庸
管理
2019年5月7日
java基础集合类——LinkedList 源码略读
摘要: 1.概览 LinkedList是java的动态数组另一种实现方式,底层是基于双向链表,而不是数组。 LinkedList实现了动态数组与双向队列两个接口,提供了两种方法集合,可以用来实现队列、栈之类的功能。 2. 成员变量 先来看成员变量 链表一般就是有个head的节点就能完成对应的工作。Linke
阅读全文
posted @ 2019-05-07 23:48 小小的平庸
阅读(137)
评论(0)
推荐(0)
2019年4月30日
java基础集合类——ArrayList 源码略读
摘要: ArrayList是java的动态数组,底层是基于数组实现。 1. 成员变量 一个个来看一下这些成员变量。 elementData 这是ArrayList的基本数据类型,因为java并没有真的实现底层泛型,而是通过实现编译类型擦除的方式实现了泛型的效果。因此,底层的数组是Object[]类型。 si
阅读全文
posted @ 2019-04-30 00:17 小小的平庸
阅读(154)
评论(0)
推荐(0)
2019年4月28日
Java类型简介
摘要: 1 java基本数据类型 1.1 基本数据类型 java的基础数据类型有多少个,每个在内存的分配是多少呢? | 类型 | 分配字节 | | | | |byte|1| |short|2| |char|2| |int|4| |long|8| |reference|4/8| |array|4/8| 引用类
阅读全文
posted @ 2019-04-28 00:52 小小的平庸
阅读(942)
评论(0)
推荐(0)
2019年3月30日
状态机模式中的Task与对象池
摘要: Task 抽象带来Task 首先,假设我们有这么一段逻辑:收到一个参数,先校验格式是否正确,再提取相关的参数出来,执行我们的事务,然后构建结果并返回。伪代码如下: 在上面的handleEvent方法里面,处理逻辑与Engine并没有太多的联系,我们可以将这个逻辑抽离出来,或者说可以变得更抽象一点,如
阅读全文
posted @ 2019-03-30 23:34 小小的平庸
阅读(307)
评论(0)
推荐(0)
2018年10月9日
Collections.singletonList方法的使用
摘要: 方法注释 应用 这个方法主要用于只有一个元素的优化,减少内存分配,无需分配额外的内存,可以从SingletonList内部类看得出来,由于只有一个element,因此可以做到内存分配最小化,相比之下ArrayList的DEFAULT_CAPACITY=10个。 其他特殊容器类 需要注意的是,以上6个
阅读全文
posted @ 2018-10-09 18:11 小小的平庸
阅读(71606)
评论(1)
推荐(8)
2018年3月4日
Java线程池的选择
摘要: 在java的concurrent.Executors主要提供两种线程池:无固定线程数但有限制任务队列的cachedThreadPool与有固定线程数但无任务队列限制的fixedThreadPool,这两种线程池是在小任务里面使用是正常的,但是一旦任务增大或者代码逻辑有问题,很容易导致OOM。因此《阿
阅读全文
posted @ 2018-03-04 17:42 小小的平庸
阅读(412)
评论(0)
推荐(0)
关于并发场景下,通过双重检查锁实现延迟初始化的优化问题隐患的记录
摘要: 首先,这个问题是从《阿里巴巴Java开发手册》的1.6.12(P31)上面看到的,里面有这样一句话,并列出一种反例代码(以下为仿写,并非与书上一致): 在并发场景下,通过双重检查锁(double-checked locking)实现延迟初始化的优化问题隐患,推荐解决方案中较为简单的一种(适用于JDK
阅读全文
posted @ 2018-03-04 16:14 小小的平庸
阅读(492)
评论(0)
推荐(0)
2018年1月3日
Haskell优雅的快排实现
摘要: 说得快速排序,基本是常用的排序当中速度最快的排序了,之前也用C和Java实现过,但是过程十分痛苦,更重要的是写完代码只记得过程却对实质的过程觉得隔了一层纱,有种说不出的感觉。刚刚看一下Haskell实现的快排,顿时感觉惊为天人,他喵的,这才是人应该写的代码,简单而又优雅,真是太棒了 测试代码: 输出
阅读全文
posted @ 2018-01-03 00:33 小小的平庸
阅读(2210)
评论(2)
推荐(2)
2017年12月29日
使用二叉搜索树实现一个简单的Map
摘要: 之前看了刘新宇大大的《算法新解》有了点收获,闲来无事,便写了一个二叉搜索树实现的Map类。 java的Map接口有很多不想要的方法,自己定义了一个 具体实现: 测试的类: 在各自只运行一次的情况下测试数据如下: 由于二叉搜索树没有自平衡机制,搜索的时间在O(n*n)与O(lgn)之间摇摆,因此对比j
阅读全文
posted @ 2017-12-29 18:35 小小的平庸
阅读(620)
评论(0)
推荐(0)
2017年12月15日
业务开发的一点小经验
摘要: 也接触到开发大概1年多了,从netty技术栈到spring技术栈,先后也接触到了两种截然不同的项目:java服务器与大数据web,大概也有了一点对开发的认识,所以打算写下来记录一下。 1.git 分支的使用 开发一个新功能时一定要拉出一个分支来,这样既可以在开发的时候避免其他变量的影响,也方便发布的
阅读全文
posted @ 2017-12-15 10:57 小小的平庸
阅读(391)
评论(0)
推荐(1)
下一页