Android多线程研究(7)——Java5中的线程并发库
从这一篇开始我们将看看Java 5之后给我们添加的新的对线程操作的API,首先看看api文档:java.util.concurrent包含许多线程安全、测试良好、高性能的并发构建块,我们先看看atomic包下的AtomicInteger.import java.util.concurrent.ato...
《Thinking in Java》十七章_容器深入研究_练习14(Page486)
练习14Properties的继承树如下:因为Properties也间接的实现了Map<K,V>接口,所以使用Map map=new Properties()是可以工作的。...
深入研究java.lang.ThreadLocal类 (转)
深入研究java.lang.ThreadLocal类一、概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量...
《Thinking in Java》十七章_容器深入研究_练习13(Page484)
练习13:单词计数器 import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import jav...
Java虚拟机体系结构深入研究总结
工作以来,代码越写越多,程序也越来越臃肿,效率越来越低,对于我这样一个追求完美的程序员来说,这是绝对不被允许的,于是除了不断优化程序结构外,内存优化和性能调优就成了我惯用的“伎俩”。要对Java程序进行内存优化和性能调优,不了解虚拟机的内部原理(或者叫规范更严谨一点)是肯定不行的,这里推荐一本好书《...
java源码研究--List中的set和add方法区别
在处理一道题目是,发现他们使用了List 中的set 方法,这个方法我平时很少用到,今天来研究一下,set和add的区别add(int index,Object obj)方法与set(int index,Object e)我们写一个例子:package cn.magicdu.think.collec...
java并发包研究之-ConcurrentHashMap
概述HashMap是非线程安全的,HashTable是线程安全的。那个时候没怎么写Java代码,所以根本就没有听说过ConcurrentHashMap,只知道面试的时候就记住这句话就行了…至于为什么是线程安全的,内部怎么实现的,通通不了解。今天我们将深入剖析一个比HashTable性能更优的线程安全...
对一致性Hash算法,Java代码实现的深入研究
一致性Hash算法关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法、一致性Hash算法的算法原理做了详细的解读。算法的具体原理这里再次贴上:先构造一个长度为232的整数环(这个环被称为一致性Has...
JAVA深入研究——Method的Invoke方法(转)
在写代码的时候,发现Method可以调用子类的对象,但子类即使是改写了的Method,方法名一样,去调用父类的对象也会报错,虽然这是很符合多态的现象,也符合java的动态绑定规范,但还是想弄懂java是如何实现的,就学习了下Method的源代码。 Method的invoke方法 1.先检查 Acce...
研究生毕业后想做java Web方面的程序员,很丢人吗?????
研究生毕业后想做java Web方面的程序员,很丢人吗?????导师说那是代码工人干的.我是搞智能控制的, 研2,没项目做,天天弄java>68 个解决方案 #1 ...
Java反射机制学习与研究
Java反射机制:可以获取正在运行时的Java对象。1、判断运行时对象对象所属的类。2、判断运行时对象所具有的成员变量和方法。3、还可以调用到private方法,改变private变量的值。Step:0.得到运行时Java对象 1.得到Class对象 2.Field (变量) 3.Method(方...
Java进阶专题(十九) 消息中间件架构体系(1)-- ActiveMQ研究
前言MQ全称为Message Queue,即消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛。开发中消息队列通常有如下应用场景:1、任务异步处理。将不需要同步处理的并且耗时长的操作由消息队列通知消息接收方进行异步处理。提高了应用程序的响应时间。2、应用程序解耦合MQ相...
OpenJDK源码研究笔记(二)-Comparable和Comparator2个接口的作用和区别(一道经典的Java笔试面试题)
Comparable和Comparator是JDK中定义的2个比较接口,很相似,但又有所不同。这2个接口的作用和区别也是Java中的常见经典面试题。下面我们就来详细介绍下这2个接口的定义、作用、区别、模式、应用场景和代码案例。定义public interface Comparable<T>...
OpenJDK源码研究笔记(七)–Java字节码文件(.class)的结构
最近在看OpenJDK源码的过程中,顺便看了Java编译器(javac)的源码。为了理解javac的源码,需要先搞懂Java字节码文件(.class)的结构。于是,我就认真看了下OpenJDK中Java字节码文件的相关源码,结合大学期间对JVM的研究,参考JVM规范第2版(英文原版),特意整理下。J...
JAVA 虚拟机深入研究(三)——Java内存区域
JAVA 虚拟机深入研究(一)——关于Java的一些历史 JAVA 虚拟机深入研究(二)——JVM虚拟机发展以及一些Java的新东西 JAVA 虚拟机深入研究(三)——Java内存区域 Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的围城,城外的人想进去,城里的人想...
Java静态static工具类线程安全问题研究
针对静态方法有以下一些前提:静态方法和实例方法的区别是静态方法只能引用静态变量,静态方法通过类名来调用,实例方法通过对象实例来调用每个线程都有自己的线程栈,栈与线程同时创建,每一个虚拟机线程都有自己的程序计数器PC,在任何时刻,一个虚拟机线程只会执行一个方法的代码,这个方法称为该线程的当前方法,如果...
Java多线程--线程安全问题的相关研究
在刚刚学线程的时候我们经常会碰到这么一个问题:模拟火车站售票窗口售票。代码如下:package cn.blogs.com.isole;/* 模拟火车站售票窗口售票,假设有50张余票 */public class _synchronizeds { public static void main(...
java中的clone()方法的研究---(2)浅克隆和深克隆
网上铺天盖地,有那么多写浅克隆和深克隆区别的。小妹我自己来个精辟的总结吧(也不知道对不对呢 浅克隆:传引用 深克隆:传值 下面上图,进行具体说明,内容有点黄哦 浅克隆示意图: 浅克隆的几点说明: 对象:“酒店的房间”。引用:“钥匙”默认情况,一个房间配一把钥匙进行...
java开发模式的深度研究
下面小编就为大家带来一篇深入理解java工厂模式。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Java反射API研究(3)——java.lang.Class
对于反射来说,Class是核心,任何反射的对象都需要通过Class来获得。Class 类的实例表示正在运行的 Java 应用程序中的类和接口。枚举是一种类,注释是一种接口。每个数组属于被映射为 Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该 Class 对象。基本的 Java 类...