java
hy_zzzzz
这个作者很懒,什么都没留下…
展开
-
java中什么是bridge method(桥接方法)
在看spring-mvc的源码的时候,看到在解析handler方法时,有关于获取桥接方法代码,不明白什么是桥接方法,经过查找资料,终于理解了什么是桥接方法。什么是桥接方法桥接方法是 JDK 1.5 引入泛型后,为了使Java的泛型方法生成的字节码和 1.5 版本前的字节码相兼容,由编译器自动生成的方法。我们可以通过Method.isBridge()方法来判断一个方法是否是桥接方法,在字节码中桥接方法会被标记为ACC_BRIDGE和ACC_SYNTHETIC,其中ACC_BRIDGE用于说明这个方法是由转载 2020-06-12 17:32:18 · 245 阅读 · 0 评论 -
JAVA基础之理解JNI原理
JNI是JAVA标准平台中的一个重要功能,它弥补了JAVA的与平台无关这一重大优点的不足,在JAVA实现跨平台的同时,也能与其它语言(如C、C++)的动态库进行交互,给其它语言发挥优势的机会。有了JAVA标准平台的支持,使JNI模式更加易于实现和使用。在此总结了下面这个知识图:实例:环境说明:ubuntu 10.4.2 LTS系统程序清单1:src/com/magc/jni/H...转载 2016-10-29 23:41:06 · 244 阅读 · 0 评论 -
ArrayList集合实现RandomAccess接口有何作用?为何LinkedList集合却没实现这接口?
众所周知,在List集合中,我们经常会用到ArrayList以及LinkedList集合,但是通过查看源码,就会发现ArrayList实现RandomAccess接口,但是RandomAccess接口里面是空的!Linked并没有实现RandomAccess接口。这是为什么呢?---------------------------------------------------------...转载 2019-04-14 15:50:25 · 520 阅读 · 0 评论 -
ArrayList中elementData为什么被transient修饰?
Java的ArrayList中,定义了一个数组elementData用来装载对象的,具体定义如下:/** * The array buffer into which the elements of the ArrayList are stored. * The capacity of the ArrayList is the length of this array buffer. A...转载 2019-07-01 00:57:18 · 228 阅读 · 0 评论 -
Java泛型类型擦除以及类型擦除带来的问题
目录1.Java泛型的实现方法:类型擦除 1-2.通过两个例子证明Java类型的类型擦除 2.类型擦除后保留的原始类型 3.类型擦除引起的问题及解决方法 3-1.先检查,再编译以及编译的对象和引用传递问题 3-2.自动类型转换 3-3.类型擦除与多态的冲突和解决方法 3-4.泛型类型变量不能是基本数据类型 3-5.运行时类型查询 3-6.泛型在静态方法和静态类...转载 2019-06-30 23:53:07 · 1114 阅读 · 2 评论 -
Java 关于List接口中的replaceAll() 方法
想直接用的同学可以直接跳到最后。今天博主在查看List接口中有什么哪些方法时,发现了一个特殊的方法replaceAll()方法。为什么说它特殊呢,因为它传入的参数我是第一次见过,如下defaultvoidreplaceAll(UnaryOperator<E>operator)对于该方法,Java jdk1.8手册里是这么描述的/** * 用函数接口的返回结果...转载 2019-06-23 23:49:48 · 6383 阅读 · 1 评论 -
使用AutoCloseable 实现自动关闭资源
一、认识AutoCloseableAutoCloseable接口位于java.lang包下,从JDK1.7开始引入。 1.在1.7之前,我们通过try{} finally{} 在finally中释放资源。 在finally中关闭资源存在以下问题:1、自己要手动写代码做关闭的逻辑;2、有时候还会忘记关闭一些资源;3、关闭代码的逻辑比较冗长,不应该是正常的业务逻辑需要关...转载 2018-11-08 23:08:34 · 4089 阅读 · 2 评论 -
Java读取Properties文件的六种方法
使用J2SE API读取Properties文件的六种方法1。使用java.util.Properties类的load()方法示例: InputStream in = lnew BufferedInputStream(new FileInputStream(name));Properties p = new Properties();p.load(in);2。使用java.util.Resourc...转载 2018-06-29 10:08:04 · 189 阅读 · 0 评论 -
Java 缓冲流简介及简单用法
在java编程中, 我们有时会听到缓冲流和原始流等字眼.其实在之前的博文中, 提到过流可以分为原始流和处理流.http://blog.csdn.net/nvd11/article/details/30126233也就是说处理流是包裹在原始流对原始流的数据进行进一步的处理, 这时的流就有两层了.而缓冲流就是处理流的一种.转载 2018-03-29 17:05:18 · 3003 阅读 · 0 评论 -
Httpclient的使用
HttpClient 模拟发送Post和Get请求 并用fastjson对返回json字符串数据解析,和HttpClient一些参数方法的deprecated(弃用)的综合总结最近在做一个接口调用的时候用到Apache的httpclient时候,发现引入最新版本4.5,DefaultHttpClient等老版本常用的类已经过时了,不推荐使用了;去官网看了一下在4.3之后就抛弃了。可以参转载 2018-03-29 09:09:44 · 149 阅读 · 0 评论 -
native2ascii命令用法详解
背景:在做Java开发的时候,常常会出现一些乱码,或者无法正确识别或读取的文件,比如常见的validator验证用的消息资源(properties)文件就需要进行Unicode重新编码。原因是java默认的编码方式为Unicode,而我们的计算机系统编码常常是GBK等编码。需要将系统的编码转换为...转载 2018-04-11 15:36:50 · 503 阅读 · 0 评论 -
SpringMVC 使用JSR-303进行校验 @Valid
一、准备校验时使用的JARvalidation-api-1.0.0.GA.jar:JDK的接口;hibernate-validator-4.2.0.Final.jar是对上述接口的实现; 二、编写需要校验的bean1 @NotNull(message="名字不能为空")2 private String userName;3 @Max(va转载 2018-03-28 09:37:41 · 796 阅读 · 0 评论 -
Java内部类和匿名内部类的用法
【尊重原创,转载请注明出处】http://blog.csdn.net/guyuealian/article/details/51981163一、内部类: (1)内部类的同名方法 内部类可以调用外部类的方法,如果内部类有同名方法必须使用"OuterClass.this.MethodName()"格式调用(其中OuterClass与MethodName换成实际外部类名...转载 2018-03-21 21:50:39 · 131 阅读 · 0 评论 -
深入分析volatile的实现原理
通过前面一章我们了解了synchronized是一个重量级的锁,虽然JVM对它做了很多优化,而下面介绍的volatile则是轻量级的synchronized。如果一个变量使用volatile,则它比使用synchronized的成本更加低,因为它不会引起线程上下文的切换和调度。Java语言规范对volatile的定义如下:Java编程语言允许线程访问共享变量,为了确保共享变量能被准确和转载 2018-03-15 17:31:49 · 133 阅读 · 0 评论 -
cron表达式详解
Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: Seconds Minutes Hours DayofMonth Month DayofWeek Year或 Seconds Minutes Hours DayofMonth Month DayofWeek每一个域可出现的字符如下: Seconds:可出转载 2017-10-12 15:13:39 · 284 阅读 · 0 评论