- 博客(43)
- 资源 (2)
- 收藏
- 关注
转载 Java 标注(Annotation)详解 .
元数据的作用如果要对于元数据的作用进行分类,目前还没有明确的定义,不过我们可以根据它所起的作用,大致可分为三类:l 编写文档:通过代码里标识的元数据生成文档。l 代码分析:通过代码里标识的元数据对代码进行分析。l 编译检查:通过代码里标识的元数据让编译器能实现基本的编译检查。 基本内置注释 @Override注释能实
2014-12-29 21:42:00 627
转载 Java 的序列化 和 反序列化 总结
把Java对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为Java对象的过程称为对象的反序列化。 java中引入序列化机制主要是为了支持两种重要技术:RMI和JavaBean技术。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。 只有实现了Serializable和Externalizabl
2014-12-28 00:48:48 503
原创 java thread start run 的区别和联系
java thread start run 的区别和联系如下,摘取一段外文网站论坛上的解释,它讲的不错。一句话,run()是顺序执行而start()则是并行执行。Why do we need start() method in Thread class? In Java API description for Thread class is written : "Java Virtua
2014-12-27 21:11:15 745
转载 Thread interrupt 方法
我们在看一些多线程代码的时候,有的时候会碰到使用interrupt()方法的时候。从字面的意思来理解,应该就是中断当前正在执行的线程。那么,对于一个我们设计的普通线程来说,如果我们在主线程里调用它的interrupt()方法,会不会导致它被中断呢? 比如说我们先写一段如下的代码:Java代码 import java.util.concurrent.TimeU
2014-12-27 20:48:16 645
转载 java enum(枚举)使用详解 + 总结
enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中。 下面是我在使用 enum 过程中的一些经验和总结,主要包括如下内容:1. 原始的接口定义常量2. 语法(定义)3. 遍历、switch 等常用操作4. enum 对象的常用方法介绍5. 给 enum 自定义属性和方法6.
2014-12-27 20:10:26 588
转载 Java 字符终端上获取输入三种方式
在Java 字符终端上获取输入有三种方式:1、java.lang.System.in (目前JDK版本均支持)2、java.util.Scanner (JDK版本>=1.5)3、java.io.Console(JDK版本>=1.6),特色:能不回显密码字符参考:这里记录Java中从控制台读入信息的几种方式
2014-12-27 18:39:23 643
原创 netbeans jdkhome 启动问题
netbeans jdkhome 启动问题 : 找不到JDK解决方法之一:建立一个WINDOWS快捷件如下:在后面加入jdkhome 路径如: --jdkhome "C:\Program Files\Java\jdk1.8.0_25" "C:\Program Files\NetBeans 7.4\bin\netbeans.exe" --jdkhome "C:\Program Fi
2014-12-26 15:35:20 693
转载 Java 多线程面试问题
原文:Java Multi-Threading and Concurrency Interview Questions with Answers翻译:并发编程网 - 郑旭东 校对:方腾飞多线程和并发问题是 Java 技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。(校对注:非常赞同这个观点
2014-12-25 11:05:20 585
转载 java -classpath or -cp 的设置和解释
原文地址http://en.wikipedia.org/wiki/Classpath_%28Java%29classpath is a parameter—set either on the command-line, or through an environment variable—that tells the Java Virtual Machine o
2014-12-23 16:59:09 1584
原创 java hashset的那些事
hashset和数学中的集合的概念一样,即使不能往集合中放置相同的元素.而如何判断往集合中放置的元素是否相同,则是通过Object类的hashcode和equals方法来确定的.具体的判断过程为:当使用hashset时,hashcode方法就会被调用,该方法判断已经存储在hashset中的对象的hash code值是否和新添加的对象的hash code值一样,如果不一致,则直接加进去; 若
2014-12-21 19:33:40 534
转载 JAVA PECS法则
什么是PECS?PECS指“Producer Extends,Consumer Super”。换句话说,如果参数化类型表示一个生产者,就使用;如果它表示一个消费者,就使用。下面是一个简单的Stack的API接口:public class StackE>{ public Stack(); public void push(E e): public E pop();
2014-12-21 01:03:41 3474
转载 java TreeMap TreeSet 用法 原理 详解
简介 TreeMap和TreeSet算是java集合类里面比较有难度的数据结构。和普通的HashMap不一样,普通的HashMap元素存取的时间复杂度一般是O(1)的范围。而TreeMap内部对元素的操作复杂度为O(logn)。虽然在元素的存取方面TreeMap并不占优,但是它内部的元素都是排序的,当需要查找某些元素以及顺序输出元素的时候它能够带来比较理想的结果。可以说,TreeMap是
2014-12-21 00:10:16 3395
转载 Java hashset hashmap用法机制详解
参考文档:通过分析 JDK 源代码研究 Hash 存储机制http://www.ibm.com/developerworks/cn/java/j-lo-hash/index.html 简介 Map和Set是比较常用的两种数据结构。我们在平常的编程中经常会用到他们。只是他们的内部实现机制到底是怎么样的呢?了解他们的具体实现对于我们如何有效的去使用他们也是
2014-12-21 00:06:43 979
转载 HashSet TreeSet LinkedList ArrayList Hashmap Treemap
HashSet TreeSet LinkedList ArrayList Hashmap Treemap,哪些里边的对象是不能重复的,哪些是自动排序的,在使用自定义类型对象判断比较时,哪些需要重写equals,哪些需要重写compareTo。总结如下 首先它们6个是分属于三个类别中的,也就是List,Set,Map。List与Set都是放单独的对象的,Map则是放一个名值
2014-12-20 23:56:11 647
原创 JAVA PriorityQueue 的那些事
pq.poll()和 pq.peek(),前者是取出第一个并返回,后者是返回第一个的副本PriorityQueue对元素采用的是堆排序,头是按指定排序方式的最小元素。堆排序只能保证根是最大(最小),整个堆并不是有序的。 方法iterator()中提供的迭代器可能只是对整个数组的依次遍历。也就只能保证数组的第一个元素是最小的。 此队列的头是按指定排序方式的最小元素。如果多个元素都是最小值,则头是
2014-12-20 22:38:50 799
转载 JAVA String类 用法
String类 1、String对象的初始化由于String对象特别常用,所以在对String对象进行初始化时,Java提供了一种简化的特殊语法,格式如下: String s = “abc”; s = “Java语言”;
2014-12-20 00:59:27 467
转载 Java之静态内部类
Java之静态内部类(static class) 在一个类中创建另外一个类,叫做成员内部类。这个成员内部类可以静态的(利用static关键字修饰),也可以是非静态的。 一、静态内部类的使用目的。在定义内部类的时候,在其前面加上一个权限修饰符static。这个内部类就变为了静态内部类。如在进行代码程序测试的时候,如果在每一个Java源文件中都设置一个主方法(主方法是某个应用程
2014-12-18 21:54:20 1016 2
转载 Java finally语句到底是在return之前还是之后执行?
网上有很多人探讨Java中异常捕获机制try...catch...finally块中的finally语句是不是一定会被执行?很多人都说不是,当然他们的回答是正确的,经过我试验,至少有两种情况下finally语句是不会被执行的:(1)try语句没有被执行到,如在try语句之前就返回了,这样finally语句就不会执行,这也说明了finally语句被执行的必要而非充分条件是:相应的try语句一定被
2014-12-18 16:14:33 461
转载 Java垃圾回收机制
1. 垃圾回收的意义 在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的一个系统级线程会自动释放该内存块。垃圾回收意味着程序不再需要的对象是"无用信息",这些信息将被丢弃。当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用。事实上,除了释放
2014-12-18 10:25:32 469
转载 java 线程同步的那些事: yield(), sleep(), wait(), await(), signal(), sginalAll()
1、sleep()使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。例如有两个线程同时执行(没有synchronized)一个线程优先级为MAX_PRIORITY,另一个为MIN_PRIORITY,如果没有Sleep()方法,只有高优先级的线程执行
2014-12-18 09:12:02 3471
转载 java System.getProperties() 的用法
1.java的System.getProperty()方法可以获取的值 java.versionJava运行时环境版本java.vendorJava运行时环境供应商java.vendor.urlJava供应商的 URLjava.homeJava安装
2014-12-15 01:13:16 5975
转载 java中-classpath和路径的使用
javac-classpath的使用:javac:如果当前你要编译的java文件中引用了其它的类(比如说:继承),但该引用类的.class文件不在当前目录下,这种情况下就需要在javac命令后面加上-classpath参数,通过使用以下三种类型的方法 来指导编译器在编译的时候去指定的路径下查找引用类。 (1).绝对路径:javac -clas
2014-12-15 00:28:04 577
转载 java -jar classpath
java -jar classpath如果单个jar文件,没有引用到其他jar文件,而且指定了Main-Class,可以这样运行: java -jar hello.jar如果执行的jar文件引用了其他jar文件,该怎么办?这里hello.jar里面用到Log4j的Log java -cp log4j-1.2.14.jar -jar hello
2014-12-15 00:07:05 810
原创 JAVA date timezone 的用法
Locale myLocale = Locale.getDefault(); // Locale.setDefault(Locale.CHINA); // myLocale = Locale.getDefault(); System.out.println(myLocale.getCountry()); System.out.println(myLoca
2014-12-12 22:37:19 1545
原创 java 中 关于 StackOverflow 的问题
StackOverflow 这个问题一般是你的程序里头可能是有死循环或递归调用所产生的;可以查看一下你的程序,也可以增大你JVM的内存~~~在Eclipse中JDK的配置中加上 -XX:MaxDirectMemorySize=128 这代码,就行了,默认是64M,增大一倍,我估计行了,还不行的话,就用256吧,还不行的话,估计就是你程序里头有死循环,或递归调用没写好了。。。
2014-12-12 15:19:40 1603
原创 如何实例化 java 内部类
package practive_java;class cow { private double weight; public cow() { weight=0; } public cow(double data) { weight=data; } protected class cowleg { private String
2014-12-12 13:05:41 1283
原创 java 匿名内部类 lambda 在多线程中的使用例子
package Mythread;import java.util.*;import java.util.concurrent.Callable;import java.util.concurrent.CompletionService;import java.util.concurrent.ExecutionException;import java.util.concurr
2014-12-12 12:19:02 2456
原创 java正则表达式 最大最小匹配
String s = "/m/t/wd/nl/n/p/m/wd/nl/n/p/m/wd/nl/n/p/m/v/n"; Pattern p = Pattern.compile("/m/t.*?/nl/n/p/m"); Matcher mm = p.matcher(s); //output 0, 16. here .*? 是勉强匹配
2014-12-12 12:18:43 5843
原创 2014 一美国视频公司面试题目
#include #include #include using namespace std;void StatSortNum(int data[], int length) {if(NULL==data || length ==0) return;int HASHSIZE=11;int * hash= new int[HASHSIZE];for(int i
2014-12-12 12:16:39 683
原创 JAVA 如何在多线程下使用 ArrayList和LinkedList
对于处理一列数据项,Java提供了两个类ArrayList和LinkedList,ArrayList的内部实现是基于内部数组Object[],所以从概念上讲,它更像数组,但LinkedList的内部实现是基于一组连接的记录,所以,它更像一个链表结构,所以,它们在性能上有很大的差别。 在ArrayList的前面或中间插入数据时,必须将其后的所有数据相应的后移,这样必然要花费较多时间,
2014-12-12 12:14:55 2160 1
原创 Eclipse 中输入系统变量和运行参数
在开发时,有时候可能需要根据不同的环境设置不同的系统参数,我们都知道,在使用java -jar命令时可以使用-Dvariable=value 来设置运行时的系统变量,同样,在Eclipse中运行java程序时,我们怎么设置该系统变量呢? 另外,如果我们的程序需要输入运行参数,在Eclipse中如何配置?答案很简单,具体步骤为:在要运行的类上右键点击Run As-->
2014-12-12 12:14:01 738
原创 java hashmap equals() hashcode()
众所周之,String 、Math、还有Integer、Double。。。。等这些封装类重写了Object中的equals()方法,让它不再比较句柄(引用),而是比较对象中实际包含的整数的值,即比较的是内容。 而Object的equals()方法比较的是地址值。 一般来说,如果你要把一个类的对象放入容器中,那么通常要为其重写equals()方法,让他们比较
2014-12-12 12:12:49 801
原创 Java 方法 动态绑定
Java的动态绑定又称为运行时绑定。意思就是说,程序会在运行的时候自动选择调用哪儿个方法。一、动态绑定的过程: 例子:1 public class Son extends Father2 Son son = new Son();3 son.method(); 1. 首先,编译器根据对象的声明类型和方法名,搜索相应类(Son)及其父类(Father)的
2014-12-12 12:12:30 597
原创 stringstream 清空 方法
stringstream ss;...//必须使用下面两个方法来达到目的ss.clear(); //clear flags.当多次转换时,必须先调这个clear()ss.str(""); //将buffer清空 有篇文章讲stringstream 。不错http://blog.csdn.net/willtom/article/details/24740305
2014-12-12 11:54:41 4227
原创 亚马逊面试题目 最小的回文正整数
题目要求:给定正整数 N,求其 下一个最小的回文正整数。比如,N=9,则下一个所求之数为11。又如N=12444,则下一个所求之数为12521. 下面给出了两种实现方法
2014-12-12 11:20:33 678
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人