
Java原创
文章平均质量分 50
巫巫巫
这个作者很懒,什么都没留下…
展开
-
java中的内存分析
寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制。 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中)。堆:存放所有new出来的对象,由垃圾回收器控制生命周期。 静态域:存放静态成员(static定义的)。 常量池:存放字符串常量和基本类型常量(public static final)原创 2014-03-13 12:35:44 · 376 阅读 · 0 评论 -
Java多线程详解
当 Java 虚拟机启动时,通常都会有单个非守护线程(它通常会调用某个指定类的 main 方法)。Java 虚拟机会继续执行线程,直到下列任一情况出现时为止:· 调用了 Runtime 类的 exit 方法,并且安全管理器允许退出操作发生。· 非守护线程的所有线程都已停止运行,无论是通过从对 run 方法的调用中返回,还是通过抛出一个传播到 run 方法之外的异常。创建新执行线程有两种原创 2014-04-05 18:44:30 · 376 阅读 · 0 评论 -
Java线程池
占位原创 2014-04-03 14:17:04 · 333 阅读 · 0 评论 -
Java输入输出
File类根据传递的路径来构造File对象,我们可以在File对象中调用各种方法。原创 2014-04-05 18:30:51 · 426 阅读 · 0 评论 -
Java中的访问权限
在java中,总共有4种访问权限,分别是:public, 默认的包访问权限,protect以及private。Public:公开的,其他所有的类都可以访问;Protect:受保护的,子类可以访问父类中的protect修饰的成员(子类和父类在同一个包也可以),同一个包中的类可以访问其他类的protect;默认的包访问权限:在同一个包中可以访问;Private:私有的,顾名思义必须在同原创 2014-03-26 22:26:05 · 481 阅读 · 0 评论 -
System类详解
System类在加载的时候会执行类中的静态块,从而调用一个本地的registerNatives方法。System类是一个final类,其他类不能继承它并且System中的构造函数用private修饰的,因此不能实例化一个System对象,所以我们只能静态的调用System类中的方法和静态常量。这个类包含了三个静态常量,分别是InputStream in,PrintStream out以及Pri原创 2014-03-26 21:19:13 · 979 阅读 · 0 评论 -
String类详解
通过String类的构造方法,可以很明显的看到String字符串使用的是字符数组来进行存储内容的。这里如果String构造方法中的参数为char数组,则直接复制这个参数用来直接存储,当String构造方法的参数为String类型的字符串的时候,这里应该涉及到JVM的知识,日后再补充。Length方法返回字符串的长度,isEmpty方法检测字符串是否为空。charAt方法的实质是在char类原创 2014-03-26 11:32:46 · 517 阅读 · 0 评论 -
ArrayList的深拷贝
拷贝有深拷贝和浅拷贝。ArrayList实现深拷贝的简单方法:原创 2014-05-09 11:31:56 · 1140 阅读 · 2 评论 -
JAVA中int和String的相互转换
三种方法:(1)String原创 2014-04-09 11:34:33 · 363 阅读 · 0 评论 -
从特殊的URL中获取文件名
例如:http://xcz1899.free3v.net/1.jpg需要获得:1.jpg原创 2014-05-11 00:22:10 · 621 阅读 · 1 评论 -
Java中的transient关键字
transient是Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。原创 2014-05-17 11:49:12 · 350 阅读 · 0 评论 -
集合的翻转
Collections.reverse(list);可以实现对List的翻转原创 2014-06-16 18:34:04 · 523 阅读 · 0 评论 -
Java的CountDownLatch
mark原创 2014-06-18 19:59:06 · 371 阅读 · 0 评论 -
Java克隆list
java中,除了基本数据类型和String之外,其他对象的赋值都是传递地址。原创 2014-09-18 17:56:21 · 1374 阅读 · 0 评论 -
Object类详解
Object类似所有类的父类,所有对象(包括数组)都实现了这个类的方法Object类中的方法如下:getClass,clone,notify,notifyAll,wait是本地方法hashCode方法也是本地方法:hashCode方法的结果必须和equals方法的结果一致。在Object类中equals方法与“==”的功能一样,都是比较对象的在堆中的地址。但是在某些子类中如String原创 2014-03-25 22:02:25 · 535 阅读 · 0 评论 -
Java容器详解
首先要介绍的就是迭代器----Iterable接口,这个接口有个iterator方法,这个方法会在AbstractList类中具体实现,其实现的过程是返回一个名为str的内部类对象,而这个类有hasNext,next,remove,checkForComodification这4个方法,所以返回的Iterator类也具有这几个方法。 hasNext() 如果仍有元素可以迭代,则返回 true原创 2014-03-28 22:55:55 · 515 阅读 · 0 评论 -
i=i+10和i+=10的区别
使用两个简单的小例子来说明它们之间的区别:第一个例子:public class Test{ public static void main(String[] args){ int i=0; i=i+10; } }javap -c 后的文件Compiled from "Test.java"public class Test { publi原创 2014-03-24 20:00:51 · 2152 阅读 · 0 评论 -
JAVA注解
Java的预定义注解:@override 覆盖父类方法@Deprecated 不推荐使用的@SuppressWarnings 抑制编译器产生警告信息的 Java的4个元注解:Target、Retention、Documented和Inherited元注解可以注解包括:类,接口,枚举类型,注解 Java的自定义注解:下面这个例子包括了如何使用自定义注解和四个原创 2014-03-27 23:01:20 · 412 阅读 · 0 评论 -
java的初始化流程
java的初始化流程(有继承情况): 1.初始化所有的static成员 2.初始化父类的成员变量 3.调用父类的构造函数 4.初始化子类的成员变量 5.调用子类的构造函数 这个流程确保了所有的成员变量首先都会被赋予默认初值并且子类在使用的时候父类已经初始化完成。原创 2014-03-13 12:36:21 · 393 阅读 · 0 评论 -
Java数据类型详解
Java里面有八种基本数据类型,在程序中都会存储在栈中。整数型:byte short int long字符型:char浮点型:float double Boolean型:boolean 整数型:byte short int longbyte:1个字节(8位bit)0short:2个字节(16位bit)0int:4个字节(32为bit)0lon原创 2014-03-27 16:00:41 · 390 阅读 · 0 评论 -
Java运算符详解
在Java中的运算符,基本上可分为算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、转型运算符等。在进行算术运算操作的时候,需要注意数据类型转换。public class Test{ public static void main(String[] args) throws Exception{ int i=1; long l=2; int k2=i+l;//不原创 2014-03-27 16:27:19 · 399 阅读 · 0 评论 -
Java数组详解
先介绍一下数组的几个重要的特性:1.多维数组只声明底维,如int[][] =new int[][10],这样是错误的,必须先声明高维。2.数组在初始化的时候,只能使用如下两个方式: int [] i={1,2,3};或者int[] i=new int[3];不能使用int i=new int[3]{1,2,3}这种方式。接下来介绍java的Array类,首先这个类是个final类,原创 2014-03-27 21:34:13 · 322 阅读 · 0 评论 -
Java泛型详解
类型擦除:泛型在编译的时候会擦除方法体中的具体信息,下面这个两个方法在编译后是一样的,因为其泛型信息被擦除了。Public void test(List ls){}Public void test(List li){}泛型的子类和父类:import java.util.*;public class Test{ public static void main(Strin原创 2014-03-28 13:48:32 · 507 阅读 · 0 评论 -
Java反射机制详解
首先说明一下,java反射所使用的类放在java.lang.reflect这个包中。Class对象:Class类没有公共构造方法。Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的,所以我们不需要创建Class对象,只需要获取已经Class对象。下面就是获取Class对象的方法:1.调用Class类中的静态方法forName原创 2014-03-28 15:35:27 · 438 阅读 · 0 评论 -
Java回调函数
public class Test{ public void method(){ System.out.println("我是主方法"); } public static void main(String[] args){ Test test=new Test(); Call call=new Call(test); }}class Call{ p原创 2014-04-02 17:00:02 · 327 阅读 · 0 评论 -
String s="abc"和String s=new String("abc")的区别
首先解释一下String s="abc"和String s=new String("abc")的区别:String s="abc";这里不会在堆中创建对象,首先在常量池寻找这个常量“abc”,如果没有“abc”则把abc存放到运行时常量池,然后把引用赋值给是s,如果有就直接把存在的地址赋值给s。String s=new String("abc");首先在堆中创建对象,然后再把对象引用赋值给原创 2014-03-23 12:52:52 · 4827 阅读 · 1 评论 -
ThreadLocal类详解
晚上回去看了源码再详解原创 2014-04-03 13:37:31 · 323 阅读 · 0 评论 -
Java资料汇总
JDK1.6源码:http://www.oschina.net/code/explore/jdk16JDK1.6中文文档:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh原创 2014-04-03 13:39:58 · 536 阅读 · 0 评论 -
Thread类详解
占位原创 2014-04-03 13:41:50 · 442 阅读 · 0 评论 -
Comparable接口详解
对象比较大小,只能通过继承Comparable这个接口并实现接口的compareTo方法,这个方法返回的是int值。在比较对象大小的时候,是根据compareTo的返回值来确定的,如果返回值为负代表小于,正数代表大于,零代表相等。.通过 Collections.sort()和Arrays.sort()进行自动排序。例子如下:import java.util.*;public cl原创 2014-04-03 17:47:06 · 1707 阅读 · 0 评论 -
同步/异步 阻塞/非阻塞
同步/异步:阻塞/fei原创 2014-08-14 08:31:48 · 324 阅读 · 0 评论