自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 2021-04-16

MVVM框架 view:视图 DOM,viewmodel:通讯 观察者,Model:数据 js对象。 提供基础的架构抽象,通过AJAX数据持久化,不会造成整个页面刷新保证前端用户体验。 Vue.js 轻量级MVVM框架只有20kb 数据驱动+组件化前端开发 组件化 每个页面组件对应一个viewModel,生成的viewModel对应一个dom。 组件设计原则 页面上每个独立的可视/可交互区域视为一个组件;每个组件对应一个工程目录,组件需要的各种资源在这个目录下就近维护;组件可以嵌套自由组合形成完

2021-04-16 21:51:05 42

原创 计算机网络

网络层 网络层的作用是根据ip找到目的主机,这一层主要有两个问题。第一个问题是到达目的主机需要经过多个路由或主机的转发,是如何知道下一个主机的ip的,第二个问题是到达第目的主机需要知道它的mac地址,将其交给链路层进行传输的。 一、如何知道mac帧首部应该填入什么硬件地址 A主机到B主机传输信息最终还是要把ip数据报封装为mac帧在链路层通过物理管道传输。为了获得对应的硬件地址。每个主机缓存了本局域网中ip和mac地址之间的映射。先在缓存中查找对应的硬件地址然后封装成mac帧进行传输。如果没有找到说明这这个

2021-03-24 23:19:54 81

原创 并发编程

并发编程 查看进程和线程 linux 进程 ps -fe //查看java进程 ps -fe | gropu java //使用管道运算符筛选java进程 jps //jdk自带命令,查看进程windows也可用 kill pidxxx //杀掉进程 线程 top -H -p pidxxx //查看进程下的所有线程 jstack pidxxx //抓取某一刻的线程信息 栈与栈帧 main线程运行时内存图,栈是线程私有的,所以此处只给线程main分配一个栈 线程上下文切换 即多个线程轮流使用cpu

2021-03-24 23:16:29 79

原创 synchronize详解

monitorenter指令是在编译后插入到同步代码块的开始位置,而monitorexit是插入到方法结 束处和异常处,JVM要保证每个monitorenter必须有对应的monitorexit与之配对 别从低到高依次是:无锁状态、偏向锁状态、轻量级锁状 态和重量级锁状态, synchronized 一、偏向锁 适合只有一个线程在临界区执行 有两个线程1和2拥有同一个对象锁,假如线程1先进入临界区发现锁对象的markword后三位是100(即偏向无锁),就会进行cas操作把线程id存储在markword中,

2021-03-24 23:14:28 185

原创 数据库锁

锁 MyISAM和InnoDB关于锁方面的区别 MyISAM只支持表级锁,不支持行级锁。进行读操作会隐式的加入读锁,她也叫共享锁,即多个读操作是可以同时进行的。进行写操作会自动加上写锁。他也叫排他锁。不支持事务 lock tables tables_name read | write unlock tables; select * from table_name for update #给读操作也可以手动加入排他锁 InoodB默认行级锁,也支持表级锁,且支持事务,innodb使用二段锁,即加锁和解锁

2021-03-24 23:10:30 62

原创 数据库索引

b树和外部存储 2-3树和2-3-4树插入时的不同 2-3树插入过程中碰到满的非叶子节点不需理会,一直找到要插入的叶子节点,如果是满的就进行分裂操作,不满就直接插入。属于自底向上的分裂。向上分裂的数据项只有和要插入的数据项比较后才能确定。 2-3-4在插入新的数据项的过程中只要碰到满的节点就开始向上分裂。他的数据项是有序的,所以分裂的是中间的数据项。 外部存储 磁盘中的数据存储是以块为单位,根据系统的不同称为块,页,分配单元等名字。块的大小根据操作系统确定。磁盘驱动器每次读或写至少一个数据块这样效率最高 B

2021-03-24 23:09:32 94 1

原创 2021-03-14

订单与订单详情 /**单价需要从数据库取出而不是从前端取出* * 查询数量,单价 * 计算总价 * 写入订单数据库 * 扣库存 * name: "张三" * phone: "18868822111" * address: "慕课网总部" * openid: "ew3euwhd7sjw9diwkq" * items: [{ * productId: "1423113435324", *

2021-03-14 00:01:38 55

原创 volatile与单例模式

文章目录可见性解决方法Balking模式+两阶段终止模式有序性为什么要进行指令重排指令重排带来的问题如何保证有序性单例模式-volatile保证有序性的实践 volatile可以保证可见性和有序性。 可见性:禁止了JVM的缓存优化 有序性:禁止了JVM的重排序 可见性 static boolean run = true; public static void main(String[] args) { Thread t = new Thread(()->{ while(r

2021-02-01 18:25:11 106

原创 乐观锁-无锁并发

文章目录无锁问题提出为什么不安全解决思路-锁解决思路-无锁CAS与volatileCASvolatile为什么无锁效率高乐观锁和悲观锁原子类1、原子引用类2、ABA3、原子数组Unsafe 无锁 问题提出 一个账户内有10000,1000个线程每个线程减去10,最后正确的结果应该是0。 public interface Account { Integer getAmount(); void withdraw(Integer amount); public static void d

2021-01-27 19:50:13 118 1

原创 自定义线程池

线程池 自定义线程池的工作流程: 线程池刚开始没有线程时,当一个任务提交给线程池后,线程池会创建出一个新的线程来执行任务 当线程数达到coreSize时还没有线程空闲,这时再加入的任务就被放进队列中等待被空闲的线程执行 线程池的目的就是让一个线程执行多个任务,达到线程的重复利用 步骤1:自定义任务队列 public class BlockedQueue<T> { //队列的容量 private int capacity; //用来存放任务 private De

2021-01-27 13:01:19 161

原创 共享模型之内存

共享模型之内存 JMM JMM有以下几方面 1、原子性:指令不会受上下文切换的影响 2、可见性:不受cpu缓存的影响 3、有序性:保证指令不会受cpu指令并行优化的影响 可见性 volatile修饰成员变量和静态变量。避免线程从缓存中获取值。 synchronized既可以保证原子性也可以保证线程的可见性:对同一锁锁定的变量是可见的 问题:system.out.println()为什么可以导致可见性 balking模式 应用场景: 保证监控程序只运行一次 有序性 只要共享变量完全在synchronized中

2020-12-02 16:45:26 46

原创 redblack

public class RBTree<K extends Comparable<K>, V> { private static final boolean RED = true; private static final boolean BLACK = false; private class Node{ public K key; public V value; public Node left, rig

2020-05-29 17:52:03 150 1

原创 管理表空间和数据文件

管理表空间和数据文件 一、表空间和数据文件的关系 一个数据文件只能属于一个表空间,一个表空间有多个数据文件。创建表空间时必须创建数据文件,增加数据文件时必须指定表空间。 DBA可以修改数据文件。 可以通过dba_data_files查看表空间与数据文件的关系。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tiSPLQX2-1586945596788)(F:\typora笔记\大三下\大型数据库\img_orcl\1586786545416.png)] [外链图片转存失败,源

2020-05-29 17:50:39 171

原创 Linux中配置tftp服务器

Linux中配置tftp服务器 ​ TFTP:简单文件传输协议,从文件服务器(tftp目录下)上获得或写入文件 1.安装tftp服务器 ​ sudo apt-get install tftpd-hpa #安装tftp服务器 ​ sudo apt-get install tftp-hpa #安装tftp客户端 ​ sudo apt-get install xinetd #守护tftp 2....

2020-03-12 12:03:10 134

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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