按照我们的学习进度,在前边我们讲过什么是注解以及注解如何定义,如果忘了,可以先回顾一下https://www.cnblogs.com/hgqin/p/13462051.html. 在学习反射和注解前,首先要练习一个ORM. 练习ORM 1.了解什么是ORM:Object RelationShip Mapping ——> 对象关系映射. 从上图可知: 1.类和表结构对应. 2.属性和字段对应. 3.对象和记录对应. 要求:利用注解和反射完成类和表结构的映射关系. package test; imp…
在Java高级特性——反射机制(第一篇)中,写了很多反射的实例,可能对于Class的了解还是有点迷糊,那么我们试着从内存角度去分析一下. Java内存 从上图可以看出,Java将内存分为堆.栈.方法区,其中方法区是一种特殊的堆. 堆:堆中通常存放new的对象和数组,可以被所有的线程共享,不会存放别的对象引用. 栈:存放基本的变量类型(会包含这个基本类型的具体数值)以及引用对象的变量(会存放这个引用在堆里边的具体地址). 方法区:可以被所有的线程共享,包含了所有的class和static变量.‘…
感谢原文作者:peter_RD_nj 原文链接:https://www.jianshu.com/p/9be58ee20dee 注意:同一个类在JVM中只存在一份字节码对象 概述 定义 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意方法和属性:这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制. 用途 在日常的第三方应用开发过程中,经常会遇到某个类的某个成员变量.方法或是属性是私有的或是只对系统应用开放,这时…
Java 反射机制[Method反射] 接着上一篇Java 反射机制[Field反射],通过调用Person类的setName方法将obj的name字段的Value设置为"callPersonSetNameMethod"来了解什么是Method反射.演示样例代码非常简单,非常easy理解. 能够看到Method.invoke()实际上并非自己实现的反射调用逻辑,而是托付给sun.reflect.MethodAccessor来处理. 真正的反射是调用MethodAccessor.invo…
Java 反射机制[Field反射] 1.  反射概念及功能 反射就是把Java类中的各种成分映射成对应的Java类.比如一个Java类中用一个Class类的对象来表示. 一个类中的组成部分分为成员变量,方法,构造方法,包等等. Java反射机制主要提供了下面功能: 推断在执行时随意一个对象所属的类:在执行时构造随意一个类的对象:推断在执行时随意一个类所具有的成员变量和方法:在执行时调用随意一个对象的方法.生成动态代理. 2.  Field反射 下面代码将obj对象中的String类型的字段相应…
第4天 java高级特性增强 今天内容安排: 1.掌握多线程 2.掌握并发包下的队列 3.了解JMS 4.掌握JVM技术 5.掌握反射和动态代理 java多线程增强 .1. java多线程基本知识 .1.1. 进程介绍 不管是我们开发的应用程序,还是我们运行的其他的应用程序,都需要先把程序安装在本地的硬盘上.然后找到这个程序的启动文件,启动程序的时候,其实是电脑把当前的这个程序加载到内存中,在内存中需要给当前的程序分配一段独立的运行空间.这片空间就专门负责当前这个程序的运行. 不同的应用程序运行…
paip.java 高级特性 类默认方法,匿名方法+多方法连续调用, 常量类型 作者Attilax 艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/attilax /////6.1    常量类型 idx = "book.txt".find("txt")     public static <T> T $(T t) {              return t;   …
Java高级特性-String.StringBuffer和StringBuilder String Java语言中的字符串值都属于String类,虽然有其他方法表示字符串(如字符串数组),但Java一般使用String类作为字符串的标准格式,Java编译器将字符串作为String对象,String类是字符串常量,是不可更改的常量. String s1="abc": String s2=new String "abc"; 虽然内容相同但是new后其值就不同了 Stri…
Java高级特性流库_初体验 面对结果编程 在编程里, 有两种编程方式, 一种是面对过程编程, 一种是面对结果编程. 两者区别如下 面向过程编程 面向过程编程需要编程程序让程序依次执行得到自己想要的结构 面向结果编程 流库带给我们的好处就是我们不需要知道过程, 只需要提供我们的需要, 具体怎么做由流库内部实现 1. 迭代到流代码演示 流库正如其名所示, 它处理的是大量元素. 这里可以将流库比作一个水管, 流库中的许多函数比作水龙头, 函数成立, 水龙头便打开让水流动, 函数不成立, 水龙头关闭,…
一.序列化 1.序列化概述 在实际开发中,经常需要将对象的信息保存到磁盘中便于检索,但通过前面输入输出流的方法逐一对对象的属性信息进行操作,很繁琐并容易出错,而序列化提供了轻松解决这个问题的快捷方法. 简单地说,序列化就是将对象的状态存储到特定存储介质中的过程,也就是将对象状态转换为可保持或传输格式的过程,在序列化过程中,会将对象的共有成员.私有成员包括雷明,转换为字节流,然后再把字节流写入数据流,存储到存储介质中,这里说的存储介质通常指的是文件. 使用序列化的意义在于,将对象序列化后,可以将其…