Java
文章平均质量分 75
土豆空心粉
这个作者很懒,什么都没留下…
展开
-
Spring部分问题整理
1,Spring的特性: 依赖注入(dependency injection,DI)和面向切面编程(aspect-oriented programming,AOP)。 2,Spring框架的核心:IoC容器和AOP模块。通过IoC容器管理POJO对象以及他们之间的耦合关系;通过AOP以动态非侵入的方式增强服务。 IoC让相互协作的组件保持松散的耦合,而AOP编程允许你把遍布于应用各层的功能分离出来形成可重用的功能组件。 4,什么是Spring IOC 容器? 控制反转即IoC (Inversion of C原创 2021-03-09 11:04:25 · 112 阅读 · 1 评论 -
Java内存区域相关概念解析
数据区域 1.线程私有的数据区域:程序计数器, 虚拟机栈, 本地方法栈 2,线程共享的数据区域:堆,方法区,直接内存 程序计数器 1.程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等功能都需要依赖这个计数器来完成。 2,另外,为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各线程之间计数器互不影响,独立存储,我们称这类内存区域为“线程私有”原创 2021-03-04 17:21:56 · 133 阅读 · 6 评论 -
并发与线程相关问题
进程 1.进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。 2.在 Java 中,当我们启动 main 函数时其实就是启动了一个 JVM 的进程,而 main 函数所在的线程就是这个进程中的一个线程,也称主线程。 线程 1.线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享进程的堆和方法区资源,但每个线程有自己的程序计数器、虚拟机栈和本地方法栈,所以系统在产生原创 2021-03-04 12:03:28 · 497 阅读 · 1 评论 -
一文尽收Java中集合相关知识(包括list,set,map所有子类)
1.List,Set,Map 三者的区别 List(): 存储的元素是有序的、可重复的。 Set(): 存储的元素是无序的、不可重复的。 Map(): 使用键值对(kye-value)存储,Key 是无序的、不可重复的,value 是无序的、可重复的,每个键最多映射到一个值。 2.List类型的集合 Arraylist: Object[]数组 Vector:Object[]数组 LinkedList: 双向链表(JDK1.6 之前为循环链表,JDK1.7 取消了循环) 3.Set类型的集合 HashSet(原创 2021-03-03 17:59:41 · 197 阅读 · 1 评论 -
一文读懂Arraylist , Vector和LinkedList
一.ArrayList 1.ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增长。在添加大量元素前,应用程序可以使用ensureCapacity操作来增加 ArrayList 实例的容量。这可以减少递增式再分配的数量。 2.ArrayList继承于 AbstractList ,实现了 List, RandomAccess, Cloneable, java.io.Serializable 这些接口。 3.RandomAccess 是一个标志接口,表明实现这个这个原创 2021-03-03 16:36:32 · 136 阅读 · 3 评论 -
Java基本概念及易混淆知识点整理(二)
1.BigDecimal 浮点数之间的等值判断,基本数据类型不能用==来比较,包装数据类型不能用 equals 来判断.为避免数据精度丢失,使用 BigDecimal 来定义浮点数的值,再进行浮点数的运算操作. 定义为BigDecimal 类型的数值a和数值b比较: a.compareTo(b) : 返回 -1 表示 a 小于 b,0 表示 a 等于 b , 1表示 a 大于 b。 2.final final修饰的类不能被继承,final类中的所有成员方法都会被隐式的指定为final方法; final修饰的原创 2021-03-03 15:48:22 · 359 阅读 · 0 评论 -
Java基本概念及易混淆知识点整理(一)
1.JVM(Java Virtual Machine) Java 虚拟机(JVM)是运行 Java 字节码的虚拟机。JVM 有针对不同系统的特定实现(Windows,Linux,macOS),目的是使用相同的字节码,它们都会给出相同的结果。字节码和不同系统的 JVM 实现是 Java 语言“一次编译,随处可以运行”的关键所在。 2.JDK ( Java Development Kit ) 它是功能齐全的 Java SDK。它拥有 JRE 所拥有的一切,还有编译器(javac)和工具(如 javadoc 和原创 2021-03-02 16:25:05 · 160 阅读 · 1 评论