通过分析HashMap和HashSet源码分析其Hash存储机制
对于HashSet而言,系统采用hash算法决定集合元素的存储位置,这样可以保证能快速存、取集合元素;
对于HashMap而言,系统key-value当成一个整体进行处理,系统总是根据Hash算法来计算key-value的存储位置,这样可以保证能快速存、取Map的key-value对。
虽然集合号称存储的是Ja...
分类:
编程语言 时间:
2016-04-22 20:00:25
阅读次数:
257
1、注释的必要性:
1)自己或他人重构系统时方便理清楚这段代码的流程和思路。
2)增加自己代码的可读性。
3)当代码出现错误时注释代码可逐渐排查错误,缩小错误范围(我自己更喜欢debug)。
2、注释类型
1)单行注释。
在需要注释的前方加上双斜杠即可(//) public class LineComment
{
//这是单行注释的范例
public sta...
分类:
编程语言 时间:
2016-04-22 20:01:49
阅读次数:
274
SpringMVC异常处理
在项目中如何处理出现的异常,在每个可能出现异常的地方都写代码捕捉异常?这显然是不合理的,当项目越来越大是也是不可维护的。那么如何保证我们处理异常的代码精简且便于维护呢?这就是本篇要讲的内容—>异常处理。
在Spring MVC中我们可以通过以下2中途径来对异常进行集中处理:
一.继承HandlerExceptionResolver接口实现自己的处理...
分类:
编程语言 时间:
2016-04-22 20:00:35
阅读次数:
201
??
进程、线程、内存管理是一个内核最基本的服务,也是一个内核最主要的组成部分。这几方面的知识是一个软件开发人员必须掌握的基础知识。虽然一个人不懂这些知识也能编写简单的程序,但这样的程序只能算是皮毛。掌握了进程、线程和内存管理方面的知识,就能够充分利用操作系统内核提供的服务,提高你编写的软件的执行效率、更节省资源、更健壮。顺便说一下,在Windows
CE.net下可以运行用Visual S...
分类:
编程语言 时间:
2016-04-22 19:55:56
阅读次数:
192
在Java中,每一个对象都拥有一个锁标记(monitor),也称为监视器,多线程同时访问某个对象时,线程只有获取了该对象的锁才能访问。
在Java中,可以使用synchronized关键字来标记一个方法或者代码块,当某个线程调用该对象的synchronized方法或者访问synchronized代码块时,这个线程便获得了该对象的锁,其他线程暂时无法访问这个方法,只有等待这个方法执行完毕或...
分类:
编程语言 时间:
2016-04-22 19:56:04
阅读次数:
179
算法目的给一个数n,快速提取n的一个因数。算法根据:生日悖论讲生日悖论之前,先看一个东西。
给出[1..1000]的数,从中任意选出一个数为k的概率是110001\over 1000。
但是假如选出两个数p,q要求他们的差值为k,就是|p-q|=k的概率大概是15001\over 500,因为要去绝对值。
继续向下,选出l个数,使他们之间有两个数的差值为k,那么概率会随l的变大而变大,最终会趋...
分类:
编程语言 时间:
2016-04-22 19:57:18
阅读次数:
131
本程序参考:http://www.cnblogs.com/liping13599168/archive/2011/03/31/2000320.html
但是本程序需要说明一个非常重要的问题:
就是注意你注意DLL文件和调用它的位数上一定要一致;否则会出现错误;
本人使用的是X64架构的系统;所以这个要遵守;
首先创建一个C++解决方案;其次在下面的选项里面选择win...
分类:
编程语言 时间:
2016-04-22 19:54:40
阅读次数:
197
说说Python程序的执行过程
1. Python是一门解释型语言?
我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在。如果是解释型语言,那么生成的*.pyc文件是什么呢?c应该是compiled的缩写才对啊!
为了防止其他学习Python的人也被这句话误解,那么我们就在...
分类:
编程语言 时间:
2016-04-22 19:54:05
阅读次数:
202
用过c语言的都知道c语言的精度格式控制非常简单容易,刚学C++也许还不懂怎么在C++中使用这些功能.这里有两个方法来使用这些功能.变量使用: int n = 64;
double d = 123.45;
double d2 = 0.0183;一.使用流操纵算子
首先得包含头文件
1.宽度控制 cout << n << '#' << endl;
//宽度控制不会...
分类:
编程语言 时间:
2016-04-22 19:52:33
阅读次数:
210
什么是进程
1.进程是指在系统中正在运行的一个应用程序
每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内
1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程)
线程是进程的基本执行单元,一个进程(程序)的所有任务都在线程中执行
1个线程中任务的执行是串行的
如果要在1个线程中执行多个任务,那么只能一个一个地按顺序执行这些任务
也...
分类:
编程语言 时间:
2016-04-22 19:51:09
阅读次数:
205
从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。
1.Lock
首先要说明的就是Lock,通过查看Lock的源码可知,Lock是一个接口:
1
2
3
4
5
6
7
8
public interface...
分类:
编程语言 时间:
2016-04-22 19:51:54
阅读次数:
246
转眼间,Swift已经一岁多了,这门新鲜、语法时尚、类型安全、执行速度更快的语言已经渐渐的深入广大开发者的心。我同样也是非常喜爱这门新的编程语言。 今年6月,一年一度的WWDC大会如期而至,在大会上Apple发布了Swift
2.0,引入了很多新的特性,以帮助开发者能更快,更简单的构建应用。我在这里也说道说道Swift 2.0中值得大家注意的新特性。
guard语句
guard语句和i...
分类:
编程语言 时间:
2016-04-22 19:50:19
阅读次数:
191
@sprt
写在开头:博主在开始学习机器学习和Python之前从未有过任何编程经验,这个系列写在学习这个领域一个月之后,完全从一个入门级菜鸟的角度记录我的学习历程,代码未经优化,仅供参考。有错误之处欢迎大家指正。...
分类:
编程语言 时间:
2016-04-22 19:50:20
阅读次数:
246
目前java应用日志收集都是采用日志框架(slf4j、apache commons logging)+日志系统(log4j、log4j2、LogBack、JUL等)的方式。而针对在分布式环境需要实时分析统计的日志,一般采用apache flume、facebook scribe等分布式日志收集系统。...
分类:
编程语言 时间:
2016-04-22 19:49:21
阅读次数:
409
@sprt
写在开头:博主在开始学习机器学习和Python之前从未有过任何编程经验,这个系列写在学习这个领域一个月之后,完全从一个入门级菜鸟的角度记录我的学习历程,代码未经优化,仅供参考。有错误之处欢迎大家指正。...
分类:
编程语言 时间:
2016-04-22 19:45:23
阅读次数:
285
1、pandas库中最重要的就是变长字典(Series)而Series最重要的功能就是对齐;就是一个索引,一个值的形式,如下所示:
Series使用的是pd,自动给列表中的每个值添加索引;也可以自己指定索引如下所示:
我用列表形式生成的字典,如下所示:
可以用Series改变字典d的形式如下所示:
此外,Series还可以采用相加的方式如下所示:...
分类:
编程语言 时间:
2016-04-22 19:46:27
阅读次数:
302
之前学习了很多涉及servlet的内容,本小结我们说一下监听器,说起监听器,编过桌面程序和手机App的都不陌生,常见的套路都是拖一个控件,然后给它绑定一个监听器,即可以对该对象的事件进行监听以便发生响应,从本质上来说这些都是观察者模式的具体实现,在web程序中的监听器也不例外。...
分类:
编程语言 时间:
2016-04-22 19:46:49
阅读次数:
297