摘要:一、什么是反射:反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。其中LEAD/LEAD++ 、OpenC++...
阅读全文
随笔分类 - java
java学习笔记
摘要:一、什么是反射:反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。其中LEAD/LEAD++ 、OpenC++...
阅读全文
摘要:在Java中如何遍历Map对象How to Iterate Over a Map in Java在java中遍历Map有不少的方法。我们看一下最常用的方法及其优缺点。既然java中的所有map都实现了Map接口,以下方法适用于任何map实现(HashMap, TreeMap, LinkedHashMap, Hashtable, 等等)方法一 在for-each循环中使用entries来遍历这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。Map map = new HashMap();for (Map.Entry entry : map.entrySet()) { Sy.
阅读全文
摘要:双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。表5.7中列出了BigDecimal类的主要构造器和方法。 表5.7 BigDecimal类的主要构造器和方法 构 造 器描 述 BigDecimal(int)创建一个具有参数所指定整数值的对象。 BigDecimal(double)创建一个具有参数所指定双精度值的对象。 BigDecimal(long)创建一个具有参数所指定长整数值的对象。 BigDecimal(Stri...
阅读全文
摘要:. 简介2. 安装3. log4j基本概念3.1. Logger3.2. Appender3.2.1. 使用ConsoleAppender3.2.2. 使用FileAppender3.2.3. 使用WriterAppender3.3. Layout3.4. 基本示例3.4.1. SimpleLayout和FileAppender3.4.2. HTMLLayout和WriterAppender3.4.3. PatternLayout和ConsoleAppender4. 使用外部配置文件5. 参考资料 (以及一些有参考价值的链接)1.简介程序开发环境中的日志记录是由嵌入在程序中以输出一些对开发人员
阅读全文
摘要:前言:Java的类库日益庞大,所包含的类和接口也不计其数。但其中有一些非常重要的类和接口,是Java类库中的核心部分。常见的有String、Object、Class、Collection、ClassLoader...,熟悉这些类是学好Java的基础。而这些类一般不容易理解,需要做深入的研究和实践才能掌握。下面是我对这些类理解和使用的一些总结。欢迎你在阅读后将你宝贵的意见和读后感留下! Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识。这项信息纪录了每个对象所属的类。虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类。Class
阅读全文
摘要:大家在开发过程的当中可能会遇到线程同步的问题,下面就这个问题做简要的分析:注:wait notify 都是Object的方法同步(阻塞) :是一种防止对共享资源访问导致的数据不一致的一种模式。详细请参看操作系统。在Java中,由于对多线程的支持,对同步的控制主要通过以下几个方法,synchronized,和wait(),notify()和notifyAll(),下面进行一一的讲解:A关键字synchronized每个java对象都有一把锁, 当有多个线程同时访问共享资源的时候, 需要Synchronize 来控制安全性, synchronized分 synchronized方法 和synchr
阅读全文
摘要:第一种:最常规的一种遍历方法,最常规就是最常用的,虽然不复杂,但很重要,这是我们最熟悉的。Java代码 importjava.util.Collection; importjava.util.Iterator; importjava.util.Map; importjava.util.HashMap; /** *1.把值放到一个集合里,然后遍历集合 */publicclassTraversalMap1{ privatestaticMap<Integer,String>map; privatestaticTraversalMap1getMap(){ map=newHashMap<
阅读全文
摘要:合法E-mail地址: 1. 必须包含一个并且只有一个符号“@” 2. 第一个字符不得是“@”或者“.” 3. 不允许出现“@.”或者.@ 4. 结尾不得是字符“@”或者“.” 5. 允许“@”前的字符中出现“+” 6. 不允许“+”在最前面,或者“+@” 正则表达式如下: ----------------------------------------------------------------------- ^(\w+((-\w+)|(\.\w+))*)\+\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0
阅读全文
摘要:正则表达式语法 正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串。 正则表达式示例 表达式 匹配 /^\s*$/ 匹配空行。 /\d{2}-\d{5}/ 验证由两位数字、一个连字符再加 5 位数字组成的 ID 号。 /<\s*(\S+)(\s[^>]*)?>[\s\S]*<\s*\/\1\s*>/ 匹配 HTML 标记。 下表包含了元字符的完整列表以及它们在正则表达式上下文中的行为: 字符 说明 \ 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,“n”匹
阅读全文
摘要:Java语法总结 - 内部类Posted on 2007-10-24 08:03 Raylong 阅读(23526) 评论(23) 编辑 收藏 所属分类: Java语法总结 -->Java语法总结 - 内部类从Java1.1开始引入了内部类以来,它就引起了人们的激烈争论。其实任何优秀的语言特性用得不好就是滥用,内部类用得不好就会导致代码像迷宫一样,导致出现毫无重用的综合征。1、内部类分为成员内部类、静态嵌套类、方法内部类、匿名内部类。几种内部类的共性:A、内部类仍然是一个独立的类,在编译之后会内部类会被编译成独立的.class文件,但是前面冠以外部类的类命和$符号。B、内部类不能用普通的
阅读全文
摘要:内部类的使用:内部类的使用的优缺点: 优点:减少了在类文件编译后的产生的字节码文件的大小 缺点:使程序结构不清晰使用内部类的注意事项: 内部类的使用一般都与所在的外部类有一定的关联,它是在一个类的内部嵌套定义的类,它可以是其它类的成员,也可以在一个语句块的内部定义,还可以在表达式内部匿名定义(匿名内部类)。内部类有如下的特性: .一般用在定义它的类或语句块之内,在外部引用它时必须给出完整的名称,名字不能与包含它的数百名相同. 可以使用包含它的类的表态和实例成员变量,也可以使用它所在方法的局部变量.可以定义为abstract.若被声明为static,就变成了顶层类,不能再使用局部变量.若想在in
阅读全文
摘要:package 1class MyObject3 {protected Object clone() throws CloneNotSupportedException { return super.clone(); }}package 2public class Test3 extends MyObject3 { public static void main(String args[]) { MyObject3 obj = new MyObject3(); obj.clone(); // Compile error. Test3 tobj = new Test3(); tobj.clone
阅读全文
摘要:Java中重载(overload)和重写(override)的区别重载(overload):重载构成的条件:方法的名称相同,但参数类型或参数个数不同,才能构成方法的重载。 重写(override)在子类中定义一个与父类同名、返回类型、参数类型均相同一个方法,称为方法的覆盖。 覆盖发生在子类与父类之间。通常应用于多态中。 首先我们来讲讲: 一、重载(Overloading) (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时 存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。 (2) Java的方法重载,就是在类中可以创建多个...
阅读全文
摘要:Java堆.栈和常量池 笔记今天复习了一下这些知识,顺便做了下笔记.1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域:存放静态成员(static定义的)5. 常量池:存放字符串常量和基本类型常量(public static final)。6. 非RAM存储:硬盘等永久存储空间这里我们主要关心栈,堆和常量池,对于栈和常量池中的对象可以共享,对于堆中的对象不可以共享。栈中的数
阅读全文
摘要:Java静态代码块(static block)调用陷阱小记2012-06-11 12:28:55 我来说两句收藏 我要投稿 [字体:小 大]Java 中的static代码块并不一定会被调用。设两个含静态方法和静态块的两个类(父类Base 子类Extend)static块要写在public类里,所以两个类要写在单独的两个.java文件里//父类public class Base { public static String who = "Mr. Base"; Base(){ } static { System. out.println("static block i
阅读全文
摘要:同问关于java中一次编译多个源文件时的编译顺序的问题2006-11-16 23:35提问者: 咏春新手 | 浏览次数:3572次|为了节省回答者的时间我先把问题提出来,再针对问题案例作详细说明。如果能不用看问题案例就回答出来当然省时。我的问题是java里面,用命令行提示符环境编译源文件的时候,加上*通配符,如javac -d .Test*.java的形式,这种情况下编译器将选择怎样的顺序编译文件名里含有Test字段的多个源文件?是不是从Test开始?我已经试验过了,结果是不一定。希望回答者针对自己的答案给我拿出来让我信服的证据,有理想答案的话我会追加可观的积分,希望各路英雄小驻帮忙,谢了。案
阅读全文
摘要:Java 基本数据类型取值范围讲解java中的类型概念名的说法不一、让我很是迷茫,我个人的理解整理,如有错误还请高人指点,!一、Java的类型词语理解:1) 原始数据类型,简单类型,基本类型都是一个含义;2)复合类型,扩展类型,复杂类型、引用类型都是一个含义;3)浮点类型,实数、实型都是一个含义;4)逻辑型、布尔型都是一个含义;5)本人个人认同的类型分类:阅读时需要理解:定点:定点的意思是把小数点定在末尾,小数点后没有数字的数据,Java中通常把它们称为整数;常量:就是直接的值;变量:放置常量的容器,除了放置常量之外,也可以给变量一个运算式,变量中的值是可变的;二、Java数据类型基本概念:
阅读全文
|