![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
大数据
javase
码农阳神
Diligence is like the seedling that springs up in spring, but it does not increase and grows day by day.
展开
-
UML
UML类图用于表示类、接口、实例等相互之间的静态关系在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)1、泛化(Generalization)【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类...原创 2020-02-13 10:35:23 · 2644 阅读 · 0 评论 -
枚举类
1、枚举类概念枚举类是JDK1.5之后出现的,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示1.1、枚举类特点枚举类是一种特殊的Java类,枚举不可被继承枚举类中声明的每一个枚举值代表枚举类的一个实例对象;与java普通类一样,在声明枚举类时可以声明属性,方法,构造方法,但是枚举类必须是私有的枚举可以实现接口或继承抽象方法在JDK5之后,switch语句,可以接受...原创 2020-01-29 07:20:57 · 489 阅读 · 0 评论 -
数组
1、Java 中数组是对象吗什么是对象:语言层面:对象是根据某个类创建出来的一个实例,表示某类事物中一个具体的个体.对象具有各种属性,并且具有一些特定的行为计算机层面:对象就是内存中的一个内存块,在这个内存块封装了一些数据,也就是类中定义的各个属性数组:语言层面上,数组不是某类事物中的一个具体的个体,而是多个个体的集合,那么数组应该不是对象而在计算机的角度,数组也是一个内存块,也封装了一...原创 2020-01-29 06:58:24 · 139 阅读 · 0 评论 -
协变式重写和泛型重载
1、协变式重写1.1、不同版本之间变化在Java1.4及以前,子类方法如果要覆盖超类的某个方法,必须具有完全相同的方法签名,包括返回值也必须完全一样;Java5.0放宽了这一限制,只要子类方法与超类方法具有相同的方法签名,或者子类方法的返回值是超类方法的子类型,就可以覆盖;可以不需要强制转换类型例如:重写 Object 类的 clone()方法:Object 中该方法的声明如下:pro...原创 2020-01-28 11:08:49 · 339 阅读 · 0 评论 -
泛型
1、JDK5 引入的新特性允许在定义类和接口的时候使用类型参数(type parameter),泛型最主要的应用是在JDK 5中的新集合类框架中;其本质是参参数化类型为什么要有泛型?在JDK5之前没有泛型的情况下,只能通过对类型 Object 的引用来实现参数的任意化,其带来的缺点是需要显示强制转换,而强制转换在编译期不做检查,容易把代码流到运行时.使用泛型的好处是在编译时检查类型安全,提高...原创 2020-01-28 10:48:40 · 210 阅读 · 0 评论 -
Java 关键字
1、nativenative关键字可以应用于方法,以指示该方法是用 Java 以外的语言实现的2、transienttransient关键字可以应用于类的成员变量,以便指出该成员变量不应在包含它的类实例已序列化时被序列化;Java 的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它,为了在...原创 2020-01-28 10:19:04 · 126 阅读 · 0 评论 -
java基本知识点5
Java switch case 语句switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。switch case 语句有如下规则:JDK7 之后,switch 的参数可以是 String 类型了;到目前为止 switch 支持的数据类型:byte(Byte)、short(Short)、int(Integer)、char(Character)、String...原创 2020-01-28 09:56:35 · 150 阅读 · 0 评论 -
Java 序列化
1、Java对象序列化JDK1.1 中引入的一组开创性特性之一,用于作为一种将 Java 对象的状态转换为字节数组,以便存储或传输的机制,以后,仍可以将字节数组转换回 Java 对象原有的状态1.1、基本点对象序列化保存的是对象的"状态",即它的成员变量。由此可知,对象序列化不会关注类中的“静态变量”;在 Java 中,只要一个类实现了 java.io.Serializable 接口,那么...原创 2020-01-28 09:42:30 · 358 阅读 · 0 评论 -
java知识点4
Java 修饰符Java语言提供了很多修饰符,主要分为以下两类:访问修饰符非访问修饰符访问控制修饰符Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。default: (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。private : 在同一类内可见。使用对象:变量、方法。 注意...原创 2020-01-28 09:07:07 · 192 阅读 · 0 评论 -
java基本知识点3
Java 变量类型Java 局部变量局部变量声明在方法、构造方法或者语句块中;局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁;访问修饰符不能用于局部变量;局部变量只在声明它的方法、构造方法或者语句块中可见;局部变量是在栈上分配的。局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。package com.runoob.t...原创 2020-01-28 07:59:19 · 136 阅读 · 0 评论 -
java知识点2
Java 基本数据类型变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。Java 的两大数据类型:内置数据类型引用数据类型内置数据类型Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),...原创 2020-01-28 07:34:40 · 154 阅读 · 0 评论 -
java知识点1
JAVA 程序public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); }}注:String args[] 与 String[] args 都可以执行,但推荐使用 String[] args,这样可以避免歧义和误读。...原创 2020-01-28 07:02:57 · 230 阅读 · 0 评论 -
Stream和Optional
public interface Stream extends BaseStream<T, Stream>1.1、特性JAVA8中提出一个集合流的抽象工具(java.util.stream,简称Stream),用于集合内元素的计算,更确切的说是过滤和统计操作。Stream不是一种真实的数据源(不存在数据结构),所以没有办法直接来创建它,Stream只能依赖其他数据源来转换成我...原创 2020-01-27 15:24:37 · 2843 阅读 · 1 评论 -
进制基础
1、进制基础2、二进制运算2.1、与运算:&2.1.1、两位全为1,结果才为 10&0=0 0&1=0 1&0=0 1&1=151&5 = 1 即: 51 => 00000000 00000000 00000000 00110011 5 => 00000000 00000000 00000000 00000101 &a...原创 2020-01-27 14:56:17 · 423 阅读 · 0 评论 -
System
1、关于System.nanoTime() 与 System.currentTimeMillis()三个问题:在mac下发现System.nanoTime()在JDK7和JDK8下输出的值怎么完全不一样?System.nanoTime()的值很奇怪,究竟是怎么算出来的?System.currentTimeMillis()为何不是 System.nanoTime()的 1000000 倍?...原创 2020-01-27 14:02:28 · 457 阅读 · 0 评论 -
String
String 核心点:字符串的堆栈和常量池一、三个问题1、Java 内存具体指哪块内存?这块内存区域为什么要进行划分?是如何划分的?划分之后每块区域的作用是什么?如何设置各个区域的大小?2、String 类型在执行连接操作时,效率为什么会比 StringBuffer 或者 StringBuilder 低? StringBuffer 和 StringBuilder 有什么联系和区别?3、J...原创 2020-01-27 14:01:02 · 283 阅读 · 0 评论 -
Object类
Object 类是 Java 中的终极父类,任何类都默认继承Object类,然而接口是不继承Object类;???为什么接口不继承Object类???1、Object 类中 clone() 方法1.1、作用clone()可以产生一个相同的类并且返回给调用者1.2、clone()工作原理Object将clone()作为一个本地方法来实现,这意味着它的代码存放在本地的库中;当代码执行的...原创 2020-01-27 13:59:33 · 309 阅读 · 0 评论 -
Integer
Integer 类在对象中包装了一个基本类型 int 的值。Integer 类型的对象包含一个 int 类型的字段一、类定义public final class Integer extends Number implements Comparable<Integer>Integer类不能被继承;Integer类实现了Comparable 接口,所以可以用compareTo进行...原创 2020-01-27 13:58:37 · 643 阅读 · 2 评论 -
工具类
工具类特征:构造器必须是私有的,工具类一般不需要初始化,可以直接使用;工具类的方法必须是被static final方法修饰,保证方法不可变;不要在工具类方法中对共享变量有修改的操作,如果一定要有,必须加锁保证线程安全;工具类的所有方法都没有线程安全问题;一、ArraysArrays主要提供了对数组的高效操作,包括排序、查找、填充、拷贝、相等判断等操作;1、sort(int[] a...原创 2020-01-27 13:55:36 · 512 阅读 · 0 评论 -
LinkedList
一、类的定义public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable {}AbstractSequenceList 提供了 List 接口骨干性的实现以减...原创 2020-01-27 13:53:27 · 177 阅读 · 0 评论 -
LinkedHashMap
1、概述签名:public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V>{}LinkedHashMap是HashMap的一个子类,它保留插入的顺序,如果需要输出的顺序和输入时的相同,那么就选用LinkedHashMap。LinkedHashMap是Map接口的哈希表...原创 2020-01-27 13:52:39 · 240 阅读 · 0 评论 -
HashMap
一、HashMap 基本HashMap 是基于一个数组和多个链表来实现的,HashMap继承AbstractMap, 实现了 Map、Cloneable、Serializable1、HashMap的特点1.1、HashMap 基本结构在JDK8之前使用了一个内部类 Entry<K, V>来存储数据,这个内部类是一个简单的键值对,HashMap将数据存储到多个单向Entry链表中...原创 2020-01-27 13:52:00 · 342 阅读 · 0 评论 -
ConcurrentHashMap
基于如下来分析ConcurrentHashMap 的锁分段技术;ConcurrentHashMap 的读是否要加锁,为什么?ConcurrentHashMap 的迭代器是强一致性的迭代器还是弱一致性的迭代器;一、ConcurrentHashMap概述1、为什么会出现ConcurrentHashMapHashMap是用得非常频繁的一个集合,但是由于它是非线程安全的,在多线程环境下,p...原创 2020-01-27 13:51:00 · 311 阅读 · 0 评论 -
ArrayList
一、ArrayList1、Arraylist 类定义public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable{}ArrayList 继承 AbstractList(这是一个抽象类,对...原创 2020-01-27 13:50:18 · 231 阅读 · 0 评论 -
TreeMap
一、签名public class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>, Cloneable, java.io.Serializable相比 HashMap,TreeMap 多实现了一个接口 NavigableMap,这个决定了 TreeMap 与 HashMa...原创 2020-01-27 13:48:53 · 197 阅读 · 0 评论 -
集合类
1、集合框架Java 中的集合框架定义了一套规范,用来表示、操作集合,使具体操作与实现细节解耦[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W1A3kY4f-1580104009343)(image/collection-structure.jpg)]2、设计理念为了保证核心接口足够小,最顶层的接口(也就是Collection与Map接口)并不会区分该集...原创 2020-01-27 13:47:37 · 134 阅读 · 0 评论 -
Java并发与多线程
目录一、并发与多线程简介1、多线程优点2、多线程的代价3、并发编程模型4、进程与线程4.1、进程4.2、线程4.3、区别4.4、Java进程和线程的关系5、产生并发的原因二、Java 多线程1、Java线程2、线程的创建及状态变化2.1、创建线程的方式2.3、创建 Thread 子类还是实现 Runnable 接口2.4、start与run方法...原创 2020-01-26 15:50:46 · 2331 阅读 · 0 评论 -
Java-IO
一、I/O 模型为什么有IO模型:因为用户空间无法直接从内核空间拷贝数据,而是由内核空间来操作,而IO模型就是解决谁触发拷贝、1、异步与同步同步:如果有多个任务或者事件要发生,这些任务或者事件必须逐个地进行,一个事件或者任务的执行会导致整个流程的暂时等待,这些事件没有办法并发地执行;异步:如果有多个任务或者事件发生,这些事件可以并发地执行,一个事件或者任务的执行不会导致整个流程的暂...原创 2020-01-26 15:44:56 · 333 阅读 · 0 评论 -
Java隐蔽问题
1、基本类型与引用类型的比较1.1、如下四个变量,哪两个比较为 falseInteger i01 = 59;int i02 = 59;Integer i03 =Integer.valueOf(59);Integer i04 = new Integer(59);(1)Integer 为了节省空间和内存会在内存中缓存 -128~127 之间的数字;(2)valueOf():调用该方法时,...原创 2020-01-26 15:36:53 · 205 阅读 · 0 评论 -
Java平台理解
1、从宏观角度看Java跟C/C++组大的不同点在于,C/C++编程式面向操作系统的,需要开发者关心不同操作系统之间的差异性;而Java平台通过虚拟机屏蔽了操作系统的底层细节,使得开发无需关系不同操作系统之间的差异性;通过增加一个间接的中间层俩进行“解耦”是计算机领域常用的手法,虚拟机是这样的,操作系统如是;不同的操作系统有不同的API,为了支持多平台,C语言程序的源文件根据不同平台需要修改多次...原创 2020-01-26 09:19:15 · 127 阅读 · 0 评论 -
JDK的安装和配置
首先是jdk的安装首先准备好相应版本jdk的安装包。双击下载的 exe,如 jdk-8u131-windows-x64.exe。进入安装向导。下一步,更改安装路径,选择安装所有组件更改为 D:\developer_tools\Java\jdk1.8.0_131点击确定下一步,开始安装安装 jre,可以更改 jre 安装路径。(过程同上述安装目录的选择)注意:如果提示需要将...原创 2020-01-21 17:50:00 · 217 阅读 · 0 评论 -
内部类知识点
1.为什么使用内部类?使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。1.1.使用内部类最大的优点就在于它能够非常好的解决多重继承的问题,使用内部类还能够为我们带来如下特性:内部类可以用多个实例,每个实例都有自己的状态信息,并且与其他外围对象的信息相互独。在单个外围类中,可以让多个内部类以不同的...原创 2020-01-14 21:55:33 · 191 阅读 · 0 评论