- 博客(18)
- 收藏
- 关注
转载 volatile
1、 volatile的作用相比Sychronized(重量级锁,对系统性能影响较大),volatile提供了另一种解决可见性和有序性问题的方案。对于原子性,需要强调一点,也是大家容易误解的一点:对volatile变量的单次读/写操作可以保证原子性的,如long和double类型变量,但是并...
2017-11-06 08:33:00
172
转载 Unsafe
//下面是sun.misc.Unsafe.java类源码import java.lang.reflect.Field;/*** * This class should provide access to low-level operations and its * use shoul...
2017-11-06 08:32:00
160
转载 Synchronize
一、Synchronized原理Synchronized是Java中解决并发问题的一种最常用的方法,也是最简单的一种方法。Synchronized的作用主要有三个:(1)确保线程互斥的访问同步代码(2)保证共享变量的修改能够及时可见(3)有效解决重排序问题。从语法上讲,Synchronize...
2017-11-06 08:32:00
351
转载 适配器与装饰器模式
适配器模式适配器模式,就是把一个类的接口变换成客户端所能接受的另一个接口,从而使两个接口不匹配的两个类能够在一起工作。通常用于一个项目需要引用一些开源框架来一起工作的情况下,这些开源框架都有一些关于环境信息的接口,需要从外部传入,但外部接口不一定能匹配,在这种请款下,就需要适配器模式来转...
2017-11-06 08:30:00
100
转载 NIO工作方式
NIO工作机制如上图,NIO有两个关键类:Channel和Selector,我们可采用城市交通工具来比喻NIO的工作方式,这里的Channel比Socket更加具体,它可以比作某种具体的交通工具,如汽车或高铁,而Selector可比作车站的车辆运行调度系统,它负责监控每辆车的当前运行状态,...
2017-11-06 08:30:00
161
转载 逻辑回归
1、逻辑回归 逻辑回归(Logistic Regression)是当前业界比较常用的机器学习方法,用于估计某种事物的可能性。经典之作《数学之美》中也看到它用于广告预测,还有类似的用户购买某商品的可能性,事件的发生都可以用可能性或几率(Odds)来表示。“几率”是指事件发生的...
2017-11-06 08:28:00
120
转载 HashMap
1、JDK7中的HashMap HashMap底层维护一个数组,数组中的每一项都是一个Entry transient Entry<K,V>[] table; 向 HashMap 中所放置的对象实际上是存储在该数组当中; 而Map中的key,value则以Entry的形式存放...
2017-11-06 08:27:00
85
转载 spring文件上传
spring文件上传1、配置对上传文件大小的限制<!-- 配置文件上传解析器 --><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsM...
2017-10-24 17:33:00
112
转载 RPC
public class RpcFramework { /** * 暴露服务 */ public static void export(Object service, int port) throws Exception { if (null...
2017-10-24 17:25:00
111
转载 分布式系统中 Unique ID 的生成方法
本文主要介绍在一个分布式系统中, 怎么样生成全局唯一的 ID 一, 问题描述 在分布式系统存在多个 Shard 的场景中, 同时在各个 Shard 插入数据时, 怎么给这些数据生成全局的 unique ID? 在单机系统中 (例如一个 MySQL 实例), unique ...
2016-01-14 21:27:00
156
转载 数据库schema设计与优化
2015-12-17 腾讯大数据 1、 前言 对于数据库而言,在日常开发中我们主要的关注点有两块,一个是schema的结构设计,另一个就是索引的优化,这两块是影响我们最终系统结构和性能的关键部分,自然也是我们花费精力最多的部分; 本文主要介绍数据库设计中的一般原则和优化手段,包括数据库...
2016-01-14 21:15:00
157
转载 如何阅读源代码
阅读源代码有许多益处。你会发现新的架构(construct)和库,与其他的代码维护者产生共鸣,但最重要的是学会如何组织代码,避免因内部极其复杂而变得不可维护。 但是也有一个不好的地方,那就是阅读源代码太困难了。每当我看到一个新的代码库(code base)时,这种让人眩晕的感觉就充斥了我的大...
2016-01-14 21:14:00
89
转载 架构案例丨苏宁易购:商品详情系统架构设计
原创 2015-12-30 尹坚 InfoQ 商品详情系统介绍 基本介绍 商品详情系统是一个展示商品基本信息、参数等详情的系统,是商品购买的入口。它是电商平台中访问量最大的系统之一,苏宁易购大促期间PV量和UV量很大,这么大的访问量对系统的并发能力要求高。在业务上它与周边系统的关系是...
2016-01-14 21:10:00
1799
转载 快的打车架构实践
快的打车从2013年年底到2014年下半年,系统访问量迅速膨胀,很多复杂的问题要在短时间内解决,且不能影响线上业务,这是比较大的挑战,本文将会阐述快的打车架构演变过程遇到的一些有代表性的问题和解决方案。 LBS的瓶颈和方案 先看看基本的系统模型,如图1所示。 图1 系统模型示意图 ...
2016-01-14 21:08:00
119
转载 如何快速学习一门新技术
>本文写于 2014 年 5 月。 前几天fork了Ruby China的源码,面对陌生的Ruby技术栈,一头雾水。 我fork它并不单为了学习,而是要在最短的时间搭建起我脑海中的社区网站。所以我不可能针对每一门新技术都去买一本书来读上半个月。 我在本机运行起Ruby Chi...
2016-01-14 21:03:00
141
转载 从0到1:微信后台系统的演进之路
从无到有 2011.1.21 微信正式发布。这一天距离微信项目启动日约为2个月。就在这2个月里,微信从无到有,大家可能会好奇这期间微信后台做的最重要的事情是什么? 我想应该是以下三件事: 1确定了微信的消息模型 微信起初定位是一个通讯工具,作为通讯工具最核心的功能是收发消息。微信团队...
2016-01-14 20:55:00
738
转载 IntelliJ插件
IDEA插件简介常见的IDEA插件主要有如下几类:常用工具支持Java日常开发需要接触到很多常用的工具,为了便于使用,很多工具也有IDEA插件供开发使用,其中大部分已经在IDEA中默认集成了。例如maven、git、svn、tomcat、jetty、jrebel、Gradle等。框架集...
2016-01-14 20:50:00
630
转载 经典大数据架构案例:酷狗音乐的大数据平台重构
本文是酷狗音乐的架构师王劲对酷狗大数据架构重构的总结。酷狗音乐的大数据架构本身很经典,而这篇讲解了对原来的架构上进行重构的工作内容,总共分为重构的原因、新一代的大数据技术架构、踩过的坑、后续持续改进四个部分来给大家谈酷狗音乐大数据平台重构的过程。 眨眼就是新的一年了,时间过的真快,趁这...
2016-01-14 20:37:00
320
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人