java
长城Great
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java中newInstance()和new()
在Java开发特别是数据库开发中,经常会用到Class.forName( )这个方法。通过查询Java Documentation我们会发现使用Class.forName( )静态方法的目的是为了动态加载类。在加载完成后,一般还要调用Class下的newInstance( )静态方法来实例化对象以便操作。因此,单单使用Class.forName( )是动态加载类是没有用的,其最终目的是为了实例化对转载 2014-04-30 14:18:41 · 750 阅读 · 0 评论 -
【java】输入流InputStream的reset()和mark()方法注意事项
今天写一个读写程序,运用到InputStream的reset方法是发现竟然失败了,然后查了一下JDK源码,发现BufferInputStream重写了父类FilterInputStream的mark和resetf方法,其有支持 mark 和 reset 方法的能力。而FileInputStream则没有重写父类InputStream的这两个方法,其不具有mark和reset方法的能力。在J转载 2014-12-12 11:37:14 · 14754 阅读 · 0 评论 -
【Java】Runnable和Thread的区别
在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限。下面看例子:package org.thread.demo; class MyThread extends Th转载 2014-12-12 11:33:38 · 711 阅读 · 0 评论 -
【java】同步,一定要加锁吗?
之前一被问到怎么处理同步问题,第一个想到办法的就是加锁。除了synchronized,ReentrantLock,其实有一些现成的支持并发的容器也是可以帮助我们完成许多工作的。比如最早的HashTable,jdk1.5开始的ConcurrentHashMap,以及我们下面要聊到的CopyOnWrite容器。先来介绍一下CopyOnWrite的原理:Copy-On-Write简称CO转载 2015-02-09 11:11:52 · 1108 阅读 · 0 评论 -
【java/android】回调机制详解
当时我思考了下就让他在异步完成后回调一下将值返回……因为对方是初学者我就给他简单解释了下Android的回调……说了一下午他都没弄明白……原因不是我讲得不够详细而是他陷进了他异步的问题……他把他那个问题和我讲的回调混在了一起……一直跳不出那个思维,其实回调机制很好理解,也基于这个原因,也算为了这位仁兄,我决定用最直白的语言来给大家讲讲Android的回调机制是怎么个回事,阅读这篇文章你不需要太高深转载 2015-01-22 15:13:02 · 821 阅读 · 0 评论 -
【java】深入理解 Proxy机制
动态代理其实就是java.lang.reflect.Proxy类动态的根据您指定的所有接口生成一个class byte,该class会继承Proxy类,并实现所有你指定的接口(您在参数中传入的接口数组);然后再利用您指定的classloader将 class byte加载进系统,最后生成这样一个类的对象,并初始化该对象的一些值,如invocationHandler,以即所有的接口对应的Method转载 2015-03-04 11:31:47 · 744 阅读 · 0 评论 -
【java】深入理解异常处理机制
1. 引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果会是什么?不要往后看答案、也不许执行代码看真正答案哦。如果你的答案是正确,那么这篇文章你就不用浪费时间看啦。[j转载 2015-03-06 11:39:35 · 997 阅读 · 0 评论 -
【Java】hashCode的作用
以下是关于HashCode的官方文档定义:[plain] view plaincopyprint?hashcode方法返回该对象的哈希码值。支持该方法是为哈希表提供一些优点,例如,java.util.Hashtable 提供的哈希表。 hashCode 的常规协定是: 在 Java 应用程序执行期间,在同一对象上多次调用 hashCode 方法时,必须一转载 2015-03-06 17:00:45 · 492 阅读 · 0 评论 -
【Java】finally语句到底是在return之前还是之后执行?
finally语句是在try的return语句执行之后,return返回之前执行。其实看一下你那个类的class字节码文件就知道了。 return的时候是复制了一个变量然后返回,所以之后finally操作的变量如果是基本类型的话不会影响返回值。 但是如果返回值是引用类型的话,因为指向同一个对象所以还是有影响的。 /** * @author lijinnan * @date:2014转载 2015-03-06 14:32:48 · 892 阅读 · 1 评论 -
【java】hashCode与equals的区别与联系
一、equals方法的作用 1、默认情况(没有覆盖equals方法)下equals方法都是调用Object类的equals方法,而Object的equals方法主要用于判断对象的内存地址引用是不是同一个地址(是不是同一个对象)。2 、要是类中覆盖了equals方法,那么就要根据具体的代码来确定equals方法的作用了,覆盖后一般都是通过对象的内容是否相等来判断对象是否相等。没转载 2015-03-06 15:50:30 · 561 阅读 · 0 评论 -
【java】聊一聊MD5
MD5是什么message-digest algorithm 5(信息-摘要算法)。经常说的“MD5加密”,就是它→信息-摘要算法。在下载一下东西时,经常在一些压缩包属性里,看到md5值。而且这个下载页面,很可能会在某一个地方,写了一句,此文件的MD5值为XXXXXXXXX。这有什么作用呢?白话白话:md5,其实就是一中算法。可以将一个字符串,或文件,或压缩包,执行md5后转载 2015-03-28 11:42:21 · 987 阅读 · 0 评论 -
【Java】IO流总结
IO流总结一:IO流是处理数据之间数据传输的。Java对数据的操作是通过流的方式。Java中用于操作IO流的对象都放在java.io包中。流的分类:按照操作数据分为:字符流和字节流。 按照流向分为:输入流和输出流。 输入流: 输出流: 字符流:Reader转载 2015-03-10 14:49:22 · 873 阅读 · 0 评论 -
【java】日期处理类总结(二):Date/Calendar/GregorianCalendar/DateFormat/SimpleDateFormat类
java中的日期处理类总结:Date/Calendar/GregorianCalendar/DateFormat/SimpleDateFormat类今天花了好大一点时间把java的日期类做了一下整理,哈1、 Date类(该类现在很少用了)l Date类对象的创建: n 创建一个当前时间//默认是创建一个代表系统当前日期的Dat转载 2015-03-10 18:18:52 · 1635 阅读 · 0 评论 -
【java】日期处理总结(一):Date 和 Calendar
Java 语言的Date(日期),Calendar(日历),DateFormat(日期格式)组成了Java标准的一个基本但是非常重要的部分。日期是商业逻辑计算一个关键的部分,所有的开发者都应该能够计算未来的日期,定制日期的显示格式,并将文本数据解析成日期对象。 创建一个日期对象 让我们看一个使用系统的当前日期和时间创建一个日期对象并返回一个长整数,这个时间通常被称为Java 虚拟机(J转载 2015-03-10 18:15:08 · 3238 阅读 · 0 评论 -
【网络】JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求 哇,一看标题怎么这么长啊,其实意思很简单,哥讨厌用HTTP Client做POST与GET提交觉得那个毕竟是别人写得API库,所以我就自己实现了一个简单的HTTP客户端,支持POST方式提交数据,GET方式查询数据,是测试Restful API比较方便点,然后支持form与JSON两种方式提转载 2015-03-11 14:31:07 · 2010 阅读 · 0 评论 -
【Java】对几个通用的hashCode重写方案的一些思考和探讨
在我们刚开始学习Java的时候就被教导,在编写类的时候,如果覆盖了Object的equals方法,那么必须要覆盖hashCode方法,并且如果两个对象用equals方法比较返回true,那么这两个对象hashCode返回的值也必须是相等的,并且对于同一个对象,equals方法需要比较的属性值没有被修改,那么每次调用hashCode返回的值应该是一致的。hashCode主要是用于散列集合,通过对转载 2015-03-12 11:20:14 · 1589 阅读 · 0 评论 -
【Eclipse】让project使用jdk1.8编译
1、卸载掉旧的jdk,安装jdk1.8,更改JAVA_HOME环境变量为jdk1.8的路径。2、在Eclipse中打开Help > Install New Software...,输入地址http://download.eclipse.org/eclipse/updates/4.3-P-builds/并安装,安装完后重启Eclipse。3、右键工程,打开prop原创 2015-04-10 11:50:39 · 16006 阅读 · 2 评论 -
【java】Volatile使用与理解
Volatile使用与理解Java语言中的 volatile变量可以被看作是一种 “程度较的 synchronized”;与 synchronized 块相比,volatile变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。锁提供了两种主要特性:l 互斥(mutual exclusion)l转载 2015-05-16 10:45:47 · 1982 阅读 · 0 评论 -
【java】对象与引用
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 我们之前一直在使用“对象”这个概念,但没有探讨对象在内存中的具体存储方式。这方面的讨论将引出“对象引用”(object reference)这一重要概念。 对象引用我们沿用之前定义的Human类,并有一个Test类:publi转载 2015-01-14 11:56:40 · 656 阅读 · 0 评论 -
【Android/java】3种时间获取方法的差异
也许我们从来不在意获取时间方面的差异,不过如果你仔细阅读文档会发现,android中,有3种不同的时间获取方法:他们之间是存在差异的,并且根据这些差异,应该用在不同的地方。 在android.os.SystemClock这个类中,文档详细的阐述了3种方法的差异和适用范围。 System.currentTimeMillis()像一个标准的挂钟("wall" clock)一样(时间和日转载 2014-12-22 13:19:20 · 1212 阅读 · 0 评论 -
【java】创建线程的三种方式浅析
方式1,继承Thread:[java] view plaincopynew Thread() { public void run() { System.out.println("hello world");转载 2014-12-04 00:10:05 · 644 阅读 · 0 评论 -
java中的String.equalsIgnoreCase(String str)
为了执行忽略大小写的比较,可以调用equalsIgnoreCase( )方法。当比较两个字符串时,它会认为A-Z和a-z是一样的。其一般形式如下:boolean equalsIgnoreCase(String str)转载 2014-04-30 14:15:33 · 1975 阅读 · 0 评论 -
详解java类的生命周期 类加载机制
引言 最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题讲明白的,主要是因为目前国内java方面的教材大多只是告诉你“怎样做”,但至于“为什么这样做”却不多说,所以造成大家在基础和原理方面的知识比较匮乏,所以笔者今天就斗胆来讲一下这个问题,权当抛砖引玉,希望对在这个问题上有疑惑的朋友有所帮转载 2014-05-03 14:15:11 · 776 阅读 · 0 评论 -
java中的Volatile
Volatile 比同步更简单,只适合于控制对基本变量(整数、布尔变量等)的单个实例的访问。当一个变量被声明成 volatile,任何对该变量的写操作都会绕过高速缓存,直接写入主内存,而任何对该变量的读取也都绕过高速缓存,直接取自主内存。这表示所有线程在任何时候看到的 volatile 变量值都相同。 使用建议:在两个或者更多的线程访问的成员变量上使用volatile。当要访问转载 2014-05-03 17:13:49 · 581 阅读 · 0 评论 -
java中"=="和equals方法究竟有什么区别?
单独把一个东西说清楚,然后再说清楚另一个,这样,它们的区别自然就出来了,混在一起说,则很难说清楚)==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存,对象本身占用一块内存(堆内存),变量也占用一块内存,例如Objet转载 2014-05-07 12:08:25 · 639 阅读 · 0 评论 -
Java/android 里ClassName.this和this的使用
如果在内部类里面用this就是指这个内部类的实例,而OuterClassName.this就是它外面的那个类的实例ClassName.this这个用法多用于在nested class(内部类)中,当inner class(内部类)必顺使用到outer class(外部类)的this instance(实例)时,就用OuterClassName.thisandroid中常原创 2014-05-10 11:20:40 · 2486 阅读 · 0 评论 -
java TreeSet的使用
java TreeSet的使用2011-06-07 19:34/* TreeSet:它可以给Set集合中的元素进行指定方式的排序。 保证元素唯一性的方式:通过比较的结果是否为0. 底层数据结构是:二叉树。*/ import java.util.*; class TreeSetDemo2转载 2014-05-10 14:35:21 · 833 阅读 · 0 评论 -
Java中String.format的使用
资源创建: 截止到:%1$tc\n销售量比去年增长了%2$d%%\n在这里我对所有奋斗的兄弟姐妹表示感谢\n对表现最优秀的%3$s等伙伴我们予以奖励\n奖励为价值%4$-9.4e的新马泰游\n希望大家再接再厉额! java类中调用:tv.setText(String.format(str,new Date(System.currentTimeMillis(转载 2014-05-17 22:08:27 · 732 阅读 · 0 评论 -
Java程序员们最常犯的10个错误
1.将数组转化为列表将数组转化为一个列表时,程序员们经常这样做:1List list = Arrays.asList(arr);Arrays.asList()会返回一个ArrayList对象,ArrayList类是Arrays的一个私有静态类,而不是java.util.ArrayList类,java转载 2014-06-24 22:02:08 · 694 阅读 · 0 评论 -
Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)
MD5和RSA是网络传输中最常用的两个算法,了解这两个算法原理后就能大致知道加密是怎么一回事了。但这两种算法使用环境有差异,刚好互补。一、MD5算法首先MD5是不可逆的,只能加密而不能解密。比如明文是yanzi1225627,得到MD5加密后的字符串是:14F2AE15259E2C276A095E7394DA0CA9 但不能由后面一大串倒推出yanzi1225627.因此可以用来转载 2014-05-24 20:55:55 · 977 阅读 · 0 评论 -
Java中ConcurrentHashMap解析
曾经研究过jkd1.5新特性,其中ConcurrentHashMap就是其中之一,其特点:效率比Hashtable高,并发性比hashmap好。结合了两者的特点。 集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发转载 2014-07-18 13:46:14 · 1162 阅读 · 0 评论 -
Map.Entry使用详解
1.Map.Entry说明Map是java中的接口,Map.Entry是Map的一个内部接口。Map提供了一些常用方法,如keySet()、entrySet()等方法,keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为En转载 2014-05-27 09:39:48 · 2724 阅读 · 1 评论 -
一些Java面试题深入分析
一、&和&&的区别?&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表原创 2014-07-05 20:04:31 · 928 阅读 · 0 评论 -
当几个引用指向同一个java对象的时候,用什么办法能让这几个引用都变成 null?
csdn上有讨论:http://bbs.youkuaiyun.com/topics/260077332原创 2014-06-18 14:01:25 · 2378 阅读 · 0 评论 -
Java之静态代码块、构造代码块、与构造函数的用法
构造函数、构造代码块和静态代码块容易混淆,它们的执行条件和执行顺序也常常容易犯迷。这里就针对这些问题说一下我个人的一些理解,顺便对这部分内容做个小结。构造函数格式:类名(参数1,参数2,…){构造函数执行语句};关于构造函数,以下几点要注意:1.对象一建立,就会调用与之相应的构造函数,也就是说,不建立对象,构造函数时不会运行的。2.构造函数的作用是用于给对象转载 2014-08-03 19:11:59 · 2679 阅读 · 0 评论 -
java获取当前路径的几种方法
1、利用System.getProperty()函数获取当前路径: System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径 2、使用File提供的函数获取当前路径: File directory = new File("");//设定为当前文件夹 try{ System.out.pr转载 2014-06-22 20:40:35 · 772 阅读 · 0 评论 -
Java集合类ArrayList删除特定元素
在这次的项目开发中遇到动态的删除ArrayList中的一些元素,假如我们有如下的一个List:ListInteger> list = new LinkedListInteger>();list.add(4);list.add(2);list.add(1);list.add(1);list.add(2);一种错误的方式:for(int i = 0, len =转载 2014-08-12 22:18:42 · 1511 阅读 · 0 评论 -
【java】为数组所有元素赋相同的值 以及 数组之间的复制
为数组所有元素赋相同的值 : boolean[] resArray=new boolean[100]; Arrays.fill(resArray, true);数组之间的复制:System.arraycopy(Object src, int srcPos, Object dst, int dstPos, int length)src:源数组; srcPos:源数组要原创 2014-08-26 18:10:22 · 13537 阅读 · 0 评论 -
【java】StringTokenizer类的使用
StringTokenizer是一个用来分隔String的应用类,相当于VB的split函数。1.构造函数public StringTokenizer(String str)public StringTokenizer(String str, String delim)public StringTokenizer(String str, String delim, boolean转载 2015-09-10 16:05:37 · 1049 阅读 · 0 评论
分享