- 博客(7)
- 收藏
- 关注
原创 Mysql
Mysql1.数据库基本操作mysql -uroot -p123456;--连接数据库show databases; --显示所有的数据库use mybatis; --使用mybatis数据库show tables; --显示所有的表describe blog; --显示Blog表结构create database stu...
2020-03-20 19:36:52 122
原创 注解和反射
注解反射学习笔记1.内置注解@Override:方法重写注解,若父类中没有相同的类,则会提示异常。@SuppressWarning 异常镇压注解,会取消异常信息的警告@Deprecated java不推荐使用方法注解,多为此方法不安全或者有新的方式实现相同的功能2.元注解元注解:负责注解其他的注解,java定义了4个标准的meta-annotation类型。@Target: 描述注...
2020-03-01 14:10:04 86
原创 tcp保证可靠性的一些方式
tcp是面向连接的,可靠的字节流传输协议。传输的另一方是无法知道发送方传输了多少字节的内容。5元组确定一个session:发送发ip,端口,接收方ip,端口,协议号Nagle算法:当接收的一方收到数据后,并不会立即返回ack,而会等待200毫秒后回复;发送放在没有收到一个分组的返回ack时,不会发送下一个分组;而是在这段时间内,会收集零散的tcp报文,在收到ack后一起发送。...
2020-03-01 14:04:21 358
原创 Lock中实现线程的精确唤醒(使多个线程按指定的顺序执行)
lock中类似wait和notify的方法:await和signal/signalAll原理:lock中使用Condition类做为锁监视器,调用监视器的await()和signal()实现线程的等待和唤醒。实现代码:Lock lock=new ReentrantLock();Condition condition=lock.newCondition();lock.lock();tr...
2020-02-22 20:49:56 1384 1
原创 生产者和消费者模式,虚假唤醒产生的原因和防止产生的方式
传统的生产者和消费者模式,wait(),notifyAll()的方式实现,但只适用与两个线程,如果存在两个以上的线程,会出现虚假唤醒的问题。虚假唤醒造成的原因:首先看源码注释/* * Wakes up all threads that are waiting on this object's monitor. A * thread waits on an object's monitor ...
2020-02-22 19:41:58 464
原创 多线程
多线程编程一、线程与进程进程:一个正在执行的程序就是一个进程,是cpu分配资源的基本单位,一个进程可以包含多个线程,进程之间的切换速度较慢。线程:是一个进程的一部分,cpu调度的基本单位,线程之间的上下文切换速度很快。二、创建线程的方法1、实现Runnable接口示例代码public class RunnableThread implements Runnable{ public ...
2020-02-21 22:49:12 104
原创 虚拟机类加载机制
虚拟机类加载机制学习笔记虚拟机加载机制是虚拟机把描述类从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型。类加载的过程可分为五个阶段:加载、验证、准备、解析和初始化。这五个阶段的顺序是确定的,并不是说只有上一个阶段执行完才会开始执行下一个阶段,这些阶段是交叉进行的,在一个阶段进行的过程中可能交叉进行着另一个阶段过程,也就是说只是它们的...
2019-09-02 21:14:26 112
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人