java面试题
飞鸟up
由于技术更新很快,所有的文章都可能随时间的推移失效,请阅读的时候参考当前技术的相应版本.
展开
-
已知一个函数rand7()能够生成1-7的随机数,请给出一个函数rand10(),该函数能够生成1-10的随机数。
题目: 已知一个函数rand7()能够生成1-7的随机数,请给出一个函数,该函数能够生成1-10的随机数。 思路: 假如已知一个函数能够生成1-49的随机数,那么如何以此生成1-10的随机数呢? 解法: 该解法基于一种叫做拒绝采样的方法。主要思想是只要产生一个目标范围内的随机数,则直接返回。如果产生的随机数不在目标范围内,则丢弃该值,重新取样。转载 2014-03-12 13:00:58 · 1156 阅读 · 4 评论 -
网易笔试题:输入一个正整数,若该数能用几个连续正整数之和表示,则输出所有可能的正整数序列。
/*编程题:输入一个正整数,若该数能用几个连续正整数之和表示,则输出所有可能的正整数序列。 解题思路: **找到数学规律。n以i为开头的j个整数的和为i*j+j*(j-1)/2;判断输入的整数是否和计算结果相同。 如果相同则循环输出以i为开头的j个整数。 这个题目给我最大的启示就是要学会用数学的方法来解决问题,在此之前翻译 2014-03-13 09:30:03 · 2854 阅读 · 0 评论 -
Java中的ReentrantLock和synchronized两种锁定机制的对比
原文:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html 多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造转载 2014-03-21 18:56:06 · 636 阅读 · 0 评论