- 博客(13)
- 问答 (4)
- 收藏
- 关注
原创 java 死锁程序
通过使用两个锁,让两个线程去交叉的获得锁import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class DeadLock { public Lock l1 = new ReentrantLock(); public Lock l2 = new
2015-08-25 22:25:42 331
原创 Lock synchronized区别
Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现;synchronized是在JVM层面上实现的,不但可以通过一些监控工具监控synchronized的锁定,而且在代码执行时出现异常,JVM会自动释放锁定,但是使用Lock则不行,lock是通过代码实现的,要保证锁定一定会被释放,就必须将 unLock()放到finally{} 中
2015-08-23 08:58:00 445
转载 JVM 基础知识
转自:http://blog.csdn.net/ithomer/article/details/9936743一、基础概念数据类型Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。
2015-08-12 09:31:23 357
转载 Hashtable与ConcurrentHashMap的区别
锁分段技术HashTable容器在竞争激烈的并发环境下表现出效率低下的原因是所有访问HashTable的线程都必须竞争同一把锁,那假如容器里有多把锁,每一把锁用于锁容器其中一部分数据,那么当多线程访问容器里不同数据段的数据时,线程间就不会存在锁竞争,从而可以有效的提高并发访问效率,这就是ConcurrentHashMap所使用的锁分段技术,首先将数据分成一段一段的存储,然后给每一段数据配一
2015-08-06 11:18:58 1585
原创 Hashtable HashMap 区别 Hashtable的劣势
Hashtable应尽量避免使用,单线程下可使用HashMap替代,多线程下可使用ConcurrentHashMap替代Hashtable的实现中,大量使用了%,而不是HashMap中的位运算,性能较差,同步方面,大量方法都是synchronized,应该使用ConcurrentHashMap性能比较好Hashtable与HashMap的区别:Hashtable是同步的
2015-08-06 11:18:15 1580
原创 HashMap Hash碰撞 treemap
HashMap中,如果某个桶中的记录过 大的话(当前是TREEIFY_THRESHOLD = 8),HashMap会动态的使用一个专门的treemap实现来替换掉它。这样做的结果会更好,是O(logn),而不是糟糕的O(n)。它是如何工作 的?前面产生冲突的那些KEY对应的记录只是简单的追加到一个链表后面,这些记录只能通过遍历来进行查找。但是超过这个阈值后HashMap开始将列表升 级成一个二叉树
2015-08-06 09:36:01 848
转载 Java 静态变量的继承
今天在看单例模式时,《head first 设计模式》中提到了单例类的继承问题。因为单例类中的变量及构造单例的方法通常都是静态的,所以这里涉及到“静态方法与变量的继承”。以前一直没关注这些,所以今天特地写了些小程序测试下,顺便做些总结。 首先,定义一个类A如下class A { static int a = 1; static int b = 2;
2015-07-27 18:34:05 564
转载 newInstance()和new()
在Java开发特别是数据库开发中,经常会用到Class.forName( )这个方法。通过查询Java Documentation我们会发现使用Class.forName( )静态方法的目的是为了动态加载类。在加载完成后,一般还要调用Class下的newInstance( )静态方法来实例化对象以便操作。因此,单单使用Class.forName( )是动态加载类是没有用的,其最终目的是为了实例化对
2015-03-31 20:15:42 360
转载 一个Java程序的执行过程
我们手工执行java程序是这样的:1 在记事本中或者是UE的文本编辑器中,写好源程序;2 使用javac命令把源程序编译成.class文件; 编译后的.class(类字节码)文件中会包含以下内容:ConstantPool:符号表;FieldInfo:类中的成员变量信息;MethodInfo:类中的方法描述;Attribute:可选的附加节点。FieldInfo
2015-03-26 17:08:46 777
转载 android activity的创建
android中activity的创建都是通类反射的方法创建的~~当打开activity的时候,android系统框架根据配置文件找到相应的acitivity对应的类,通过activity的默认构造函数创建了activity的实例,然后创建应用的上下文环境,通过wrapper的方法把上下文绑定到activity实例(也是就常说的依赖注入/依赖倒转),然后调用onXXXX接口进行回调.
2015-03-14 21:00:19 365
转载 Android:Layout_weight
首先看一下Layout_weight属性的作用:它是用来分配属于空间的一个属性,你可以设置他的权重。很多人不知道剩余空间是个什么概念,下面我先来说说剩余空间。看下面代码:xml version="1.0" encoding="utf-8"?> LinearLayout xmlns:android="http://schemas.android.com/apk/res/android
2015-03-14 15:46:38 417
空空如也
Android 相对布局 各控件指之间的间距怎么设置
2015-02-22
类似12306账号中的常用联系人这种不定长的数据是怎么存储的?数据库是如何建的?求指教
2015-01-02
本人系统ubuntu 安装eclipse时出现了错误 求指教
2014-09-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人