自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (14)
  • 收藏
  • 关注

原创 Java容器——ArrayList VS LinkedList(Java8) 性能比较

ArrayList和LinkedList都继承自List, 内在实现机制有所不同,关于区别方面已经有很多优秀的文章进行了介绍。本文从实践角度出发,对比两种List在不同操作中的性能,便于读者在特定场景中参考选型。由于电脑配置,JDK版本,IDE等会导致测试结果又出入甚至有结论不太一致的结果,本文的试验结果仅具备一定的参考价值。    一 插入数据以同样的方式向两种List中插入数据,首先插...

2018-05-30 23:51:46 589

原创 深入JVM垃圾回收——垃圾回收算法

目录前言垃圾产生垃圾定位引用计数可达分析垃圾回收标记-清除算法复制清除算法标记-整理算法算法对比前言Java虚拟机规范中提到:"Java堆中存储的对象由自动内存管理系统(垃圾回收器)负责收集,不可以被显式销毁"。这一规定描述了Java作为静态语言有别于C/C++的一大特色:自动管理和回收堆中内存,无需开发者手动触发。这既是Java语言的一大优点,让开...

2019-03-11 22:18:48 187

原创 Java容器——HashSet(Java8)源码解析

 HashSet是一种元素集合,实现了Set接口,是一种快速的,去重的集合对象,继承关系见图1所示。                                                                                  图1 HashSet继承关系图HashSet继承自Set接口,继承Set的还包括TreeSet,SortedSet等,他们都...

2019-01-12 16:36:19 227

原创 Java容器——HashMap(Java8)源码解析(二)

在前文中介绍了HashMap中的重要元素,现在万事俱备,需要刨根问底看看实现了。HashMap的增删改查,都离不开元素查找。查找分两部分,一是确定元素在table中的下标,二是确定以指定下标元素为首的具体位置。可以抽象理解为二维数组,第一个通过哈希函数得来,第二个下标则是链表或红黑树来得到,下面分别来说。一 哈希函数说到HashMap,最值得引起注意的自然是接近常数级别的操作速度,大家也都...

2018-12-16 15:47:31 239

原创 Java容器——HashMap(Java8)源码解析(一)

一 概述HashMap是最常用的Java数据结构之一,是一个具有常数级别的存取速率的高效容器。相对于List,Set等,结构相对复杂,本篇我们先对HashMap的做一个基本说明,对组成元素和构造方法进行介绍。二 继承关系首先看HashMap的继承关系,比较简单,实现了Map和序列化等。                                                 ...

2018-12-16 15:47:23 294

原创 JAVA容器——Stack(JAVA8) 源码解析

    一 栈简介    栈是一种常用的线性抽象数据结构,在计算机中应用极为广泛。栈有两个为人熟知的特性,一是进出栈的顺序是先进后出(FILO),即最先进栈的数据最后出栈,当然相对的也有后进先出(LIFO),最后进栈的数据先出栈。另一个是支持两个通用操作:Push:将元素推进栈;Pull:从栈中取出数据。    栈的操作演示见下图,这里需要注意的是1的位置对应的是栈底,后面再Push的元素...

2018-11-21 20:10:16 286

