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

互联网技术栈

专栏作者
93
文章
174212
阅读量
42
订阅数
Log4j1升级Log4j2实战
新的Log4j 2.0版本有了大幅的性能提升、新的插件系统,以及配置设置方面的很多改善。Log4j 1.x 在高并发情况下出现死锁导致cpu使用率异常飙升,而Log4j2.0基于LMAX Disruptor的异步日志在多线程环境下性能会远远优于Log4j 1.x和logback ——官方测试结果。
高广超
2018-12-12
2.9K0
设计模式- 合成/组合原则
上面的问题都来源于对方法的改写动作。如果你在扩展一个类的时候,仅仅是增加新的方法,而不改写已有的方法,你可能会认为这样做是安全的,但是也并不是完全没有风险。
高广超
2018-12-12
4820
消息队列MQ选型 - Kafka、RabbitMQ对比
image.png 适应场景 异步处理,应用解耦,流量削锋和消息通讯 对比 feature scenario Kafka RabbitMQ 备注 PUB-SUB 发布订阅模型 √ √ 推拉消费 Consumer消费消息的动作方式。 pull push/pull push更关注实时性。pull更关注消费者消费能力。 延迟消费 Producer产生一条消息后,并不希望立刻被消费掉。 X √ 高阶需求。 consumer group 同一条Message能同时被多个消费组消费,但同一group中,一条Messa
高广超
2018-12-12
2.1K0
使用Hystrix实现自动降级与依赖隔离[微服务]
目前对于一些非核心操作,如增减库存后保存操作日志 发送异步消息时(具体业务流程),一旦出现MQ服务异常时,会导致接口响应超时,因此可以考虑对非核心操作引入服务降级、服务隔离。
高广超
2018-12-12
1K0
JVM解读-类加载机制
Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的加载机制。
高广超
2018-12-12
4310
JVM解读-性能调优实例
对于长时间运行的应用,比如Servlet程序等,一般会使用吞吐量来测试它们的性能。 以下的一组数据表示了一个典型的数据获取程序在使用不同“热身时间”以及不同编译策略时,对吞吐量(OPS)的影响(执行时间为60s):
高广超
2018-12-12
7610
JVM面试考点—— 值==问题(常量池)
java中基本类型的包装类的大部分都实现了常量池技术,即Byte,Short,Integer,Long,Character,Boolean。
高广超
2018-12-12
3880
Google Analytics 维度和指标
“维度”是指数据的属性。举例来说,“城市”维度表示的是发起会话的城市,例如“巴黎”或“纽约”。“网页”维度表示的是用户浏览过的网页的网址。
高广超
2018-12-12
1.2K0
大数据分析基础——维度模型
维度模型的概念出自于数据仓库领域,是数据仓库建设中的一种数据建模方法。维度模型主要由事实表和维度表这两个基本要素构成。
高广超
2018-12-12
2.1K0
数据仓库模型说明
数据仓库的建设是一个过程,而不是一个项目。在这个过程中我们需要形成自己的规范,以方便管理和维护。在数据仓库的建设过程中,不仅会面临着公司业务迅速发展,业务系统迭代变更,需要对业务系统数据进行相应 的整合,形成公司完整的统一数据视图;而且基于数据仓库的应用也是多样化的,比如支撑自己企业的数据可视化平台、即席查询、对策略提供数据支持等。
高广超
2018-12-12
1.8K0
垃圾回收算法优缺点对比
mutator 是 Edsger Dijkstra 、 琢磨出来的词,有“改变某物”的意思。说到要改变什么,那就是 GC 对象间的引用关系。不过光这么说可能大家还是不能理解,其实用一句话概括的话,它的实体就是“应用程序”。这样说就容易理解了吧。GC 就是在这个 mutator 内部精神饱满地 工作着。
高广超
2018-12-12
1.5K0
Java中的锁[原理、锁优化、CAS、AQS]
结论:如果volatile变量修饰符使用恰当的话,它比synchronized的使用和执行成本更低,因为它不会引起线程上下文的切换和调度。
高广超
2018-12-12
8770
缓存Tair高性能使用规范
server端的原理是网络收包后,放入到工作队列(读写队列分离,但都只有一个),再由工作线程从队列中取出进行处理。这里一个问题是,为保证数据的正确性,会对同一个key的读写加锁,而如果存在大量读写同一个key的情况,则势必会阻塞其他线程(锁不慢,锁竞争才慢),导致拖慢整个服务端的处理速度。
高广超
2018-12-12
1.3K0
设计模式之设计原则
“开-闭 ” 原则讲的是:一个软件实体应当对扩展开放, 对修改关闭。 这一原则最早由 Bertrand Meyer [MEYER88]提出, 英文原文是:Software entities should be open for extension, but closed for modification.
高广超
2018-12-12
6570
软件架构师的12项修炼[3]——个人技能修炼(1)——透明化
当你在协作的环境中与别人一道工作时,你的自然反应就是想尽可能表现自己好的一面。看起来你能独立解决自己的所有问题,并把任何可能的问题隐藏在背包里—— “这里没有任何问题”。和你打交道的其他人也是这样,也会把他们的问题隐藏起来。
高广超
2018-12-12
4150
Apache Kylin在美团数十亿数据OLAP场景下的实践
本文根据2016年4月北京Apache Kylin Meetup上的分享讲稿整理,略有删节。
高广超
2018-12-12
8760
Spring Boot 2.0 Release Notes 中文版
由于1.5版本是Spring Boot的主要版本,所有升级现有的应用程序可能会比平常更复杂一点。我们制定了专门的迁移指南来帮助您升级现有的Spring Boot 1.5应用程序。
高广超
2018-12-12
1.3K0
领域驱动模型(DDD)
2004年Eric Evans 发表《领域驱动设计——软件核心复杂性应对之道》(Domain-Driven Design –Tackling Complexity in the Heart of Software),简称Evans DDD,领域驱动设计思想进入软件开发者的视野。领域驱动设计分为两个阶段:
高广超
2018-12-12
3.3K0
Elasticsearch之元数据(meta-fields)介绍
在Elasticsearch下,一个文档除了有数据之外,它还包含了元数据(Metadata)。每创建一条数据时,都会对元数据进行写入等操作,当然有些元数据是在创建mapping的时候就会设置,
高广超
2018-12-12
2.4K0
七周七并发模型
image.png 七个模型来介绍并发与并行。 线程与锁:线程与锁模型有很多众所周知的不足,但仍是其他模型的技术基础,也是很多并 发软件开发的首选。 函数式编程:函数式编程日渐重要的原因之一,是其对并发编程和并行编程提供了良好的支 持。函数式编程消除了可变状态,所以从根本上是线程安全的,而且易于并行执行。 Clojure之道——分离标识与状态:编程语言Clojure是一种指令式编程和函数式编程的混搭方 案,在两种编程方式上取得了微妙的平衡来发挥两者的优势。 actor:actor模型是一种适用性很广的并发编
高广超
2018-12-12
5870
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档