摘要:
同步、异步有什么区别 在进行网络编程时,我们通常会看到同步、异步、阻塞、非阻塞四种调用方式以及他们的组合。 其中同步方式、异步方式主要是由客户端(client)控制的,具体如下: 同步(Sync) 所谓同步,就是发出一个功能调用时,在没有得到结果之前,该调用就不返回或继续执行后续操作。 根据这个定义 阅读全文
摘要:
一、原理区别 一般我们在浏览器输入一个网址访问网站都是GET请求;再FORM表单中,可以通过设置Method指定提交方式为GET或者POST提交方式,默认为GET提交方式。 HTTP定义了与服务器交互的不同方法,其中最基本的四种:GET,POST,PUT,DELETE,HEAD,其中GET和HEAD 阅读全文
摘要:
在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些方法,有需要的可以参考参考。 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断, 阅读全文
摘要:
一、定义 线程死锁是指由于两个或者多个线程互相持有对方所需要的资源,导致这些线程处于等待状态,无法前往执行。当线程进入对象的synchronized代码块时,便占有了资源,直到它退出该代码块或者调用wait方法,才释放资源,在此期间,其他线程将不能进入该代码块。当线程互相持有对方所需要的资源时,会互 阅读全文
摘要:
在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁 上面是很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的设 阅读全文
摘要:
停止一个线程意味着在任务处理完任务之前停掉正在做的操作,也就是放弃当前的操作。停止一个线程可以用Thread.stop()方法,但最好不要用它。虽然它确实可以停止一个正在运行的线程,但是这个方法是不安全的,而且是已被废弃的方法。在java中有以下3种方法可以终止正在运行的线程: interrupt( 阅读全文
摘要:
事务:事务指的是逻辑上的一组操作,这组操作要么都成功,要么都失败。 Transaction事务的四大特性ACID: 1.Atomicity原子性 事务的操作要么都成功,要么都不做,只要有一个失败,就会回滚。 如A转账100给B:A转出100,B转入100,这两步要么一起完成,要么都不做。 2.Con 阅读全文
摘要:
Redis的数据结构 五种数据类型: 字符串(String)、字符串列表(list)、字符串集合(set)、有序字符串集合(sorted set)、哈希(hash) key定义的注意点: 不要过长,不要超过1024个字节 不要过短,会降低可读性 要有统一的命名规范 存储String 二进制的方式存储 阅读全文
摘要:
Redis的持久化有两种方式: RDB方式(默认支持):在指定的时间间隔内将内存中的数据集快照写入磁盘 优势 整个Redis数据库将只包含一个文件,对于文件备份来说是完美的,系统出现灾难性的故障时容易恢复 性能最大化,开启服务器时,只需要做的是分叉出一些进程,再由子进程来完成持久化操作,极大的避免服 阅读全文