1、命令行界面与REPL环境 假设构建了PhantomJS 并将其可执行文件放在PATH中的某个位置,可以按如下方式调用它: 脚本代码将像在具有空页面的Web浏览器中运行一样...
1、命令行界面与REPL环境 假设构建了PhantomJS 并将其可执行文件放在PATH中的某个位置,可以按如下方式调用它: 脚本代码将像在具有空页面的Web浏览器中运行一样...
谢谢支持
微信开发之微信网页授权获取openid不知觉间已经接触了几次微信支付开发,而要进行微信支付就需要用户的唯一标识:openid。还记得第一次获取用户openid的时候就踩了很多坑。这两天又接触了一下,想着索性就把他...
高并发是我们现在老生常谈的内容了,这里我们以秒杀为例,来聊聊怎么应对大并发。 一、秒杀带来的问题 在高并发秒杀的情况下,一般会有以下问题:1、高并发 比较火热的秒杀在线人数都...
Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去...
我们上节讲了HashMap,实际上HashMap并不是线程安全的,在并发插入元素的时候有可能出现环形链表,让下一次读操作出现死循环。解决的办法就是使用线程安全的容器,除了Co...
HashMap是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在。今天我们来深入了解一下这个集合的底层原理。 众所周...
单例模式可能是后端学习者接触到的第一种设计模式,可是单例模式真的有那么简单吗?在并发模式下会出现什么样的问题?在学习了前面的并发知识后,我们来看看究极版的单例模式应该怎么写。...
近年来前端一个明显的开发趋势就是架构从传统的 MVC 模式向 MVVM 模式迁移。在传统的 MVC 下,当前前端和后端发生数据交互后会刷新整个页面,从而导致比较差的用户体验。...
设计模式是语言的表达方式,它能让语言轻便而富有内涵、易读却功能强大。代理模式在Java中十分常见,有为扩展某些类的功能而使用静态代理,也有如Spring实现AOP而使用动态代...
我们知道有时候一个对象的共享变量会被多个线程所访问,这时就会有线程安全问题。当然我们可以使用synchorinized 关键字来为此变量加锁,进行同步处理。从而限制只能有一个...
众所周知创建线程的方式有两种:1.继承Thread类。2.实现Runnable接口。从jdk1.5开始,提供了另一种创建线程的方式。今天我们就来看看这第三种方式:实现Call...
如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程...
jdk1.5的concurrent包为我们提供了很多有用的辅助类,今天我们来学习一下 一、闭锁CountDownLatch CountDownLatch是一个同步工具类,用来...
也许大家已经听说过,锁分两种,一个叫悲观锁,一种称之为乐观锁。Synchronized就是悲观锁的一种,也称之为独占锁,加了synchronized关键字的代码基本上就只能以...
Java中volatile这个热门的关键字,在面试中经常会被提及,在各种技术交流群中也经常被讨论:volatile关键字在java多线程中有着比较重要作用,volatile主...
在微服务架构中,我们将系统拆分为很多个服务,各个服务之间通过注册与订阅的方式相互依赖,由于各个服务都是在各自的进程中运行,就有可能由于网络原因或者服务自身的问题导致调用故障或...
在微服务的架构下,各个服务一般会有各自的网络地址,在这样的情况下外部客户端的调用可能会形成杂乱无章的局面。这时候我们就可以使用微服务网关Zuul这个组件,我们让所有的客户端请...
Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来。它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控。上篇我们有说到Spring Clou...
在分布式系统中,每一个功能模块都能拆分成一个独立的服务,一次请求的完成,可能会调用很多个服务协调来完成。如果我们每个服务都有一个独立的配置的话,这样很不方便我们维护。Spri...