java
文章平均质量分 84
xlnjulp
华为,去哪网,新浪微博
展开
-
HashMap performance improvements in Java 8
原文链接http://www.javacodegeeks.com/2014/04/hashmap-performance-improvements-in-java-8.html翻译 2014-05-01 11:59:59 · 740 阅读 · 0 评论 -
Java False Sharing
第一次接触伪共享的概念,是在马丁的博客上;而ifeve也把这一系列博文翻译整理好了。概读了几次,感觉到此概念的重要。因此有了这个系列的第二篇读后总结。 1. 什么是伪共享(False sharing)在上一篇博文知道,缓存的存储方式,是以缓存行(Cache Line)为单位的。一般缓存行的大小是64字节。这意味着,小于64字节的变量,是有可能存在于同一条缓存行的。例如变量X转载 2014-05-28 00:53:57 · 611 阅读 · 0 评论 -
Java Inner Class
什么是内部类?将一个类定义在另一个类的内部,这个类就叫做内部类。 内部类例子packagefirst;// outer classpublic class OuterClass { // inner class class InnerClass{ InnerClass(){ System.out.println(Ou原创 2014-05-22 11:48:34 · 581 阅读 · 0 评论 -
Java nio
前记: 有一个周末的晚上,我突然想阅读以前写过的一些引以为自豪的程序;于是乎,我就把 9 个月前做过的一个项目的源码翻出来读了,这是一个 Socket 项目,服务器端是用 Java 实现的,客户端是用 Flash 实现的;这个项目的目的就是需要保证服务器端和客户端的连接不掉链,并且如果客户端有心跳超时或者连接断开的情形 , 我们会立即通知另一个应用程序( probe )。转载 2014-04-23 18:50:53 · 421 阅读 · 0 评论 -
Java Future/FutureTask
Future和FutureTask能干什么?可以用于等待线程结束,然后从线程中原创 2014-05-29 14:42:08 · 779 阅读 · 0 评论 -
Java ByteCode Part 2
yuanUnderstanding how Java code is compiled into byte code and executed on a Java Virtual Machine (JVM) is critical because it helps you understand what is happening as your program executes. This转载 2014-05-29 15:44:15 · 679 阅读 · 0 评论 -
Java ByteCode Part 1
Understanding how Java code is compiled into byte code and executed on a Java Virtual Machine (JVM) is critical because it helps you understand what is happening as your program executes. This underst转载 2014-05-29 15:35:14 · 953 阅读 · 0 评论 -
Java AtomicLong
1、为什么要用AtomicLong原创 2014-05-29 19:37:45 · 1104 阅读 · 0 评论 -
Java ReentrantLock
1、显示锁ReentrantLock原创 2014-05-30 14:52:56 · 1091 阅读 · 0 评论 -
STM
STM全称是soft transaction memory,是并发编成的模型之一。与传统的基于锁的并发模型不同的地方是,STM各个线程都是相互独立的,它假设各个线程不受其他线程的影响,也就是各个线程在访问并发区域的时候互不干扰,可以实现高效的并发。问题来了,在java中各个线程都有自己的一份独立副本,在线程中进行操作的时候首先访问副本数据,当线程结束时将副本重新写入到主存中,为了保证线程之间并发安原创 2015-03-23 22:48:54 · 1083 阅读 · 0 评论 -
Metaspace
简介从JDK8开始,永久代(PermGen)的概念被废弃掉了,取而代之的是一个称为Metaspace的存储空间。Metaspace使用的是本地内存,而不是堆内存,也就是说在默认情况下Metaspace的大小只与本地内存大小有关。当然你也可以通过以下的几个参数对Metaspace进行控制:-XX:MetaspaceSize=N 这个参数是初始化的Metaspace大小,该值越大触发Metaspac原创 2015-07-05 18:16:30 · 7880 阅读 · 0 评论 -
java jdk TimSort
在jdk1.6的时候,java默认使用的排序算法是mergesort。 public static <T> void sort(T[] a, Comparator<? super T> c) { T[] aux = (T[])a.clone(); if (c==null) mergeSort(aux, a, 0, a.length, 0);原创 2015-08-02 10:43:51 · 1515 阅读 · 0 评论 -
java Enum
在项目中经常使用Enum,我们知道Enum类型只能使用已经定义好的Enum类型,不能对Enum进行实例化。但是从来没有考虑过java是如何实现这个类型的。今天同事问了这个问题,借此机会正好看看。首先定义Enum类型,public enum EnumTest { enum1(1, 1), enum2(2, 2); private int i; private int j;原创 2015-07-30 00:12:31 · 746 阅读 · 0 评论 -
Java CPU Cache
CPU,一般认为写C/C++的才需要了解,写高级语言的(Java/C#/pathon...)并不需要了解那么底层的东西。我一开始也是这么想的,但直到碰到LMAX的Disruptor,以及马丁的博文,才发现写Java的,更加不能忽视CPU。经过一段时间的阅读,希望总结一下自己的阅读后的感悟。本文主要谈谈CPU缓存对Java编程的影响,不涉及具体CPU缓存的机制和实现。 现代CPU的缓转载 2014-05-28 00:51:21 · 636 阅读 · 0 评论 -
Java Executors
1、线程池的作用原创 2014-05-28 18:15:07 · 854 阅读 · 0 评论 -
lambda in java 8
September 2013Java SE 8EditionThis is aninformal overview of the enhancements to the Java programming languagespecified by JSR 335 and implementedin the OpenJDK Lambda Project. It refines the转载 2014-04-17 19:23:25 · 1669 阅读 · 0 评论 -
jsr cookbook 133
The JSR-133Cookbook for Compiler Writersby Doug Lea, with help from members of the JMM mailing list.dl@cs.oswego.edu.Preface: Over the10+ years since this was initially written, many processor转载 2014-04-17 20:12:15 · 719 阅读 · 0 评论 -
java 可中断线程
1、使用Future和线程池原创 2014-04-17 21:06:00 · 708 阅读 · 0 评论 -
Controlling GC pauses with the GarbageFirst Collector
a翻译 2014-05-02 18:04:30 · 1704 阅读 · 0 评论 -
Tuning Garbage Collection for Mission-Critical Java Applications
I recently had the opportunity to test and tune the performance of several shop and portal applications built with Java and running on the Sun/Oracle JVM, among them some of the most visited in German翻译 2014-05-07 11:07:53 · 1048 阅读 · 0 评论 -
Java CountDownLatch
1、什么是CountDownLatch可以理解为一个ji原创 2014-05-29 16:45:38 · 641 阅读 · 0 评论 -
Java Objects Memory Structure
原文地址Java Objects Memory StructureUpdate (December 18th, 2008): I've posted here an experimental library that implements Sizeof for Java.One thing about Java that has always bothered me,转载 2014-05-29 19:44:34 · 853 阅读 · 0 评论 -
HashMap
前段时间参加面试,面试官问了基础的HashMap是如何s原创 2014-06-23 14:40:54 · 604 阅读 · 0 评论 -
ProxyGenerator
/* * Copyright 1999-2005 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or原创 2014-06-25 21:03:45 · 2069 阅读 · 0 评论 -
Dynamic Proxy
用过Spring的人都能感受到AOP带来的好处。什么是AOP呢?所谓AOP就是面向切面bianchen原创 2014-06-24 22:41:12 · 971 阅读 · 0 评论 -
HotSpot VM JIT
解释执行和编译执行解释执行是计算机语言的一种执行方式。由解释器(即编译器)现场解释执行,不生成目标程序。如BASIC语言的执行方式便是解释执行,一般解释执行效率较低,低于编译执行。 使用解释执行的程序我们一般称为解释程序。它将源语言直接作为源程序输入,解释执行解释一句后就提交计算机执行一句,并不形成目标程序。如在终端上打一条命令或语句,解释程序就立即将此语句解释成一条或几条指令并提交硬原创 2014-05-20 12:02:15 · 1231 阅读 · 0 评论 -
CMS Garbage Collector
在CMS(Concurrent Mark Sweep)之前的Parallel垃圾回收器重点关注的是原创 2014-05-15 11:32:25 · 1093 阅读 · 0 评论 -
java 定时器
定时任务是我们在做项目的时候经常使用到的,比如定时发送心跳,定时请求数据等等。无论是使用开源的定时任务框架Quartz等,还是使用JDK原生态的定时任务都可以很好的完成这个任务。碰巧最近看源码看到了有的地方使用到了javax.management.timer.Timer,所以在这里记录下JDK中提供的几种定时任务的使用方法,权当做总结了~1、javax.management.timer.Timer对原创 2015-08-04 01:17:13 · 560 阅读 · 0 评论