JAVA
文章平均质量分 59
逍遥剑臣
这个作者很懒,什么都没留下…
展开
-
List.add报UnsupportOperationException异常
使用工具类Arrays.asList()把数组转换成集合时,不能使用其修改集合相关的方法,它的add/remove/clear方法会抛出UnsupportOperationException异常说明:asList的返回对象是一个Arrays内部类,并没有实现集合的修改方法。Arrays.asList体现的是适配器模式,只是转换接口,后台的数据仍是数组。转自:[添加链接描述](https://w...转载 2019-03-02 20:04:08 · 1440 阅读 · 0 评论 -
五种单例模式的Java实现
转自:https://blog.csdn.net/u011386173/article/details/824547141.饿汉式(1)饿汉式 提前(类加载时)创建优点:确保单例;缺点:单例永远不用时浪费内存常见方式public class Singleton { private static Singleton instance=new Singleton(); ...转载 2019-03-28 01:10:51 · 475 阅读 · 0 评论 -
Java包装类
2.1 包装类的作用(1)基本数据类型的存在意义 我们都知道在Java语言中,new一个对象存储在堆里,我们通过栈中的引用来使用这些对象。但是对于经常用到的一系列类型如int、boolean…如果我们用new将其存储在堆里就不是很高效——特别是简单的小的变量。所以,同C++一样Java也采用了相似的做法,决定基本数据类型不是用new关键字来创建,而是直接将变量的值存储在栈中,方法执行时创建,...原创 2019-05-08 13:46:55 · 186 阅读 · 0 评论 -
一个类实现两个包含同名抽象函数的接口
1.同名抽象函数返回值类型相同 能正常编译;2.同名抽象函数返回值类型不同 能正常编译;public interface Listener1 { int a=0;//默认是public static final void fun();//默认是public abstract int fun1();}public interface Listener2 {...原创 2019-05-09 15:58:39 · 732 阅读 · 0 评论 -
悲观锁和乐观锁
转自:面试必备之乐观锁与悲观锁1 什么是悲观锁与乐观锁?乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。1.1 悲观锁 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一...转载 2019-05-24 17:13:08 · 132 阅读 · 0 评论 -
Java中的Object类
1 源码 Object类是Java中其他所有类的父类,所有类包括自定义类默认继承了Object类; 没有Object类Java面向对象无从谈起。作为其他所有类的基类,Object具有哪些属性和行为,是Java语言设计背后的思维体现。 Object类位于java.lang包中,java.lang包包含着Java最核心类,在编译时会自动导入。Object类没有定义属性,一共有13个方法,13个方...原创 2019-05-12 19:43:59 · 332 阅读 · 0 评论 -
Java 异常
1 什么是java异常 异常是指在程序运行时,阻碍程序正常执行的错误事件。比如:用户输入错误数据、硬件故障、网络阻塞等都会导致出现异常。 只要产生了异常,一个异常对象就会被创建,JRE就会试图寻找异常处理程序来处理异常。2 Java异常层级Throwable是所有异常的父类,它有两个直接子对象Error,Exception;Error :运行时错误;Error对象由JVM生成并抛出...原创 2019-05-13 17:15:52 · 207 阅读 · 0 评论 -
java容器迭代或序列化时不允许修改操作之ConcurrentModificationException异常
java容器迭代或序列化时不允许修改操作原因:迭代或序列化前后会查看modCount是否发生变化,如果发生变化,意味着容器结构发生变化,会抛出一个ConcurrentModificationException异常;容器在遍历时变化会发生一些不可控的问题。具体化:LikedList和LinkedHashMap、LinkedHashSet在使用Lru顺序前提下,遍历和序列化时不允许put,r...原创 2019-06-09 15:12:08 · 412 阅读 · 0 评论 -
Java中List和Map的遍历
1.List的遍历import java.util.*; public class Test{ public static void main(String[] args) { List<String> list=new ArrayList<String>(); list.add("Hello"); list.add("World"...转载 2018-12-25 11:37:34 · 294 阅读 · 0 评论 -
Java泛型进阶
1.泛型类型安全检查 泛型的生存期为编译阶段,编译后生成字节码形式的Class文件,泛型信息被擦除,专业术语叫做类型擦除。所以在编译阶段,编译器会进行泛型类型安全检查,保证泛型类型匹配。List<String> list = new ArrayList<>();list.add("aaa");list.add(100);//无法编译通过 因为编译时会进行泛型类型...原创 2018-12-28 23:46:30 · 194 阅读 · 0 评论 -
一个List赋值给一个List
转自:Click1 List 是通过指针指向地址来查询和存储数据的。而如果直接将一个List赋值给另一个List。则会导致该两个List都指向同一个地址。而导致如果后一个List的元素值改变,前一个List的元素值也随之改变。这个要记住。如:List list1=new ArrayList();list1.add("1");list1.add("2");list1.add("3");...转载 2018-07-22 21:37:15 · 9499 阅读 · 1 评论 -
将Javaweb项目部署到云服务器
一、前言由于业务需要,要搞一个文件上传下载服务器,代码当前已经在localhost上调试成功。现在需要把这个项目部署到云服务器上,选择的服务器是vultr的vps,系统是Ubuntu16.04。二、环境准备1.jdk安装常规安装即可,注意使用wget jdk文件时用如下命令(accept license aggrement):wget --no-check-certifica...原创 2018-08-22 11:13:24 · 6536 阅读 · 0 评论 -
Java中的Comparable和Comparator接口
一.Comparable简介 Comparable是排序接口。若一个类实现了Comparable接口,就意味着该类支持排序。实现了Comparable接口的类的对象的列表或数组可以通过Collections.sort或Arrays.sort进行自动排序。 该接口定义如下:package java.lang;import java.util.*;public interface Compa...转载 2018-12-26 14:38:00 · 243 阅读 · 0 评论 -
Java泛型
转自:http://www.runoob.com/java/java-generics.html Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据***类型***被指定为一个***参数***。 假定我们有这样一个需求:写一个排序方法,能够对整型数组、字...转载 2018-12-26 15:37:19 · 156 阅读 · 0 评论 -
Java中的三个点"..."
转自:https://blog.csdn.net/it_faquir/article/details/49131173 java1.5引入。&amp;amp;quot;…“必须是方法的最后一个形参,表示***多个(0,1,2,…)参数***。类似数组参数。但是与数组参数又有区别,***”…&amp;amp;quot;表示多个参数,数组参数一个参数。***详见下面举例:public class Test { void t1(String......转载 2018-12-26 22:12:43 · 4196 阅读 · 0 评论 -
Java匿名内部类中使用外部类方法的形参或局部变量必须声明为final
对于这个问题,首先我们应该明确的一点是对于匿名内部类,它可能引用三种外部变量:外部类的成员变量外部方法或作用域内的局部变量外部方法的参数而第一种变量是不需要声明为final的,但后两种是需要声明为final的。那这是为什么呢?不急,我们首先来看第一个知识点。知识点一,匿名内部类同所有类一样,都是有构造函数的,只不过这个构造函数是隐式的,虽然是内部类,但是经过编译之后,JVM还是会为匿名内部类生成...转载 2018-12-21 18:39:56 · 1963 阅读 · 0 评论 -
Java注解
转自:https://blog.csdn.net/briblue/article/details/738240581.注解的定义和简单使用1.1 注解是什么 简单来说:注解可以理解为标签,用于解释说明代码。 1.2 注解定义 注解通过 @interface 关键字进行定义,它的形式和接口很类似,不过前面多了一个 @ 符号。下面的代码就创建了一个名字为 TestAnnotaion 的...转载 2018-12-28 00:06:52 · 449 阅读 · 0 评论 -
Java反射
转自:https://blog.csdn.net/sinat_38259539/article/details/71799078http://www.cnblogs.com/chanshuyi/p/head_first_of_reflection.html1.反射是什么 反射之中包含了一个「反」字,所以想要解释反射就必须先从「正」开始解释。Student student = new St...原创 2018-12-28 19:46:51 · 189 阅读 · 0 评论 -
【源码分析】HashMap的原理及常见面试题
1 HashMap数据结构 HashMap的主干是一个Entry数组;Entry是HashMap的基本组成单元,每一个Entry包含一个key-value键值对。//HashMap的主干数组,是一个Entry数组;初始值为空数组{};主干数组table的长度一定是2的次幂,至于为什么这么做,后面会有详细分析。transient Entry<K,V>[] table = (En...原创 2019-06-03 16:17:55 · 411 阅读 · 1 评论