创建自定义注解 package com.hanpang.java; /** * 注解说明: 方法的文档注释 * * @Author: 胖先生 * @Create: 2016-04-27 10:29 * @Home: http://www.cnblogs.com/pangxiansheng/ */ import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.ann…
反射机制 1.反射机制是什么?----英文单词是:reflect.在java.lang包下---这才是java最牛逼的技术 首先提前知道一句话----在java中,有了对象,于是有了类,那么有了类之后,也就有了反射 因此:学反射机制,需要做到一件事----把思想从以前的类中跳出来,将思想再拔高一个层次--站在类的头上思考问题   那么到底什么是反射机制? 就是用来动态的操作类( 含静态操作类本身[ 名字.修饰符.注解... ].动态操作类中的成员信息[ 属性.方法 ....] ) 为什么需要学习…
注解 ---- 英文:annotation 1.注解长什么样子? @xxxxxxx( 一些信息 ) ----- 这个信息可有可无 2.注解可以放在什么地方? 类本身的上面.属性的上面.方法的上面.参数的前面 3.注解的作用是什么? 1.用来标识一个事物( 方法.属性.参数...)有特殊的含义 2.用来消灭配置文件 详细点就是这样的: 1).用来充当注释的作用,仅仅相当于是一个文字的说明 如:@Deprecated        ---- 表示该方法是废弃的 2).用来做代码的检测 如:@over…
反射: 枚举反射泛型注解.html34.3 KB 反射, 主要是指通过类加载, 动态的访问, 检测和修改类本身状态或行为的一种能力, 并能根据自身行为的状态和结果, 调整或修改应用所描述行为的状态和相关的语义.   反射操作核心的概念“一切的操作都将使用Object完成, 类. 数组的引用都可以使用Object进行接收”    实例化类对象的方式.   1. Class<?> c1 = Class . for Name( " 完整的类路径")  常用  2. Class&l…
按照我们的学习进度,在前边我们讲过什么是注解以及注解如何定义,如果忘了,可以先回顾一下https://www.cnblogs.com/hgqin/p/13462051.html. 在学习反射和注解前,首先要练习一个ORM. 练习ORM 1.了解什么是ORM:Object RelationShip Mapping ——> 对象关系映射. 从上图可知: 1.类和表结构对应. 2.属性和字段对应. 3.对象和记录对应. 要求:利用注解和反射完成类和表结构的映射关系. package test; imp…
之前写到了设计模式的代理模式,因为下一篇动态代理等内容需要用到反射的知识,所以在之前Java篇的基础上再写一篇有关反射的内容,还是以实际的程序为主,了解反射是做什么的.应该怎么用. 一.什么是反射 反射就是把Java类中的各个成分映射成一个个的Java对象.即在运行状态中,对于任意一个类,都能够知道这个类的所以属性和方法:对于任意一个对象,都能调用它的任意一个方法和属性.这种动态获取信息及动态调用对象方法的功能叫Java的反射机制. 1. 反射机制的功能 Java反射机制主要提供了以下功能: 在…
相关文章内容索引: ORM查询语言(OQL)简介--概念篇 ORM查询语言(OQL)简介--实例篇 ORM查询语言(OQL)简介--高级篇:脱胎换骨 ORM查询语言(OQL)简介--高级篇(续):庐山真貌 在写本文之前,一直在想文章的标题应怎么取.在写了<ORM查询语言(OQL)简介--概念篇>.<ORM查询语言(OQL)简介--实例篇>之后,觉得本篇文章应该是前2篇的延续,但又不是一般的延续,因为今天要写的这篇内容,是基于对框架OQL完全重构之后来写的,所以加上一个副标题:脱胎换…
ORM查询语言(OQL)简介--高级篇:脱胎换骨 在写本文之前,一直在想文章的标题应怎么取.在写了<ORM查询语言(OQL)简介--概念篇>.<ORM查询语言(OQL)简介--实例篇>之后,觉得本篇文章应该是前2篇的延续,但又不是一般的延续,因为今天要写的这篇内容,是基于对框架OQL完全重构之后来写的,所以加上一个副标题:脱胎换骨! 一.OQL之前生 1.1,内容回顾: OQL是我设计用来处理PDF.NET开发框架的ORM查询的,因此叫做ORM查询语言.自2006年第一版以来,经历…
转载自:https://www.daidingkang.cc/2017/07/18/java-reflection-annotations/ 前言 现在在我们构建自己或公司的项目中,或多或少都会依赖几个流行比较屌的第三方库,比如:Butter Knife.Retrofit 2.Dagger 2.GreenDao等,如果你没用过,那你需要找时间补一下啦:有时在使用后我们会好奇他们到底是怎么做到这种简洁.高效.松耦合等诸多优点的,当然这里我不探讨它们具体怎么实现的 (可以看看我之前写的几篇文章) ,…
Spring高级篇 1.什么是 Spring 框架? Spring 框架有哪些主要模块?  Spring 框架是一个为 Java 应用程序的开发提供了综合.广泛的基础性支持的 Java 平台. Spring 帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发.Spring 框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成 Spring 框架,不必担心 Spring 是如何在后台进行工作的. Spring 框架至今已集成了 20 多个模块.这些模块主要被…
高级篇中将涉及数据库的使用以及Cookie和Session会话,提高PHP的开发效率和运行效率 PHP程序员需要掌握的MySQL操作 为项目设计表 使用SQL语句 MySQL的目录结构 data目录中存放的是库文件 bin目录中存放的是MySQL管理命令 *.ini文件记录的是MySQL的配置 连接MySQL DB: mysql -h sql地址 -u 用户名 -p密码,如mysql -h localhost -u root -p123456 安全的方法:先输入“mysql -h sql地址 -…
在android使用篇(三) MVC模式中提到一个问题: 1) 视图层(View):一般採用XML文件进行界面的描写叙述,使用的时候能够很方便的引入,可是用xml编写了,又须要在Acitvity声明而且实例化,有点麻烦,考虑是否能做一个类似注解实现匹配,或者写一个类获取xml的各个节点然后自己主动进行封装,当然,这仅仅是个想法,以后再实现. 今天最终把这个想法实现了,使用依赖注入IOC注解实现对activity中控件的实例化. 先普及一下java的反射机制和注解机制的知识: 下面引用大神的两篇文…
- 高级篇:二,IL设置静态属性,字段和类型转换 静态属性赋值 先来看 Reflector反射出的IL源码(感谢Moen的提示),这次用 Release模式编译,去掉那些无用的辅助指令 public void AAA(string s) { MyClass.Name = s; } .method public hidebysig instance void AAA(string s) cil managed { .maxstack 8 //L_0000: ldarg.1 //这个是真正反射出的内…
Python第七章__class面向对象高级用法与反射 欢迎加入Linux_Python学习群  群号:478616847 目录: Python中关于oop的常用术语 类的特殊方法 元类 反射 一.Python中关于oop的常用术语 抽象/实现 抽象指对现实世界问题和实体的本质表现,行为和特征建模,建立一个相关的子集,可以用于 绘程序结构,从而实现这种模型.抽象不仅包括这种模型的数据属性, 还定义了这些数据的接口.对某种抽象的实现就是对此数据及与之相关接口的现实化(realization).现实…
一.注解概述 Java注解也就是Annotation,是Java代码里的特殊标记,它为Java程序代码提供了一种形式化的方法,用来表达额外的某些信息,这些信息是代码本身无法表示的. 注解以标签的形式存在于代码之中,注解的存在并不影响代码程序的编译执行,它只是用来生成其他的文件或使我们在运行代码时知道被运行代码的描述信息. 注解的语法格式:@Annotation(参数) 将注解置于所有修饰符之前: 通常将注解单独放在一行: 默认情况下,注解可以用于修饰任何程序元素,包括类.方法和成员变量等: 二.…
一.静态语言与动态语言 静态类型语言:是指在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型,某些具有类型推导能力的现代语言可能能够部分减轻这个要求.强类型 动态类型语言:是在运行时确定数据类型的语言.变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型.弱类型 静态:C#,Java,C,C++ 动态:JavaScript,python,perl,ruby,php 静态类型语言因为类型强制声明,所以IDE可以做到很好的代码感知能力,因为有IDE的…
Java基础13:反射与注解详解 什么是反射? 反射(Reflection)是Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性. Oracle官方对反射的解释是 Reflection enables Java code to discover information about the fields, methods and constructors of loaded classes, and to use reflected fi…
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 本文是Java反射学习总结系列的最后一篇了,这里贴出之前文章的链接,有兴趣的可以打开看看. http://blog.csdn.net/a396901990/article/category/2302221 本文介绍了如何利用反射和注解去简单的模拟JUnit4单元测试框架,之所以选择JUnit4是因为4.0以后最大的改进就是使用了注解.需要注意的是这里并不是完全的模拟,只是简单实现了一下R…
一.反射 1.动态语言:是指程序在运行是可以改变其结构:新的函数可以引进,已有的函数可以被删除等结构上的变化.比如常见的JavaScript就是动态语言,除此以外Python等也属于动态语言,而C.C++则不属于动态语言.从反射角度说Java属于半动态语言. 2.反射机制:指在运行状态中,对于任意一个类都能够知道这个类所有的属性和方法:并且对于任意一个对象,都能够调用它的任意一个方法:这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制. 3.反射的应用场合 编译时类型和运行时类…
代理 通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,扩展目标对象的功能. 代理对象拦截真实对象的方法调用,在真实对象调用前/后实现自己的逻辑调用 这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法. 动态代理的用途与装饰模式很相似,就是为了对某个对象进行增强.所有使用装饰者模式的案例都可以使用动态代理来替换. /** * subject(抽象主题角色): * 真实主题与代理主题的共同接口. */ interf…
VTemplate模板引擎的使用--高级篇 在网站中,经常会有某个栏目的数据在多个页面同时使用到.比如新闻网站或电子商务网站的栏目列表,几乎在很多页面都会显示栏目导航.对于这种多个页面同时使用到的“数据区”在ASP.NET Web Form开发中,经常会将这些“数据区”独立封装为一个个Web控件.那在VTemplate模板引擎里又要如何做呢?在VTemplate模板引擎里,提供了一种“模板块解析器”接口.当VTemplate模板引擎解析并呈现VT模板数据时,如果发现某个<vt:template>…
VFP的数据策略:高级篇 引语 在“VFP中的数据策略:基础篇”一文中,我们研究了VFP应用程序中访问非VFP数据(如SQL Server)的不同机制:远程视图.SQL Passthrough.ADO.XML和VFP 8中添加的CursorAdapter类.在本文中,我们将更详细地讨论CursorAdapter,并讨论可重用数据类的概念.此外,我们将简要介绍新的XMLAdapter基类,并了解它如何帮助与其他源(如ADO.NET)交换数据. CursorAdapter 在我看来,CursorAd…
目录 1. Junit单元测试 2. 反射 3. 注解 Junit单元测试: 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 2. 白盒测试:需要写代码的.关注程序具体的执行流程. Junit使用:白盒测试 步骤: 1. 定义一个测试类(测试用例) 建议: 测试类名:被测试的类名Test CalculatorTest 包名:xxx.xxx.xx.test cn.itcast.test 2. 定义测试方法:可以独立运行 建议: 方法名:test测试的方法名 tes…
单元测试.反射.注解 1. Junit单元测试 2. 反射 3. 注解 Junit单元测试: * 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 2. 白盒测试:需要写代码的.关注程序具体的执行流程. * Junit使用:白盒测试 * 步骤: 1. 定义一个测试类(测试用例) * 建议: * 测试类名:被测试的类名Test CalculatorTest * 包名:xxx.xxx.xx.test cn.itcast.test 2. 定义测试方法:可以独立运行 *…
1.线程池 1.1).什么是线程池? 池( pool ),就是一个容器,所以线程池就是把多个线程对象放到一个容器中 1.2).如何创建线程池? 先来了解几个常识 Executor -- 这是一个接口( 即:线程池的顶级接口 ),在java.util.Concurrent包下 ExecutorService -- Executor的子类,这里面是一些管理线程任务的方法 scheduledExecutorService -- ExecutorService的子类,这是用来给线程任务设置任务时间的(…
大家好,我是melo,一名大三后台练习生,最近赶在春招前整理整理发过的博客~! 引言 锁锁锁,到哪到离不开这桩琐事,并发琐事,redis琐事,如今是MySQL琐事,这其中琐事,还跟MySQL另一个重要的东西--事务息息相关.这篇将从以下几点,带你解开这把爱情的苦锁: 本篇速览脑图 常规表锁&行锁 这一部分较为常规,若有前置知识,可以直接跳到下边的[表级锁扩展]部分开始阅读 建议借助侧边栏,有emoji表情的属于重点 锁概述 锁是计算机协调多个进程或线程并发访问某一资源的机制(避免争抢). 在数据…
大家好,我是melo,一名大三后台练习生,死去的MVCC突然开始拷打我! 引言 MVCC,非常顺口的一个词,翻译起来却不是特别顺口:多版本并发控制. 其中多版本是指什么呢?一条记录的多个版本. 并发控制?如何实现呢?我们上篇刚讲到了锁机制,而MVCC则是用更好的方式来提高并发性能,避免加锁!具体如何实现,底层原理是什么,这篇将带你攻破ta. 本篇速览脑图 通过「版本链」来控制并发事务访问同一个记录时的行为就叫 MVCC(多版本并发控制). 看完后文,再回过头来看这张图,就会理解了 当前读,快照读…
前言 数据倾斜调优 调优概述 数据倾斜发生时的现象 数据倾斜发生的原理 如何定位导致数据倾斜的代码 查看导致数据倾斜的key的数据分布情况 数据倾斜的解决方案 解决方案一:使用Hive ETL预处理数据 解决方案二:过滤少数导致倾斜的key 解决方案三:提高shuffle操作的并行度 解决方案四:两阶段聚合(局部聚合+全局聚合) 解决方案五:将reduce join转为map join 解决方案六:采样倾斜key并分拆join操作 解决方案七:使用随机前缀和扩容RDD进行join 解决方案八:多…
相关文章内容索引: ORM查询语言(OQL)简介--概念篇 ORM查询语言(OQL)简介--实例篇 ORM查询语言(OQL)简介--高级篇:脱胎换骨 ORM查询语言(OQL)简介--高级篇(续):庐山真貌 PDF.NET框架的OQL经过“脱胎换骨”般的重构之后,引来了它华丽丽的新篇章,将“对象化的SQL”特征发挥到极致,与至于我在Q群里面说这应该算是OQL的“收山之作”了.然而,我这么说有什么依据?它的设计哲学是什么?它究竟是何样?由于本文篇幅较长,请听本篇慢慢道来,叙说它的庐山真面目! [有图…
http://mp.weixin.qq.com/s?__biz=MjM5NjQ5MTI5OA==&mid=2651745207&idx=1&sn=3d70d59cede236eb1cb4f7374387a235&scene=0#rd [技术博客]Spark性能优化指南——高级篇 2016-05-13 李雪蕤 美团技术团队 前言 继基础篇讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为<Spark性能优化指南>的高级篇,将深入分析数据倾斜调…