- 博客(14)
- 收藏
- 关注
原创 2021-04-16
MVVM框架view:视图 DOM,viewmodel:通讯 观察者,Model:数据 js对象。提供基础的架构抽象,通过AJAX数据持久化,不会造成整个页面刷新保证前端用户体验。Vue.js轻量级MVVM框架只有20kb数据驱动+组件化前端开发组件化每个页面组件对应一个viewModel,生成的viewModel对应一个dom。组件设计原则页面上每个独立的可视/可交互区域视为一个组件;每个组件对应一个工程目录,组件需要的各种资源在这个目录下就近维护;组件可以嵌套自由组合形成完
2021-04-16 21:51:05 63
原创 计算机网络
网络层网络层的作用是根据ip找到目的主机,这一层主要有两个问题。第一个问题是到达目的主机需要经过多个路由或主机的转发,是如何知道下一个主机的ip的,第二个问题是到达第目的主机需要知道它的mac地址,将其交给链路层进行传输的。一、如何知道mac帧首部应该填入什么硬件地址A主机到B主机传输信息最终还是要把ip数据报封装为mac帧在链路层通过物理管道传输。为了获得对应的硬件地址。每个主机缓存了本局域网中ip和mac地址之间的映射。先在缓存中查找对应的硬件地址然后封装成mac帧进行传输。如果没有找到说明这这个
2021-03-24 23:19:54 167
原创 并发编程
并发编程查看进程和线程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 119
原创 synchronize详解
monitorenter指令是在编译后插入到同步代码块的开始位置,而monitorexit是插入到方法结 束处和异常处,JVM要保证每个monitorenter必须有对应的monitorexit与之配对别从低到高依次是:无锁状态、偏向锁状态、轻量级锁状 态和重量级锁状态,synchronized一、偏向锁适合只有一个线程在临界区执行有两个线程1和2拥有同一个对象锁,假如线程1先进入临界区发现锁对象的markword后三位是100(即偏向无锁),就会进行cas操作把线程id存储在markword中,
2021-03-24 23:14:28 221
原创 数据库锁
锁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 82
原创 数据库索引
b树和外部存储2-3树和2-3-4树插入时的不同2-3树插入过程中碰到满的非叶子节点不需理会,一直找到要插入的叶子节点,如果是满的就进行分裂操作,不满就直接插入。属于自底向上的分裂。向上分裂的数据项只有和要插入的数据项比较后才能确定。2-3-4在插入新的数据项的过程中只要碰到满的节点就开始向上分裂。他的数据项是有序的,所以分裂的是中间的数据项。外部存储磁盘中的数据存储是以块为单位,根据系统的不同称为块,页,分配单元等名字。块的大小根据操作系统确定。磁盘驱动器每次读或写至少一个数据块这样效率最高B
2021-03-24 23:09:32 156 1
原创 2021-03-14
订单与订单详情/**单价需要从数据库取出而不是从前端取出* * 查询数量,单价 * 计算总价 * 写入订单数据库 * 扣库存 * name: "张三" * phone: "18868822111" * address: "慕课网总部" * openid: "ew3euwhd7sjw9diwkq" * items: [{ * productId: "1423113435324", *
2021-03-14 00:01:38 78
原创 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 249
原创 乐观锁-无锁并发
文章目录无锁问题提出为什么不安全解决思路-锁解决思路-无锁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 213 1
原创 自定义线程池
线程池自定义线程池的工作流程:线程池刚开始没有线程时,当一个任务提交给线程池后,线程池会创建出一个新的线程来执行任务当线程数达到coreSize时还没有线程空闲,这时再加入的任务就被放进队列中等待被空闲的线程执行线程池的目的就是让一个线程执行多个任务,达到线程的重复利用步骤1:自定义任务队列public class BlockedQueue<T> { //队列的容量 private int capacity; //用来存放任务 private De
2021-01-27 13:01:19 246
原创 共享模型之内存
共享模型之内存JMMJMM有以下几方面1、原子性:指令不会受上下文切换的影响2、可见性:不受cpu缓存的影响3、有序性:保证指令不会受cpu指令并行优化的影响可见性volatile修饰成员变量和静态变量。避免线程从缓存中获取值。synchronized既可以保证原子性也可以保证线程的可见性:对同一锁锁定的变量是可见的问题:system.out.println()为什么可以导致可见性balking模式应用场景:保证监控程序只运行一次有序性只要共享变量完全在synchronized中
2020-12-02 16:45:26 64
原创 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 197 1
原创 管理表空间和数据文件
管理表空间和数据文件一、表空间和数据文件的关系一个数据文件只能属于一个表空间,一个表空间有多个数据文件。创建表空间时必须创建数据文件,增加数据文件时必须指定表空间。 DBA可以修改数据文件。可以通过dba_data_files查看表空间与数据文件的关系。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tiSPLQX2-1586945596788)(F:\typora笔记\大三下\大型数据库\img_orcl\1586786545416.png)][外链图片转存失败,源
2020-05-29 17:50:39 234
原创 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 #守护tftp2....
2020-03-12 12:03:10 156
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人