hengyunabc的专栏

日落黄金台金黄落日 -- 横云断岭

排序:
默认
按更新时间
按访问量

为什么Java中的HashMap<K, V>的get函数是get(Object key),而不是get(K key)?

帮别人的代码改bug,发现有一大堆bug是由get或者remove传递进去的参数类型不匹配而造成的。 比如: Map m = new HashMap(); m.put(new Short((short) 2), "2222"); System.out.pr...

2012-06-27 16:16:58

阅读数:6972

评论数:4

泛型编程的困境

原文:http://research.swtch.com/generic 常用的数据结构(vectors,queues,maps,trees,等等)似乎是评估一个新语言的一个热门话题。Go语言的FAQ中有一条就是关于Go中的泛型编程。对于泛型编程的通常有以下三种处理方式: 1.(C语言)放...

2012-06-24 22:50:35

阅读数:9001

评论数:7

测试Java的synchronize和ReentrantLock在单线程下的效率

ReentrantLock 在多线程情况下要远胜synchronize,这点没有疑问。 最近要写个程序,有个变量是有多数情况下是一个线程读写,有少数情况下是多个线程并发读写。所以要测试下ReentrantLock 在单线程下和synchronize的效率对比。 在测试的过程中发现一个有意思的现...

2012-06-14 02:40:21

阅读数:2905

评论数:0

Java中的数据结构一览

Java的类库实在是很多,以至于很多人都不太了解,结果总是自己造轮子。 下面汇总了Java中的一些数据结构,加上一些实现的分析,同时备忘。 至于时间复杂度,个人觉得写出来的用处不大。如果明白它是怎么实现的,那自然就知道它的时间复杂度。 如果不理解它的实现,把时间复杂度背得再熟也没...

2012-06-13 02:14:13

阅读数:17299

评论数:0

Java中的sun.misc.Unsafe包

chronicle项目:https://github.com/peter-lawrey/Java-Chronicle 这个项目是利用mmap机制来实现高效的读写数据,号称每秒写入5到20百万条数据。 作者有个测试,写入1百万条log用时0.234秒,用java自带的logger,用时7.3...

2012-06-13 00:53:57

阅读数:20960

评论数:2

从Java中String的subString函数说起

今天在用VisualVM查看进程的堆dump时,发现一些有意思的地方,见下图: 在“OQL控制台”页面中可以看到“过度分配的字符串”,“布尔值太多”。 从这里,可以看到一些有意思的地方。 有垃圾回收机制的语言通常有很多优化 1..String是不能改变的,所以subStri...

2012-06-03 14:51:49

阅读数:2357

评论数:0

为什么逗号表达式返回最后一个表达式的结果?--从另一个角度看C++

auto v = func1(), func2(), func3(); 因为一个函数调用是要经过参数压栈,调用完了,还有退栈(栈清理)的过程。 而这个退栈的工作可以由调用者或者被调用者来进行,因此也分为两种不同的调用约定: __cdecl和_stdcall,当然这个扯远了。要是再扯远点,还有...

2012-06-03 13:29:33

阅读数:1382

评论数:2

关于ISO-8859-1编码

在Java的一些程序中经常可以看到有这样的代码: String.getBytes("ISO-8859-1") 。 虽然我是大概知道这个是以单字节来解码的,我也不写这样的代码。但是见得多了,总要多了解下。 以下from http://baike.baidu.com/view/...

2012-05-31 15:15:49

阅读数:1397

评论数:0

Java中的异常对程序效率有无影响

当异常没有发生时,没有影响。 其实从异常实现的角度来看,在throw语句处,跳转到异常的处理代码,不同的异常处理,应该类似C++中的虚函数表一样的数构结构(待考证)。 所以如果没有抛出异常,那和普通的代码完全一样。至于在抛出异常时要处理的开销和不使用异常,用返回码等来判断不同的错误,不仅代码复...

2012-05-14 01:52:48

