自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 synchronized锁

偏向所锁,轻量级锁都是乐观锁,重量级锁是悲观锁。一个对象刚开始实例化的时候,没有任何线程来访问它的时候。它是可偏向的,意味着,它现在认为只可能有一个线程来访问它,所以当第一个线程来访问它的时候,它会偏向这个线程,此时,对象持有偏向锁。偏向第一个线程,这个线程在修改对象头成为偏向锁的时候使用CAS操作,并将对象头中的ThreadID改成自己的ID,之后再次访问这个对象时,只需要对比ID,不需要...

2020-04-21 15:46:29 95

原创 排序算法 python手搓

快排def quick_sort(arr): """快速排序""" if len(arr) < 2: return arr # 选取基准,随便选哪个都可以,选中间的便于理解 mid = arr[0] # 定义基准值左右两个数列 left, right = [], [] # 从原始数组中移除基准值 arr.rem...

2019-10-22 14:40:15 184

原创 操作系统专业课复习

一.操作系统概述操作系统的四个特性并发:同一段时间内多个程序执行(注意区别并行和并发,前者是同一时刻的多个事件,后者是同一时间段内的多个事件)共享:系统中的资源可以被内存中多个并发执行的进线程共同使用虚拟:通过时分复用(如多道程序技术,分时系统)以及空分复用(如虚拟内存)技术实现把一个物理实体虚拟为多个异步:系统中的进程是以走走停停的方式执行的,且以一种不可预知的速度推进操作系统的主要...

2019-09-03 23:15:08 488

原创 linux命令英文缩写的含义(方便记忆)(转)

linux命令英文缩写的含义(方便记忆)命令缩写:ls:list(列出目录内容)cd:Change Directory(改变目录)su:switch user 切换用户rpm:redhat package manager 红帽子打包管理器pwd:print work directory 打印当前目录 显示出当前工作目录的绝对路径ps: process status(进程状态,类似于w...

2019-08-19 16:22:40 354

原创 Java 并发基础常见面试题总结

什么是线程和进程线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享进程的堆和方法区资源,但每个线程有自己的程序计数器、虚拟机栈和本地方法栈,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。Java 程序天生就是多线程程序,我们可以通过 JMX 来看一下一个...

2019-05-13 20:15:49 79

原创 LinkedList 源码学习

LinkedList是一个实现了List接口和Deque接口的双端链表。 LinkedList底层的链表结构使它支持高效的插入和删除操作,另外它实现了Deque接口,使得LinkedList类也具有队列的特性; LinkedList不是线程安全的,如果想使LinkedList变成线程安全的,可以调用静态类Collections类中的synchronizedList方法:List list=Col...

2019-05-12 20:19:12 185

转载 ArrayList 源码学习

int 和Integer1、Integer是int的包装类,int则是java的一种基本数据类型2、Integer变量必须实例化后才能使用,而int变量不需要3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值4、Integer的默认值是null,int的默认值是01、由于Integer变量实际上是对一个Intege...

2019-05-10 08:29:15 95

转载 Java集合框架面试题

Arraylist 与 LinkedList 异同是否保证线程安全:arraylist和linklist都是不同步的,也是不保证线程安全的底层数据结构:arraylist底层是object数组;linkedlist底层是双向链表结构(JDK1.7取消了循环链表),插入和删除是否受到元素位置的影响:①ArrayList数组存储,插入删除的时间复杂度受到元素位置的影响 比如:执行add(E e...

2019-05-08 15:15:29 182

转载 关于hashCode方法的作用

想要明白hashcode作用,首先要明白java中的集合总的来说,java集合有两类,set和listlist有序,可以重复 set无序,不可以重复保证元素不重复需要通过什么来判断呢?object.equals方法,如果每次增减都检查一遍效率很低初学者可以这样理解,hashCode方法实际上返回的就是对象存储的物理地址(实际可能并不是)。这样一来,当集合要添加新的元素时,先调用这个元...

2019-05-06 15:58:33 95

原创 Java 基础知识回顾(一)

java基础第一章节1.面向过程和面向对象的区别面向过程优点: 性能比面向对象高。因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发缺点: 没有面向对象易维护、易复用、易扩展面向对象优点: 易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更...

2019-04-28 21:02:05 345

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除