原创 Java容器——Hashtable(Java8)源码解析

    Hashtable是一种键值对型Java存储容器,自JDK1.0沿用至今。经常有将Hashtable和HashMap进行比较的例子和文章,实际上早期二者的实现原理基本一致,而HashTable的操作方法都进行了加锁,因而线程安全。本文从源码角度介绍HashTable的实现。    一 组成元素    1 关键变量     /** * Hashtable bucket...

2018-10-29 20:37:17 199

原创 Java容器——ArrayList(Java8 )源码解析

ArrayList是一种常用List类型实现,也是Java集合中的的常用类型,以遍历查询性能优异著称,继承关系如下: 可见ArrayList实现了Cloneable,Serializable,RandomAcess和List接口,继承了AbstractList抽象类,简而言之,ArrayList是一个实现了可复制,可序列化,支持快速随机访问的List类型。这里最重要的是实现了...

2018-10-29 20:35:51 419

原创 Java容器——LinkedList(Java8 )源码解析

    LinkedList继承自List,是一种常用的容器。虽然同为ArrayList和LinkedList同为List,但二者的实现方式完全不同,导致二者的性能和使用场景都有较大的不同,本文将从源码角度解析LinkedList。        LinkedList的类图关系如上图所示。简而言之,LinkedList是实现了可复制,可序列化的一种双向链表。虽然它同时实现了List和Deq...

2018-10-29 20:35:36 204

原创 Java容器——Vector(Java8)源码解析

    Vector是Java早期实现的容器,自JDK1.0就存在。目前在日常使用中逐渐被ArrayList或同步的ConcurrentLinkedQueue等代替,不过在早期的代码中和类库中,仍经常能见到Vector,因此有必要对其的组成和原理进行基本的了解。       Vector的继承关系如上图所示,可以看到,Vector和ArrayList的继承关系完全一致(可参考笔者先前的文章...

2018-10-29 20:35:03 307

原创 Android Studio 导入OSChina客户端

从github上down下来OSChina的Android源码,感觉是一个很好的学习的参考,导入eclipse很方便,问题是导入Android Studio出了问题,记录一下,积累点小经验~

2015-06-04 14:09:46 946

原创 Android Studio导入gradle项目问题解决

放弃了eclipse转投Android Studio,发现原来的import project 都变得麻烦了许多,记录一下导入一个项目遇到的各种坑,可能以后还会遇到,也可以为他人作个参考。        工欲善其事必先利其器,Java环境变量,gradle安装、环境变量配置是必须的。在DevStore上看到实现EditText输入文字之后格式正确性认证功能  http://www.dev

2015-06-02 12:04:08 3489

转载 转老罗 Android应用程序资源的查找过程分析

原文地址  http://blog.csdn.net/luoshengyang/article/details/8806798   转载请说明  我们知道,在Android系统中,每一个应用程序一般都会配置很多资源,用来适配不同密度、大小和方向的屏幕,以及适配不同的国家、地区和语言等等。这些资源是在应用程序运行时自动根据设备的当前配置信息进行适配的。这也就是说,给定一个相同的资源I

2013-12-19 10:57:03 828

转载 转自老罗 Android应用程序资源的编译和打包过程分析

原文地址   http://blog.csdn.net/luoshengyang/article/details/8744683 转载自老罗,转载请说明 我们知道,在一个APK文件中,除了有代码文件之外,还有很多资源文件。这些资源文件是通过Android资源打包工具aapt(Android Asset Package Tool)打包到APK文件里面的。在打包之前,大部分文本格式的XML

2013-12-19 10:35:11 926

转载 转自 老罗 Android应用程序资源管理器(Asset Manager)的创建过程分析

原文地址在 http://blog.csdn.net/luoshengyang/article/details/8791064 原创老罗,转载请说明  在前面一篇文章中,我们分析了Android应用程序资源的编译和打包过程,最终得到的应用程序资源就与应用程序代码一起打包在一个APK文件中。Android应用程序在运行的过程中,是通过一个称为AssetManager的资源管理器来读取

2013-12-19 10:25:58 892

dubbo 2.6.1编译版

Dubbo 2.6.2 编译版本,已导入IDEA编译器,需要的可以下下来围观运行其中的demo。

2018-05-06

dubbo2.5.6 源码编译war包

dubbo编译好的war包,可以直接使用,放置于容器目录下即可~

2017-10-30

macOS 系统下的FFmpeg二进制工具

mac系统下编译好的二进制FFmpeg可执行文件,可以直接命令行运行,最好设置一下系统变量~

2017-07-16

jvisualvm 插件集合

jvisualvm插件整个下载,全选即可用~

2017-05-23

Fedora Linux gcc g++安装包合集

解压后逐一安装rpm安装包,有冲突的使用 rpm -ivh --force强制安装~64位的机子,gcc5.1.1版本~注意如果安装有其他版本的gcc可以先卸载干净再安装这个~

2017-01-14

Tomcat9.0文档

最新的Tomcat9.0文档,先睹为快吧~

2016-10-06

eclipse svn 最新插件 subclipse

eclipse最新的svn插件,下载后将features和plugins中的jar包放入eclipse中的对应文件夹中即可~

2016-05-06

eclipse CheckStyle 最新插件

eclipse检查代码风格的插件,解压到plugin文件夹中即可用~

2016-05-06

eclipse findbugs最新插件

eclipse的经典插件,findbugs 3.0.1,下载后解压放到plugin目录下重启即可用

2016-05-06

Android universal image loader库

Univesal ImageLoader v1.9.4库包,因为墙的原因,一些小伙伴获得不了,就转发一下,支持原作~

2015-09-16

AxmlPrinter2源码以及jar包

AxmlPrinter2的源码和jar包,可以直接使用的,回复一个评论就赚回来积分了~

2014-12-08

androguard

经典的android静态分析软件,python编写,安装使用参考网上博客~

2014-11-15

win7 x86系统编译完成openssl

已经在win7下编译完成的openssl,解压后可以使用其中的库文件进行编程开发(在lib和bin目录下),可以使用openssl.exe命令行工具。该版本基于openssl-1.0.1i,在x86系统下编译,使用前请看好说明~

2014-09-01

openssl-1.0.1i win32已编译命令行工具

在win7下编译好的openssl工具,将该openssl.exe添加到系统环境变量中,重启后在命令行中可正常使用openssl各种命令~

2014-09-01

空空如也

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

TA关注的人

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