阅读数:3719

评论数:0

Java的内存布局

from:https://www.ibm.com/developerworks/cn/java/j-codetoheap/ 从 Java 代码到 Java 堆 理解和优化您的应用程序的内存使用 Chris Bailey, Java 支持架构师, IBM ...

2012-04-14 23:57:50

阅读数:4222

评论数:2

Java中的几个HashMap/ConcurrentHashMap实现分析

一、HashMap,即java.util.HashMap 标准链地址法实现。这个不用多解析,下图十分明了。(图片来自网络) 二、Collections.synchronizedMap() 函数返回的线程安全的HashMap 这个的实现比较简单。 代码中有: private final ...

2012-04-10 01:31:33

阅读数:8521

评论数:5

MongoDB 全文检索和标签功能

简单翻译。 原文:http://www.mongodb.org/display/DOCS/Full+Text+Search+in+Mongo MongoDB是通过增加一个tags的数组来实现标签功能(tagging)。 obj = {   name:  ...

2012-04-05 14:34:39

阅读数:13280

评论数:0

100个开源C/C++项目中的bugs(二)未定义行为、与运算优先级相关的错误

from:http://www.oschina.net/question/1579_45444 未定义行为 首先,一小段理论知识 未定义行为是某些编程语言的特性(尤其在C和C++中),在某些情形下产生的结果將依赖于编译器的实现或指定的优化选项。换句话说,规范并没有定义 某...

2012-03-23 02:59:38

阅读数:1364

评论数:0

100个开源C/C++项目中的bugs(一)数组和字符串处理的错误

from:http://www.oschina.net/question/1579_45444 100个开源C/C++项目中的bugs 摘要 介绍 发现错误样本的各类开源项目 数组和字符串处理的错误 未定义行为 与运算符优先级相关的错误 格式化输出错误 代码打...

2012-03-23 02:52:12

阅读数:2073

评论数:0

在windows下配置Eclipse + go环境

本文章地址:http://blog.csdn.net/hengyunabc/article/details/7371446 2012-03-31:新版的goclipse改进很大,本文有些内容已过时。 1.下载go的windows下的安装包:     https://code.goog...

2012-03-20 00:10:29

阅读数:28678

评论数:4

eclipse 设置备忘

每次都找半天,还不如自己记下来。 1.设置新项目的默认编码 Window->Preferences->General->Workspace->Text file encoding 2.删除插件 http://wiki.eclipse.org/FA...

2012-03-19 10:51:47

阅读数:1031

评论数:0

GridFS详细分析

GridFS简介 GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。 http://www.mongodb.org/display/DOCS/GridFS http://www.mongodb.org/display/DOCS/GridFS+Specification ...

2012-02-25 19:21:10

阅读数:31185

评论数:5

RPC框架几行代码就够了

虽然以前也大概知道rpc的实现原理,也看过部分msgpack的实现,但是对于反射不是很了解。 现在看到一个简单完整的实现,也解决我的以前的另一个疑惑: http://topic.csdn.net/u/20111028/14/092f98d0-ecdc-48b2-bf8b-317d5071ab6...

2012-02-23 14:33:06

阅读数:1599

评论数:1

使用Hibernate注意事项一则

如果使用annonation,要注意如果字段是数据库中的关键字,则要为字段加上“`”号。 如: @Column(name = "`describe`", nullable = false) public String getDescribe() { retu...

2012-02-22 15:31:28

阅读数:803

评论数:0

栈的实现的本质

堆和栈到底有什么区别? 这个问题往往在面试中会被问到。 栈和堆的从实现上来说,本质是一样的。 栈的大小可以在编译时,或者线创建时指定。 有空再补全。 先贴个程序: 通过进程管理器可以看到,在没有输入i之前,程序占用的内存是很小的,几百k,在输入i之后,程序占用内存不断上...

2012-02-22 01:50:36

阅读数:986

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