java技术
文章平均质量分 56
2018Summer丶
这个作者很懒,什么都没留下…
展开
-
Java和Kotlin泛型通配符
通配符Java 中用?表示通配符,由于参数值是未知类型的容器类,所以只能读取其中元素,不能向其中添加元素, 因为,其类型是未知,所以编译器无法识别添加元素的类型和容器的类型是否兼容,唯一的例外是NULLpublic static void main(String[] args) { List<?> data = new ArrayList<>(); data.get(0); //正确,可以读取 data.add("1"); //错误原创 2020-09-21 11:36:00 · 673 阅读 · 0 评论 -
[Java]深入理解泛型
概述Java泛型是JDK5中引入的一种参数化类型特性参数化类型解释:把类型当做参数一样传递泛型的副作用:<数据类型>只能是引用类型使用泛型后有以下的好处:代码更健壮(只要编译期没有警告,那么运行期就不会出现ClassCastException)代码更简洁(不用强转)代码更灵活、复用泛型的使用public static void main(String[] args) { ArrayList<String> list = new ArrayLis原创 2020-09-09 23:25:00 · 243 阅读 · 0 评论 -
[Java]反射和注解
注解的定义注解本身没有任何意义,单独的注解就是一种注释,他需要结合其他的反射、插桩等才有意义。Java注解(Annotation)又称Java标注,是JDK1.5引入的一种注释机制。是元数据的一种形式,提供有关于程序本身的数据。注解对他们注解的代码的操作没有直接影响。先定义一个注解:@Target(ElementType.TYPE)@Retention(RetentionPolicy.SOURCE)public @interface MyAnnotation { String value原创 2020-09-03 19:40:29 · 223 阅读 · 0 评论 -
[java]静态代理和动态代理
什么是代理?代理(Proxy)是一种设计模式,提供了间接对目标对象进行访问的方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的功能上,增加额外的功能补充,即扩展目标对象的功能.这就符合了设计模式的开闭原则,即在对既有代码不改动的情况下进行功能的扩展。一般来说代理包含三部分:抽象角色:指代理角色和真实角色对外提供的公共方法,一般为一个接口真实角色:需要实现抽象角色接口,定义真实角色所要实现的业务逻辑,以便供给代理角色使用,也就是真正的业务逻辑实现在此。代理角色:需要实现抽象角原创 2020-08-18 15:10:46 · 700 阅读 · 1 评论 -
java实现AES加密和解密算法
在日常接口对接中,不可避免的要与各种加密算法打交道,AES也是较为常用的一种加密算法,下面直接上代码 加密算法:private static final String KEY_ALGORITHM = "AES";private static final String CIPHER_ALGORITHM_CBC = "AES/CBC/NoPadding";/** * 加密 * * ...原创 2018-02-27 14:21:43 · 2552 阅读 · 0 评论 -
JAVA实现指定区间取N个不重复随机数
近日在面试中多次被问到从规定区间取N个随机数的问题,所以今日将实现方式整理一下,代码如下:传统双重循环去重的方式 /** * 功能:产生min-max中的n个不重复的随机数 * * min:产生随机数的其实位置 * mab:产生随机数的最大位置 * n: 所要产生多少个随机数 * */ public static i...原创 2018-03-17 11:15:36 · 7472 阅读 · 1 评论