关于操作系统常见问题总结

1、进程和线程以及它们的区别 进程是具有一定功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源调度和分配的一个独立单位。 线程是进程的实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。 一个进程可以有多个线程,多个线程也可以并发执行 2、线程同步的方式有哪些...

2018-10-04 11:08:07

阅读数 83

评论数 0

数据库相关知识总结

数据库的四大特性(ACID): 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。 一致性(Consistency) 一致性是...

2018-10-03 15:29:15

阅读数 43

评论数 0

java并发包提供的并发工具类

java并发包提供哪些并发工具类? 我们通常所说的并发包就是java.util.concurrent及其子包,集中了java并发的各种工具类,主要包括以下几个方面: 提供了比synchronized更加高级的同步结构,包括CountDownLatch、CyclicBarrier、Semaphor...

2018-09-24 16:54:17

阅读数 70

评论数 0

TCP 和 UDP

UDP协议 TCP和UDP有哪些区别? TCP是面向连接的,UDP是面向无连接的。面向连接的协议会先建立连接。例如TCP的三次握手。所谓的建立连接是为了在客户端和服务端维护连接,而建立一定的数据结构来维护双方交互的状态,用这样的数据结构来保证所谓的面向连接的特性。 TCP提供可靠支付,保证数据无...

2018-09-22 19:34:36

阅读数 40

评论数 0

java什么情况下产生死锁?如何定位修复?

java什么情况下产生死锁?如何定位修复? 死锁:死锁是一种特定的程序状态,在实体之间,由于循环依赖导致彼此一直处于等待之中,没有任何个体可以继续前进。 死锁产生条件: 互斥条件 请求与保持条件 不可剥夺条件 环路等待条件 定位死锁最常见的方式就是利用jstack工具获取线程栈,然后定位相互之...

2018-09-22 15:11:02

阅读数 714

评论数 0

MySQL支持的事务隔离级别,以及悲观锁和乐观锁的原理

MySQL支持的事务隔离级别,以及悲观锁和乐观锁的原理 所谓隔离级别,就是在数据库事务中,为保证数据读写的正确性而提出的定义,它并不是MySQL专有的概念,而是源于ANSI/ISO制定的SQL-92标准。 MySQL InnoDB引擎,是基于MVCC(Multi-Versioning Conc...

2018-08-30 21:38:41

阅读数 230

评论数 0

java常见面试题(4)

接口和抽象类的区别? 接口和抽象类是java面向对象的两个基础机制。 接口是对行为的抽象,它是抽象方法的集合,利用接口可以达到API定义和实现分离的目的。接口,不能实例化;不能包含任何非常量成员,任何field都是隐含着public static final的意义;没有非静态方法实现,也就是要...

2018-08-30 12:04:29

阅读数 78

评论数 0

java常见面试题(3)

synchronized和ReentrantLock有什么区别? synchronized是java内建的同步机制,所以也称其为Intrinsic Locking,它提供了互斥的语义和可见性,当一个线程已获取当前锁时,其它试图获取的线程只能等待或者阻塞在那里。在java 1.5以前,synchr...

2018-08-29 17:10:57

阅读数 49

评论数 0

java常见面试题(2)

java反射机制,动态代理是基于什么原理? JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。反射机制是java提供的一种基础功能,赋予程序在运行...

2018-08-28 18:08:17

阅读数 79

评论数 0

Java常见面试题(1)

对java平台的理解,java是否是解释执行? java是面向对象的语言,最显著的两个特点是“一次书写,到处运行(Write once,run anywhere)”和垃圾收集(GC)。第一个特点使java非常容易的或跨平台能力,第二个特点java通过垃圾收集器回收分配内存,大部分情况下,程序员不...

2018-08-28 15:02:34

阅读数 50

评论数 0

Leetcode——532. 数组中的K-diff数对

532. 数组中的K-diff数对 给定一个整数数组和一个整数 k, 你需要在数组里找到不同的 k-diff 数对。这里将 k-diff 数对定义为一个整数对 (i, j), 其中 i 和 j 都是数组中的数字,且两数之差的绝对值是 k. 示例 1: 输入: [3, 1, 4, 1, 5],...

2018-08-24 22:08:20

阅读数 64

评论数 0

spring中的设计模式

spring中的设计模式 第一种:简单工厂 又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。 spring中的BeanFactory就是简单工厂模式的体...

2018-08-24 10:50:26

阅读数 27

评论数 0

Leetcode——515. 在每个树行中找最大值

515. 在每个树行中找最大值 您需要在二叉树的每一行中找到最大的值。 示例: 输入: 1 / \ 3 2 / \ \ 5 3 9 输出: [1, 3, 9] 代码: /** * Definition for ...

2018-08-23 21:23:41

阅读数 106

评论数 0

Leeycode——404. 左叶子之和

404. 左叶子之和 计算给定二叉树的所有左叶子之和。 示例: 3 / \ 9 20 / \ 15 7 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 代码: /** * Definition for a binary tree node...

2018-08-23 21:01:26

阅读数 124

评论数 0

Spring练习(2)

导包: 实体类(javaBean): package until; public class Car { private String name; private String color; public String getName() { r...

2018-08-16 22:07:51

阅读数 55

评论数 0

Spring练习(1)

导包: 实体类(javaBean): package until; public class User { private String name; private Integer age; private Car car; public Car g...

2018-08-16 22:00:58

阅读数 134

评论数 0

Leetcode——112. 路径总和

112. 路径总和 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ ...

2018-08-16 21:36:47

阅读数 65

评论数 0

Leetcode——99. 恢复二叉搜索树

99. 恢复二叉搜索树 二叉搜索树中的两个节点被错误地交换。 请在不改变其结构的情况下,恢复这棵树。 示例 1: 输入: [1,3,null,null,2] 1 / 3 \ 2 输出: [3,1,null,null,2] 3 / 1 \ 2 示例 2: ...

2018-08-16 21:06:30

阅读数 119

评论数 0

Leetcode——106. 从中序与后序遍历序列构造二叉树

106. 从中序与后序遍历序列构造二叉树 根据一棵树的中序遍历与后序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 中序遍历 inorder = [9,3,15,20,7] 后序遍历 postorder = [9,15,7,20,3] 返回如下的二叉树: ...

2018-08-16 20:10:54

阅读数 86

评论数 0

Linux文件目录管理命令

Linux文件目录管理命令 1.touch命令 touch命令用于创建空白文件或设置的时间,格式为“ touch [选项 ] [文件 ]”。 2.mkdir命令 mkdir命令用于创建空白的目录,格式为“ mkdir [选项 ] 目录”。 系统中, 文件夹是最常见的类型之一。除了能创...

2018-08-16 17:38:22

阅读数 80

评论数 0

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