摘要:
说起开始学习这个知识的书,还要从一件故事说起。一天看到有一个分析A::new和new A()的区别的博客,然后就想测试一下这二者到底有啥区别? 于是我就敲代码Donut::new,神奇的事情发生了,居然可以用这么多类型接收,而这个类Donut仅仅是个普通的类,既没有继承也没有实现Runnable,这 阅读全文
摘要:
一、抽象同步队列AQS概述 1.什么是AQS? AbstractQueuedSynchronizier抽象同步队列。它是实现同步器的基本组件。并发包中锁的底层就是使用AQS实现的。首先,AbstractQueuedSynchronizier类继承AbstractOwnableSynchronizer 阅读全文
摘要:
一、Java并发包中原子操作类原理剖析 JUC包提供了一系列的原子性操作类,这些类都是使用非阻塞CAS算法实现原子性的,使用CAS算法可以提高并发性。下面以AtomicLong、Long Adder、和Long Acccumulator为例。 1.原子变量操作类 JUC并发包中包含有AtomicLo 阅读全文
摘要:
一、Java中的原子性操作 原子性:指一系列操作要么都执行,要么都不执行。在设计计数器时一般都先读取当前值,然后+1,再更新。这个过程是一读一写一改的过程。如果不能保证这个过程的原子性,就会出现线程安全问题。 如何实现原子性呢? (1)synchronized,内存可见性和原子性。但是synchro 阅读全文
摘要:
一、什么是线程 线程是进程的一个实体,线程不会独立存在。一个进程最少包含一个线程。线程是cup分配的基本单位。 多个线程共享进程的堆和方法区,每个线程都有自己独立的程序计数器和栈。 二、线程的创建和运行 线程创建有三种方式:继承Thread、实现runnable接口、使用FutureTask方式。 阅读全文
摘要:
git基础git的基本操作:初始化仓库,开始或停止跟踪track文件,暂存或提交更改,拉取pull,推送push等。1.1初始化仓库:git init克隆仓库: git clonegit的生命周期状态: 未跟踪untrack,未修改unmodified,已修改modified,暂存staged未跟踪 阅读全文
摘要:
1.什么是正则表达式?正则表达式是用一段特殊规则写成的字符串匹配另一段符合该规则字符串。 2.分类 (1)基本匹配,如:"abc","cat" (2)元字符 .点字符。匹配任意单个字符除了换行符。 []方括号字符。匹配方括号中的任意字符。 [^ ] 否定字符集匹配除方括号里的任意字符。 * 匹配>= 阅读全文
摘要:
1. 什么是排序? 排序是把无序的数据整理为有序的数据。 2. 排序种类划分? 根据排序中,数据的移动方式划分为:直接移动和逻辑移动两种。 根据排序排序中所使用的存储器划分为:内部排序和外部排序。 内部排序就是数据操作只需要借助内存来完成。 外部排序就是需要借助外部存储设备,如硬盘,u盘,软盘等等。 阅读全文
摘要:
一、关系型数据库 1.关系数据库是什么? 数据模型采用关系模型的数据库就是关系数据库。 2.关系数据库的结构? 关系数据库由表的集合组成,每个表名字唯一。每张表都有行和列,一行可以代表一组值之间的联系。表的概念和数学上的关系概念是密切相关的。 元组(tuple):一组值得序列。(n元组就是有n个值的 阅读全文
摘要:
1.什么是数据库管理系统? 数据库管理系统是由相互关联的数据和管理这些数据的程序组成。 2.应用 数据库在生产生活各行各业有着广泛的应用: (1)银行金融(2)互联网应用数据存储等等等等。数据库无所不在,无处不在 3.数据库管理系统DBMS出现前,怎样用来管理数据? 使用文件处理系统。主要的弊端:( 阅读全文