- 博客(12)
- 收藏
- 关注
转载 1.Redis基础开发
1.NoSQL数据库分类 2.Redis 介绍 3.Redis基础类型 4.持久化,主从复制,集群 NoSQL数据库分类: 1.键值(key-value)数据库 用作内容缓存,处理大量数据的高访问负载. 优点:快速查询 缺点:存储数据缺少结构化 2.队存储数据库(Hbase) <分布式数据库> 以列簇式存...
2019-01-05 03:01:58
100
转载 MySQL锁
乐观锁 乐观锁不是数据库自带的,需要我们自己去实现。 乐观锁是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行任何其他的特殊处理(也就是不加锁),而在进行更新后,再去判断是否有冲突了。 通常实现是这样的:在表中的数据进行操作时(更新),先给数据表加一个版本(version)字段,每操作一次,将那条记录的版本号加1。也就是先查询出那条记录,获取出ver...
2019-01-05 03:01:52
133
原创 JVM综合篇
JVM运行数据区 1.程序计数器 当前线程所执行的字节码的行号指示器. 字节码解释器通过改变计数器的值来选取下一条需要执行的字节码指令. <1>执行java方法,则记录正在执行的虚拟机字节码指令地址 <2>执行native方法,计数器值为空 2.java虚拟机栈 (虚拟机栈为虚拟机执行java方法/字节码服务) 生命周期与线程相同,描述的是java方法...
2019-01-05 03:01:48
76
原创 HashMap分析篇
HashMap Class Node<K,V>{ final int hash; 存储的位置 Node<k,v> next; int key; Int value; } 数组+链表(红黑树) 达到阈值改变为红黑树 TREEIFY_THRESHOLD 阈值 8 (链表超过8个节点变形红黑树) UNTREEIFY_THRESHOLD = 6;...
2019-01-05 03:01:43
120
原创 Docker概念
传统虚拟机:虚拟出一套硬件,运行在一个完整的操作系统,在系统上运行所需应用进程. Docker:容器直接运行于宿主的内核. 依赖于Linux内核特性:Namespace和Cgroups(Control Group) 开发环境和部署环境相同,高效快速开发生命周期 使用场景: 容器进行开发->测试->部署服务. Docker概念: 1.C/S架构 客户端–>...
2019-01-05 03:01:39
121
原创 Docker 入门
Docker的基本操作 1.启动容器 docker run image [command] [Arg…] Exp: docker run centos echo ‘hello world’ 2.启动交互式容器 docker run -i -t image /bin/bash -i -t 容器打开标准输入/伪tty终端 Exp: docker run -i -t c...
2019-01-05 03:01:34
83
转载 2.Redis分布式锁实现与应用
1.锁 2.分布式 3.单机Redis锁基于RedisTemplate 锁 1.在单进程的系统中,当存在多个线程可以同时改变某个变量(可变共享变量)时,就需要对变量或代码块做同步,使其在修改这种变量时能够线性执行消除并发修改变量。 2.而同步的本质是通过锁来实现的。为了实现多个线程在一个时刻同一个代码块只能有一个线程可执行,那么需要在某个地方做个标记,这个标记必须每...
2019-01-05 03:01:11
140
原创 Maven的使用
Maven管理工具 依赖搜索(Maven Repository) 目录 1.src\main\java Java源代码 2.src\main\resources 项目配置 3.src\test\java 测试源代码 4.src\test\resourced 测试项目配置 命令 Archetype插件(archetype-pluign) M...
2019-01-05 03:00:41
74
原创 JVM类加载理解
1.类加载机制流程 2.双亲委派机制 Java Class->装载GVM配置文件->找到JVM的DLL文件->初始化JVM->找到Main方法. Class文件->加载内存->进入方法区->在堆中创建java.lang.class对象. JVM加载内存->[验证->准备->解析]->初始化JVM->使用J...
2019-01-05 03:00:33
114
原创 JVM内存分配算法
1.GC算法 2.G1算法 GC算法(keywords ,可达性分析,GCRoot向下搜索) 使用有向图将引用类型标记出来,使用GCRoot当做根节点,当GCRoot有指向的时候说明有引用(可达性分析) 销毁调用 finalize->放入F-Queue (只有一次) <1>标记清除算法 在每一个大块空间当没有引用的时候进行删除,容易造成内存小碎片. <2&...
2019-01-05 03:00:26
323
原创 JavaSE基础知识
JavaSE零碎知识点 1.java为解释性语言,程序讲代码编译成字节码,然后由JVM解释进行 2.java是纯面向对象语言 3.不支持多重继承,可继承多个接口. 4.java不支持运算符重载,没有预处理,不支持默认函数参数. Java程序初始化顺序 1.静态对象>非静态对象 2.父类对象>子类对象 3.其他(包含构造函数)按照编写顺序进行初始化 J...
2019-01-05 03:00:19
185
原创 Java多线程开发基础
1.实现多线程 2.同步机制 3.使用 1.实现多线程 <1>继承Thread类,重写run方法. <2>实现Runnable接口,实现run()方法. <3>实现Callable接口,重写call()方法. <3.1>提供返回值 <3.2>可抛异常call() <3.3>future对象可检...
2019-01-05 03:00:12
96
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人