volatile 关键字说明
volatile变量修饰的共享变量进行写操作前会在汇编代码前增加lock前缀:1),将当前处理器缓存行的数据写回到系统内存;2),这个写会内存的操作会使其它cpu缓存该内存地址的数据无效。Java语言volatile关键字可以用一句贴切的话来描述“人皆用之,莫见其形“。理解volatile对理解它对理解Java
Easter79 Easter79
3年前
springMVC实现登陆
页面打开跳转到登陆页面登陆成功跳转到成功页面登陆失败再次返回登录页面,并增加提示信息1、首页跳转到登陆页面  Tomcat服务器启动时默认加载WEBINF下的index.jsp,可以通过修改xml配置的方式来改变Tomcat这一默认行为。这里使用springMVC来实现这个功能。  第一种实现
Stella981 Stella981
3年前
Python的Gevent框架的多进程模式
Gevent框架性能很高,但一直以来我都纠结在python的GIL模型导致的线程不能抢占多核资源上面。而启动多个python进程的这种利用多核的模式又需要增加前端负载均衡,比如lvs那些,有些麻烦。multiprocessing模块和os.fork又会使得两个进程重复在事件核心注册accept事件,导致文件句柄重复的异常。至于一个进程监听,多个进
Wesley13 Wesley13
3年前
@JsonProperty注解的使用
遇到一个问题,前端按照平常方式传给我json对象,属性名和我一致,我在controller层也按平常方式使用@RequestBody注解,用相应的实体类接收参数,但别人可以成功接到参数,而我的却不能,在实体类的成员变量上增加@JsonProperty("属性名"),就解决了问题查了一下这个注解:@JsonProperty此注解用于属性上,作用是把该
Stella981 Stella981
3年前
Chrome headless 模式
把自动化测试的运行放在后台:PhantomJS非常不错,因为是使用的QtWebKit浏览器内核渲染页面,基本可以和真正浏览器保持一致。Chromeheadless模式,Google针对Chrome浏览器59版新增加的一种模式,可以让你不打开UI界面的情况下使用Chrome浏览器,所以运行效果与Chrome保持完美一致。P
Stella981 Stella981
3年前
Git连载(3)添加(add)文件和目录
1.8.3添加(add)文件和目录        Git添加文件和目录也很简单,先把文件和目录添加到Git系统管理之下,然后提交修改即可。        例如在G:\\gitJava目录下增加一个a.jsp文件,该文件内容可以随便写,并在该目录下添加一个WEBINF文件夹、并在该文件夹下添加web.xml文件按。接下来打算将a.jsp文件
Wesley13 Wesley13
3年前
Java设计模式(一)
Structuralpatterns结构型模式1.适配器模式(Adaptor)目的:将某个类/接口转换为client期望的其他形式。适配器让类可以协同工作,否则就会因为不兼容的接口而无法工作。通过增加一个接口,将已存在的子类封装起来,client面向接口编程,从而隐藏了具体子类。假设我们有一个MediaPlayer接口和一个实现了
Wesley13 Wesley13
3年前
NO.168 如何做禅道二次开发(4):如何登记菜单
扩展禅道(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.zentao.net%2F%3Fu%3Dpxz%26f%3Dosc)遇到的一个问题就是如何将自己增加的功能登记到菜单中,本篇文章来讲述如何来实现这个功能。一、菜单的组成禅道的导航菜单分为三个部分,顶部菜单、
Easter79 Easter79
3年前
SpringBoot整合多个RabbitMQ
一、背景​最近项目中需要用到了RabbitMQ来监听消息队列,监听的消息队列的虚拟主机(virtualHost)和队列名(queueName)是不一致的,但是接收到的消息格式相同的。而且可能还存在程序不停机的情况下,动态的增加新的队列(queue)的监听,因此就需要我们自己在程序中实现一种方法实现动态配置RabbitMQ
高性能API网关Kong介绍
本文关键词:高性能、API网关、Kong、微服务1.Introduction是随着微服务(Microservice)概念兴起的一种架构模式。原本一个庞大的单体应用(Allinone)业务系统被拆分成许多微服务(Microservice)系统进行独立的维护和部署,服务拆分带来的变化是API的规模成倍增长,API的管理难度也在日益增加,使用API网关发布和管