- 浏览: 32128 次
- 性别:
- 来自: 上海
最新评论
-
yinnanyi:
我觉得这个比较的结果是可以预期的,bson结构比json要复杂 ...
JSON BSON 效率比较 -
kyzaqlx:
贴一个O(lgN)的算法吧class Matrix:
...
Fibonacci数列
文章列表
公司业务扩张,最近经常面试新员工,也经常遇到新入行的同事、朋友问一下java相关的问题,从基础、高级特性到架构应用都有涉及。回首展望自己近十年一路跌跌撞撞走来的点点滴滴,准备把自己汇总的东西整理一下分享给大家,希望能帮到前行路上的你,也希望能得到各路大神的指点。希望我们都能尽快成神--Java界的大神!
本文作为成长之路的开篇介绍,也作为以后整理的线路指导。后续会在本文中陆续更新接下来要整理分享的内容,请大家多多关注、多多指点,在此先表示深深感谢!
一、Java底层知识
字节码、class文件格式
CPU缓存,L1,L2,L3和伪共享
尾 ...
最近在执行DB2数据库SQL脚本时报错如下:
DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: SQL0010N The string constant beginning with "'场景号')" does not have an ending string delimiter. SQLSTATE=42603。
场 ...
subString()方法的内存泄漏
- 博客分类:
- Java
在java中我们无须关心内存的释放,JVM提供了内存管理机制,有GC回收不需要的对象。但实际使用中仍然会导致一系列的内存问题,常见的就是内存泄漏和内存溢出。
内存泄漏(leak of memory): 是指为一个对象分配内存 ...
Redis实现任务队列
- 博客分类:
- Redis
实现任务队列之前,我们先了解一下使用任务队列有哪些好处:
1. 松耦合。生产者和消费者无需知道彼此的实现细节,只需要约定好任务的描述格式。这使得生产者和消费者可以由不同的团队使用不同的编程语言编写。
2. 易于扩展。消费者可以由多个,而且可以分布在不同的服务器中,借此可以轻易地降低单台服务器的负载。
要实现队列很自然就想到Redis的列表类型,以及LPUSH和RPOP命令。如果要实现任务队列,只需要让生产者将任务使用LPUSH命令加入到某个键中,另一边让消费者不断的使用RPOP命令从该键中取出任务即可。Redis的伪代码实现如下:
# 无限循环读取任务 ...
现在系统中由于各种需要,经常遇到一种场景:需要限定每个IP地址每分钟最大访问次数类似的需求。下面是使用Redis实现范文频率限制的一种方式。
场景:要限制每分钟每个用户最多只能访问100个页面。
思路:1. 对每个用户使用一个名为“rate.limiting:用户IP”的字符串类型键;
2. 每次用户访问,使用INCR命令递增该键的键值
3. 如果递增后的值是1(第一次访问页面),则同时还要设置该键的生存时间为1分钟
4. 这样每次访问页面时都读取该键的键值,如果超过了 ...
Java面试中经常会遇到一个问题:final、finally、finalize的区别?
今天我只谈大家回答的最不准确也误解最深的一个 —— finalize。谈finalize() 方法之前需要先了解一下Java垃圾回收机制。
Java有垃圾回收期负责回收无用对象占据的 ...
对于基础知识的学习和理解,请参看两者的官方网站:
JSON: http://www.json.org/
BSON: http://bsonspec.org/
这里主要介绍两者对于POJO的转换方式以及效率比对。
选择 Jackson JSON Processor 和 bson4jackson 来作为转换器,是因为这两款产品在开发中用的最多。
1. JSON
Jackson提供三种方法处理JSON:
Streaming API :reads and writes JSON content as discrete events. 该方式效率最高(相比于其他两种方式 ...
Eclipse如何添加系统字体
- 博客分类:
- 工具使用
今天在网上找了一天,都在找怎么才给eclipse添加新的windows 系统里面的字体,看了好多人都采用的是更改eclipse 下面的 plugins 里面的org.eclipse.jface_3.7.0.v20110928-1505.jar 把它打开然后进入到/org/eclipse/jface/resources这个目录, ...
++i 和 i++ 哪个更高效?
- 博客分类:
- Java
在内建数据类型的情况下,效率没有区别;
在自定义数据类型的情况下,++i效率更高!
分析1:
(在自定义数据类型的情况下)
++i返回对象的引用;
i++ 总是要创建一个临时对象,在退出函数时还要销毁它,而且返回临时对象的值时还会调用其拷贝构造函数。
分析2:
i++由于是在使用当前值之后再 +1, 所以需要一个临时变量来转储,而++i 则直接 +1,不存在临时变量的问题。
测试:
【Java code:】
public class Main{
public static void main(String[] args){
int i = ...
斐波纳契数列(Fibonacci Sequence),又称黄金分割数列。
意大利的数学家列昂那多·斐波那契在1202年研究兔子产崽问题时发现了此数列,故又称为“兔子数列”.
设一对大兔子每月生一对小兔子,每对新生兔在出生一个月后又下崽(小兔子长到第三个月后每个月又生一对兔子),假若兔子都不死亡,问每个月的兔子总数为多少?
分析一下:
第一个月小兔子没有繁殖能力,所以还是一对;
两个月后,生下一对小兔对数共有两对;
三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对;现在大兔子有三对,小兔子两对;
------
依次类推可以列 ...