[翻译]G1垃圾收集器(二) 之 java技术和JVM
java是一门编程语言和计算平台,第一个版本有Sun Microsystems公司在1995年发布,它是支撑java程序,包括公用事业,游戏,和商业等应用的底层技术。java程序跑在全球超过850万的个人电脑,以及数十亿的设备中,包括移动电话和电视设备。java是有一些关键组建的集合,作为一个整体,构建了所谓的java平台 阅读全文
java是一门编程语言和计算平台,第一个版本有Sun Microsystems公司在1995年发布,它是支撑java程序,包括公用事业,游戏,和商业等应用的底层技术。java程序跑在全球超过850万的个人电脑,以及数十亿的设备中,包括移动电话和电视设备。java是有一些关键组建的集合,作为一个整体,构建了所谓的java平台 阅读全文
本文开始翻译oracle官方对G1垃圾收集器的介绍文档《Getting Started with the G1 Garbage Collector》,以加深对GC的理解,便于日后用到对jvm GC的调优。 阅读全文
关于elasticsearch的使用中,感觉有三个点挺重要的,第一个是关于GC的配置,可能不被人注意,后面两个配置,对性能和实时性上可能有较大的影响。 阅读全文
cassandra用于数据存储,在平常使用的时候可以不要用户名密码,在生产环境系,设置用户名密码是很有必要的。 阅读全文
elasticsearch是基于lucene的,lucene是可以做到实时的,就是创建索引之后,立即能查询到。但是这样,要么是牺牲索引的效率,每次都索引之后都刷新,要么就是牺牲查询的效率每次查询之前都进行刷新。为了兼顾两者,必须搞个定时刷新,就是所谓的准实时(near real-time)查询。 阅读全文
线程池的目的是为了使用有限的线程处理大并发的任务。jdk自带丰富的线程池适应不同的应用场景。一般线程池需要考虑这样四个问题… 阅读全文
cassandra的集群对时间的要求是很严格的,在集群中的任何一台机器时间都必须保持同步,即便有一秒的延迟,也会带来莫名其妙的问题。因为cassandra是根据时间戳分辨出最后到达的响应,假设对同一个记录进行不同的操作,如果时间不同步,可能会导致前面的操作在后面的操作之后生效。当在高速操作的时候,可能会发生记录删除不掉,表drop了仍然存在等等奇怪的现象。 阅读全文
java提供了对boolean、Integer、Long的原子操作对象AtomicBoolean、AtomicInteger、AtomicLong。实现一些原子操作,这样简单的原子操作会比使用synchronized或者lock实现方便很多。 阅读全文
cassandra是一个key-value类型的NoSQL数据库,它的优点在于快速的根据key值进行的读写,以及方便的扩展,所以查询不是它的强项,它所至此的查询表达式也是很有限的。虽然cassandra支持建立索引,但是它的索引也只支持“=”号查询。 阅读全文
和synchronized一样,Lock是为了线程互斥而设计的,在synchronized中,使用对象隐式锁的wait notify(notifyAll)来实现线程之间的通信,同样的功能在Lock中是通过Codition来实现的。Condition除了完成wait和notify的基本功能之外,它的好处在于一个Lock可以通过创建多个Condition,选择性的去通知wait的线程。 阅读全文