JavaSE(十)之反射】的更多相关文章

个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.反射(JAVA Reflection)的理解 1.1 什么是反射(JAVA Reflection) Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法. 1.2 Java 反射机制提供的功能 在运行时判断任意一个对象所属的类 在运行时构造任意一个类的对象 在运行时判断任意一个类所具…
通过反射可以在运行时动态地获取一个应用的元数据. 一 反射相关的类和方法 与反射相关的类处在System.Reflection命名空间下,包括Assembly.Module.MethodInfo.FieldInfo.PropertyInfo.EventInfo. a)Type类 System.Type类是反射机制的核心.Type类本身是一个抽象类,代表CTS通用类型系统中的某个类型. 对于已经实例化的对象,可以使用<对象名称>.GetType()来取得Type类.另外也可以使用静态方法Type…
在说反射之前,必须得先说说java的类加载器,类加载器的定义:将.class文件加载到内在中,并为之生成对应的Class对象. 一般有三种 1 Bootstrap ClassLoader 根类加载器也被称为引导类加载器,负责Java核心类的加载比如System,String等.在JDK中JRE的lib目录下rt.jar文件中2 Extension ClassLoader 扩展类加载器负责JRE的扩展目录中jar包的加载.在JDK中JRE的lib目录下ext目录3 Sysetm ClassLoad…
个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.File类型 1.1.File类的理解 File类是在java.io包下 File可以理解成一个文件(.mp3  .mp4 .txt)或者一个目录 File没向文件写入数据的功能.只创建,删除,文件大小等方法. File可以理解成流的终端. 我们经常将File的对象作为实参传入到流的构造器中 File 能新建.删除.重命名文件和目录,但 File 不能访问文件内容本身.如果需要访问文件内容本身,则…
个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.泛型在集合中的使用 1.1 在集合中使用泛型之前的例子 ​ 为什么要有泛型(Generic)? 1. 解决元素存储的安全性问题2. 解决获取数据元素时,需要类型强转的问题 ​ ​ 1.2 在集合中使用泛型例子1 List<String> list = new ArrayList<String>(); list.add("aaaa"); List<Intege…
个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.数组和集合 1.1 内存中对数据进行存储和管理的“容器”:数组,集合 1.2 数组存储的特点和缺点 特点: 数组一旦创建成功,长度不可变 元素存储的类型就是数组声明时的类型. 缺点: 数组的长度不可变 数组的API属性比较少,比如没有  增,删,改,插 等... 存储的元素是序的可重复的,对无序的不可重复的无能为力. 集合存储的优点: 长度可变 底层的数据结构比较丰富.比如:数组,链表,红黑树 集…
个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.包装类 1 .1 八个包装类 ​ 1. 2 基本数据类型,包装类,String者之间的转换 ​ 2.String 类 2.1 说明 被final修饰该类不能被继承 实现了java.io.Serializable : 可以进行序列化.可以将内存中的数据写入磁盘.前端和后台数据的传输也需要进行序列化.不同进程间数据的传输也需要序列化. 实现了Comparable接口 : 可以比较内容. 实现了Char…
个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.面向对象的特性之:多态性 多态性的理解:事物的多种形态 1.1 广义上多态性的体现:①方法的重写,重载. ②子类对象的多态性 1.2 狭义上多态性的体现:①子类对象多态性 1.3 何为子类对象多态性:父类的引用指向子类的对象 1.4 多态性的应用:  虚拟方法调用:编译看左边,运行看右边  编译时:只能看到父类中的方法和属性  运行时:调用的是子类重写的父类的方法 1.5 多态性的说明:   思考…
一:Java简介 1. Java语言的介绍:Java是一门面向对象编程语言,具有功能强大和简单易用两个特征. 2. Java语言的特点:简单性.面向对象.分布式.健壮性.安全性.平台独立与可移植性.多线程.动态性等 3. Java语言的应用:编写桌面应用程序.Web应用程序.分布式系统和嵌入式系统应用程序等 二:Java自学路线图 三:Java基础 一.标识符和关键字 1. 标识符 1. 在java语言中,用来标志类名.对象名.变量名.方法名.类型名.数组名.包名的有效字符序列,称为“标识符”:…
目录 C#反射与特性(一):反射基础 1. 说明 1.1 关于反射.特性 2. 程序集操作 2.1 获取 程序集对象(Assembly) 2.2 Assembly 使用 2.3 获取程序集的方式 C#反射与特性(一):反射基础 1. 说明 1.1 关于反射.特性 在 <C# 7.0 本质论>中,关于这方面的知识在 <第十八章 反射.特性和动态编程>:在<C# 7.0 核心技术指南>这部分内容在<第19章 反射和元数据>. [图片来自 <C# 7.0 本…
一.String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的? String在Java中是final的类,所以不可变:StringBuffer是同步的,StringBuilder是不同步的.后2者可以通过append改变引用指向的 对象.而String则做不到,String只能通过在内存中添加新的对象,将引用指向该新对象 答案 二.VECTOR,ARRAYLIST, LINKEDLIST的区别是什么? Vector是同步的,而后2者是非同步…
前言 知识点 1.JSP是什么   java  server   page,javaserver端页面技术.其主要作用在server端动态生成页面, 其组成java代码和html, 2.JSP的组成    html:包含css/js    java        java代码段               <%java代码%>        表达式              <%=%> 3.隐含对象    对象不须要创建,能够直接调用.   out  . request   .re…
一.什么是面向对象的程序设计 1.面向过程 程序设计:核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么......面向过程的设计就好比精心设计好一条流水线,是一种机械式的思维方式. 优点是:复杂度的问题流程化,进而简单化(一个复杂的问题,分成一个个小的步骤去实现,实现小的步骤将会非常简单) 缺点是:一套流水线或者流程就是用来解决一个问题,生产汽水的流水线无法生产汽车,即便是能,也得是大改,改一个组件,牵一发而动全身. 应用场景:一旦完成基本很少改变的场景,著名的例子有Linux內核,…
大家按这个路线学完后基本可以找工作了 第一节java入门 1-Java 背景介绍 2-Java 入门程序的编写 3-环境配置 4-基本概念介绍 5-类型转换 6-开发工具使用 第二节java基础 1-运算符的使用 2-键盘录入的练习 3-Java语法-判断 4-Java语法-循环一 5-Java语法-循环二 6-随机数获取和使用 7-数组简介 8-数组的使用 9-方法的定义和使用 10-方法的练习 11-断点调试 12-基础语法练习一 13-基础语法练习二 第三节面向对象 1-面向对象概述 2-…
一.静态语言与动态语言 静态类型语言:是指在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型,某些具有类型推导能力的现代语言可能能够部分减轻这个要求.强类型 动态类型语言:是在运行时确定数据类型的语言.变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型.弱类型 静态:C#,Java,C,C++ 动态:JavaScript,python,perl,ruby,php 静态类型语言因为类型强制声明,所以IDE可以做到很好的代码感知能力,因为有IDE的…
开始接触的时候可能大家都会很模糊到底什么是反射,大家都以为这个东西不重要,其实很重要的,几乎所有的框架都要用到反射,增加灵活度.到了后面几乎动不动就要用到反射. 首先我们先来认识一下对象 学生----->抽象----->Student 表示学生   Student = ....... 那我们的反射中的Class呢? 类型----->抽象----->Class(反射的入口破) java.lang.class    表示java中的类型 Class c = Student.Class…
反射技术:其实就是动态加载一个指定的类,并获取该类中的所有的内容.而且将字节码文件封装成对象,并将字节码文件中的内容都封装成对象,这样便于操作这些成员.简单说:反射技术可以对一个类进行解剖. 反射的好处:大大的增强了程序的扩展性. 反射的基本步骤: 1.获得Class对象,就是获取到指定的名称的字节码文件对象. 2.实例化对象,获得类的属性.方法或构造函数. 3.访问属性.调用方法.调用构造函数创建对象. 获取这个Class对象,有三种方式: 1:通过每个对象都具备的方法getClass来获取.…
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第二十六课:反射 剪裁平面,蒙板缓存和反射: 在这一课中你将学会如何创建镜面显示效果,它使用剪裁平面,蒙板缓存等OpenGL中一些高级的技巧.   欢迎来到另一个激动人心的课程,这课的代码是Banu Cosmin所写,当然教程还是我…
说到反射,相信有过编程经验的人都不会陌生.反射机制让Java变得更加的灵活.反射机制在Java的众多特性中是非常重要的一个.下面就让我们一点一点了解它是怎么一回事. 什么是反射 在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制. 反射有什么用 1,在运行时判断任意一个对象所属的类: 2,在运行时构造任意一个类的对象: 3,在运行时判断任意一个类所具有的成员变…
第一期:Java面试 - 100题,梳理各大网站优秀面试题.大家可以跟着我一起来刷刷Java理论知识 [012] - JavaSE面试题(十二):多线程(2) 第1问:多线程的创建方式? 方式一:继承Thread类创建线程类 方式二:通过Runnable接口创建线程类 方式三:通过Callable和Future创建线程 第2问:启动一个线程是调用  run() 方法还是  start() 方法? 启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由 JV…
第一期:Java面试 - 100题,梳理各大网站优秀面试题.大家可以跟着我一起来刷刷Java理论知识 [010] - JavaSE面试题(十):集合之Map 第1问:HashMap和HashTable有什么区别? HashMap允许键和值是null,而Hashtable不允许键或者值是null. Hashtable是同步的,而HashMap不是.因此,HashMap更适合于单线程环境,而Hashtable适合于多线程环境. HashMap提供了可供应用迭代的键的集合,因此,HashMap是快速失…
反射机制 1.反射机制是什么?----英文单词是:reflect.在java.lang包下---这才是java最牛逼的技术 首先提前知道一句话----在java中,有了对象,于是有了类,那么有了类之后,也就有了反射 因此:学反射机制,需要做到一件事----把思想从以前的类中跳出来,将思想再拔高一个层次--站在类的头上思考问题   那么到底什么是反射机制? 就是用来动态的操作类( 含静态操作类本身[ 名字.修饰符.注解... ].动态操作类中的成员信息[ 属性.方法 ....] ) 为什么需要学习…
前言 上一篇中,我们用了反射工厂来解除BLL和UI层耦合的问题.当然那是最简单的解决方法,再复杂一点的程序可能思路相同,但是在编程细节中需要考虑的就更多了,比如今天我在重构过程中遇到的问题.也是接下来我要解决的问题,缓存模块.为什么要解决这个问题呢,由于我们有些下载代码运行的小伙伴,发现怎么运行报错,原来是没有装redis.可是我只想看layim和signalr代码而已啊,不想装什么redis.那么基于昨天的经验,我把缓存模块同样提取出接口,然后加了一个原始的cache层.这个cache是基于S…
按照计划本篇为大家总结JAVA的网络编程,什么叫网络编程呢?网络编程!=网站编程,对于这一点大家一定要注意,很多小朋友都曾经这么认为.既然谈到网络编程,咱们先了解一下网络的基础知识,什么是计算机网络?把分布在不同区域的计算机与专门的外部设备用通信线路互联成一个规模大.功能强的网络系统,从而使众多计算机可以方便的互相传递信息,共享硬盘.软件.数据信息等资源. 什么是网络通信协议:计算机网络中实现通信必须有一些约定即通信协议,对速率.传输代码.代码结构.传输控制步骤.出错控制等制定标准. 网络通信接…
1.如何获取某个方法 方法的名称和方法的参数列表才能唯一决定一个方法 2.方法反射的操作 method.invoke(); package com.tsh.reflect; import java.lang.reflect.Method; public class ReflectDemo { public static void main(String[] args) { P p=new P(); Class c=P.class; try { Method method=c.getDeclare…
JAVA-Reflect 专题 ①Class类的使用 ②方法的反射 ③成员变量的反射 ④构造函数的反射 ⑤java类的加载机制 Ⅰ在面向对象的世界里,万事万物皆为对象 类是对象,类是java.lang.Class类的实例对象 ⅡClass类的实例对象有三种表示方式 //第一种表达方式(已知类名) //第二种表达方式(已知对象) //第三种表达方式(通过类全称) package com.tsh.reflect; public class ReflectDemo { public static vo…
该文章转载自:http://www.cnblogs.com/rollenholt/archive/2011/09/02/2163758.html Java反射详解 本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解. 下面开始正文. [案例1]通过一个对象获得完整的包名和类名 package Reflect; /** * 通过一个对象获得完整的包名和类名 * */ class Demo{…
第二十六天    414 1:网络编程(理解)    414 (1)网络编程:用Java语言实现计算机间数据的信息传递和资源共享    414 (2)网络编程模型    414 (3)网络编程的三要素    414 (4)网络编程中主要类介绍:    416 A:InetAddress: 此类表示互联网协议 (IP) 地址.    416 B:    UDP协议下的Socket对象类DatagramSocket    418 1.发送端:    418 2.接收端:    419 C:    T…
第二十五天    399 1:如何让Netbeans的东西Eclipse能访问.    399 2:GUI(了解)    399 (1)用户图形界面    399 (2)两个包:    399 (3)主要方法:    399 A:javax.swing包下的方法    399 B:监听机制的应用    400 (4)GUI的继承体系    400 (5)事件监听机制(理解)    401 (6)适配器模式(理解)    401 案例解释    401 1. UserDao(顶层接口)    40…
第二十四天    363 1:多线程(理解)    363 (1)JDK5以后的Lock锁    363 A:定义    363 B:方法:    364 C:具体应用(以售票程序为例)    364 1,. SellTicket类    364 2,. SellTicketDemo测试类    365 (2)死锁问题的描述和代码体现    365 1. DieLockDemo测试类    365 2. DieLock类(该类继承自Thread)    366 3. MyLock(锁对象类)  …