前言http协议是互联网中最重要的协议之一,虽然看上去很简单,但是实际中经常遇到问题,我们就已经遇到好几次了。有长连接相关的,有报文解析相关的。对http协议不能一知半解,必须透彻理解才行。所以就写了这个系列分享http协议的问题与经验。问题我们的手机App在做更新时会从服务器上下载的一些资源,一般都是一些小文件,更新的代码差不多是下面这样的:static void updat
Swarm简介Swarm是Docker的一个集群管理工具,最开始仅仅是用作集群管理以及简单的调度,就像下面的图所示的,为Docker Client提供与Docker Engine一样的Docker API,客户端操作Swarm就好像在操作一台机器,实际上后面连了好多Docker Engine,容器都跑在后面的Docker Engine上。Swarm负责将客户端的请求分配到后端的Docker Eng
Go语言里面的并发使用的是Goroutine,Goroutine可以看做一种轻量级的线程,或者叫用户级线程。与Java的Thread很像,用法很简单:go fun(params);相当于Java的new Thread(someRunnable).start(); 虽然类似,但是Goroutine与Java Thread有着很大的区别。 Java里的Thread使用的是线程模型的
背景最近生产上出了两个因为RSA加解密导致的性能问题,一个是加密引起的,一个是解密引起的,都是大量线程在进行RSA操作时等锁,线程被block,请求都被堆在Weblogic队列里不能处理。为此,我就研究了一下RSA加解密在Java里的实现,发现加解密的问题都出现在同一个地方,都是因为防范time attack。
本篇文章通过分析真实的生产案例,分享一些Java开发过程中遇到的坑。这篇分享的是String的substring的问题,Java7对substring做了改造,解决了Java6里的内存泄露问题,但是性能上不如Java6了。再加上MyBatis对substring使用过多,导致从6升到7后,在一个特定的场景:拼装很长的sql,出现了性能问题。
apt和yum以及其他的包管理工具可以解决Linux下各种包的依赖关系,有了apt和yum基本不需要手动编译源代码解决依赖关系了。手动make源代码,可能会引出好多个make,make到最后发现对内核版本有要求,再去make内核,最后换操作系统。 使用apt和yum虽然方便了很多,但是还是有些时候会出问题,因为一个操作系统上的各种包大致都是同一
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号