
java知识点
淹不死的水
这个作者很懒,什么都没留下…
展开
-
String和StringBuilder形式参数传递问题
“` public class Test { public static void main(String[] args) { String s1 = “hello”; String s2 = “world”; change(s1,s2); System.out.println(s1+” “+s2);//hello原创 2017-02-17 21:02:46 · 3418 阅读 · 0 评论 -
浅复制和深复制
浅复制:在对对象进行复制时,如果对象的字段是值类型,则对该字段进行逐位复制;如果字段是引用类型,则复制引用但是不复制引用的对象。也就是说,对于引用来说,复制后的对象和复制之前的对象都是指向同一块内存。 深复制:在复制的时候,会把引用所指向的对象复制过来,重新开辟一块新的内存。Java的clone()方法:clone之后的对象是一个新的对象,不等同于之前的对象,但是类型是一样的(getClass()原创 2017-03-05 16:57:11 · 358 阅读 · 0 评论 -
剖析fail-fast机制和ConcurrentModificationException
快速失败,是java集合中的一种错误检测机制。当多个线程对集合进行结构上的改变操作时,就有可能会产生fail-fast机制。例如存在两个线程1和2,线程1通过Iterator在遍历集合中元素时,线程2修改了集合的结构(添加或者删除元素),这个时候就会抛出ConcurrentModificationException异常,从而产生了fail-fast机制。 并发修改异常ConcurrentModif原创 2017-03-19 19:51:01 · 341 阅读 · 0 评论 -
jdk8新特性
Jdk8新特性java语言新特性1 lambda表达式Lambda表达式(也称为闭包)是整个Java 8发行版中最受期待的在Java语言层面上的改变,Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中),或者把代码看成数据:函数式程序员对这一概念非常熟悉。在JVM平台上的很多语言(Groovy,Scala,……)从一开始就有Lambda,但是Java程序员不得不使用毫无新意的匿名原创 2017-03-21 14:27:29 · 562 阅读 · 0 评论 -
同步 异步 阻塞 非阻塞
同步和异步关注的是消息通信机制。主要是针对客户端。 同步:当客户端发出一个功能调用时,在没有得到结果之前,该调用不返回。也就是说必须一件一件的事情去做,等一件做完了才能去做下一件。异步:当客户端发出一个功能调用时,这个调用就直接返回了,不管有没有结果。调用处理完成后,被调用者会通过状态、通知和回调来通知调用者。同步异步主要是针对客户端,但是必须配合服务器端才能实现。同步异步是客户端自己控制,但是服原创 2017-03-29 11:10:47 · 339 阅读 · 0 评论 -
Object类中的方法详解
Object中的方法Clone方法protected Object clone() throws CloneNotSupportedException创建并返回此对象的一个副本。修饰符为protected,保证了只有在该类 同一个包下 以及子类可以访问。但是如果子类和基类不在同一个包下,子类在进行访问的时候,只能访问自身从基类继承过来的protected方法,不能访问基类实例中受保护的clone原创 2017-04-09 13:16:46 · 803 阅读 · 0 评论 -
JDK8-Collectors.toMap异常处理
文章目录Collectors.toMap异常键冲突 ?空指针异常 ?Collectors.toMap异常在使用Collectors.toMap方法时,会有两个常见的问题:1. 键冲突,导致抛出异常 2. 值为NULL,导致抛出空指针异常下面给出上面两种问题的解决方案。键冲突 ?有三种策略,分别如下:用后面的value覆盖前面的valueMap<String, String&...原创 2019-02-14 20:53:48 · 6271 阅读 · 1 评论