Java
HabbyGe
Just a coder.
展开
-
Java性能调优
http://blog.csdn.net/lilu_leo/article/details/8115612原创 2015-01-10 15:04:47 · 736 阅读 · 0 评论 -
取消Eclipse中Java的一些预警。
@SuppressWarnings("unchecked"),泛型 @SuppressWarnings("deprecation"), deprecated方法 @SuppressWarnings(value={"deprecation","unchecked"}) 双选 @SuppressWarnings("serial"), 序列化 其他参数参考附件。@S转载 2014-03-10 15:09:25 · 1315 阅读 · 0 评论 -
细数JDK里的设计模式
结构型模式:适配器模式:用来把一个接口转化成另一个接口。java.util.Arrays#asList()javax.swing.JTable(TableModel)java.io.InputStreamReader(InputStream)java.io.OutputStreamWriter(OutputStream)javax.xml.bind.annotation.a转载 2014-03-10 14:32:16 · 858 阅读 · 0 评论 -
一个Java小程序
/** * 转换相对路径为绝对路径 * * @param aPath * @return */ public static String convertRelPath2AbsPath(String aPath) { if (!aPath.contains("..")) { return aPath; } if (aPath.startsWith("/原创 2014-03-07 18:37:45 · 715 阅读 · 0 评论 -
Java中具有同步机制和非同步机制的集合
Doug Lea的util.concurrent包除了包含许多其他有用的并发构造块之外,还包含了一些主要集合类型List和Map的高性能的、线程安全的实现。Brian Goetz向您展示了用ConcurrentHashMap替换Hashtable或synchronizedMap,将有多少并发程序获益。在Java类库中出现的第一个关联的集合类是Hashtable,它是JDK 1.0的一部分。原创 2014-03-08 16:32:38 · 1883 阅读 · 1 评论 -
Java泛型简明教程
摘要:关于Java泛型的教程,几乎所有的Java程序员不仅听说过,而且使用过它。本文介绍了Java的泛型教程供大家学习、参考。导读:本文是从《Java Generics Quick Tutorial》这篇文章翻译而来,译文来自外刊IT评论《Java泛型简明教程》。内容如下:泛型是Java SE 5.0中引入的一项特征,自从这项语言特征出现多年来,我相信,几乎所有的Java程转载 2014-03-05 15:32:26 · 609 阅读 · 0 评论 -
Java 并发编程中使用 ReentrantLock 替代 synchronized 关键字原语
Java 5 引入的 Concurrent 并发库软件包中,提供了 ReentrantLock 可重入同步锁,用来替代 synchronized 关键字原语,并可提供更好的性能,以及更强大的功能。使用方法也很简单:public final ReentrantLock lock=new ReentrantLock();......try { lock.lock(); //转载 2014-03-03 15:06:27 · 1202 阅读 · 0 评论 -
Java性能调优指南—-java.io.BufferedInputStream和java.util.zip.GZIPInputStream
原文链接: Java Performance Tuning Guide 翻译: ImportNew.com - 曾柏羲译文链接: http://www.importnew.com/9363.htmlBufferedInputStream和GZIPInputStream是在读取文件数据中经常使用到的两个类(至少后者在Linux系统中被广泛使用)。一般来说,缓冲输入数据是一种很好的转载 2014-02-17 10:23:31 · 906 阅读 · 0 评论 -
Java中的equals()和hashCode()契约
java.lang.Object类中有两个非常重要的方法:12publicboolean equals(Object obj)publicint hashCode()理解这两个方法非常的重要,尤其是将用户自定义的对象添加到Map中的时候。有时候就算是久经沙场的老程序员也弄转载 2014-02-17 10:01:17 · 668 阅读 · 0 评论 -
Java字符串问题Top10
以下是10个最常见的Java字符串问题。1、如何比较字符串?使用“==”还是使用equals() ?简单地说,“==”测试引用同一地址,而equals()测试值是否相等。除非需要检查两个字符串是否是同一个对象,否则应该总是使用equals()方法。如果你知道字符串驻留(string interning)的概念的就更好了。译注:字符串驻留是指为每个独立的Strin转载 2013-11-21 09:48:32 · 987 阅读 · 0 评论 -
Java百问
http://www.programcreek.com/2013/04/java%E7%99%BE%E9%97%AE/原创 2013-12-17 16:34:45 · 632 阅读 · 0 评论 -
Java虚拟机和Class文件
深入理解Java虚拟机到底是什么:http://blog.csdn.net/zhangjg_blog/article/details/20380971深入理解Java Class文件格式(一):http://blog.csdn.net/zhangjg_blog/article/details/21486985深入理解Java Class文件格式(二):http://blog.csdn.原创 2014-03-23 01:38:39 · 661 阅读 · 0 评论 -
全面解析Java注解
1. 了解注解我们有必要对JDK 5.0新增的注解(Annotation)技术进行简单的学习,因为Spring 支持@AspectJ,而@AspectJ本身就是基于JDK 5.0的注解技术。所以学习JDK 5.0的注解知识有助于我们更好地理解和掌握Spring的AOP技术。对于Java开发人员来说,在编写代码时,除了源程序以外,我们还会使用Javadoc标签对类、方法或成员变量进转载 2014-03-23 16:12:22 · 685 阅读 · 0 评论 -
网络技术相关
【Java TCP/IP Socket】Socket编程知识点总结 http://blog.csdn.net/ns_code/article/details/16118955原创 2015-01-10 14:53:31 · 790 阅读 · 0 评论 -
打印一个数组中的数字,2个线程,一个打印奇数,一个打印偶数,交叉打印结果。
package com.habby.test.test2;public class HabbyTest { public static int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; public static void main(String[] args) { new Thread(new Runnable() {原创 2014-05-29 20:13:18 · 2394 阅读 · 0 评论 -
Java中的ReentrantLock和synchronized两种锁定机制的对比
转自:http://blog.csdn.net/fw0124/article/details/6672522多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造 —— synchro转载 2014-04-08 12:55:49 · 767 阅读 · 0 评论 -
什么是java序列化,如何实现java序列化?
Java 串行化技术可以使你将一个对象的状态写入一个Byte 流里,并且可以从其它地方把该Byte 流里的数据读出来,重新构造一个相同的对象。这种机制允许你将对象通过网络进行传播,并可以随时把对象持久化到数据库、文件等系统里。Java的串行化机制是RMI、EJB等技术的技术基础。用途:利用对象的串行化实现保存应用程序的当前工作状态,下次再启动的时候将自动地恢复到上次执行的状态。序列化就是一种用转载 2014-04-10 01:25:44 · 556 阅读 · 0 评论 -
Java反射机制
转自:http://champion-netjava-163-com.iteye.com/blog/982080转载 2014-05-10 23:51:26 · 575 阅读 · 0 评论 -
Java正确处理InterruptedException的方法
要想讨论正确处理InterrupedtException的方法,就要知道InterruptedException是什么。根据Java Doc的定义Thrown when a thread is waiting, sleeping, or otherwise occupied, and the thread is interrupted, either before or durin转载 2014-05-11 09:08:17 · 864 阅读 · 0 评论 -
Java实现定时任务的三种方法
在应用里经常都有用到在后台跑定时任务的需求。举个例子,比如需要在服务后台跑一个定时任务来进行垃圾回收(译者注:个人觉得用定时任务来跑垃圾回收不是很好的例子,从译者接触到的项目来看,比较常见的是用定时任务来进行非实时计算,清除临时数据、文件等)。在本文里,我会给大家介绍3种不同的实现方法:普通thread实现TimerTask实现ScheduledExecutorService实现转载 2014-04-09 14:29:08 · 662 阅读 · 0 评论 -
Java enum的用法详解
用法一:常量在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switchJDK1.6之前的switch语转载 2014-05-08 21:32:08 · 608 阅读 · 0 评论 -
Java多线程(九)之ReentrantLock与Condition (2013-02-19 16:43:54)
一、ReentrantLock 类1.1 什么是reentrantlockjava.util.concurrent.lock 中的 Lock 框架是锁定的一个抽象,它允许把锁定的实现作为 Java 类,而不是作为语言的特性来实现。这就为 Lock 的多种实现留下了空间,各种实现可能有不同的调度算法、性能特性或者锁定语义。 ReentrantLock 类实现了转载 2014-03-03 15:44:48 · 1023 阅读 · 0 评论 -
生产者消费者
package com.habby.test.test1;import java.util.LinkedList;import java.util.List;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;public class HabbyTest原创 2014-04-06 21:31:04 · 617 阅读 · 0 评论 -
Java堆内存的10个要点
摘要:对大多数程序员都经历过这样的过程,因为学习一种语言是非常容易来的,但是学习基础是非常难的,因为没有什么特定的流程让你学习编程的每个基础,使你发觉编程的秘诀。导读:对于程序员来说,知道堆空间,设置堆空间,处理堆空间的outOfMemoryError错误,分析heap dump是非常重要的。文中介绍了Java堆的学习教程以及Java堆内存(heap memory)的十个要点。文章转载 2014-02-25 15:13:48 · 601 阅读 · 0 评论 -
经典SQL语句大全
http://www.cnblogs.com/yubinfeng/archive/2010/11/02/1867386.html原创 2014-02-12 22:33:24 · 660 阅读 · 0 评论 -
枚举类型
枚举类型 Enum作为Sun全新引进的一个关键字,看起来很象是特殊的class, 它也可以有自己的变量,可以定义自己的方法,可以实现一个或者多个接口。 当我们在声明一个enum类型时,我们应该注意到enum类型有如下的一些特征。 1.它不能有public的构造函数,这样做可以保证客户代码没有办法新建一个enum的实例。 2.所有枚举值都是public,static转载 2013-10-26 11:12:49 · 635 阅读 · 0 评论 -
Java Serializable(序列化)的理解和总结
1、序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。 2、什么情况下需要序列化 a)当你想把的内存中的对象状态保存到一个文件中或者数据库中转载 2013-09-28 13:32:09 · 999 阅读 · 0 评论 -
Java对象的强、软、弱和虚引用
本文介绍对象的强、软、弱和虚引用的概念、应用及其在UML中的表示。1.对象的强、软、弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、转载 2013-09-24 22:52:00 · 1031 阅读 · 0 评论 -
Eclipse快捷键大全
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对转载 2013-09-22 22:48:31 · 1066 阅读 · 0 评论 -
Java与Android很实用的技术
Java与Android很实用的技术:http://www.cnblogs.com/devinzhang/archive/2011/12/14/2287675.html原创 2013-09-18 11:10:35 · 924 阅读 · 0 评论 -
Java异步调用模式
在长期的Java客户端开发中,最常见的一个客户端调用模式就是Java的异步调用。所谓异步调用其实就是实现一个可无需等待被调用函数的返回值而让操作继续运行的方法。在Java语言中,简单的讲就是另启一个线程来完成调用中的部分计算,使调用继续运行或返回,而不需要等待计算结果。但调用者仍需要取线程的计算结果。虽然在1.5以前从异步线程中取得返回结果需要自己精心设计,但从JDK1.5开始引入了Future接转载 2013-10-02 11:49:12 · 1047 阅读 · 0 评论 -
枚举类型
Enum作为Sun全新引进的一个关键字,看起来很象是特殊的class, 它也可以有自己的变量,可以定义自己的方法,可以实现一个或者多个接口。 当我们在声明一个enum类型时,我们应该注意到enum类型有如下的一些特征。 1.它不能有public的构造函数,这样做可以保证客户代码没有办法新建一个enum的实例。 2.所有枚举值都是public,static ,final的。注意这一转载 2013-09-17 10:48:14 · 750 阅读 · 0 评论 -
java.util.concurrent.TimeUnit
public enum TimeUnitextends EnumTimeUnit 表示给定单元粒度的时间段,它提供在这些单元中进行跨单元转换和执行计时及延迟操作的实用工具方法。TimeUnit 不维护时间信息,但是有助于组织和使用可能跨各种上下文单独维护的时间表示形式。TimeUnit 主要用于通知基于时间的方法如何解释给定的计时参数。例如,如果 lock 不可用,则以下代码将转载 2013-09-17 10:17:04 · 2051 阅读 · 0 评论 -
静态内部类和非静态内部类的区别
案例:package com.devin;public class MyMain{ private static String name = "woobo"; private String num = "X001"; // 静态内部类可以用public,protected,private修饰 static class Person {转载 2013-09-17 15:24:31 · 1300 阅读 · 0 评论 -
JVM内存模型及垃圾回收机制
JVM内存模型1、栈Java栈是与每一个线程关联的,JVM在创建每一个线程的时候,会分配一定的栈空间给线程。存储局部变量、引用、方法、返回值等。StackOverflowError:如果在线程执行的过程中,栈空间不够用,那么JVM就会抛出此异常,这种情况一般是死递归造成的。2、堆Java中堆是由所有的线程共享的一块内存区域,堆用来保存各种JAVA对象,比如数组,线程对象等。转载 2013-09-29 22:58:38 · 868 阅读 · 0 评论 -
instanceof
经常用于Java中的向下转型;尤其是用于多态中的向下转型。原创 2013-10-22 00:06:12 · 779 阅读 · 0 评论 -
Java的反射机制和注解
http://blog.csdn.net/nieweilin/article/details/5908165原创 2013-11-15 00:09:01 · 862 阅读 · 0 评论 -
java 基于JDK中的源码总结下String
挤出了一点时间根据JDK总结下String。源码开头的注释说明:String代表字符串,java中的所有字符串序列都是这个类型的实例。String是固定不变的,它们的值在分配之后就不可以改变。鉴于这一点它们的值可以用来共享。java语言对字符串连接运算符“+”提供了特别的支持,控制台输出的时候就经常用到+这个特性。再增加说明一点,String类私有的维护着一个string pool,这块存储区存放转载 2014-02-24 01:10:43 · 934 阅读 · 0 评论 -
为什么String类是不可变的?
String是所有语言中最常用的一个类。我们知道在Java中,String是不可变的、final的。Java在运行时也保存了一个字符串池(String pool),这使得String成为了一个特别的类。String类不可变性的好处只有当字符串是不可变的,字符串池才有可能实现。字符串池的实现可以在运行时节约很多heap空间,因为不同的字符串变量都指向池中的同一个字符串。但如果字符转载 2014-02-08 10:55:50 · 688 阅读 · 0 评论 -
全面总结Java泛型
全面总结Java泛型2009-09-25 10:03 lichaozhangobj JavaEye博客 我要评论(0) 字号:T | T本文对Java泛型进行了全面的总结。文章内容包括普通泛型、通配符、受限泛型、泛型接口、泛型方法、返回泛型类型实例等等。AD: 2013云计算架构师峰会课程资料下载虽然Scala创始人Marti转载 2014-01-20 11:16:29 · 614 阅读 · 0 评论