首页
学习
活动
专区
工具
TVP
发布

EffectiveCoding

专栏作者
113
文章
97160
阅读量
28
订阅数
JVM Advanced JIT Compiler Options
JIT相关编译选项 Advanced JIT Compiler Options -XX:+AggressiveOpts 最核心的应该是加快编译,在JDK 6之后就默认启用的,启用一些诸如编译优化、偏向锁、并行化老年代收集策略。通常是不用管的,默认的优化策略,添加此参数的原因是为工程提供一个优化技术选择的空间。 -XX:AllocateInstancePrefetchLines=lines 在实例分配指针之前设置要预取的行数。默认情况下,要预取的行数设置为1。- xx:AllocateInstancePrefetchLines = 1只有Java HotSpot服务器VM支持这个选项。
邹志全
2020-02-25
1.3K0
JVM JIT
JIT Just In Time,JVM中的一种即时编译技术,目的是为了提升程序的运行效率。
邹志全
2019-10-08
5600
关于HTTP 2.0
HTTP自互联网时代到来之后,几乎成为了使用最多的应用层协议。先来回顾一下http的历史: http也就是超文本传输协议,对应的传输的文本叫做超文本标记语言也就是html,这是最初的使用场景,也就是用来发布和接受html界面的,什么叫做超文本呢,就是说不单单是文本,能通过计算机处理文本的方式处理对应内容从而具有排版、图片还有可读性什么的。这个规范和协议是由Internel Engineering Task Force(互联网工程工作小组)共同研究给出的RFC,然后使用最广的是RFC 2616定义的HTTP 1.1。关于RFC还有草案什么的,我之前从开始学网络就有点迷,然后总结了下,顺道来看一下RFC和草案的一些概念。 首先IETF是国际互联网工程任务组,一个公开的民间组织,来维护互联网工作,一些草案什么的都是IETF中提出的,具体过程是这样的: 1、发布一份互联网草案 2、接受关于草案的评论 3、根据评论修改你的草案 4、重复1至3步骤数遍 5、请求领域总监将草案带至IESG(如果是个人提交)。如果草案出自一个正式工作组,则由工作组主席向领域总监提交草案。 6、根据IESG讨论结果修改草案(结果可能是草案被否决) 7、等待RFC编辑处编辑出版你的草案 然后草案是一种可以使用但是随时可能发生修改的,而成为RFC之后,就算是一种标准啦,但是RFC通常包含这么几种:建议标准、草案标准、互联网标准(有时称作"完全标准")、试验性协议、信息文档、历史标准。只有前三种是具体的IETF标准。
邹志全
2019-10-08
5120
高并发下的各种缓存
Cache在大家最开始接触开发的时候应该就听过许多了,比如浏览器缓存、OS中的缓存、什么缓存一致性等等,各式各样的Cache,看起来各种高大上的样子,看着群里或者某乎的大佬们在不断的讨论或者推缓存相关的blog。 近期对于缓存相关研究了不少,自己也在试着写一个Cache中间件来研究下。过程中整理了一下,准备做成一个系列文章发一下,也希望大家给我多多指正。 在正式开始开始写缓存之前,当然是先研究领域内现有的一些Cache 相关的内容,作为一个引言。 后续分别从OS 中的缓存、JVM中的缓存、Web 应用中常见缓存、现有常作为独立缓存的Redis/MemCache、InnoDB中的存储引擎、浏览器中的缓存、分布式缓存的实现案例 进行对应的浅析及相应Cache设计主题的引入。下面先大体的介绍一下各个场景及实现方式,后续会独立推送对应的浅析文章。
邹志全
2019-07-31
3840
Go 内存管理 -- 内存分配 一
go作为一个比较新晚(新)的语言,自然借鉴前辈们的优点,比如说语言本身负责内存管理、对协程和高并发的高优支持、简单高效的语法等。本篇及后续的几篇要讲的就是还没提到的比较复杂的内存管理。 学习内存管理(分配&回收)前,如果有JVM的内存管理的基础,会变得非常简单,如果是第一次接触内存管理,在看完Go的内存管理后可以去看看JVM的,对比着学习比较容易理解。 go的内存管理思路是基于google 的tcmalloc(thread-caching-malloc)实现的,常见的内存分配器还有ptmalloc、jemalloc,但是tcmalloc的性能更高,尤其是高并发场景下。
邹志全
2019-07-31
1.3K0
Kafka “高吞吐” 之顺序访问与零拷贝
上一篇所说的micr-batch 其实主要是针对producer 来实现的,Kafka整体吞吐量高可不只是依赖于micr-batch这一点,还有broker端及consumer端。
邹志全
2019-07-31
1.3K0
Kafka “不丢消息” ISR LEO&HW解析
上一篇介绍的ISR的不丢消息的种种备份及冗余机制的所有的核心逻辑都是围绕着HW值、LEO值来展开的,如何合理的更新和存储显得尤为重要。
邹志全
2019-07-31
1.4K0
Java Concurrent CAS使用&原理
CAS 可以简单描述比较并交换,Java中轻量级锁的理论支持。CAS很早就出现了,并且以此为理论基础实现了很多有趣的工具,Java依赖的就是操作系统中的cmpxchg指令。 ps:这里的CAS是compare and swap
邹志全
2019-07-31
1.4K0
Go 并发实战--管道浅析
在讲 channel 之前,有必要先提一下 CSP 模型,传统的并发模型主要分为 Actor模型和CSP模型,CSP 模型(communicating sequential processes)由并发执行实体(进程、线程或协程),和消息通道组成,实体之间通过消息通道发送消息进行通信。 和 Actor 模型不同,CSP 模型关注的是消息发送的载体,而不是发送消息的执行实体。Go 语言的并发模型就参考了 CSP 理论,其中执行实体对应的是go协程,消息通道指的就是channel。
邹志全
2019-07-31
8520
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档