
java基本概念详解
luckykapok918
这个作者很懒,什么都没留下…
展开
-
java 泛型使用详解 + 总结
一. 泛型概念的提出(为什么需要泛型)?首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(String[] args) { 4 List list = new ArrayList(); 5 list.add("qqyumidi")原创 2015-12-25 16:02:51 · 3577 阅读 · 0 评论 -
java反射详解
反射是JDK5.0提供的java新特性,反射的出现打破了java一些常规的规则,如,私有变量不可访问。 简单的来说,反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字, 那么就可以通过反射机制来获得类的所有信息。 一般而言,开发者社群说到动态语言,大致认同的一个定义是:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”尽管在这样的定义与分类下Jav原创 2012-12-10 15:18:19 · 1828 阅读 · 2 评论 -
Java动态代理的实现详解
代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。 ?在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用 代理模式一般涉及到的角色有 –抽象角色:声明真实对象和代理对象的共同接口 –代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都转载 2012-12-10 15:18:23 · 460 阅读 · 0 评论 -
Java 基础——构造器和方法的区别
构造函数(构造器)是一种特殊的函数。其主要功能是用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。构造函数与类名相同,可重载多个不同的构造函数。在Java语言中,构造函数与C++语言中的构造函数相同,JAVA语言中普遍称之为构造方法。[java] view plain copy构造方法的声明:转载 2017-06-19 11:01:17 · 1114 阅读 · 0 评论 -
java中static作用详解
static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。 被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。 只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内找到他们。因此,static对象可以在它的任何对象创建之前访问,无需原创 2012-12-10 15:15:58 · 753 阅读 · 0 评论 -
java enum(枚举)使用详解 + 总结
enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中。 下面是我在使用 enum 过程中的一些经验和总结,主要包括如下内容:1. 通常的定义常量2. 语法(定义)3. 遍历、switch 等常用操作4. enum 对象的常用方法介绍5. 给 enum 自定义属性和方法原创 2015-12-24 22:58:26 · 2038 阅读 · 0 评论 -
Java并发编程-同步辅助类之CountDownLatch
操作方法构造函数CountDownLatch(int count),count表示要等待的操作数的数目。await()方法,阻塞等待,需要其他线程完成期待的操作,直到count为0。countDown()方法,当某一个操作完成后,调用此方法,count数减一。CountDownLatch是通过一个计数器来实现的,计数器的初始值为线程的数量,此值是线程将要等待的操作数(线程的数量)。当某个线程为了想...转载 2018-07-09 17:47:45 · 176 阅读 · 0 评论 -
Java并发编程-同步辅助类之CyclicBarrier
在上一篇文章中我们介绍了同步辅助类CountDownLatch,在Java concurrent包下还有另一个同步辅助类CyclicBarrier与CountDownLatch非常类似,它也允许多个线程在某个点进行同步,但CyclicBarrier类更加强大。CyclicBarrier 的字面意思是可循环使用(Cyclic)的屏障(Barrier)。它要做的事情是,让一组线程到达一个屏障(也可以叫...转载 2018-07-09 18:32:34 · 166 阅读 · 0 评论 -
Java并发编程-同步辅助类之Semaphore
信号量Semaphore是一个计数信号量,用来保护一个或多个共享资源的访问,是Java Concurrent包下提供的另一种同步方式:使用加锁方式同步,一个时间只能有一个线程访问共享资源,而使用Senmaphore可以控制多个线程同时访问共享资源。Semaphore信号量Semaphore可以控制某个资源可被同时访问的个数(通过构造方法设置):- 通过 acquire() 获取一个许可,如果没有就...转载 2018-07-10 09:42:13 · 164 阅读 · 0 评论 -
Java并发编程-同步辅助类之Exchanger
Exchanger是自jdk1.5起开始提供的工具套件,一般用于两个工作线程之间交换数据。在本文中我将采取由浅入深的方式来介绍分析这个工具类。首先我们来看看官方的api文档中的叙述: A synchronization point at which threads can pair and swap elements within pairs. Each thread presents some ...转载 2018-07-10 10:17:38 · 162 阅读 · 0 评论 -
注解学习三:注解(Annotation)--注解处理器
如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了。使用注解的过程中,很重要的一部分就是创建于使用注解处理器。Java SE5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处理器。注解处理器类库(java.lang.reflect.AnnotatedElement): Java使用Annotation接口来代表程序元素前面的注解,该接口是所有Anno转载 2016-01-26 23:04:06 · 368 阅读 · 0 评论 -
注解学习二:注解(Annotation)自定义注解入门
要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。元注解: 元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解: 1.@Target,转载 2016-01-26 18:44:56 · 333 阅读 · 0 评论 -
Java中static静态类和静态方法隐藏、重写、继承
Java静态类 在Java世界里,经常被提到静态这个概念,static作为静态成员变量和成员函数的修饰符,意味着它为该类的所有实例所共享,也就是说当某个类的实例修改了该静态成员变量,其修改值为该类的其它所有实例所见。最近一个项目里频繁用到static修饰的内部类,再读了一下《Effective Java》才明白为什么会用static来修饰一个内部类也就是本文的中心——静态原创 2016-01-21 17:53:51 · 3268 阅读 · 0 评论 -
Java中父类强制转换成子类的原则
Java中父类强制转换成子类的原则:父类型的引用指向的是哪个子类的实例,就能转换成哪个子类的引用。例:public class Test { public static void main(String[] args) { Person person = new Boy(); Boy boy = (Boy) person; boy.eat(); }原创 2016-01-21 18:13:16 · 21364 阅读 · 1 评论 -
java中final的介绍详解
java中final的介绍详解 Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。 1、final类 final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的。在设计类时候,如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会载被扩展,那么就设计为final类。 2、final方法原创 2012-12-10 15:16:00 · 479 阅读 · 0 评论 -
java的栈与堆(基本数据类型与包装数据类型)详解
栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 栈内存 堆内存 基础类型,对象引用(堆内存地址) 由new创建的对象和数组, 存取速度快 相对于栈内存较慢 数据大小声明周期必须确定 分配的内存由java虚拟机自动垃圾回收器管理。动原创 2012-12-10 15:16:02 · 655 阅读 · 0 评论 -
java基本数据类型与封装类型详解(int和Integer区别)
开发时候注意下----- int是java提供的8种原始数据类型之一。 Java为每个原始类型提供了封装类,Integer是java为int提供的封装类(即Integer是一个java对象,而int只是一个基本数据类型)。int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成原创 2012-12-10 15:16:35 · 1566 阅读 · 0 评论 -
抽象类和接口的区别详解
理解抽象类从语法定义层面看abstract class 和 interface从设计理念层面看 abstract class 和 interface 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有原创 2012-12-10 15:16:48 · 350 阅读 · 0 评论 -
注解学习一:注解(Annotation)基本概念
什么是注解(Annotation): Annotation(注解)就是Java提供了一种元程序中的元素关联任何信息和任何元数据(metadata)的途径和方法。Annotion(注解)是一个接口,程序可以通过反射来获取指定程序元素的Annotion对象,然后通过Annotion对象来获取注解里面的元数据。 Annotation(注解)是JDK5.0及以后版本引入的。它可以用于创原创 2016-01-26 17:38:23 · 363 阅读 · 0 评论 -
Java并发编程-同步辅助类之Phaser
在前面已经学习过 Java并发编程-同步辅助类之CountDownLatch Java并发编程-同步辅助类之CyclicBarrier 这篇文章介绍另一个辅助类Phaser,它是Jdk 1.7才添加的新的功能,它可以实现和CountDownLatch/CyclicBarrier类似的功能,但Phaser的功能更多,更加的灵活,它支持任务在多个点都进行同步,支持动态调整注册任务的数量。当然你也可以使...转载 2018-07-10 14:13:51 · 197 阅读 · 0 评论