![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java面试小知识点
文章平均质量分 66
程序猿转行炒股了
这个作者很懒,什么都没留下…
展开
-
面试题:分布式锁,谈谈设计思路和方案
面试官:项目有用到分布式锁吗?谈谈设计思路和方案答:主要根据具体的业务场景展开描述(这边各个项目不一样,就不展开说了),主要是引入redis实现的分布式锁,应该保证互斥性(在任何时候只有一个客户端持有锁,使用setnx),不能死锁(设置过期时间),保证上锁和解锁是同一个客户端(设置不同的value值),业务时间太长,导致锁过期(设置看门狗,自动续锁),锁的重入性(使用redis的hset)。如果在一个分布式系统中,我们从数据库中读取一个数据,然后修改保存,这种情况很容易遇到并发问题。因为读取和更新保原创 2021-04-28 17:53:21 · 278 阅读 · 0 评论 -
Java基础知识点总结(面试版)
目录基础篇 4一、JDK常用的包 4二、 Get和Post的区别 4三、 Java多态的具体体现 4四、 StringBuffer StringBuilder String 区别 5五、 Hashtable与HashMap的区别 5六、 九大隐式对象 5七、 Forword(请求转发)与Redirect(重定向) 6八、JQurey总结 6九、 XML...原创 2019-02-15 20:45:03 · 445 阅读 · 0 评论 -
java中的Iterator和Iterable 区别和具体使用{方法(Iterable values)}
java.lang.Iterable java.util.Iterator 来自百度知道: Iterator是迭代器类,而Iterable是接口。 好多类都实现了Iterable接口,这样对象就可以调用iterator()方法。 一般都是结合着用,比如 HashMap类就实现了Iterable接口,而要访问或打印出Map中所有内容时,就可以这样: HashMap hashMap; I...原创 2018-08-02 14:22:49 · 13272 阅读 · 5 评论 -
Set空值问题
输出还是三条:可以存空值或null,有且只能存一个原创 2018-08-06 17:48:14 · 2461 阅读 · 0 评论 -
Map的遍历几种方式
Map<String,String>map=new HashMap<>(); map.put("name","li"); map.put("age","24"); // 第一种 for (String key:map.keySet()){ System.out.println(map.get(key)); } // 第二种 Itera原创 2018-08-06 10:29:59 · 4856 阅读 · 0 评论 -
List三种遍历方式
第一种:for循环遍历 List<String>list=new ArrayList<>(); list.add("1"); list.add("2"); list.add("3"); for(String str:list){ System.out.println(str); }第二种:对于ArrayList来说速度比较快, 用...原创 2018-07-21 15:21:48 · 467 阅读 · 0 评论 -
浅谈Session与Cookie的区别与联系
一、Session的概念Session 是存放在服务器端的,类似于Session结构来存放用户数据,当浏览器 第一次发送请求时,服务器自动生成了一个Session和一个Session ID用来唯一标识这个Session,并将其通过响应发送到浏览器。当浏览器第二次发送请求,会将前一次服务器响应中的Session ID放在请求中一并发送到服务器上,服务器从请求中提取出Session ID,并和保存的所...转载 2018-05-21 08:47:13 · 158 阅读 · 0 评论 -
HTTP 请求的 GET 与 POST 方式的区别
Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求 Get是获取信息,而不是修改信息,类似数据库查询功能一样,数据不会被修改 Get请求的参数会跟在url后进行传递,请求的数据会附在URL之后,以?分割URL和传输数据,参数之间以&相连,%XX中的XX为该符号以16进制表示的ASCII,如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果...原创 2018-05-13 19:15:18 · 198 阅读 · 0 评论 -
说说自定义注解的场景及实现
(1)跟踪代码的依赖性,实现代替配置文件的功能。比较常见的是Spring等框架中的基于注解配置。原创 2018-05-13 19:14:25 · 4588 阅读 · 0 评论 -
说说反射的用途及实现
(1)反射机制是Java语言中一个非常重要的特性,它允许程序在运行时进行自我检查,同时也允许对其内部成员进行操作。反射机制提供的功能主要有:得到一个对象所属的类;获取一个类的所有成员变量和方法;在运行时创建对象;在运行时调用对象的方法...原创 2018-05-13 19:13:41 · 1423 阅读 · 0 评论 -
抽象类和接口有什么区别
(1)接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它.所以,在高级语言上,一个类只能继承一个类(抽象类)(正如人不可能同时是生物和非生物),但是可...转载 2018-05-12 09:06:19 · 110 阅读 · 0 评论 -
重载和重写的区别
(1)方法重载是指同一个类中的多个方法具有相同的名字,但这些方法具有不同的参数列表,即参数的数量或参数类型不能完全相同 (2)方法重写是存在子父类之间的,子类定义的方法与父类中的方法具有相同的方法名字,相同的参数表和相同的返回类型 ...原创 2018-05-12 09:04:58 · 126 阅读 · 0 评论 -
int 和 Integer 有什么区别
(1)int的包装类就是Integer,从Java 5开始引入了自动装箱/拆箱机制,使得二者可以相互转换 (2)所以最基本的一点区别是:Ingeter是int的包装类,int的初值为0,Ingeter的初值为null。...原创 2018-05-12 09:04:08 · 358 阅读 · 0 评论 -
final, finally, finalize 的区别
(1)final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 (2)finally是异常处理语句结构的一部分,表示总是执行。 (3)finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源的回收,例如关闭文件等。...原创 2018-05-12 09:03:04 · 100 阅读 · 0 评论 -
Java面向对象的特征
(1)抽象: 忽略一个主题中与当前目标无关的东西,专注与当前目标有关的东西或有关的方面。(就是把现实世界的某一类具有某种特征的东西,提取出来,用代码来表示,抽象出来的就是类或接口)。抽象并不打算了解全部问题,而是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一个数据抽象,而是过程抽象. 数据抽象:表示一类事物的特征,对象的属性,如鸟有羽...原创 2018-05-12 09:00:03 · 145 阅读 · 0 评论