mysql 锁 事务 脏读 不可重复读 幻读 行级锁{共享锁和排他锁}共享锁lock in share mode:多个事务只能读数据,不能改数据排他锁for update:其他事务不能再在其上加其他的锁mysql普通查询没有任何锁机制悲观锁:乐观锁:(默认) 加版本号脏读:一个事务读取到另外一个事务没有提交的数据。不可重复读:同一个事务读了一条数据读了两次,两次返回的记录数据不一样。(update...
kafka(基础) kafka优点:1.解耦:原本单一的处理过程一拆为二,相当于你可以独立扩展和修改(遵循同样的接口约束)2.可恢复性:即使消息进程挂了,仍可在系统恢复后被处理3.缓冲:可以理解为生产消息的速度和消费速度不一致(应该是生产速度大于消费),这种控制和优化数据的流经系统的速度是可控的4.削峰:缓冲不就可以削峰5.灵活:分布式的话动态增减机器6.异步通信模式:1.点对点模式:一对一2.发布/订阅:一对多kafka架构:kafka Cluster:集群 broker...
动态代理(基础) import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;interface TargetInterface{ void doSomething();}class TargetObject implements TargetInterface{ @Override public void doSomething() {.
java设计七大原则 1.1.单一职责原则(总)每个类应该实现单一的职责,不过职责可拆,则把类拆分。1.开闭原则一个软件实体如类、模块、函数应该对扩展开放,对修改关闭。(不去改接口,不去改实体类,用子类去继承实体类,重载实体类的方法得到业务的扩展)2.里氏替换原则子类可以扩展父类的功能,但是不能改变父类原有的功能。 2.1子类可以实现父类的抽象方法,但是不能重写父类的非抽象方法。 2.2子类可以增加自己特有...
生产者消费者 package com.jxj.multiThreading.blibliLearning;import java.util.Date;import java.util.concurrent.atomic.AtomicInteger;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;.
函数式接口(基础) public class FuctionTest { public static void main(String[] args) { //函数式接口传T返R /*public interface Function<T, R> { R apply(T t); }*/ Function function=new Function<String,Integer>() { .
线程池自定义(基础) public class ExecutorTest { public static void main(String[] args) { //ExecutorService executorService= Executors.newSingleThreadExecutor();//单个 //ExecutorService executorService= Executors.newFixedThreadPool(10);//固定数量 //Execu.
redis操作(基础) String (字符串) Set key value Get keyDel key Append key value 追加 Strlen key 长度 Incr key 加1 Incrby number 加number Decr key 减1 Decrby key n...
redis持久化(基础) Redis持久化Redis持久化分为RDB(Redis DataBase)和AOF(Append Only File)两种方式。一.RDB(Redis DataBase):在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待...
类文件结构2(基础) 源码字节码参考上文,各字段表、方法表、属性结构表、jvm指令表请参考网络访问标志:00 21 对应”!”,这两个字节为访问标志access_flags,用于识别一些类或者接口层次的访问信息,此Class中包含acc_public标志和acc_super标志,两个标志分别为0x0001,0x0020,与操作后为0x0021类索引、父类索引与接口索引集合:00 03 00 04...
类文件结构1(基础) Java代码:package org.fenixsoft.clazz;public class TestClass{ private int m; public int inc(){ return m+1; }}Javap 反编译:Class16进制:常量池:...
srt字幕段格式和ass字幕段格式(补充) srt字幕段格式 SRT格式是基于纯文本的格式,使用CR+LF作为换行符(Windows下常用换行符,*nix使用LF作为换行符)。每个SRT文件包含至少一个字幕段。每个字幕段有四部分构成:1.字幕序号2.字幕显示的起始时间3.字幕内容(可多行)4.空白行(表示本字幕段的结束) 其中字幕序号一般是顺序增加的,表示字幕是一系列连续的序列。但该数值在字幕显示中不...
layui引入echarts(例子) 页面容器:<div id="main" style="width:100%;height:500px;"></div>引入echarts:layui.config({echarts: '/assets/common/module/echarts.js'});layui使用echarts:layui.use(['echarts'], function () ...
ffmpeg 合成Mp4 java(例子) Ffmpeg合成Mp4:转换格式为ts格式 合成Mp4Ffmpeg命令:ffmpeg -i 1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts 1.tsffmpeg -i 2.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts 2.tsffmpeg -i 3.mp4 -c copy -bs...
linux基本简单命令(基础) ps -ef|grep java (查java进程 ps显示进程 -e显示所有进程-f全格式 |的意思是后面的命令和前面的命令同时执行 grep java查找过滤出java的进程 整个命令是过滤出java的进程然后全格式显示出来)kill -9 线程号 (杀进程 -9 强制无条件杀进程)ll (格式化列出当前目录)cd 文件夹(进入文件夹)tail -f 日志...
虚拟机之方法区 1.方法区别名非堆(non-heap) 为各个线程共享的内存区域,存储已被虚拟机加载的类信息、常量、静态变量、及时编译器编译后的代码等数据。2.永久代 hotspot特有概念=方法区的实现,1.7将字符串常量池偶从永久代移除,1.8整个移除,概念改为元空间,‑XX:MaxPermSize 参数失去了意义,取而代之的是-XX:MaxMetaspaceSize。3.不需要连续的内存和可以选择固定大小和...
虚拟机之堆 1.堆=所有线程共享 for 存放对象实例2.处于物理上不连续的内存空间,逻辑上是连续的。3.堆可以固定也可以扩展,堆无法扩展=outofmemoryerror异常4.堆=新生代+老年代5.堆细分=eden空间+from survivor空间+to survivor空间...
虚拟机内存笔记之计数器、栈 1.程序计数器mean当前线程所执行的字节码的行号指示器2.字节码解释器获取下一条需要执行的字节码指令by程序计数器改变其本身的值1+2得出程序计数器的值()对应着虚拟机字节码指令地址...
懒汉模式和恶汉模式笔记-双重检查锁单例模式 懒汉模式=懒得生成实例,增加逻辑判断,线程不安全,适合使用频率低,有线程安全问题饿汉模式=出生自带实例,因为static修饰的变量指向实例对象,牺牲空间,适合于使用频率高懒汉模式:在第一个线程进入2执行4之间,可能会有几个线程在2被阻塞,等第一个线程释放锁,这段时间的线程还在,直到这些线程的实例对象被创建,所以在锁模块里(3)再进行一次对象非空判断public stati...
线程阻塞方法 sleep方法:顺序进入同步块的,不释放锁,持有monitor对象锁,其他线程是不能进入的。//忍让一段时间wait方法:当调用wait方法后,当前线程会释放持有的monitor对象锁,因此,其他线程还可以进入到同步方法,线程被唤醒后(如果加时间参数的话,则会在时间被消耗后唤醒,否则需要通过notify或notifyall唤醒),需要竞争锁,获取到锁之后再继续执行。//无条件忍让一段时间yield...