![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 58
MasterSpring
Full Stack Software Engineer
展开
-
使用注解和动态代理实现方法级别的日志
使用注解和动态代理实现方法级别的日志前言注解动态代理为什么要使用注解和动态代理实现日志怎么实现其它补充前言此文的主要目的是记录注解和动态代理的使用,因为已有很多日志框架;此文介绍了注解和JDK动态代理,以及如何结合二者实现方法级别的基于注解的日志框架。注解注解可以理解为作用于Java类、构造方法、属性、方法、参数、局部参数上的标签,本身并没有额外的功能。动态代理众所周知,有一种叫代理模式的设计模式,就是代理目标对象完成实际的操作,动态代理的基本思想也是如此,但是动态代理通过反射等技术,为开发者省原创 2022-04-22 12:39:44 · 454 阅读 · 0 评论 -
JNI调用.a静态库
本文介绍了JNI的基本用法以及如何将.a静态库二次封装成.so动态库供JNI调用等内容。原创 2022-02-22 11:08:04 · 3602 阅读 · 3 评论 -
泛型和适配器模式(基于Java)
1.什么是适配器模式适配器在生活中其实非常常见,比如我们常用的充电器,它也可以称为电源适配器,而电源适配器的最大作用就是将220V的电压转换成其它不同的电压,以适应目标电器的电压要求;这里面有两个重要的点,一个是转换,一个是适应,转换的目的是为了适应。在程序设计中也是一样,有时候输入数据可能不能适应接口要求,但是经过一定的转换加工后可以满足接口需求,这个时候就可以使用适配器模式,对数据进行转换,以适应接口要求。举个例子,现在有一个通用的消息发送接口,默认只能发送文本消息,但是现在需要发送一个对象(这里原创 2021-11-12 09:29:03 · 768 阅读 · 0 评论 -
Android P+通过反射调用系统API实现高级功能
Android P+通过反射调用系统API实现高级功能1. 添加反射库1.1 导包1.2 打开隐藏API通过反射调用系统API已经不算是什么新鲜事了,不过在Android P之后,Google对隐藏API的限制更加严格,不能再直接通过反射去调用系统API了,必须通过特定手段先打开隐藏API的限制,具体原理可以移步另一种绕过 Android P以上非公开API限制的办法,这里我们只讲实战用法。1. 添加反射库1.1 导包新建AS项目后,打开项目的settings.gradle,在repositorie原创 2021-09-15 13:57:10 · 2783 阅读 · 0 评论 -
Android动态识别字符编码
最近碰到一个需求,读取txt文本内容并加载到textview中,但是测试发现当txt文件编码为GBK时会乱码,查阅了很多资料,大多数都是通过判断文件前三字节实现字符编码的识别,但是实际发现读取到的前三字节并没有包含编码信息,直接就是文本内容的前三字节,后续查阅到一个资料,基本思想是在输入流中指定解码方式,然后根据读取时有无报错判断是否是该字符编码,这样一来,通过循环使用不同的字符编码去解码就可以得到正确的字符编码,具体实现如下:private String getTextFileCharset(Str原创 2021-07-27 16:31:46 · 938 阅读 · 0 评论 -
十进制转二进制的循环和递归实现
如题,上代码:public class DecToBin { public static void main(String[] args) { Scanner sc=new Scanner(System.in); Integer dec=sc.nextInt(); //调用函数之前要进行非零及非负判断,这里我没写,你们自己注意加 System.out.println("de...原创 2019-04-11 23:23:55 · 352 阅读 · 0 评论