RuiCode

  • 首页
  • 归档

  • 搜索
操作系统 并发 排序 网络 源码分析 二分法 面试 不重复算法 指针移动 java 算法 mysql Linux

【面试经】多线程控制输出1

发表于 2020-02-29 | 分类于 面试经 | 2 | 阅读次数 384
题目要求3个线程打印1-100的整数,每个线程打印3个数字,结果要求是有序输出线程1:1,2,3,...线程2:4,5,6,...线程3:7,8,9很ugly的思路创建三个线程,每个线程依赖一个信号量,并在处理完之后释放下一个信号量,实现线程之间的同步线程内部一直循环,直到某一线程到达指定的数字,直
阅读全文 »

【面试经】操作系统内存管理2 -- 虚拟内存、请求分页

发表于 2020-02-29 | 分类于 面试经 | 0 | 阅读次数 289
传统内存管理缺点:一次性:一个进程运行需要将全部内存装入,当进程超过最大内存时无法运行,当多个进程同时运行时,并发度下降驻留性:装入之后就不会移除,除非进程结束时间局部性和空间局部性原理:结论:程序暂时用不到的部分没必要移到内存,内存空间不够时可以把暂时用不到的移出内存虚拟内存三个特征多次性:允许程
阅读全文 »

【面试经】操作系统内存管理1 -- 基本分页、分段、段页式

发表于 2020-02-29 | 分类于 面试经 | 0 | 阅读次数 279
内存管理:对每个进程需要分配一定的内存空间,但是不同进程所需的大小不一样,并且进程会动态增加移除,操作系统需要对内存进行一定的管理(分配和回收)连续分配内存四种方法空闲区域使用链表形式连接起来首次适应算法:从头遍历到的第一个可以使用空闲区域最佳适应算法:遍历所有的空闲区域,找到可以使用的最小的空闲区
阅读全文 »

堆排序总结

