摘要:
Hash,我们在说HashMap的时候,已经知道Hash是散列,Map是映射了。 那么Set又是什么呢 ? 先来看看Set的翻译是什么 n. [数] 集合;一套;布景;[机] 装置 这里Set所取的含义是集合。而且是数学概念上的集合。数学概念上的集合有什么特点呢?那就是Set中所有的元素不能重复。所 阅读全文
摘要:
在jdk的源码中,存在这样的一些接口,他们不包含任何的(抽象)方法,但是却广泛的存在。 这种接口我们称之为Mark Interface,也就是标记接口。 这些接口呢,我们不用来实现任何的方法,他们的作用就是当某个类实现这个接口的时候,我们就认为这个类拥有了这个接口标记的某种功能了。 下面通过三个例子 阅读全文
摘要:
背景 快速排序,是在上世纪60年代,由美国人东尼·霍尔提出的一种排序方法。这种排序方式,在当时已经是非常快的一种排序了。因此在命名上,才将之称为“快速排序”。这个算法是二十世纪的七大算法之一,平均情况下时间复杂度为Ο(nlogn),而且在O(nlogn)的情况下,实际的运算速度都要快于其他同时间复杂 阅读全文
摘要:
之前在学习java源码时,发现了assert这个不常用的关键字。下面直接来介绍下这个关键字的使用。 assert是什么? 它是jdk1.4之后新增加的关键字,没了。 assert的作用是什么? assert在很多编程语言中的用途都是断言。 但是什么是断言呢? 只是简单的判断一下布尔表达式是否为真么? 阅读全文
摘要:
咱们今天也来说说定时器Timer Timer是什么? Timer n. [电子] 定时器;计时器;计时员 从翻译来看,我们可以知道Timer的本意是,定时定点。 而JDK中Timer类也的确是这个本意。那么接下来,我们通过JDK中的源码来学习下Timer这个类。 Timer中有这样两个变量。这两个变 阅读全文
摘要:
纳尼,接口中可以定义实例方法了?! 纳尼,接口中还可以定义静态方法了?! 没错,在Java8中新增了很多新的特性,其中就包括可以在接口中添加方法和变量。 首先我们来看下代码 代码中,我们可以发现以下几点不同: 1、在接口中,可以直接添加静态方法。 该静态方法作为接口(防盗连接:本文首发自http:/ 阅读全文
摘要:
单例模式是软件开发中非常普遍的一种模式。它的主要作用是确保系统中,始终只存在一个类的实例对象。 这样做的好处有两点: 1、对于需要频繁使用的对象,在每次使用时,如果都需要重新创建,并且这些对象的内容都是一样的。则不但提高了jvm的性能开销(堆中开辟新地址,同时降低GC效率等),同时还会降低代码的运行 阅读全文
摘要:
Eclipse开源工具和VS在诸多方面真的是差距非常大,无奈Java编程,使用VS非常麻烦。所以只能选择Eclipse 但是Eclipse的系统配色,又实在是不舒服,于是抽时间,从VS上抠了一份默认的配色方案,用起来舒服多了。 需要注意的是,有些字体颜色的设置,Eclipse没有VS那么细化,所以只 阅读全文
摘要:
一、Base64是什么? Base64是一种编码的格式。是将信息流(字节流)按照一定的规范,重新组合,显示出完全不相关内容的编码格式。 ps.定义是我自己总结的,我觉得对于知识的定义,只要简洁,不错误,表述清楚,不要拘泥于一个字一个词,重要的是真正理解它的原理即可。(其实是因为自己根本不知道标准的定 阅读全文
摘要:
前文已经讲了常用的4个布局了,今天再介绍最后的三个布局: 5、CardLayout 6、BoxLayout 7、空白布局null (五)CardLayout 纸牌布局 首先这种布局不是二维布局,而是一种伪三维的布局。 容器将所有的二维控件比作一张张的纸牌(card),放在容器当中。然后根据需要,返回 阅读全文
摘要:
一、问题背景 昨天debug代码的时候,突然发现无法启动程序了。每次启动程序的时候均报如下错误:(回家以后重现了下这个问题。发现不同电脑,所在的lib下的文件夹不一样,应该和jdk安装时硬件的情况有关),想要看解决方案的请直接跳到红字部分 二、解决办法 遇到这个问题,先去百度了一下,大概有以下几个办 阅读全文
摘要:
现在编程的主流语言基本上都是面向对象的。如C#,C++,JAVA。我们在使用时,已经构造了一个个的类。但是往往由于我们在类内部或外部的设计上存在种种问题,导致尽管是面向对象的语言,却是面向过程的逻辑,甚至维护起来异常困难。每次增加或修改功能都要改动很多的代码,如履薄冰。而面向对象的六大原则主要的目的 阅读全文
摘要:
在Java软件的使用过程中,有时会莫名的出现奇怪的问题。而这些问题常常无法使用日志信息定位,这时我们就需要通过查看进程内部线程的堆栈调用关系来分析问题出在哪里。 举个例子,当我们在做某个操作时,莫名的会弹出多个警告框,其中有些信息是正常的,有些则不是。对于这些错误的警告信息,我们该如何定位是哪... 阅读全文
摘要:
第一次听说盐值加密的时候,总是感觉怪怪的。因为总会联想到咸,联想到密码是咸的。 其实这里所说的盐,简单的说,就是一组安全随机数。它会在特定的时候,加入到密码中(一般来说是加密后的密码)。从而使密码变得更有味道(从单一简单化到复杂化),更安全。下面我们就通过安全威胁分析分别说说当前两种加盐的形式:... 阅读全文
摘要:
前文中介绍了FlowLayout和BorderLayout 本文我们将会继续介绍java中的布局方式 (3)GridLayout 网格布局 这种布局会将整个容器划分成M行*N列的网格。 如下图: 由模型图我们可以知道这种布局,类似于我们常见的扫雷、计算器等软件的布局。 这种布局的构造函数有三种 1 阅读全文