内部类的访问规则:
1,内部类可以直接访问外部类中的成员,包括私有。被private修饰的成员只能在定义它们的类中使用,在其他类中不能使用。
之所以可以直接访问外部类中的成员,是因为内部类中持有了一个外部类中的引用,格式:外部类名.this. 例如:Outer.this.num
2,外部类要访问内部类,必须先建立内部类对象。
访问格式:
1,当内部类定义在外部类的成员位置上,...
分类:
编程语言 时间:
2016-05-12 21:51:47
阅读次数:
162
在网上看到很多人对于CountDownLatch和CyclicBarrier的区别简单理解为CountDownLatch是一次性的,而CyclicBarrier在调用reset之后还可以继续使用。那如果只是这么简单的话,我觉得CyclicBarrier简单命名为ResetableCountDownLatch好了,显然不是的。
我的理解是,要从他们的设计目的去看这两个类。javadoc里面的描述是...
分类:
编程语言 时间:
2016-05-12 21:51:51
阅读次数:
175
先去检查依赖包的问题
使用net.sf.json需要导入的包如果jar 文件都存在。
右键项目选择Build path
在develoyment Assembly
添加 maven dependencies
网友回答1:
我已经导入了json的jar包及其需要的依赖包,过程是:右键项目选择Build path –> config build path –>add extenal jar...
分类:
编程语言 时间:
2016-05-12 21:50:47
阅读次数:
225
Python之数字中的函数
本篇在与介绍Python语法中关于数字部分的各种函数
1.标准类型函数
数字中的标准类型函数适用于所有的标准类型,常用的有三种:cmp(), str(), type(). 下面将分别介绍
cmp()函数:
cmp(x, y) 接收两个参数,对这两个参数进行比较,并返回值。若x>y,返回1;若x=y,返回0;若x
>>>...
分类:
编程语言 时间:
2016-05-12 21:50:11
阅读次数:
169
ThreadLocal在数据库连接和session管理下有广泛的应用,了解ThreadLocal对struts、spring等开源代码的理解有很大的帮助。ThreadLocal如果单纯从名字上来看像是“本地线程”这么个意思,只能说这个名字起的确实不太好,很容易让人产生误解,ThreadLocalVariable(线程本地变量)应该是个更好的名字。我们先看一下官方对ThreadLocal的描述:...
分类:
编程语言 时间:
2016-05-12 21:47:28
阅读次数:
352
常规方法
今天公司有一个面试题是这样的:假如有一个函数rand5能等概率生成1 - 5 之间的整数,如何利用rand5来实现rand7?rand7函数的要求是能够等概率生成1 - 7之间的整数。说实话我自己也不是很清楚。
这个问题很经典的。carreercup那本书上有个常见的解法,我记得算法大概是这样的,用PHP写写吧:
...
分类:
编程语言 时间:
2016-05-12 21:48:43
阅读次数:
244
package io;
import java.nio.*;
import java.nio.channels.*;
import java.io.*;
/*
* 三种类型的流用以产生可写的,可读的,可读可写的通道。
* getChannel()将会产生一个FileChannel通道,可以向他传送用于读写的ByteBuffer,并且可以锁定文件的某些区域用于独占式访问。
* 将字节放于Byt...
分类:
编程语言 时间:
2016-05-12 21:45:46
阅读次数:
216
Python的序列1–序列的简介
1.序列的简介
序列是Python中的重要组成部分,也是一种数据结构,那么什么是序列呢?按照定义来说,序列就是一个对象里面的所有元素全部按照一定的顺序进行排列,并且可以通过下标索引,访问到该对象的一个或者几个元素。
那么序列又包括什么呢?在Python中序列值包括三种:字符串,列表,元组。请注意,数值型的对象是不属于序列的,我们说到序列就是...
分类:
编程语言 时间:
2016-05-12 21:46:03
阅读次数:
198
Java面向对象基础面试题总结(2)1、Overload和Override(OverWrite)有什么区别?Overload 的方法是否可以改变返回值的类型???1)重载Overload是方法的重载,表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同,这些不同包括位置不同,个数不同,类型不同。
??2)重写 Override 是方法的重写,表示子类中的方法可以与父类中的某个方法的...
分类:
编程语言 时间:
2016-05-12 21:44:42
阅读次数:
256
观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。
public cl...
分类:
编程语言 时间:
2016-05-12 21:46:00
阅读次数:
185
这是我写的vagrant系列的最后一篇文章了。因为前面说了那么多环境搭建的东东。相信大家已经基本掌握了vagrant搭建环境的基本技能。配置vagrant文件之前文章已经说过,如果通过vagrant的配置文件,来完成多机器的搭建。简单快捷。今天再来一个python的机器。只需如下配置:config.vm.define :python do |python|
python.vm.provide...
分类:
编程语言 时间:
2016-05-12 21:42:52
阅读次数:
310
我们知道在Java中System.currentTimeMillis()方法来获取系统当前时间与1970年1月1日0点之间的毫秒差距。而在.NET中也有System.Environment.TickCount()方法来获取与1970年1月1日0点之间的毫秒差距,这个1970.01.01
00:00:00就是系统的最小时间,那么为什么系统的最小时间是这个,而不是0001.01.01 00:00:...
分类:
编程语言 时间:
2016-05-12 21:40:16
阅读次数:
228
根据Thread类中的run方法
可以知道运行多线程代码有两种方式,一种是运行Thread类run方法中的代码,一种是运行target中的run代码。
方法一:运行Thread类run方法中的代码
方法二:运行target中的run代码
target是何物,我们来追踪一下:
他是Thread类的一个Runnable参数,那么他是如何传参进来的呢?
通过Thread类构造...
分类:
编程语言 时间:
2016-05-12 21:41:02
阅读次数:
166
一.数组选择
从键盘中输入10个数放在数组A中,将该数组中不重复的数放到数组B中。
#include
using namespace std;
int main()
{ const int n=10;
int i,k,j,o=0,l,A[10],B[10];
cout<<"请输入十个数"<<endl;
for(i=0;i<...
分类:
编程语言 时间:
2016-05-12 21:40:51
阅读次数:
172
一. 算法解决问题
一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。
一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义:
1、平...
分类:
编程语言 时间:
2016-05-12 21:37:58
阅读次数:
262
链接
牛客OJ:数组中只出现一次的数字
九度OJ:http://ac.jobdu.com/problem.php?pid=1351
GitHub代码: 040-数组中只出现一次的数字
CSDN题解:[剑指Offer–040-数组中只出现一次的数字](
http://blog.csdn.net/gatieme/article/details/51330871)...
分类:
编程语言 时间:
2016-05-12 21:40:10
阅读次数:
186
一、头文件
通常,每一个.cc 文件(C++的源文件)都有一个对应的.h 文件(头文件),也有一些例 外,如单元测试代码和只包含 main()的.cc 文件。
正确使用头文件可令代码在可读性、文件大小和性能上大为改观。 下面的规则将引导你规避使用头文件时的各种麻烦。
1. #define 的保护
所有头文件都应该使用#define 防止头文件被多重包含(multiple inc...
分类:
编程语言 时间:
2016-05-12 21:38:12
阅读次数:
205