写后端的小学生

永不懈怠

排序:
默认
按更新时间
按访问量

操作系统(总结)

概述 操作系统基本特征 并发与并行 并发是指宏观上在一段时间内能同时运行多个程序,而并行则指同一时刻能运行多个指令; 并行需要硬件支持,如多流水线或者多处理器; 操作系统通过引入进程和线程,使得程序能够并发运行; 共享 共享是指系统中的资源可以被多个并发进程共同使用; 有两种共享方...

2018-08-13 08:48:32

阅读数:313

评论数:1

数据库系统原理

事务 事务指的是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚; ACID 1. 原子性(Atomicity) 事务被视为不可分割的最小单元,事务的所有操作要么全部提交成功,要么全部失败回滚; 回滚可以用日志来实现,日志记...

2018-08-13 08:48:25

阅读数:1726

评论数:0

8.Java容器-Set详解

       本文主要讲Set的三个子类:       HashSet:底层数据结构是哈希表(是一个元素为链表的数组) + 红黑树;       TreeSet集合:1.底层数据结构是红黑树(是一个自平衡的二叉树);2.保证元素的排序方式;       LinkedHashSet集合:底层数据结构...

2018-05-29 11:00:33

阅读数:977

评论数:0

6.Java容器-TreeMap

概述      1.非同步;      2.TreeMap实现了NavigableMap接口,而NavigableMap接口继承着SortedMap接口,所以TreeMap是有序的;      3.TreeMap底层是红黑树,它方法的时间复杂度都不会太高:log(n);    4.TreeMap的...

2018-05-28 20:39:52

阅读数:968

评论数:0

5.Java容器-LinkedHashMap

LinkedHashMap概述       LinkedHashMap是HashMap的子类,内部使用双向链表进行顺序的维护,内部类Entry为HashMap的Node的子类;       底层是散列表和双向链表,插入的顺序是有序的(底层链表致使有序),和HashMap一样,允许key和value...

2018-05-28 17:09:43

阅读数:973

评论数:0

10.Java永久代去哪了

      在Java虚拟机中,类包含了其对应的元数据,比如类的层级信息,方法数据和方法信息(如字节码,栈和变量大小),运行时常量池,已确定的符号引用和虚方法表;      在过去(当自定义类加载器使用地不是很普遍的时候),类几乎是静态的,并且很少被卸载和回收;因此类可以被看做是“永久的”;另外由...

2018-05-16 17:04:10

阅读数:984

评论数:0

7.Java容器-ConcurrentHashMap

前言线程不安全的HashMap           在多线程环境下,HashMap的put操作可能会引起死循环,导致CPU利用率接近100%;         因为多线程可能会导致HashMap的Entry链表在扩容的时候,形成环形数据结构,这样,Entry的next节点永远不为空,获取Entry...

2018-05-15 14:52:22

阅读数:1037

评论数:0

7.Spring MVC处理请求的过程

       本文将分析Spring MVC是如何处理请求的;       首先,分析HttpServletBean,FrameworkServlet和DispatcherServlet这三个Servlet的处理过程;       这样大家就可以明白从Servlet容器将请求交给Spring MV...

2018-05-13 21:58:45

阅读数:3143

评论数:1

4.Java容器-HashMap详解

HashMap概述        HashMap是基于哈希表和Map接口实现的;不保证有序;与HashTable最大的区别在于,非线程安全和允许null作为key和value;      如果需要同步的HashMap,可以用 Collections的synchronizedMap方法使HashMa...

2018-04-19 10:49:25

阅读数:2633

评论数:1

6.Java内存模型(JMM)-指令重排

       在执行程序时,为了提高性能,处理器和编译器常常会对指令进行重排序;当然不能随意重排序,指令重排需要满足以下两个条件:       1.在单线程环境下不能改变程序运行的结果;       2.存在数据依赖关系的不允许重排序;       其实这两点可以归结于一点:happens-bef...

2018-04-18 15:27:00

阅读数:996

