其他
封装的概念本身很好理解,意思就是把一堆东东装起来。
但要想真正理解封装,这样还远远不够。
第一个问题是:我们要封装什么?
这个问题很好回答,封装当然是封装不想让别人知道或者看到的东东了。
例如:
你的身家。。。。。。
漂亮MM的年龄。。。。。。
富二代的女朋友数。。。。。
明星是否整过容。。。。。。
你是如何赚到100万的(想想什么样...
关于中位数的题目
题意:我们的科学领导人遇到一个很大的问题,他忘掉了他的密码锁的号码,基于安全性考量,目前的电脑无法解决密码锁的问题。在一个仲夏夜里,科学家做了一个梦,梦里他看到许多数字飞来飞去。他把这些数字纪录在电脑上。接着他想到有一个线索,假如数字列为(X 1 , X 2 , … , X n)他必须找到一个整数A(A就是他密码锁的密码)使得( |X 1-A| + |X 2 -A| + … … + |X n -A|)为最小。
思路:很容易就能看出来这个数就是这个数组的中位数。只需区分偶数和奇数的情况就可以...
className.class.getResourceAsStream :
一: 要加载的文件和.class文件在同一目录下,例如:com.x.y 下有类Test.class ,同时有资源文件config.properties
那么,应该有如下代码:
//前面没有“/”代表当前类的目录
InputStream is1 = Test.class.getResourceAsStream(...
在学习storm的过程中,storm的官方文档中多次在实例中列举kestrel消息队列的例子。处于好奇和兴趣顺便了解了一下kestrel消息队列。
Kestrel是twitter的开发团队用scala语言写的开源消息中间件...
冒泡实现的原理是:从第一个数开始,依次和后面的数作比较,数值小的往上浮。例如:一共五个数,那么第一个数依次和后面四个数作比较。如果第一个数大于后面的数后,交换之后再比较。依次类推。下面是实现的源码 :
/*
* 冒泡排序
*/
public static void main(String[] args) {
int[] arr = {2,1,5,4,3};
int temp...
/*
* 解题思路:
* 水题
*/
#include
int main( )
{
int t,n,i,j,k;
scanf("%d",&t);
for( k=1;k<=t;k++ )
{
scanf("%d",&n );
for( i=2,j=0;;i++)
if( n%i == 0 )
...
有了解题思路,对于一般性的算法题,只要动脑子想想关键点的实现方法,基本上都能写出来。
而剩余的工作就是到网上搜搜,是否有其它解决方法,对自己的思维也是一个锻炼。
1:借助栈,深度遍历思想。
2:当访问某点时,可能会遇到哪些不同的情况,以及针对不同情况的不同处理方案,比如死胡同,环路问题,遇到终点等。
3:如果依次访问某点的,正上,正右,正下,正左,四个邻接点。
迷宫求解的基本...
在逛并发编程网的时候,看到了并发框架Disruptor译文这个系列文章。
Martin Fowler在自己网站上写了一篇LMAX架构(译文)的文章,在文章中他介绍了LMAX是一种新型零售金融交易平台,它能够以很低的延迟产生大量交易。这个系统是建立在JVM平台上,其核心是一个业务逻辑处理器,它能够在一个线程里每秒处理6百万订单。业务逻辑处理器完全是运行在内存中,使用事件源驱动方式。业务逻辑处理器的核心是Disruptor。
Disruptor它是一个开源的并发框架,能够在无锁的情况下实现网络的Queue并发操...
不是原子操作。理由:
1.i++分为三个阶段:
内存到寄存器
寄存器自增
写回内存
这三个阶段中间都可以被中断分离开.
2.++i首先要看编译器是怎么编译的,
某些编译器比如VC在非优化版本中会编译为以下汇编代码:
__asm
{
moveax, dword ptr[i]
inc eax
mov dwordptr[i], ...
Timer事件
反应堆event_base包含了一个最小堆min_heap结构体的实例,以此维护注册到这个反应堆实例的定时器事件:
view sourceprint?
1.struct
event_base {
2.//其他成员
3.struct
min_heap timeheap;
4.};
回顾一下最小堆min_heap:
view sour...