发表于 2020-02-28 | 分类于 算法题总结 | 0 | 阅读次数 259
默认将arr数组按照广度优先遍历的方式形成一个二叉树,该树满足以下特性:如果含有子节点leftChildIndex的父节点的序号为parentIndex,arr总长度为len,则对于任意parentIndex,均满足parentIndex<=(len-1)/2,即叶子节点最多有len-(len
阅读全文 »

【面试经】JAVA并发编程2--线程安全性、AQS、线程池

发表于 2020-02-25 | 分类于 面试经 | 0 | 阅读次数 229
线程安全性主要有三个方面:原子性:提供了互斥访问,同一时刻只能有一个线程对主内存进行成功修改可见性:一个线程对主内存的修改可以及时被其他线程看到有序性:一个线程观察其他线程中的指令执行顺序,由于指令重排序的存在,该观察结果一般是无序AQS常用组件以下组件线程安全,可以在不同的线程中使用,目的是控制线
阅读全文 »

【面试经】JAVA并发编程1--synchronized

发表于 2020-02-25 | 分类于 面试经 | 0 | 阅读次数 249
对象锁普通方法锁:默认锁对象为this,当前实例对象同步代码块锁:自己指定的锁对象,可以为this,也可以为某一个实例对象当两个线程使用不同对象进行加锁时,互不影响ConcurrentHashMap类锁静态方法锁:默认锁对象为Class类对象同步代码块指定锁对象为XXX.class对象锁和类锁互不影
阅读全文 »

快速排序总结

发表于 2020-02-23 | 分类于 面试经 | 0 | 阅读次数 285
核心:每次以leftindex作为基准数字先从右向左找第一个比基准数字小的数,再从左向右找比基准数字大的数。这样最后leftPoint==rightPoint时,nums[rightPoint]总是比基准数字小或者就是基准数字,可以放心的交换,保证交换后的nums[left]不大于基准数字和基准数字
阅读全文 »

【面试经】计算机网络1 -- TCP的建立和断开

发表于 2020-02-21 | 分类于 面试经 | 0 | 阅读次数 275
TCP三次握手四次挥手
阅读全文 »

【面试经】JVM基础知识1 -- JAVA内存区域

发表于 2020-02-21 | 分类于 面试经 | 0 | 阅读次数 275
JVM内存模型
阅读全文 »

【面试经】JAVA基础知识(七)-- 容器总结之Set、Map

发表于 2020-02-21 | 分类于 面试经 | 0 | 阅读次数 275
HashSet和TreeSet实质上是对Map的封装HashMap数据结构是数组table+链表(Node<K,V>)\红黑树(TreeNode<K,V>),初始容量为16,加载因子为0.75,每次扩容为原来的二倍put()方法放入键值对时,根据key的hash值确定inde
阅读全文 »

【面试经】JAVA基础知识(六)-- 容器总结之List

发表于 2020-02-20 | 分类于 面试经 | 0 | 阅读次数 260
ArrayList底层结构就是Object[]数组,该数组特点是可以存储任意类型的对象,向上转型,在使用时需要向下转型为实际的类型Object[]o=newObject[2];o[0]=newString("ss");o[1]=newInteger(1);booleanb=(o[
阅读全文 »

二分法总结

发表于 2020-02-16 | 分类于 算法题总结 | 1 | 阅读次数 531
二分法核心二分法一般使用递归或者迭代难点是边界控制,左闭右开区间最佳找到每次缩小规模的点二分查找使用迭代,每次让左边界向右移动或者右边界向左移动,缩小的规模为当前数组的一半边界控制要尝试leftmidright的边界条件left=0,right=array.length,right-left<
阅读全文 »

【面试经】JAVA基础知识(五)-- 异常处理

发表于 2020-02-14 | 分类于 面试经 | 0 | 阅读次数 284
finally代码执行在try或者catch代码return之前执行;finally职责是清理资源、释放连接、关闭管道流,一般不进行赋值和return;如果finally有return且return的对象被修改,如果return对象是基本数据类型,没有影响;如果是引用数据类型,有影响;异常分类Err
阅读全文 »

【面试经】JAVA基础知识(四)-- 数据类型及其封装

发表于 2020-02-14 | 分类于 面试经 | 0 | 阅读次数 270
8个基础类型对应字节boolean1byte1short2char2int4float4long8double8int、char、String之间的相互转换int转StringString.valueOf(num)Integer.toString(num)String转intInteger.pars
阅读全文 »

【面试经】JAVA基础知识(三)-- static、volatile关键字 、不可变类

发表于 2020-02-14 | 分类于 面试经 | 0 | 阅读次数 339
static关键字static类或者接口:外部类不可以,内部类可以。静态内部类可以不依赖外部类对象的实例化,例如一个实现静态接口Map.Entry的内部静态类,而且只能访问外部类的静态成员和静态方法static代码块:只在类中。JVM加载类时执行,一般只会执行一次。static成员变量:静态成员变量
阅读全文 »

【面试经】java基础知识(二)-- 抽象类、内部类、父类、final修饰符

发表于 2020-02-12 | 分类于 面试经 | 1 | 阅读次数 304
抽象类和接口抽象类的abstract修饰类名或者方法名,成员变量不可以修饰抽象类用extends,接口用implements抽象类成员变量可以用private等修饰符修饰,abstract成员方法不能用private、static、synchronized、native等修饰;接口成员变量默认是pu
阅读全文 »

【面试经】JAVA基础知识(一)-- 语言特性

发表于 2020-02-12 | 分类于 面试经 | 0 | 阅读次数 251
JAVA语言有哪些优点纯面向对象平台无关性虚拟机在不同平台不同实现程序编译为字节码.class文件不同平台的虚拟机根据平台特性解释成对应的机器码JAVA提供很多内置类库例如:对多线程支持Thread、Runnable、Callable,对网络编程支持,提供垃圾回收器提供对Web应用开发支持例如App
阅读全文 »

三数之和

发表于 2020-02-08 | 分类于 算法题总结 | 0 | 阅读次数 263
最开始的思路:从第一个数字开始建立Seta,保存曾经遍历过的数;再建立一个临时Setb,保存第二个数字;如果满足相加为0,如果第二个数字并且第三个数字都不在a和b中,就将第二个数字添加到b,并且记录结果;这种思路的弊端:过于重视不重复这个点,而且相加遍历有较大的重复度。推荐思路:给数组排序;遍历nu
阅读全文 »

在centos7上搭建mysql8遇到的坑

发表于 2020-02-07 | 分类于 经验分享 | 0 | 阅读次数 655
最近在学习JVM、SpringBoot、Mysql、多线程和并发,加上在家中躲避疫情有时间,于是想搭建一个基于SpringBoot的开源博客halo学习。
阅读全文 »
RuiCode

RuiCode

19 日志
5 分类
13 标签
Creative Commons
© 2021 RuiCode
由 Halo 强力驱动
|
主题 - NexT.Pisces v5.1.4

冀公网安备 13050002001906号