上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 55 下一页
摘要: 栈是先入后出,队列是先入先出。根据这个思想,可以用一个栈作为入队,另一个栈作为出队。只要把第一个栈的栈顶的元素压入第二个栈就好了,出队的时候输出第二个栈的栈顶,如果第二个栈的空了就需要不断操作从第一个栈的栈顶压入第二个栈,但是如果第一个栈也空了,那就说明所有元素都输出来了。 最终结果 阅读全文
posted @ 2018-11-29 14:07 如.若 阅读(2776) 评论(0) 推荐(0) 编辑
摘要: 新原子类是 java.util.concurrent 的隐藏精华 十五年前,多处理器系统是高度专用系统,要花费数十万美元(大多数具有两个到四个处理器)。现在,多处理器系统很便宜,而且数量很多,几乎每个主要微处理器都内置了多处理支持,其中许多系统支持数十个或数百个处理器。要使用多处理器系统的功能,通常 阅读全文
posted @ 2018-11-29 13:25 如.若 阅读(191) 评论(0) 推荐(0) 编辑
摘要: Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。本文介绍了几种有效使用 volati 阅读全文
posted @ 2018-11-29 13:15 如.若 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 在不只一个线程访问一个互斥的变量时,所有线程都必须使用同步,否则就可能会发生一些非常糟糕的事情。Java 语言中主要的同步手段就是 synchronized 关键字(也称为内在锁),它强制实行互斥,确保执行 synchronized 块的线程的动作,能够被后来执行受相同锁保护的 synchroniz 阅读全文
posted @ 2018-11-29 11:05 如.若 阅读(581) 评论(0) 推荐(0) 编辑
摘要: 为什么要用线程池? 诸如 Web 服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务。请求以某种方式到达服务器,这种方式可能是通过网络协议(例如 HTTP、FTP 或 POP)、通过 JMS 队列或者可能通过轮询数据库。不管请求如何到达,服 阅读全文
posted @ 2018-11-29 10:51 如.若 阅读(4913) 评论(0) 推荐(0) 编辑
摘要: 线程安全 众所周知,Java是多线程的。但是,Java对多线程的支持其实是一把双刃剑。一旦涉及到多个线程操作共享资源的情况时,处理不好就可能产生线程安全问题。线程安全性可能是非常复杂的,在没有充足的同步的情况下,多个线程中的操作执行顺序是不可预测的。Java里面进行多线程通信的主要方式就是共享内存的 阅读全文
posted @ 2018-11-29 09:39 如.若 阅读(286) 评论(0) 推荐(0) 编辑
摘要: CAS(比较与交换,Compare and swap) 是一种有名的无锁算法。无锁编程,即不使用锁的情况下实现多线程之间的变量同步,也就是在没有线程被阻塞的情况下实现变量的同步,所以也叫非阻塞同步(Non-blocking Synchronization)。实现非阻塞同步的方案称为“无锁编程算法”( 阅读全文
posted @ 2018-11-28 15:02 如.若 阅读(2954) 评论(0) 推荐(0) 编辑
摘要: 现在稍具规模的网站和大型应用都不再是单机模式,而是分布式应用,基于多机的集群构建的应用,这样服务能力就可以基本实现横向扩容(scale out),不会像单机模式下的纵向扩容(scale up)会受到单机服务能力上限的限制。另外,随着“微服务”概念的火爆,很多应用在构建之初就已经走在了分布式的路线上了 阅读全文
posted @ 2018-11-28 10:32 如.若 阅读(293) 评论(0) 推荐(0) 编辑
摘要: Tomcat的最大并发数是可以配置的,实际运用中,最大并发数与硬件性能和CPU数量都有很大关系的。更好的硬件,更多的处理器都会使Tomcat支持更多的并发。 Tomcat默认的HTTP实现是采用阻塞式的Socket通信,每个请求都需要创建一个线程处理,当一个进程有500个线程在跑的话,那性能已经是很 阅读全文
posted @ 2018-11-27 15:13 如.若 阅读(3121) 评论(0) 推荐(0) 编辑
摘要: 最近整理一下Redis高可用架构的文档,也准备分享出来,虽然这些架构也不是很复杂。Redis的高可用方案目前主要尝试过5种方式,其中2种方式已经在线上使用。 1)Redis Master-Slave + Keepalive + VIP。这是很经典的db架构,也可以用与mysql的主从切换。基本原理是 阅读全文
posted @ 2018-11-27 10:22 如.若 阅读(4215) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 55 下一页