MySQL基础知识—事务(重点)
要求:掌握、精通介绍一个事务是一个完整的业务逻辑。示例:假设转账,从A账号向B账号中转账10000.将A账号的钱减去10000将B账号的钱加上10000这就是一个完整的业务逻辑。以上操作是一个最小的工作单元,要么同时成功,要么同时失败,不可再分。【注意】只有DML语句(insert、delete、update)才会和事务有关系。MySQL 事务主要用于处理操作量大,复杂度高的数据。在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。 事
MySQL基础知识—索引(未完成)
原理索引是在数据库表的字段上添加的,是为了提高查询效率存在的一种机制。索引在MySQL中也叫做键,是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。索引优化应该是对查询性能优化最有效的手段了。索引能够轻易将查询性能提高好几个数量级。索引相当于字典的音序表,如果要查某个字,如果不使用音序表,则需要从几百页中逐页去查。基础在MySQL中,存储引擎用类似书的索引方法使用索引,其先在索引中找到对应值,然后根据
linux0.11—内存管理
内存使用计算机是如何工作的 计算机工作是一个取指执行的过程,将程序放到内存中,然后开始取指执行,从内存中进行取指,然后放到CPU中进行执行,再取指执行,这样计算机就开始工作了。 计算机工作示意图如下所示:转存失败重新上传取消 从上图中可以看到,程序需要放到内存中,然后能从内存中进行取指操作,说明内存已经开始使用了。如何让程序放到内存中 从上面的小节中可以看出,程序会被编译成汇编指令,然后放到内存中,如果程序可以跑起来的话,内存就使用起来了。 下面我们来看一段程序:
公务员—行测总体分析
总体情况复习没有捷径,需要有恒心,学会思考。上岸基本成绩常识 20道——对13道及以上。 言语理解 40道——对32道及以上 数量关系 15道——对7道及以上 逻辑判断 40道——对32道及以上 资料分析 20道——全对时间:120分钟题量:120-135道题平均每道题时间:50秒常识判断主要考察对有关国情社情的了解程度、综合管理的基本素质等,涉及政治、经济、法律、历史、文化、地理、环境、自然、科技等方面的知识。常识判断的特点:广覆盖、重基础、贴生活、系时事。国
Float浮动 及 清除浮动
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、什么是浮动Float?二、为什么需要浮动?三、浮动的特性1.具有行内块元素的特性2.脱标四、浮动可能产生的影响1、后续标准流被覆盖2、父级盒子高度塌陷问题五、清除浮动1、额外标签法(隔墙法)2、父级添加 overflow 属性3、父级添加after伪元素4、父级添加双伪元素总结前言本篇文章总结了float可能对布局产生的影响及清除浮动的方法提示:以下是本篇文章正文内容,下面案例可供参考一、什么是浮动Float?
Spring使用纯JAVA开发
JavaConfig实现配置前言:使用这个就不需要再去写配置文件了,直接全部使用注解来进行开发先看一下整体的结构TestConfig.javapackage com.zkw.config;import com.zkw.pojo.User;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;import org.spr
JUC并发编程—单例模式
单例模式饿汉式package com.zkw.single;// 饿汉式单例public class Hungry { // 可能会浪费资源 private byte[] data1 = new byte[1024*1024]; private byte[] data2 = new byte[1024*1024]; private byte[] data3 = new byte[1024*1024]; private byte[] data4 = ne
JUC并发编程-—线程与进程
线程和进程进程:一个程序,例如QQ.exe Music.exe 程序集合一个进程往往可以包含多个线程,至少包含一个java默认有几个线程?2个 main、GC线程:开了一个进程Typora,写字,自动保存(线程负责的)对于java而言:Tread、Runnable、Callablejava真的可以开启线程吗?不可以,它是调用本地的方法开启的 public synchronized void start() { /** * This method is no
JUC编程—Lock锁与sychronized锁
Lock锁与sychronized锁(重点)1、sychronized锁如果想测试争抢同一个资源出现错误,建议加上一个延时也就是sleep,这样会更明显。package com.zkw.JUC并发编程;import static java.lang.Thread.sleep;/** * 真正的多线程开发 公司中的多线程开发 降低耦合性 * 线程就是一个单独的资源类,没有任何附属的操作 * 1. 属性、方法 */public class SaleTicketDemon01 {
JUC编程—生产者与消费者
生产者与消费者面试的:单例模式、排序问题、生产者消费者、死锁(需要会手写)1、synchronzied 版的package com.zkw.JUC并发编程;/** * 线程通信,生产者与消费者问题: 等待唤醒,通知唤醒 * 线程交替进行 A B同时操作一变量 num = 0; * A num+1 * B num-1 */public class PC { public static void main(String[] args) { Data data =
JUC编程—8锁问题
8锁问题如何判断锁的是谁!什么是锁,锁的到底是谁锁只会锁两个东西:对象、Classpackage com.zkw.JUC并发编程.Lock8;import java.util.concurrent.TimeUnit;/** * 8锁,就是关于锁的8个问题 * 1、标准情况下,两个线程先打印 发短信 还是 打电话? 先 发短信 在 打电话 * 2、sendSms 延时4秒钟,两个线程先打印 发短信 还是 打电话? 先 发短信 在 打电话 * 解释:synchronized 锁的对象是方法
JUC编程—集合不安全与Callable接口
1、集合类不安全11、LIst不安全package com.zkw.JUC并发编程.unsafe;import java.util.*;import java.util.concurrent.CopyOnWriteArrayList;//java.util.ConcurrentModificationException 并发修改异常public class ListTest { public static void main(String[] args) { /**
JUC编程—常用辅助类与读写锁
1、常用的辅助类1.1、CountDownLatchpackage com.zkw.JUC并发编程.add;import java.util.concurrent.CountDownLatch;//减法计数器public class CountDownLatchTest { public static void main(String[] args) throws InterruptedException { CountDownLatch countDownLatch
JUC编程—阻塞队列学习
JUC并发编程—阻塞队列学习1、四组API方式抛出异常不抛出异常,有返回值阻塞等待超时等待添加add()offer()put()offer(,)移除remove()poll()take()poll(,)检测队首元素element()peek()~~ /** * 抛出异常 */ public static void test1(){ //队列的大小为3 ArrayBlockin
JUC并发编程-四大函数是接口
四大函数式接口1、Function(函数型接口)package com.zkw.JUC并发编程.functiom;import java.util.function.Function;/** * Function 函数型接口,有一个输入参数,有一个输出参数 * 只要是 函数型接口 都可以用lambda表达式 表示 */public class Demon1 { public static void main(String[] args) { Fu
今日推荐
周排行