
java基础知识
qq_40191710
这个作者很懒,什么都没留下…
展开
-
JVM分析学习
Java GC机制主要完成3件事: 确定哪些内存需要回收 确定什么时候需要执行GC 如何执行GC。 理解并行与并发的区别 1、并发是指用户线程与GC线程同时执行(不一定是并行,可能交替,但总体上是在同时执行的),不需要停顿用户线程(其实在CMS中用户线程还是需要停顿的,只是非常短,GC线程在另一个CPU上执行); 2、并行收集是指多个GC线程并行工作,但此时用户线程是暂停的; GC管理的区域: GC管理的主要区域是Java堆,一般情况下只针对堆进行垃圾回收。方法区、栈和本地方法区不被GC所管理 栈: 堆是由原创 2020-09-05 00:11:37 · 245 阅读 · 0 评论 -
多线程
理解并发与并行 并发:多线程抢占CPU,可能不同时执行,侧重于多个任务交替执行。(一个CPU) 并行:线程可以不共享CPU,可每个线程一个CPU同时执行多个任务。(多个CPU) 什么是线程安全: 多个线程并发执行时,仍旧能保证数据的正确性,这种现象称之为线程安全。 导致线程不安全的因素: 多个线程并发执行 多个线程并发执行时存在共享数据集(临界资源) ...原创 2019-05-12 20:42:51 · 149 阅读 · 0 评论 -
java基础题
java面向对象的特性: (1)继承 (2)封装 (3)多态性:不同子类型对同一消息做出不同的相应。方法重载是编译时的多态性(前绑定),方法重写是运行时的多态性(后绑定)。 (4)抽象: 访问修饰符: java对象clone()方法 java赋值是复制对象引用,如果我们想要得到一个对象的副本,使用赋值操作是无法达到目的的: ...原创 2019-06-24 23:10:42 · 145 阅读 · 0 评论 -
Java多线程(2)-Interrupt
中断在java中主要有3个方法,interrupt(),isInterrupted()和interrupted()。 interrupt(),在一个线程中调用另一个线程的interrupt()方法,即会向那个线程发出信号——线程中断状态已被设置。至于那个线程何去何从,由具体的代码实现决定。 isInterrupted(),用来判断当前线程的中断状态(true or false)。 i...原创 2019-07-29 13:11:36 · 173 阅读 · 0 评论 -
容器CopyOnWriteArrayList
ArrayList和CopyOnWriteArrayList都是实现了List接口 List接口中的方法: public interface List<E> extends Collection<E> { int size(); boolean isEmpty(); boolean contains(Object o); Itera...转载 2019-08-05 13:34:58 · 166 阅读 · 0 评论 -
java多线程(3)synchronized
synchronized关键字几种应用方式 在并发编程中存在线程安全问题,主要原因有:1.存在共享数据 2.多线程共同操作共享数据。关键字synchronized可以保证在同一时刻,只有一个线程可以执行某个方法或某个代码块, synchronized关键字是java并发编程中常使用的同步锁,用于锁住方法或者代码块,锁代码块时可以是synchronized(this){}...原创 2019-08-08 13:10:44 · 117 阅读 · 0 评论 -
java基础题(2)
(1)& 与 &&的区别 & 的两种用法(1)按位与 (2)逻辑与 &&:称之为短路运算,如果 && 左边的表达式的值为false,右边的表达式会被直接短路掉,不会进行运算。 当在验证用户登录时判定用户不是 null 而且不是空字符串,应当写为 username!=null && !usern...原创 2019-08-11 01:55:51 · 134 阅读 · 0 评论