
java
文章平均质量分 75
zghw
这个作者很懒,什么都没留下…
展开
-
Java的random类
Random类 (java.util) Random类中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机转载 2014-11-11 17:22:44 · 396 阅读 · 0 评论 -
java基础总结 --- enum枚举实现多路分发 石头、剪刀、布游戏示例
多路分发:当你处理多种交互类型时,程序可能会变得相当杂乱。举例来说,如果一个系统要分析和执行数学表达式。我们可能会声明Number.plus(Number)、Number.mulitple(Number)等等,其中Number是各种数字对象的超类。然而,当你声明a.plus(b)时,你并不知道a或者b的确切类型,那你如何能让它们正确交互呢?你可能从未思考过这个问题的答案。Jav原创 2016-02-11 21:03:16 · 2621 阅读 · 0 评论 -
java基础总结 -- 泛型 在类、接口、方法、匿名类、元组等使用 堆栈例子 商店模型
为什么使用泛型: 在面向对象编程语言中,多态算是一种泛化机制。例如,你可以将方法的参数类型设为基类,那么该方法就可以接受从这个基类中导出的任何类作为参数,这样的方法更通用一些,可应用的地方也多一点。 在类的内部也是如此,凡是能够使用基类,确实是能够具备更好的灵活性。 但单继承会使程序受限。如果方法参数是一个接口而不是一个类,那么限制就放松多了,因为任何实现了该原创 2016-02-15 10:44:32 · 865 阅读 · 0 评论 -
java基础总结 --- 泛型 擦除、边界、通配符、
* 擦除的问题 * 为什么要擦除: 1.5版本才出现泛型 为了兼容之前地代码 * 它使得泛化的客户端可以用非泛化的类库来使用。 * 以及不破坏现有类库的情况下,将泛型融入java语言。 * 擦除使得现有的非泛型客户端代码能够在不改变的情况继续使用,直至客户端准备号用泛型重写这些代码。 * 擦除的代价:泛型不能用于显示地引用运行时类型的操作值中,例如转型instanceof操作和new表达原创 2016-02-16 14:05:11 · 2211 阅读 · 0 评论 -
java中==、equals()、hashCode()
前言 java中==、equals()、hashCode()都和对象的比较有关,在java中这三者各有什么用处呢,即java中为什么需要设计这三种对象的比较方法呢? 关于== ==是容易理解的。java设计java就是要比较两个对象是不是同一个对象。 对于引用变量而言,比较的时候两个引用变量引用的是不是同一个对象,即比较的是两原创 2016-02-17 10:40:53 · 356 阅读 · 0 评论 -
java基础总结-- 关键字含义
Java关键字及其作用一、 关键字总览:访问控制privateprotectedpublic 类,方法和变量修饰符abstractclassextendsfinalimplementsinterface原创 2016-02-19 06:39:35 · 357 阅读 · 0 评论 -
JAVA UUID 生成
JAVA UUID 生成GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复。UUID是1.5中新增的一个类,在java.util下,用它可以产生一个号称全球唯一的IDpackage com.mytest;i转载 2016-02-21 19:09:37 · 584 阅读 · 0 评论 -
java中什么是bridge method(桥接方法)
java中什么是bridge method(桥接方法)在看spring-mvc的源码的时候,看到在解析handler方法时,有关于获取桥接方法代码,不明白什么是桥接方法,经过查找资料,终于理解了什么是桥接方法。什么是桥接方法桥接方法是 JDK 1.5 引入泛型后,为了使Java的泛型方法生成的字节码和 1.5 版本前的字节码相兼容,由编译器自动生成的方法。我们可以通过M转载 2016-02-22 15:46:02 · 1329 阅读 · 0 评论 -
CGLIB介绍与原理
CGLIB介绍与原理(部分节选自网络)一、什么是CGLIB?CGLIB是一个功能强大,高性能的代码生成包。它为没有实现接口的类提供代理,为JDK的动态代理提供了很好的补充。通常可以使用Java的动态代理创建代理,但当要代理的类没有实现接口或者为了更好的性能,CGLIB是一个好的选择。二、CGLIB原理CGLIB原理:动态生成一个要代理类的子类,子类重写要代理的类的所有不是final原创 2016-03-22 18:58:06 · 63445 阅读 · 17 评论 -
非ajax请求下载,不刷新页面,防止页面直接打开的问题,安全下载
非ajax请求下载,不刷新页面,防止页面直接打开的问题,安全下载原创 2016-05-31 18:38:14 · 1557 阅读 · 0 评论 -
java中的Static class
Java中的类可以是static吗?答案是可以。在java中我们可以有静态实例变量、静态方法、静态块。类也可以是静态的。 java允许我们在一个类里面定义静态类。比如内部类(nested class)。把nested class封闭起来的类叫外部类。在java中,我们不能用static修饰顶级类(top level class)。只有内部类可以为static。 静态转载 2017-07-03 15:20:54 · 656 阅读 · 0 评论 -
java基础总结 --- enum枚举的常量相关方法、自动售货机(状态模式)例子
package com.zghw.base.enumx;import java.text.DateFormat;import java.util.Date;/** * 允许程序员为enum实例编写方法,从而为每个enum实例赋予各自不同的行为。 * 要实现常量相关的方法,你需要为enum定义一个或多个abstract方法, * 然后为每个enum实例实现该抽象方法 * @autho原创 2016-02-11 18:23:30 · 2408 阅读 · 0 评论 -
java 基础总结 -- enum 枚举与接口、泛型、集合的使用
/** * 随机取得enum中的一个enum实例工具类 * 枚举和泛型的使用 * @author zghw * */public class Enums { private static Random random = new Random(47); /** * 随机取得enum中的一个enum实例 * @param ec * @return */ public原创 2016-02-11 05:07:43 · 2809 阅读 · 0 评论 -
SAXReader解析XML
/** * 解析xml为导航对象集合 * * @param xml * @return * * static { SAXReader reader = new SAXReader(); try { Document doc = * reader * .原创 2014-11-13 15:19:18 · 597 阅读 · 0 评论 -
Java IO流学习总结
Java流操作有关的类或接口:Java流类图结构: 流的概念和作用流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 IO流的分类根据处理数据类型的不同分为:字符流和字节流根据数据流向不同分为:输转载 2014-11-20 15:38:46 · 398 阅读 · 0 评论 -
JAVA 生成 UUID
UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第原创 2015-08-18 16:18:37 · 4404 阅读 · 0 评论 -
java native方法及JNI实例
java native方法及JNI实例 (转载)转载 2015-11-10 20:49:24 · 456 阅读 · 0 评论 -
Java 基础总结--final关键字
final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 final成员变量原创 2016-02-08 21:49:30 · 334 阅读 · 0 评论 -
Java 基础总结--static关键字
通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法 声明为static的方法有以下几条限制: * 它们仅能调用其他的static方法。 * 它们只能访问static数据。 * 它们不能以任何方式引用this或super 声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生stat原创 2016-02-08 22:03:54 · 338 阅读 · 0 评论 -
Java 基础总结--this关键字
其实this主要要三种用法:1、表示对当前对象的引用!2、表示用类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!其实这是第一种用法的特例,比较常用,所以那出来强调一下。3、用于在构造方法中引用满足指定参数类型的构造器(其实也就是构造方法)。但是这里必须非常注意:只能引用一个构造方法且必须位于开始!还有就是注意:this不能用在static方法中!原创 2016-02-08 22:07:51 · 312 阅读 · 0 评论 -
Java 基础总结--初始化顺序1
package com.zghw.base;//遇见new、静态变量的设置和取值、静态方法调用时,都会触发初始化public class Initial { /** * 1.成员变量在使用前都会先赋上默认初始值 boolean =false short =0 int =0 float =0.0 double * =0.0 long =0 refrence =null char =原创 2016-02-08 22:17:55 · 315 阅读 · 0 评论 -
java基础总结--注解(Annotation)基本概念
深入理解Java:注解(Annotation)基本概念什么是注解(Annotation): Annotation(注解)就是Java提供了一种元程序中的元素关联任何信息和着任何元数据(metadata)的途径和方法。Annotion(注解)是一个接口,程序可以通过反射来获取指定程序元素的Annotion对象,然后通过Annotion对象来获取注解里面的元数据。 Annotation转载 2016-02-09 02:12:07 · 322 阅读 · 0 评论 -
java 基础总结--注解(Annotation)自定义注解入门
深入理解Java:注解(Annotation)自定义注解入门 要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。元注解: 元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.转载 2016-02-09 02:14:35 · 320 阅读 · 0 评论 -
java基础总结--注解(Annotation)--注解处理器
深入理解Java:注解(Annotation)--注解处理器 如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了。使用注解的过程中,很重要的一部分就是创建于使用注解处理器。Java SE5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处理器。注解处理器类库(java.lang.reflect.AnnotatedElement): Java使用Ann转载 2016-02-09 02:32:51 · 366 阅读 · 0 评论 -
java 基础总结 -- enum 枚举的基础使用
package com.zghw.base.enumx;/** * 枚举类型定义 * @author zghw * *///使用enum关键字定义一个枚举public enum Spiciness { //命名习惯以大写字母如有多个则用下划线连接,使用逗号分开具名值 NOT,MILD,MEDIUM,HOT,FLAMING}package com.zghw.base.en原创 2016-02-10 04:03:39 · 1230 阅读 · 0 评论 -
静态内部类
一般情况下是不可以用static修饰类的。如果一定要用static修饰类的话,通常static修饰的是匿名内部类。在一个类中创建另外一个类,叫做成员内部类。这个成员内部类可以静态的(利用static关键字修饰),也可以是非静态的。由于静态的内部类在定义、使用的时候会有种种的限制。所以在实际工作中用到的并不多。在开发过程中,内部类中使用的最多的还是非静态地成员内部类。不过在特定的情况转载 2017-09-07 17:43:17 · 748 阅读 · 0 评论