java基础
文章平均质量分 55
还是很孤独很沉默
android developer.
展开
-
每个程序员都应该了解的内存知识
http://blog.jobbole.com/34303/转载 2014-05-20 15:06:08 · 1544 阅读 · 0 评论 -
java.util.concurrent.atomic
这个包下的类没用过,不过多少知道一点,但是了解的不够深入。这篇文章总结的不错。http://blog.csdn.net/sasafeng/article/details/7911607http://interzz.iteye.com/blog/1460996http://www.cnblogs.com/maxupeng/archive/2011/07/01/2096035.html原创 2013-04-16 10:33:25 · 955 阅读 · 0 评论 -
java并发编程:java.util.concurrent
要想理解线程安全,这个包下的3个子包,很有必要好好研读一下,正好最近不忙,我要认真的研读一下了。http://www.cnblogs.com/aurawing/articles/1887056.htmlhttp://whitesock.iteye.com/blog/162342java.util.concurrent整体结构图 http://www.itzhai.com/the原创 2013-04-15 10:44:17 · 1125 阅读 · 0 评论 -
java.util.concurrent.Executor
这篇总结的非常好了,但是总感觉还缺点什么,却又想不出缺什么,暂且放这。http://www.iteye.com/topic/366591原创 2013-04-16 09:55:11 · 1056 阅读 · 0 评论 -
java.util.concurrent.ConcurrentHashMap
一个一个类的学习,就不信整不明白你了。。。ConcurrentHashMapConcurrentHashMap是线程安全的HashMap的实现。1)添加put(Object key , Object value)ConcurrentHashMap并没有采用synchronized进行控制,而是使用了ReentrantLock。public V put(K key, V va原创 2013-04-15 16:38:17 · 3592 阅读 · 0 评论 -
jvm性能调优
工作越深入,就觉得基础的匮乏,就越想学习基础,然后要学的东西就好多啊,好烦人的说。 这里是一片JVM性能调优的系列文章,可以深入的学习一下JVM。 http://hllvm.group.iteye.com/group/wiki/?category_id=301原创 2013-04-15 11:02:15 · 788 阅读 · 0 评论 -
java.util.concurrent.CopyOnWriteArrayList
CopyOnWriteArrayListCopyOnWriteArrayList是一个线程安全、并且在读操作时无锁的ArrayList。1)添加add(E e)public boolean add(E e) {final ReentrantLock lock = this.lock;lock.lock();try {Object[] elements =原创 2013-04-15 16:56:33 · 1834 阅读 · 0 评论 -
java.util.concurrent.CopyOnWriteArraySet
CopyOnWriteArraySetCopyOnWriteArraySet是基于CopyOnWriteArrayList的,如果你看他的contain()和remove方法就知道了。可以知道set是不容许重复数据的,因此add操作和CopyOnWriteArrayList有所区别,他是调用CopyOnWriteArrayList的addIfAbsent方法。public bo原创 2013-04-15 17:06:08 · 1402 阅读 · 0 评论 -
泛型学习
Java的基础知识是你以后成长为某一个级别很重要的东西,基础知识扎实,数据结构和算法也扎实,那么你成长的高度将绝对不一样。因此,我建议所有刚工作不就的同学,把基础弄扎实,无论是为了应付面试和为了自己的提高,都应该努力学好。如果你是一个组的架构师,负责整个项目的架构,那么泛型这个东西,无疑是必须学好的,注解、反射这些都是很重要的,也很常用的。我在项目开发中基本没用过泛型,所以今天补习一下原创 2013-04-23 14:30:02 · 980 阅读 · 0 评论 -
java网络编程
网络编程,对网络的理解是面试几乎必问的内容,所以,要好好学习网络知识。网络编程无非就是涉及到tcp,udp,ip,ICMP,http协议等。 TCP建立连接的时候三次握手TCP断开连接的时候四次握手,断开连接的时候Time_wait时间、平静时间。 TCP连接中的TIME_WAIT状态http://www.apkbus.com/android-13543-1-1.htm原创 2013-04-10 14:45:51 · 798 阅读 · 0 评论 -
java位运算
http://www.cnblogs.com/highriver/archive/2011/08/15/2139600.html http://fosbin.blog.163.com/blog/static/18274600720114272932530/ 看Android源码的时候经常看到各种位运算操作,真恶心,所以了解一下位运算很有必要。/** * Invali原创 2013-04-08 18:36:08 · 869 阅读 · 0 评论 -
java中的volatile的用法
http://blog.sina.com.cn/s/blog_5a4267fa0100axw2.html http://www.cnblogs.com/aigongsi/archive/2012/04/01/2429166.htmlhttp://developer.51cto.com/art/201105/264855.htm原创 2012-12-14 18:28:08 · 641 阅读 · 0 评论 -
Java中的Enum的使用
http://www.cnblogs.com/frankliiu-java/archive/2010/12/07/1898721.htmlhttp://new-restart.iteye.com/blog/1769404转载 2013-03-15 15:08:18 · 793 阅读 · 0 评论 -
java.util.concurrent.locks.ReentrantLock
http://blog.csdn.net/fw0124/article/details/6672522http://www.cnblogs.com/mandela/archive/2011/04/08/2009810.html 经常看到有个同事用这个东西,我在实际的开发中从来没用过,正好这次有空可以学习下这个,昨天也试用了一下,还挺方便的。原创 2013-04-16 10:38:17 · 1069 阅读 · 0 评论 -
Java多线程编程
2013-4-17号补充:秒杀多线程面试题系列 该系列是我参加微软亚洲研究院,腾讯研究院,迅雷面试时所整理的。系列先示范如何使用多线程,再详细分析多线程的重点难点必考点——多线程同步互斥问题。各文章讲解生动细致,针对性强。必定也能助你在面试中秒杀所有多线程面试题。http://blog.csdn.net/column/details/killthreadseries.html原创 2013-04-10 11:19:16 · 1086 阅读 · 0 评论 -
java的多态
听同事聊到最近的面试,都提到了多态这个,这个我是知道的,不过还是百度了下,加深下印象吧。 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。多态有两种表现形式:重载和覆盖首先说重载(overload),是发生在同一类中。与什么父类子类、继承毫无关系。原创 2013-04-18 21:24:11 · 867 阅读 · 0 评论 -
Java 从一个文件中读取某一个特定的字符串
最近需要做一个操作:就是从一个文件中读取某一个字符串,理论上的操作顺序应该是:现读取这个文件,然后一行一行读,看是否有我需要的那个字符串。应该是利用文件流来操作~http://bbs.csdn.net/topics/380237552http://bbs.csdn.net/topics/370213517原创 2014-04-01 19:38:43 · 6604 阅读 · 0 评论 -
Java Cloneable
java Clone我以前知道java有拷贝,深拷贝和浅拷贝,但是再详细点,说说什么是深拷贝,什么是浅拷贝,就说不出来了,今天正好有时间,就看了看。这里有3篇文章,分析的都比较全,比较好,但是我实际测试的结果和他们文章中的结果有些出入,大家还是要在自己的机器上跑一下才好,我的测试代码,见下:package com.java.test;原创 2014-04-01 19:08:00 · 811 阅读 · 0 评论 -
& 和 && 的区别
问题源于下面这句话:android 判断手势事件通过下面这句话来判断:我一直纠结中间的那个 & 有啥子用呢~我们可以根据event.getAction() & MotionEvent.ACTION_MASK的结果来判断是何种事件。于是百度了一下,答案如下:&是位与,&一般用于取一个字节(八位)的位数,&& 是且,一般用于判断语句的双重条件,这个你应该懂吧,就说&原创 2014-02-26 20:47:43 · 1260 阅读 · 0 评论 -
java 抽象类和接口的区别
今天突然想到这个问题,竟然不知道怎么回答好了,如果是面试的话,估计要失败了。抽象类:也是类的一种,和普通类的区别在:可以有abstract方法,抽象方法,抽象方法是用来被子类实现的接口:可以定义很多方法,不能方法体,需要实现接口的类自行重写;原创 2014-02-07 15:34:25 · 895 阅读 · 0 评论 -
最全的enum的用法说明
http://www.cnblogs.com/happyPawpaw/archive/2013/04/09/3009553.html原创 2013-10-11 16:48:09 · 996 阅读 · 0 评论 -
java 时间相关类
手机APP上一般会有显示时间,或者显示几小时前,或者几天前等,那么这个如何实现呢?今天用到了时间戳,还真是手写不出来,于是就学习了一下。http://blog.sina.com.cn/s/blog_686bf2380100yhym.htmlhttp://blog.csdn.net/Lechie/article/details/5869613 (已经整理到我的代码库)原创 2013-04-12 18:01:23 · 927 阅读 · 0 评论 -
Java中的对象的哈希值何时相等
不知道大家有没有注意过什么样的情况下两个对象的哈希值相同为了解决上面出现的问题,我在做哈希比较的时候尝试着写了几个例子,发现了如下几点:1.标准的基本类型只要值相等,哈希值就相同;Integer a=10;Integer b=10;那么a和b的哈希值就相同。类似的还有Short、Long、Byte、Boolean、String等等2.同一个对象,与何时运行该程序无关;哈转载 2013-07-11 14:06:59 · 2061 阅读 · 0 评论 -
实现一个sizeof获取Java对象大小
由于Java的设计者不想让程序员管理和了解内存的使用,我们想要知道一个对象在内存中的大小变得比较困难了。本文提供了可以获取对象的大小的方法,但是由于各个虚拟机在内存使用上可能存在不同,因此该方法不能在各虚拟机上都适用,而是仅在hotspot 32位虚拟机上,或者其它内存管理方式与hotspot 32位虚拟机相同的虚拟机上 适用。 本方法使用了Unsafe类来访问对象的私有属性,因此原创 2013-06-11 23:12:02 · 5753 阅读 · 0 评论 -
.classpath文件有什么用?
第一部分:classpath是系统的环境变量,就是说JVM加载类的时候要按这个路径下去找,当然这个路径下可以有jar包,那么就是jar包里所有的class。 eclipse build path是eclipse工程里需要的包,也是需要的class,本质上没什么区别。你可以测试,比如JDK中有个String类,在java.lang中,那么你自己声明一个别的包,类叫String,然后打个j原创 2013-06-03 11:15:33 · 12025 阅读 · 0 评论 -
提高性能的Java编码方式
下面是网络上流传的关于提高性能的做法,本人对其中一部分做法做了些点评: 1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,控制资源的使用,通过线程同步来控制资源的并发访问;第二,控制实例的产生,以达到节约资源的目的;第三,控制数据共享,在不建立直接关联的条原创 2013-06-11 23:10:06 · 1086 阅读 · 0 评论 -
Javadoc注释学习
Javadoc注释学习以前写程序的时候,没有太注意过这些,当然也会加注释,但是从来没有系统的学习过、使用过javadoc的注释,今天补一补。具体使用看下面的参考链接,我基本看明白基本的使用了,以后开发的时候会注意一下。http://caoyaqiang.diandian.com/post/2012-08-27/40038608447http://liheyuan.bj.blog.1原创 2013-05-03 09:59:31 · 998 阅读 · 0 评论 -
Java实现序列化
面试的时候被问到序列化的问题,有几种方式?都怎么用?为什么那么用?有什么作用?回答的不好,补一补。 http://zhupan.iteye.com/blog/26447http://www.blogjava.net/sxyx2008/archive/2009/11/09/301663.htmlhttp://dev.yesky.com/76/7562076.shtmlhttp:/原创 2013-04-27 17:45:24 · 902 阅读 · 0 评论 -
Sleep和wait的区别
这个几乎是面试必问,所以必须深入了解。1.这两个方法主要来源是,sleep用于线程控制,而wait用于线程间的通信,与wait配套的方法还有notify和notifyAll.2.sleep是Thread类的方法,是线程用来 控制自身流程的;wait是Object类的方法,用来线程间的通信,这个方法会使当前拥有该对象锁的进程等待知道其他线程调用notify方法时再醒来 3.最主要原创 2013-04-18 23:20:09 · 949 阅读 · 0 评论 -
开源爬虫Labin,Nutch,Neritrix介绍和对比
网络爬虫还是挺有意思的,可以爬一些自己感兴趣的内容http://www.open-open.com/bbs/view/1325332257061转载 2013-02-20 09:30:34 · 755 阅读 · 0 评论 -
java 数据库连接
写一个J2EE SSH2的DEMO,发现数据连接用的是dbcp,偶然发现原来数据连接还有c3p0,不知区别在哪?DBCP和C3P0的一些比较当配置DBCP和C3P0的初始化池大小、池最大大小和最大空闲数配置相同时,得到了分别获取同一个数据库的数据库连接1W个连接数的对比: 1、dbcp用时:46751毫秒2、c3p0用时:48065毫秒 --1(这里的1为c3p0.acquireI原创 2013-01-29 13:58:36 · 662 阅读 · 0 评论 -
随想录(开源代码的学习方法)
网上转的一个朋友写的的,感兴趣的去看看。同时,博主还喜欢算法一类的东东,很棒。http://blog.csdn.net/feixiaoxing/article/details/7749331原创 2012-07-21 22:58:51 · 825 阅读 · 0 评论 -
Java编程中“为了性能”尽量要做到的一些地方
下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,控制资源的使用,通过线程同步来控制资源的并发访问;第二,控制实例的产生,以达到节约资源的目的;第三,控制数据共享,在不建立直接关联转载 2012-07-21 18:04:16 · 775 阅读 · 0 评论 -
学会重构你的代码
最初知道重构的时候是看到同事有一本重构的书,是英文版本的,我一下就膜拜起来,妈呀。后来接过来看了几天,看了2章,觉得还可以吧,因为看代码还是可以理解的。偶尔有一天,看到一个兄弟些的重构36计,确实不错,都是很经典的重构方法,把链接放下面,以备后用。http://blog.csdn.net/m13666368773/article/category/1126930原创 2012-05-14 09:15:45 · 772 阅读 · 0 评论 -
Java transient关键字
今天看安卓framework层的原码时,发现有一个变量是这么定义的:private Transient mCount; 查了下,原来这是一个关键字。Volatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到主内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。 Java语言转载 2012-02-20 09:51:48 · 785 阅读 · 0 评论 -
深入浅出Java clone技术
这是clone技术介绍的第一篇。本篇主要介绍对象clone技术的基本知识。 Clone基本知识储备 在Java里提到clone技术,就不能不提java.lang.Cloneable接口和含有clone方法的Object类。所有具有clone功能的类都有一个特性,那就是它直接或间接地实现了Cloneable接口。否则,我们在尝试调用clone()方法时,将会触发CloneNotSup原创 2012-01-05 23:09:28 · 881 阅读 · 0 评论 -
深入Java集合学习系列
找工作的时候看的一些文章,帮了我大忙了,我淘宝面试的时候,基本都是说它文章里的一些东西,说到底层的实现了,所以我淘宝一面才得以轻松过关,建议大家一定要看看啊。非常有用得。深入Java集合学习系列:ArrayList的实现原理深入Java集合学习系列:LinkedHashMap的实现原理深入Java集合学习系列:LinkedHashSet的实现原理转载 2012-01-05 23:02:27 · 1013 阅读 · 0 评论 -
堆和栈的区别(转过无数次的文章)
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两转载 2011-12-25 11:42:13 · 656 阅读 · 0 评论 -
java定时器--TimerTask 与 Timer
如果您想要在某个时间点之后,执行某项排定的任务,您可以定义一个TimerTask,再将之排定给Timer,Timer会依指定的时间来执行TimerTask。举个实例来说,您想在程式启动后5秒钟执行报时,则您可以继承TimerTask,并重新定义其run()方法。 DateTask.java package onlyfun.caterpillar;import java.原创 2011-12-24 11:35:23 · 1478 阅读 · 0 评论 -
java.lang.System
答: 系统类即java.lang.System是一个特殊的类,它是Object类的子类。其最主要的特点是使用前不需要用new语句进行初始化,因为在系统启动时,已自动对系统类进行初始化,分配了相应的内存区。系统类是专门为用户程序而设置的,它为用户程序提供当前环境下的系统资源。 系统类主要提供下述功能: ①标准的输入/输出 System类通过三个对象Syst转载 2011-12-19 23:25:48 · 1064 阅读 · 0 评论