接口

注解与反射

蓝咒 提交于 2020-03-17 01:13:58
注解与反射 文章目录 注解与反射 一、内置注解 二、元注解 三、自定义注解 四、Java反射机制 4.1静态语言与动态语言 4.2反射(Reflection) 4.3 反射机制的应用 4.4 反射的优点与缺点 4.5 反射相关的API 五、Class类 5.1概要 5.2 获得Class对象的途径 5.3 Class类的常用方法 六、类的加载与ClassLoader 6.1 Java内存分析 6.2 类的加载与ClassLoader的理解 6.3 什么时候会发生类的初始化 6.4 类加载器的作用 七、创建运行时类的对象 八、获取运行时类的完整结构 九、调用运行时类的指定的结构 十、性能对比分析 十一、反射获取注解信息 一、内置注解 内置注解(了解即可): @ Override 用在方法上,表示这个方法重写了父类的方法,如toString() @Deprecated 表示这个方法已经过期,不建议开发者使用 @SuppressWarnings 注解的用处是忽略警告信息 @SuppressWarnings (“all”) @FunctionalInterface 用于约定函数式接口 函数式接口概念: 如果接口中只有一个抽象方法(可以包含多个默认方法或多个static方法),该接口称为函数式接口。函数式接口其存在的意义,主要是配合Lambda 表达式 来使用。 二、元注解 元注解

第三方短信接口无法发送短信

那年仲夏 提交于 2020-03-17 01:03:40
第三方短信接口无法发送短信 最近在写一个小小的网站,用户注册的时候,需要给用户发送验证码,我用的是互亿无线的短信接口,早上刚注册的,新注册用户是有免费短信条数的。在确保代码前后端已经写好后,开始测试,结果,试了好几次手机都没有接收到短信,后来去官网查了发现,没有充值的用户是不能自定义短信模板的。因为我引用工具类的时候,把模板上添上了自己的项目名,后来把模板又改为了官方规定的就好了。官方规定没充值用户模板: 来源: CSDN 作者: 张小鱼*。* 链接: https://blog.csdn.net/weixin_45867338/article/details/104856901

C#学习-接口

元气小坏坏 提交于 2020-03-16 20:36:36
在实现接口时,使用接口的类需要将接口中的所有方法,属性,索引等等,都要实现。因为接口是一种规范协议 如果一个类实现两种接口,接口中有一样的方法。可以使用显示实现接口来解决这个问题。但显示实现接口的方法,是私有的。所以使用类对象是使用不了的。只有使用接口类型的对象才能访问。 来源: https://www.cnblogs.com/xujunjie7730/p/12506126.html

spring cloud学习(四) Fegin 的使用

