关键词:
把下面a,b值互换,使打印结果为a=2,b=1.
import java.lang.reflect.Field;
/**
* Created by 70416 on 2018/4/7.
*/
public class App {
public static void swap(Integer i1,Integer i2) throws NoSuchFieldException, IllegalAccessException {
.....
}
public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {
Integer a=1,b=2;
System.out.println("开始a="+a+",b="+b);
swap(a,b);
System.out.println("结束a="+a+",b="+b);
}
}
Field field = Integer.class.getDeclaredField("value");
field.setAccessible(true);
int tmp = i1.intValue();
field.set(i1,i2.intValue());
field.set(i2,tmp);
import java.lang.reflect.Field;
/**
* Created by 70416 on 2018/4/7.
*/
public class App {
public static void swap(Integer i1,Integer i2) throws NoSuchFieldException, IllegalAccessException {
Field field = Integer.class.getDeclaredField("value");
field.setAccessible(true);
Integer tmp = new Integer(i1.intValue());
// int tmp = i1.intValue(); //Integer -127----128里的值这个就不行,指针指向了缓存里的值。
field.set(i1,i2.intValue());
field.set(i2,tmp);
}
public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {
Integer a=1,b=2;
// System.out.println(a==b); //Integer -127----128里的相同值,答案为true,超出缓存为false。
System.out.println("开始a="+a+",b="+b);
swap(a,b);
System.out.println("结束a="+a+",b="+b);
}
}
金九银十,史上最强java面试题整理。
...,会从以下几个方面汇总,本文会长期更新。Java面试篇史上最全Java面试题,带全部答案史上最全69道Spring面试题和答案史上最全Java多线程面试题及答案史上最全50道Redis面试题及答案史上最全 55道MySQL面试题总结i++是线程安... 查看详情
java坑人面试题系列:包装类(中级难度)(代码片段)
...搞蒙。如果你看过往期的问题,就会发现每一个都不简单。这些试题模拟了认证考试中的一些难题。而“中级(intermedi 查看详情
java坑人面试题系列:变量声明(中级难度)(代码片段)
...搞蒙。如果你看过往期的问题,就会发现每一个都不简单。这些试题模拟了认证考试中的一些难题。而 查看详情
java坑人面试题系列:线程/线程池(高级难度)(代码片段)
...搞蒙。如果你看过往期的问题,就会发现每一个都不简单。这些试题 查看详情
java坑人面试题系列:比对while与for循环(中级难度)(代码片段)
...搞蒙。如果你看过往期的问题,就会发现每一个都不简单。这些试题模拟了认证考试中的一些难题。而“中级(intermedi 查看详情
一道前端面试题?求大神解答
...Sublime打出这几行代码时,我竟有点蒙蔽。蛤?这不是最简单的一个循环吗?是不是有陷阱啊,我思索一下,这好像和我看的那个闭包的题很像啊,这面试官是不是没写完啊?有毒啊。“应该是直接输出0到4吧...”,我弱弱的说到... 查看详情
一道简单的hashmap面试题所想到的...
前言看到一个JDK1.7和JDK1.8中关于HashMap的一个面试题:JDK1.7和1.8中HashMap中链表的插入的方式有什么不同?原以为自己对HashMap的源码理解的还算可以了,应该足够应付面试了。但是看到这个问题自己确实也是懵逼了一下。查了下资... 查看详情
从一道面试题掌握es6的综合运用(有彩蛋)(代码片段)
...;那就拿一道题试一试你的掌握情况吧,题目其实非常简单,如下所示。//有以下数据结构co 查看详情
史上最简单的springcloud教程|第十篇:高可用的服务注册中心
...f10-eureka/或者http://blog.csdn.net/forezp/article/details/81041101文章史上最简单的SpringCloud教程|第一篇:服务的注册与发现(Eureka)介绍了服务注册与发现,其中服务注册中心Eure 查看详情
史上最简单,js并获取手机型号
原先获取不了苹果系列的型号,但转换思路,先推断是否是苹果,再用分辨率获取型号//获取手机型号函数beginfunctiongetPhoneType(){ //正则,忽略大写和小写varpattern_phone=newRegExp("iphone","i");varpattern_android=newRegExp("... 查看详情
史上最简单的intellijidea教程
1简介 IntelliJIDEA(简称IDEA),是Java语言开发的集成环境,IDEA在业界被公认为最好的Java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(Git、SVN、GitHub等)、JUnit、CVS整合、代码分析和创新... 查看详情
springboot快速入门史上最简单
1.SpringBoot概述 SpringBoot是所有基于Spring开发的项目的起点。SpringBoot的设计是为了让你尽可能快的跑起来Spring应用程序并且尽可能减少你的配置文件。2.什么是SpringBootSpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来... 查看详情
[分享]史上最简单的封装教程,五分钟学会封装系统(以封装windows7为例)
[分享]史上最简单的封装教程,五分钟学会封装系统(以封装Windows7为例)踏雁寻花发表于2015-8-2323:31:28 https://www.itsk.com/thread-355923-1-4.html[分享]史上最简单的封装教程,五分钟学会封装系统(以封装Windows7为例)学会封装,只... 查看详情
解析js中作用域闭包——从一道经典的面试题开始
...解js中的作用域,闭包,私有变量,this对象概念呢?就从一道经典的面试题开始吧!题目:创建10个<a>标签,点击时候弹出相应的序号先思考一下,再打开看看//先思考一下你会怎么写,是不是这样?可是结果呢,弹出来的都... 查看详情
java的四种引用类型史上最详细,再也不怕面试官
Java四种引用类型1.引用的基本概念强引用:当我们使用new创建对象时,被创建的对象就是强引用,如Objectobject=newObject(),其中的object就是一个强引用了。如果一个对象具有强引用,JVM就不会去GC它,JVM宁可会报OOM来终止程序,也... 查看详情
史上最简单的github教程
文章目录1简介2目录3译文4我的项目1简介GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。GitHub于2008年4月10日正式上线,除了Git代码仓库托管及基本的Web管理... 查看详情
android史上最简单易懂的跨进程通讯(messenger)!
不需要AIDL也不需要复杂的ContentProvider,也不需要SharedPreferences或者共享存储文件!只需要简单易懂的Messenger,它也称为信使,通过它可以在不同进程中传递message对象,在message中放入我们需要传递的数据你就可以实现跨进程通讯... 查看详情
面试必备!mac版本一文打通git教程!史上最硬核解析!——双非上岸阿里巴巴系列(代码片段)
东北某不知名双非本科,四面成功上岸阿里巴巴,在这里把自己整理的面经分享出来,欢迎大家阅读。Git是目前最简单、最流行、最优秀的分布式版本控制工具,没有之一。也是面试时最易被广大同学忽略的知识... 查看详情