Go语言开发之路 介绍 为什么学习Go语言? 开发环境准备 从零开始搭建Go语言开发环境 VS Code配置Go语言开发环境 基础 Go语言基础之变量和常量 Go语言基础之基本数据类型 Go语言基础之运算符 Go语言基础之流程控制 Go语言基础之数组 Go语言基础之切片 Go语言基础之指针 Go语言基础之map Go语言基础之函数 Go语言基础之结构体 Go语言基础之包 Go语言基础之接口 Go语言基础之反射 Go语言基础之并发 Go语言基础之网络编程 Go语言基础之单元测试 标准库 Go语言基…
python开发之路:python数据类型 你辞职当了某类似微博的社交网站的底层python开发主管,官还算高. 一次老板让你编写一个登陆的程序.咔嚓,编出来了.执行一看,我的妈,报错? 这次你又让媳妇下班叫上隔壁老王.隔壁老王最近赚钱多,脑子清晰多了. 隔壁老王:开除了,哥? 你:没有,没到那个程度,幸好我发现了. 隔壁老王:什么破事? 你拉着老王到你的书房,隔壁老王刷了一眼代码,呆板地执行了,大笑. 隔壁老王:哈哈哈.你老板没教过,哈哈哈,你吗,哈哈哈. 隔壁老王一把拉出椅子,坐在上面,改了…
本文主要讲并行优化的几种方式, 其结构如下: 锁优化 减少锁的持有时间 例如避免给整个方法加锁 public synchronized void syncMethod(){ othercode1(); mutextMethod(); othercode2(); } 改进后 public void syncMethod2(){ othercode1(); synchronized(this){ mutextMethod(); } othercode2(); } 减小锁的粒度 将大对象,拆成小对象,…
事实上,NGINX比Apache的性能高是因为NGINX由C语言开发,而Apache由C++开发.因此,NGINX效率大概是Apache的10倍左右…
Java高并发之线程池详解   线程池优势 在业务场景中, 如果一个对象创建销毁开销比较大, 那么此时建议池化对象进行管理. 例如线程, jdbc连接等等, 在高并发场景中, 如果可以复用之前销毁的对象, 那么系统效率将大大提升. 另外一个好处是可以设定池化对象的上限, 例如预防创建线程数量过多导致系统崩溃的场景. jdk中的线程池 下文主要从以下几个角度讲解: 创建线程池 提交任务 潜在宕机风险 线程池大小配置 自定义阻塞队列BlockingQueue 回调接口 自定义拒绝策略 自定义Thre…
本系列研究总结高并发下的几种同步锁的使用以及之间的区别,分别是:ReentrantLock.CountDownLatch.CyclicBarrier.Phaser.ReadWriteLock.StampedLock.Semaphore.Exchanger.LockSupport.由于博客园对博客字数的要求限制,会分为三个篇幅: 高并发之ReentrantLock.CountDownLatch.CyclicBarrier 高并发之Phaser.ReadWriteLock.StampedLock 高…
本系列研究总结高并发下的几种同步锁的使用以及之间的区别,分别是:ReentrantLock.CountDownLatch.CyclicBarrier.Phaser.ReadWriteLock.StampedLock.Semaphore.Exchanger.LockSupport.由于博客园对博客字数的要求限制,会分为三个篇幅: 高并发之ReentrantLock.CountDownLatch.CyclicBarrier 高并发之Phaser.ReadWriteLock.StampedLock 高…
本系列研究总结高并发下的几种同步锁的使用以及之间的区别,分别是:ReentrantLock.CountDownLatch.CyclicBarrier.Phaser.ReadWriteLock.StampedLock.Semaphore.Exchanger.LockSupport.由于博客园对博客字数的要求限制,会分为三个篇幅: 高并发之ReentrantLock.CountDownLatch.CyclicBarrier 高并发之Phaser.ReadWriteLock.StampedLock 高…
并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发,这也是Go语言流行的一个很重要的原因. Go语言中的并发编程 并发与并行 并发:同一时间段内执行多个任务(你在用微信和两个女朋友聊天). 并行:同一时刻执行多个任务(你和你朋友都在用微信和女朋友聊天). Go语言的并发通过goroutine实现.goroutine类似于线程,属于用户态的线程,我们可以根据需要创建成千上万个goroutine并发工作.goroutine是由Go语言的运行时(runtime)调度完成,而线程是由操作系…
Go语言基础之并发 并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发,这也是Go语言流行的一个很重要的原因. Go语言中的并发编程 并发与并行 并发:同一时间段内执行多个任务(你在用微信和两个女朋友聊天). 并行:同一时刻执行多个任务(你和你朋友都在用微信和女朋友聊天). Go语言的并发通过goroutine实现.goroutine类似于线程,属于用户态的线程,我们可以根据需要创建成千上万个goroutine并发工作.goroutine是由Go语言的运行时(runtime)调度完…