两盒软妹~` 提交于 2020-03-16 19:07:47
Feign 的使用 什么是Feign? Feign : Declarative REST clients。 Feign 是一个声明web服务客户端,这便得编写web服务客户端更容易,使用Feign 创建一个接口并对它进行注解,它具有可插拔的注解支持包括Feign注解与JAX-RS注解,Feign还支持可插拔的编码器与解码器,Spring Cloud 增加了对 Spring MVC的注解,Spring Web 默认使用了 HttpMessageConverters , Spring Cloud 集成 Ribbon 和 Eureka 提供的负载均衡的HTTP客户端 Feign。(来源于 Spring Cloud Netflix 官网文档 ) Feign 在 github 上的开源文档 : https://github.com/OpenFeign/feign/wiki 怎么使用Feign 首先继续使用上次的”服务注册中心”与”服务提供者”。接下来,就是将 Fegin 整合到”服务消费者”中。 引入依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-feign</artifactId> </dependency> 注入注解 在 Spring Boot

学习Java第三十天--多线程之线程池和同步锁

半城伤御伤魂 提交于 2020-03-16 18:21:05
线程池、Callable接口、Future接口、Lock接口、同步锁的使用方法 14.4 线程池 14.4.1 线程池概念 14.4.2 线程池原理 14.4.3 获取线程池 14.4.4 Callable接口 14.4.5 Future接口 14.4.6 线程的同步 14.4.7 线程的异步 14.4.8 Lock接口 14.4.8 重入锁 14.4.9 读写锁 14.4.10 ReentrantReadWriteLock 14.4 线程池 14.4.1 线程池概念 现有问题: 线程是宝贵的内存资源、单个线程约占1MB空间,过多分配易造成内存溢出; 频繁的创建及销毁线程会增加虚拟机回收频率、资源开销,造成程序性能下降; 线程池: 线程容器,可设定线程分配的数量上限; 将预先创建的线程对象存入池中,并重用线程池中的线程对象 避免频繁的创建和销毁; 14.4.2 线程池原理 将任务提交给线程池,由线程池分配线程、运行任务,并在当前任务结束后复用线程; 14.4.3 获取线程池 常用的线程池接口和类(所在包java.util.concurrent) Executor:线程池的顶级接口 ExecutorService:线程池接口,可通过submit(Runnable task)提交任务代码; Executors工厂类:通过此类可以获得一个线程池; 通过newFixedThreadPool

记一次网络故障

房东的猫 提交于 2020-03-16 14:15:10
好长时间没有静下心来写点东西了,今天就奢侈一会吧,听着音乐,把前几天遇到的一次网络故障回顾一下吧。首先声明我不是什么大神级别的网工,如果你想从我这篇文章里学习到什么很牛逼的技术的话,恐怕要让你失望了。我只是我。 这次实验室的网络故障,算是我接触计算机以来最折腾我的一次了吧。情况是这样的,应该是上周的周四吧,下午网络就不通了,右下角的电脑图标有一个黄色的感叹号。计算机接触了有3年了吧,知道这是怎么回事,在学校里,也经常遇到这样的问题,一般都是2天左右就好了。所以,就没怎么着急。 关于我们实验室,网络环境是这样的:墙上有一个接口,一根以太网网线从这个接口,串联了2个数据链路层的交换机,每个交换机个连接了10台电脑左右。 一般情况下,电脑右下角的小图标如果显示有一个红叉,说明是网线没有插好。如果是黄色的感叹号,则说明是网络的问题。因为学校整个是局域网,而且,现在的我们不需要手工分配IP,都是自动获取的IP。所以,如果出现黄色的感叹号一般不是我们的问题,如果你的电脑连接的有一个路由器的话,那么重启一下路由试试,如果路由也是好的。而且,其他宿舍或隔壁的办公室有网络的话,还有你的电脑的网卡驱动也是好的话,没有办法了,拨打校园的网络维修人员吧。 就这样一晃,3天过去了,周一,我和我的同学实在忍不下去了。这一次,我真的尝试了没有网络的日子,3天,我们都受不了了,开始行动吧。 在这次故障的前几天

设计模式学习记录

你说的曾经没有我的故事 提交于 2020-03-16 12:00:18
最近一段时间学习了设计模式,在此记录一下自己对于设计模式的理解。 一 设计模式的原则 1、单一职责原则 一个类或者方法只做一件事情,或者说只有一个角色。例如一个短信工具类,只负责和短信有关的。 (扩展一下,一个类或方法,在写代码的时候每个模块做的事应该是一个水平的,就是说一件事 1,2,3三个步骤,每个步骤有诺干小步骤,小步骤应该放到子方法或子类中,当前模块就负责1,2,3步骤的整合。ps: 代码整洁之道里面的,这里记录一下) 2、接口隔离原则 一个类继承一个接口,接口的方法都应该是子类中能用的着的 ,不然的话用不着的部分可以 拆分成另外的接口 3、依赖倒转原则 new一个类的时候尽量用这个类的父级去接收,一个系统中,一个类的成员不要是同级别类的子类。 4、里氏替换原则 规范是子类不能改变覆盖父类的非抽象方法,重载父类方法时,入参可以更宽松(一开始没明白过来,后来反应过来,就是参数使用父类叫重载,是另外一个方法,相当于子类有两个方法,参数小于等于子类,那就是覆盖父类方法了,违反历史转换原则了)。目的就是在所有父类能用的地方替换成任何子类都能用 5、开闭原则 扩展了功能,对原有的功能不影响 6、迪米特法则 只与直接的朋友发生通信,直接的朋友指的是成员变量,方法参数,返回类型中的是成员参数,如果方法中出现有类型不是该类所有成员变量,方法参数,返回类型中的任何一个,都违反了迪米特法则

【六祎- Java】Spring整合Mybatis-applicationContext.xml

点点圈 提交于 2020-03-16 11:49:10
#applicationContext.xml中该干的事情 <description>Spring整合Mybatis配置</description> <!--1、加载配置文件--> <context:property-placeholder location="classpath:properties/db.properties"/> <!--2、创建连接池--> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"> <property name="driverClassName" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </bean> <!--3、Spring整合MyBatis配置(1)把SqlSessionFactory对象的创建交给spring--> <bean class="org.mybatis.spring.SqlSessionFactoryBean"> <!--3.1 注入连接池

java基础--接口

你离开我真会死。 提交于 2020-03-16 07:19:42
1、 生活中的接口: 1)电脑厂商留的USB接口-------------制定标准、规范 U盘、键盘、鼠标厂商-------------遵守标准、规范 2)国家对开发商--------------------制定标准、规范   开发商---------------------遵守标准、规范 2、 JAVA中的接口:   定义:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现, 因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具 有不同的行为(功能)。   1)是一个标准、规范,遵守,遵守了这个标准就能干某件事   2)由interface定义   3)只能包含常量和抽象方法 1 interface Inter1{ 2 public static final int NUM = 5; 3 public abstract void show(); 4 5 double PI = 3.14159; //默认public static final 6 void sayHi(); //默认public abstract 7 8 // int num; //编译错误,没有赋值 9 // public static sayHi(){} //编译错误 10 }   4)接口不能被实例化   5)接口是需要被实现/继承的,实现类/子类    

设计模式——外观模式

时光毁灭记忆、已成空白 提交于 2020-03-16 04:57:46
一、概念:为子系统的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 二、UML示意图: Facade类与一系列子系统做交互,并未Client提供与这些子系统做交互的接口,Client不需要知道众多子系统的详细情况与工作细节,只需要调用Facade为外界提供的接口就能间接与各个子系统做交互了。 三、优缺点 优点: 实现了子系统与客户端之间的松耦合关系。 客户端屏蔽了子系统组件,减少了客户端所需处理的对象数目,并使得子系统使用起来更加容易。 缺点: 不符合开发封闭原则。如果业务出现变更,则可能要直接修改外观类。 来源: https://www.cnblogs.com/winsons/p/12501575.html