评论数:0

3.Java容器-Map详解

Map与Collection的区别       1.Collection被称为集合,Map被称为映射;       2.Map存储的元素是键-值对,键是唯一的,值可以重复;       3.Collection存储的元素是单独出现的;Set不可重复,List可以重复;       4.Map里面的...

2018-04-17 15:30:59

阅读数:999

评论数:0

2.Java容器-List详解

       本文主要介绍List的三个子类:ArrayList,LinkedList和Vector;ArrayList详解       ArrayList的底层实现就是一个数组,但有扩容的概念,能够实现动态地增长;ArrayList的属性 private static final long...

2018-04-15 23:00:08

阅读数:1000

评论数:0

1.Java容器-概述

       容器主要有两种:Collection和Map;       Collection又分为Set,List和Queue;Collection系列数组与Collection(集合)的区别长度       数组的长度是固定的;       集合的长度可变;元素的数据类型       数组只能...

2018-04-15 16:23:27

阅读数:1037

评论数:0

6.内存回收的具体实现-垃圾收集器

       上图展示了7种用于不同分代的垃圾收集器;       如果两个收集器之间存在连线,这说明它们可以搭配使用;             虚拟机所处的区域,则表示它是属于新生代收集器还是老年代收集器;Serial收集器       具有两个特点:       1.只会使用一个线程去完成垃圾...

2018-04-01 18:50:03

阅读数:776

评论数:0

2.Java堆对象分配,布局和访问的全过程

对象的创建       这里说的对象指的是普通Java对象,不包括数据和Class对象等。       类加载过程:虚拟机遇到new指令,首先去检查new指令的参数是否能在常量池中定位到一个类的符号引用,并且这个符号引用代表的类是否已被加载,解析和初始化过。如果没有,那么先执行相应的类加载过程。 ...

2018-03-31 14:51:08

阅读数:753

评论数:0

1.JVM优化-JVM运行时数据区域

       内存动态分配和垃圾收集技术是JVM的关键技术运行时数据区域       Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。每个区域都有各自的用途,以及各自的创建和销毁时间。有些区域随着虚拟机进程的启动而建立,有些区域则依赖于用户线程的启动和结束而建...

2018-03-27 23:29:58

阅读数:735

评论数:1

1.详解Servlet

前言       Servlet就是Server+Applet的缩写,表示一个服务器应用。Servlet就是一个代码规范,我们按照这个规范写的程序就能在服务器上运行。Servlet接口public interface Servlet { //在容器启动的时候被调用,仅调用一次 //...

2018-03-13 22:53:54

阅读数:1939

评论数:3

18.进程-有名管道

有名管道打破了无名管道的限制,进化出了一个实实在在的 FIFO 类型的文件。这意味着即使没有亲缘关系的进程也可以互相通信了。所以,只要不同的进程打开 FIFO 文件,往此文件读写数据,就可以达到通信的目的;不过 FIFO 文件与我们最开始讲的本地文件通信还是有着本质的区别,它长着普通文件的脑袋,却...

2018-07-07 19:07:32

阅读数:24

评论数:0

17.进程-无名管道

无名管道适合有亲缘关系的进程(通常是父子进程)间通信了;实际上,你或多或少的都用过管道这种通信方式,比如你在使用的 linux 命令中的管道连接符 |;什么是管道之前提到过的,使用本地文件进行进程间通信的方式,那么就可以把管道理解成位于进程的内核空间的“文件”;给文件加引号,是因为它和文件确实很像...

2018-07-07 18:48:58

阅读数:89

评论数:0

16.进程-进程间通信概述

进程间通信,也就是大家常说的 IPC(Inter Process Communication),指的是不同的进程间进行交流,本质上就是进程之间发送和接收数据;本质上,信号也是属于进程间通信的一种,但信号能传递的信息量实在是太少太少了;不同进程间的进程空间是独立的。对于Linux 来说,进程的 0-...

2018-07-07 16:47:05

阅读数:79

评论数:0

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