-
数据库的悲观锁、乐观锁
数据库的悲观锁、乐观锁 并发控制 并发情况下,需要做一些控制(一般是加锁),保证共享数据的一致性。并发操作数据库时,需要给数据库中的数据加锁,确保数据库中数据的一致性。 数据库锁的常见分类 按使用方式来分:悲观锁、乐观锁 按锁级别来分:共享锁、排它锁(主...
-
Java单例设计模式的实现
Java单例设计模式的实现 单例模式是Java中最简单的设计模式之一,提供了创建单一对象的方式,本文总结了Java中单例设计模式常见的五种实现方式。 1. 单例设计模式的定义 单例设计模式确保类只有一个实例对象,类本身负责创建自己的对象并向整个系统提供这个实例。在访...
-
面试刷题10:ConcurrentHashMap如何保证线程安全?
面试刷题10:ConcurrentHashMap如何保证线程安全? 集合框架中的HashTable,Stack,以及同步包装集合在高并发场景下都非常低效,java提供了并发包应对高并发场景。 我是李福春,我在准备面试,今天的问题是? java提供了哪些并发的容器?ConcurrentHashMap如何保证线程安...
-
幂等性
幂等性 幂等性的概念 对于同一操作发起的请求(一次或者多次请求),任意多次执行对资源本身产生的影响均与一次执行产生的影响相同,不会因为多次相同操作而产生副作用。 比如一个用户注册,点击注册,由于某些原因(比如服务器负载大),长时间转圈圈,你多次点击注册...
-
好好的Timer居然有坑?
好好的Timer居然有坑? 在做定时任务时,可能会使用到Timer+TimerTask类,但是这两个小小的类,却有大坑。 先来复现一下问题,如下,可能预期的是第一个PrintTask从1一直往后打印,直到为5时抛出异常,第二个PrintTask从100往后不间断打...
-
java虚拟机学习记录(内存划分、垃圾回收、类加载等机制)
java虚拟机学习记录(内存划分、垃圾回收、类加载等机制) 一直以来觉得虚拟机是Java最难的一部分,涉及最底层的原理,学起来难度很大,而且工作中基本上用不到这些原理,所以对这部分敬而远之。现如今工作五年了,从Java基础到算法、数据结构、网络、数据库、设计模式...
-
你竟然用Integer作为synchronized的锁对象?
你竟然用Integer作为synchronized的锁对象? 在使用多线程编程时,往往会使用一些手段保证线程安全,也就是加锁,但是加锁也必须合理,如使用synchronized对对象加锁时,如果不注意,还可能发生错误的加锁。 先看一段小测试,在这个小测试中,启动了1000个线程,每个线...
-
【JAVA进阶架构师指南】之三:深入了解类加载机制
【JAVA进阶架构师指南】之三:深入了解类加载机制 前言 ??在上一篇文章中,我们知道了JVM的内存划分,其中在说到方法区的时候说到方法区中存放的信息包括[已被JVM加载的类信息,常量,静态变量,即时编译的代码等],整个方法区其实就和类加载有关. 类加载过程 ??类从被加载到...
-
Java多线程之线程同步
Java多线程之线程同步 多线程共享数据(多个线程共同访问相同的数据),需要进行数据同步,保证同一数据、同一时刻只能被一个线程访问。 使用同步是为了防止多个线程同一时刻对同一数据进行读写,如果对同一数据数据都只进行读操作、不进行修改,则不必使用同步。 以售...
-
一个自旋锁的栗子
一个自旋锁的栗子 一直以来不是怎么清楚自旋锁,最近有点时间,好好的学习了一下; 所谓的自旋锁在我的理解就是多个线程在尝试获取锁的时候,其中一个线程获取锁之后,其他的线程都处在一直尝试获取锁的状态,不会阻塞!!!那么什么叫做一直尝试获取锁呢?就是一个循...
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
