`
文章列表
        都是集合接口        set --其中的值不允许重复,无序的数据结构     list   --其中的值允许重复,因为其为有序的数据结构     map--成对的数据结构,健值必须具有唯一性(键不能同,否则值替换)  ...
最尽项目中应用到在Java中调用C/C++的DLL,其中的应用经历记录下来,顺便总结一下思考的过程,文中不会过多的说明基本的JNA调用实现。 相关知识可以参考:https://jna.dev.java.net/ 建议在使用之前好好看一下,这样可以少走很多的弯路。。。 应用背景:  移动充值项目中需要用一个DES的加密算法,而这个算法又不是标准的,客户那边提供过来一个用C++写的原程序,而我们的系统是用Java实 现的,所以必需要进行转换,才能够使用。 解决办法: 要想在Java中使用该DES算法有以下几种方法: 1、将C++代码转化成Java代码; 2、将C ...
使用HashSet可能会导致内存泄漏的原因      * 内存泄漏: 就是当前内存中已经没有使用这个对象,但它仍然还停在内存中,没有被释放,一直占用着内存空间.   //equals方法默认比较的是否为同一对象的引用.     /*哈希算法: 用来手提高从元素中查找元素的效率,将集合分成若干个区域,每一个对象都可以计算出一个hashCode,      *         可以将hashCode分组,每一组分别对应一个存储区域.根据对象的哈希值,就可以确定对象存储在哪个区域 。      *      * HashSet就是采用合希算法存取对象的集合。      * 它的内部 ...
了解HashMap原理对于日后的缓存机制多少有些认识。在网络中也有很多方面的帖子,但是很多都是轻描淡写,很少有把握的比较准确的信息,在这里试着不妨说解一二。    对于HashMap主要以键值(key-value)的方式来体现,笼统的说就是采用key值的哈希算法来,外加取余最终获取索引,而这个索引可以认定是一种地址,既而把相应的value存储在地址指向内容中。这样说或许比较概念化,也可能复述不够清楚,来看列式更加清晰:          int   hash=key.hashCode();//------------------------1          int   index= ...
上一篇:Vector学习笔记 二、Stack   Stack 类表示后进先出(LIFO)的对象堆栈。它通过五个操作对类 Vector 进行了扩展 ,允许将向量视为堆栈。它提供了通常的 push 和 pop 操作,以及取堆栈顶点的 peek 方法、测试堆栈是否为空的 empty 方法、在堆栈中查找项并确定到堆栈顶距离的
下一篇:Stack学习笔记    OverView   Vector 类可以实现可增长的对象数组。与数组一样,它包含可以使用整数索引进行访问的组件。但是,Vector 的大小可以根据需要增大或缩小,以适应创建 Vector 后进行添加或移除项的操作。 并且Vector类是同步的。   Stack 类表示后进先出(LIFO)的对象堆栈。
1、Arrays of Primitives-基础类型数组       When you create an array of primitive elements, the array holds the actual values for those elements. For instance, Figure 2−2 shows what an array of six integers (1452, 1472, 1483, 1495, 1503, 1519) referred to from the variable life would look like with regards ...
这是Ted Neward在IBM developerWorks中5 things系列文章中的一篇,仍然讲述了关于Java并发集合API的一些应用窍门,值得大家学习。(2010.06.17最后更新) 摘要:除了便于编写并发应用的集合API外,java.util.concurrent还引入了其它的预置程序组件,这些组件能辅助你在多线程应用中控制和执行线程。Ted Neward再介绍了五个来自于java.util.concurrent的Java编程必备窍门。     通过提供线程安全,性能良好的数据结构,并发集合框架使并发编程变得更容易。然而在有些情况下,开发者需要多走一步,并要考虑控制和/或调节 ...
这是Ted Neward在IBM developerWorks中5 things系列文章中的一篇,讲述了关于Java并发集合API的一些应用窍门,值得大家学习。(2010.05.24最后更新)     摘要:编写既要性能良好又要防止应用崩溃的多线程代码确实很难--这也正是我们需要j ...
java.util.Timer计时器有管理任务延迟执行("如1000ms后执行任务")以及周期性执行("如每500ms执行一次该任务")。但是,Timer存在一些缺陷,因此你应该考虑使用 ScheduledThreadPoolExecutor作为代替品,Timer对调度的支持是基于绝 ...
1. 引言 JUnit4提供的新断言语法具有很多优点且使用简单,这已经不再是新鲜事了,可发现在实际测试代码中仍未被普及应用,特发此文,以期更多的人能掌握运用。 2. assertThat基本语法 Hamcrest 是一个测试辅助工具,提供了一套通 ...
Global site tag (gtag.js) - Google Analytics