Java
文章平均质量分 56
tianxiaoqi2008
这个作者很懒,什么都没留下…
展开
-
java和c/c++ 数据类型长度对比
1. c语言中的整数类型有char, short, int, long等几种, 下面是C语言对每种数据类型长度的规定: (a). short和long类型的长度不相同 (b). int类型通常同具体机器的物理字长相同 (c). short通常是16bits, int通常是16bits or 32bits每种编译器可以根据硬件的不同自由确定, 但是short和int必须最少是16bits原创 2011-12-21 17:08:17 · 1506 阅读 · 0 评论 -
Java多态性详解——父类引用子类对象
面向对象编程有三个特征,即封装、继承和多态。 封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据。 继承是为了重用父类代码,同时为实现多态性作准备。那么什么是多态呢? 方法的重写、重载与动态连接构成多态性。Java之所以引入多态的概念,原因之一是它在类的继承问题上和C++不同,后者允许多继承,这确实给其带来的非常强大的功能,但是复杂的继承关转载 2012-02-23 23:36:15 · 478 阅读 · 0 评论 -
内部类有哪些好处?
第一个好处:隐藏你不想让别人知道的操作,也即封装性。public interface Contents {int value();}public interface Destination {String readLabel();}public class Goods {private class Content implements Contents {pri转载 2012-02-16 23:49:26 · 7669 阅读 · 0 评论 -
java synchronized总结
Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问object的一个sy原创 2012-02-24 18:07:23 · 334 阅读 · 0 评论 -
内部类
从Java1.1开始引入了内部类以来,它就引起了人们的激烈争论。其实任何优秀的语言特性用得不好就是滥用,内部类用得不好就会导致代码像迷宫一样,导致出现毫无重用的综合征。1、内部类分为成员内部类、静态嵌套类、方法内部类、匿名内部类。几种内部类的共性:A、内部类仍然是一个独立的类,在编译之后会内部类会被编译成独立的.class文件,但是前面冠以外部类的类命和$符号。B、内部类不能用转载 2012-02-16 01:25:58 · 228 阅读 · 0 评论 -
为什么JAVA要提供 wait/notify 机制?是为了避免轮询带来的性能损失
我好土,真的。学用了四五年的JAVA,还从没用过 wait/notify,也不清楚它跟synchronized 关键字 相比有什么好处。今天查了些资料,终于明白了:wait/notify 机制是为了避免轮询带来的性能损失。 为了说清道理,我们用“图书馆借书”这个经典例子来作解释。 一本书同时只能借给一个人。现在有一本书,图书馆已经把这本书借了张三。转载 2012-02-25 01:33:41 · 458 阅读 · 0 评论 -
java访问控制权限一句话描述版
(1)私有的:用关键字private修饰,只有本类可见。(2)默认的:不用访问控制符关键字修饰,在本类、本包可见,不同包的子类都不可见。(3)受保护的:用关键词protected修饰,在本类、本包、所有子类中可见。(4)公共的:用关键字public修饰,对一切情况皆可见。public修饰的内容限制最小,也可以说是没有限制,可以在其他任何位置访问,在实际项目开发中,一般用来修转载 2012-02-19 16:00:56 · 467 阅读 · 0 评论 -
Java的ResourceBundle
Java的ResourceBundle是一个很好用的工具,可以很方便的用来实现软件的国际化和本地化功能。因为ResourceBundle能够按照一定的规则,自动寻找目录下符合某个文化和地区的资源文件(.properties文件)。通过为不同的文化和地区提供不同的资源文件,然后让java自动根据规则来读取这些资源文件,实际上就完成软件的本地化工作。 先看一个小例子,建立一个te转载 2012-03-07 10:32:41 · 599 阅读 · 0 评论 -
java中Class.forName的作用
Class.forName(xxx.xx.xx) 返回的是一个类首先你要明白在java里面任何class都要装载在虚拟机上才能运行。这句话就是装载类用的(和new 不一样,要分清楚)。 至于什么时候用,可以考虑一下这个问题,给你一个字符串变量,它代表一个类的包名和类名,你怎么实例化它?只有你提到的这个方法了,不过要再加一点。 A a = (A)Class.forName("pacage转载 2012-02-23 11:20:02 · 288 阅读 · 0 评论 -
Java自定义注释@interface的用法
一、什么是注释 说起注释,得先提一提什么是元数据(metadata)。所谓元数据就是数据的数据。也就是说,元数据是描述数据的。就象数据表中的字段一样,每个字段描述了这个字段下的数据的含义。而J2SE5.0中提供的注释就是java源代码的元数据,也就是说注释是描述java源代码的。在J2SE5.0中可以自定义注释。使用时在@后面跟注释的名字。转载 2012-02-22 16:50:39 · 738 阅读 · 0 评论 -
Java项目经验
Java就是用来做项目的!Java的主要应用领域就是企业级的项目开发!要想从事企业级的项目开发,你必须掌握如下要点:1、掌握项目开发的基本步骤2、具备极强的面向对象的分析与设计技巧3、掌握用例驱动、以架构为核心的主流开发方法没有人愿意自己一辈子就满足于掌握了一些代码实现的技巧,别人告诉你要实现什么,你就用代码堆砌来实现别人的要求!你必须学会从整个项目的角度去思考!你必须学会假如转载 2012-01-11 18:24:53 · 781 阅读 · 0 评论 -
java动态绑定静态绑定
首先是方法的参数是父类对象,传入子类对象是否可行然后引出Parent p = new Children();这句代码不是很理解,google的过程中引出向上转型要理解向上转型又引出了动态绑定从动态绑定又引出了静态绑定 程序绑定的概念:绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。对java来说,绑定分为静态绑定和动态绑定;或者叫做前期绑定和后期绑定转载 2012-01-13 18:50:50 · 409 阅读 · 0 评论 -
Java 值传递 引用传递
Java中的参数传递机制一直以来大家都争论不休,究竟是“传值”还是“传址(传引用)”,争论的双方各执一词,互不相让。不但“菜鸟”们一头雾水,一些“老鸟”也只知道结果却说不出所以然来。我相信看过下面的内容后,你就会明白一些。先看基本类型作为参数传递的例子:public class Test1 { public static void main(String[] args) {转载 2012-01-19 17:13:52 · 792 阅读 · 0 评论 -
[转]Java中Runnable和Thread的区别
在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限,下面看例子:package org.thread.demo;class MyThread extend转载 2012-02-13 23:48:21 · 203 阅读 · 0 评论 -
Java transient关键字
Volatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到主内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。 Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。 这样当多个线程转载 2012-02-22 00:47:10 · 274 阅读 · 0 评论 -
java的class文件格式分析
1. ClassFile 基本定义Classfile 是一个连续的8 位字节二进制流,数据项按照顺序存储在class 文件中,相邻项没有间隔,占多字节空间的项时,高位在前。ClassFile 文件格式是固定的,按照顺序名称长度描述备注majic4 个字节魔数 :0xCAFEBABE转载 2012-02-23 12:46:49 · 386 阅读 · 0 评论 -
java.util.Arrays类
在java.util 中的Arrays 数组类容纳着一系列静态方法可简化我们对数组的操作,总共有四个函数。sort()可对数组排序binarySearch()用于在排好序的数组中查找一个元素。equals()用于比较两个数组是否相等fill()将一个值复制到一个位置,如果是对象数组则将引用复制到每一个位置。asList()把数组转变成一个List 容器。 public转载 2012-02-22 17:50:43 · 530 阅读 · 0 评论 -
深入Java核心 Java内存分配原理精讲
Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分配方面的知识。一般Java在内存分配时会涉及到以下区域:◆寄存器:我们在程序中无法控制◆栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中◆堆:存放用new产生的数据转载 2012-02-23 10:58:53 · 246 阅读 · 0 评论 -
java Comparator
再举个简单例子然后用程序实现。如公司要将员工进行排序(不要说领导排在前面),假设我们的需求比较复杂。先进行姓排序,谁的姓拼音靠前,谁就排前面。然后对名字进行排序。恩.如果同名,女性排前头。如果名字和性别都相同,年龄小的排前头。ok,一个也不算复杂的需求。 如果对java比较熟悉的会知道java.util.Comparator 接口。要实现里面的函数 int compare(Object o转载 2012-03-07 10:48:19 · 1635 阅读 · 0 评论