Java
文章平均质量分 76
perfe_ct
这个作者很懒,什么都没留下…
展开
-
关于Scanner一些用法
以前上课接触过Java Scanner 还做了个文法分析器,刚刚碰巧看了《Thinking in Java》关于Scanner用法,总觉得很陌生。比如说nextInt()方法是返回当前分词的int ,如果当前分词判断并非为int,那么就会报java.util.InputMisma原创 2011-08-14 15:29:50 · 8061 阅读 · 0 评论 -
Java程序执行过程分析
class parent{int i = 9;//定义初始化int j;parent(){System.out.println("i = " + i);j = 39;System.out.println("j = " + j);}static int x = prt("static parent.x initialized.");//静态定义初始化static int p转载 2011-06-17 10:31:00 · 772 阅读 · 0 评论 -
【解惑】真正理解了protected的作用范围
一提到访问控制符protected,即使是初学者一般都会很自信的认为自己在这方面的理解没有问题。那好,我们提一个问题出来看看.....问题提出:请看下面两端代码,其中包B中的猫和鼠都继承了动物类。Java代码//代码1:包A中有一个动物类pac转载 2011-09-20 14:45:15 · 940 阅读 · 0 评论 -
Java虚拟机体系结构
众所周知,Java源代码被编译器编译成class文件。而并不是底层操作系统可以直接执行的二进制指令(比如Windows OS的.exe文件)。因此,我们需要有一种平台可以解释class文件并运行它。而做到这一点的正是Java 虚拟机(JVM)。实际上,JVM是一种解释执行转载 2011-08-17 11:21:38 · 838 阅读 · 0 评论 -
【总结】String in Java
作者:每次上网冲杯Java时,都能看到关于String无休无止的争论。还是觉得有必要让这个讨厌又很可爱的String美眉,赤裸裸的站在我们这些Java色狼面前了。嘿嘿....众所周知,String是由字符组成的串,在程序中使用频率很高。Java中的String是一个类,而转载 2011-09-20 12:27:32 · 452 阅读 · 0 评论 -
Class文件内容及常量池
当JVM运行Java程序的时候,它会加载对应的class文件,并提取class文件中的信息存放在JVM开辟出来的方法区内存中。那么这个class文件里面到底有些什么内容呢?一、class文件内容概述class文件是由8bits的字节流组成,全部字节构成了15个有意转载 2011-08-17 00:24:39 · 608 阅读 · 0 评论 -
Java类的完整构造执行顺序
这里只说一个完整的结果,至于为什么是这样的顺序,可以参考我以前的文章:深入剖析java类的构造方式如果父类有静态成员赋值或者静态初始化块,执行静态成员赋值和静态初始化块如果类有静态成员赋值或者静态初始化块,执行静态成员赋值和静态初始化块将类的成员赋予初值(原始类型的成员的值为规定值,例如int型为0,float型为0.0f,boolean型为false;对象类型的初始值为null转载 2011-06-23 11:37:00 · 3321 阅读 · 0 评论 -
《深入Java虚拟机》学习笔记
当你说“Java虚拟机”时,可能指的是以下三种不同的东西:抽象规范。一个具体的实现。(它或者完全用软件实现,或者以硬件和软件相结合的方式来实现)一个运行中的虚拟机实例。(比如说,在Android系统中运行一个Java程序会启动Dalvik,Linux内核会创建一个Dalv原创 2011-07-16 12:33:37 · 618 阅读 · 0 评论 -
【解惑】小心浅克隆
★ Java对象赋值Java代码Employee e1=new Employee("李"); //Employee是一个自定义类 Employee e2=e1; //赋值对象 e2.setName("王");//改变对象e2的名字转载 2011-09-24 11:40:36 · 418 阅读 · 0 评论 -
介绍HashSet
(1) 为啥要用HahSet?假如我们现在想要在一大堆数据中查找X数据。LinkedList的数据结构就不说了,查找效率低的可怕。ArrayList哪,如果我们不知道X的位置序号,还是一样要全部遍历一次直到查到结果,效率一样可怕。HashSet天生就是为了提高查找效率的。转载 2011-09-24 20:19:45 · 693 阅读 · 0 评论 -
解析Java对象的equals()和hashCode()的使用
解析Java对象的equals()和hashCode()的使用前言在Java语言中,equals()和hashCode()两个函数的使用是紧密配合的,你要是自己设计其中一个,就要设计另外一个。在多数情况 下,这两个函数是不用考虑的,直接使用它们的默认设计就可以了。但是转载 2011-07-13 17:41:11 · 342 阅读 · 0 评论 -
Java Serializable(序列化)的理解
1、序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。2转载 2011-07-13 10:48:24 · 534 阅读 · 0 评论 -
Java输入输出流
Java语言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为你往往需要包装许多不同的对象。在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流....本文的目的是为大家做一个简要的介绍。 流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数转载 2011-06-22 10:31:00 · 599 阅读 · 0 评论 -
Java 理论与实践: 正确使用 Volatile 变量
Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是synchronized 的一部分。本文介绍了几种有效转载 2011-08-31 20:12:12 · 360 阅读 · 0 评论 -
理解ThreadLocal
ThreadLocal是什么早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地转载 2011-09-01 10:38:14 · 327 阅读 · 0 评论 -
绿色线程
1.什么是绿色线程?绿色线程(Green Thread)是一个相对于操作系统线程(Native Thread)的概念。操作系统线程(Native Thread)的意思就是,程序里面的线程会真正映射到操作系统的线程,线程的运行和调度都是由操作系统控制的绿色线程(Gree转载 2011-08-20 20:39:20 · 6287 阅读 · 0 评论 -
Java动态绑定机制的内幕
在Java方法调用的过程中,JVM是如何知道调用的是哪个类的方法源代码? 这里面到底有什么内幕呢? 这篇文章我们就将揭露JVM方法调用的静态(static binding)和动态绑定机制(auto binding)。★ 静态绑定机制 Java代码转载 2011-08-16 23:55:54 · 844 阅读 · 0 评论 -
关于匿名内部类
学Java 虽然时间不算太长,但是对一些原理性的东西很感兴趣。今天分析了一下匿名内部类调用构造方法的原理,希望高手拍砖。 因为匿名内部类没有名字这个特殊性质,所以我们无从给它指定构造方法,构造方法必须和类名同名,类名都没有,构造方法就无从谈起了。但是匿名内部类可以通过转载 2011-07-19 14:44:49 · 1671 阅读 · 0 评论 -
【解惑】领略内部类的“内部”
内部类有两种情况:(1) 在类中定义一个类(私有内部类,静态内部类)(2) 在方法中定义一个类(局部内部类,匿名内部类)1、私有内部类 —— 在方法之间定义的内部类,非静态我们首先看看类中内部类的两个特点:(1) 在外部类的作用范围内可以任意创建内部类对象转载 2011-10-07 17:28:30 · 539 阅读 · 0 评论