4 Wangqyoho

尚未进行身份认证

多思考。

等级
TA的排名 1w+

基于多线程和本地缓存实现跨域重复调用的高性能

>>最近工作了,写博客的时间越来越少了,思考的时间越来越少,学习沉淀的时间也越来越少。忙里偷闲,记录一些在平时工作中一些有亮点的小tip,记录一些实用的技能,也多亏平时接触到的有能力有想法的同事~前言对于大体量互联网公司的应用,更多场景下需要考虑性能问题,比如大促稳定性、高并发下HA等等。而且在目前微服务盛行的今天,糟糕的涉及往往会导致链路的高rt和糟糕的性能,进而导致糟糕的...

2018-11-01 11:38:02

不直接使用加减乘除完成四则运算?——二进制位运算实现四则运算

转载地址:https://ych0112xzz.github.io/2016/10/27/OperationwithBits/位运算实现整数加法方法x^y//执行加法,不考虑进位。(x&y)<<1//进位操作解释在这里我们先用1位数的加法来进行,在不考虑进位的基础上,如下12341+1=01+0=10+1=10+0=0很明显这几个表达式可以...

2018-03-25 16:50:39

机器学习模型评估中的常用指标

一个比较推荐的解决机器学习问题的步骤是:首先以一个简易的算法开始,快速的进行实现,并在交叉验证集上进行验证;然后画出它的学习曲线,通过学习曲线确定是否更多的数据或者更多的特征会对模型的优化有帮助。接着人为地检测交叉验证集中被错误的进行分类的或者预测的样本的共同特征,从实际入手对模型进行调整,即ErrorAnalysis,不断调整并验证在交叉验证集上的误差,寻找最优的结果,优化模型。在机器学习

2018-01-14 14:32:54

机器学习算法中的模型选择与假设评估

在掌握了机器学习算法后,接下来就需要对算法进行选择,在不同的问题下选择最合适的算法和模型进行处理。要知道在碰到不同的问题时应当走哪条解决方案,选择对了尝试的方向,才能够尽快的达到最优的解同时保证最优的性能。这篇文章就简要介绍一下碰到常规问题时如何解决,这些都是经验结论,在应对一些基础问题时一般都可以起到一定作用。一、写在前面首先需要了解大体上应当如何处理这类问题。当我们在预测时碰到问题,得

2018-01-06 18:40:40

Kafka:High level consumer vs. Low level consumer

Kafka中的消费者有两套API,分别是highlevel的和lowlevel的。两种消费方式在构造和实现上都是不同的,在此记录一下:一、HighlevelconsumerAPIHighLevelConsumerAPI围绕着ConsumerGroup这个逻辑概念展开,它屏蔽了每个Topic的每个Partition的Offset管理(自动读取zookeeper中该Consu

2017-10-26 21:06:36

System Design——系统设计过程(四)系统的可扩展性设计

英文原文链接:https://www.hiredintech.com/classrooms/system-design/lesson/58     https://www.hiredintech.com/classrooms/system-design/lesson/60-----------------------------分隔符-----------------

2017-10-23 15:54:39

System Design——系统设计过程(三)理解瓶颈

英文原文链接:https://www.hiredintech.com/classrooms/system-design/lesson/57-----------------------------分隔符------------------------------------------------------------------------------------系统设计过

2017-10-23 09:51:38

System Design——系统设计过程(二)抽象设计

英文原文链接:https://www.hiredintech.com/classrooms/system-design/lesson/56-----------------------------分隔符------------------------------------------------------------------------------------系统设计过程:

2017-10-22 18:23:36

System Design——系统设计过程(一)约束和用例

英文原文链接:https://www.hiredintech.com/classrooms/system-design/lesson/55从这一节开始,开始介绍当拿到一个SystemDesign问题时候应该如何处理。-----------------------------分隔符------------------------------------------------------------------------------------系统设计过程:Step1约束和用例Step

2017-10-20 15:08:03

System Design——什么是“SystemDesign”问题

应公司老大需要,开始学习SystemDesign的知识,并做一个专栏整理。第一part是就hiredintech上的知识做一个基础学习,后续会再补充一些常见例子具体分析。这次也是我第一次开专栏,希望可以做好!-------------------------------分隔符-----------------------------------------------------------

2017-10-19 14:28:46

Java NIO (一)

在现在,JavaNIO已经越来越多的获得了应用包括Tomcat,netty等,这项技术也由之前面试时候的加分项变成了Java程序员必备的技能之一。而之前我一直没有系统的对其进行学习梳理,因此现在闲下来,想对这一块的知识做一个相对完整的整理。话不多说,开始吧。引NIO主要有三大核心部分:Channel(通道),Buffer(缓冲区),Selector。传统IO基于字节流和字符流进

2017-09-15 10:26:28

难以分类编程题(不断更新)

1、把只包含因子2、3和5的数称作丑数(UglyNumber)。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。这种思路的关键在于怎样确保数组里面的丑数是排好序的。我们假设数组中已经有若干个丑数,排好序后存在数组中。我们把现有的最大丑数记做M。现在我们来生成下一个丑数,该丑数肯定是前面某一个丑数乘以2、3或者5的结果。我

2017-09-12 21:29:30

Java泛型擦除和泛型的子类继承限制

一、引最近发现一个问题,LinkedListls不可以被赋值给LinkedListlo,这是为什么呢?这是因为Java中是泛型是伪泛型。虽然上面两个泛型的类具有继承关系,但是这两个List之间本身是没有关系的。当上述的LinkdedList被编译之后,class文件中其变成了LinkedListlist,存在泛型擦除的过程。这样来看,上面两个LinkedList其实是可以包

2017-09-12 11:30:41

静态代理和动态代理的理解

Java静态代理静态代理通常用于对原有业务逻辑的扩充。比如持有二方包的某个类,并调用了其中的某些方法。然后出于某种原因,比如记录日志、打印方法执行时间,但是又不好将这些逻辑写入二方包的方法里。所以可以创建一个代理类实现和二方方法相同的方法,通过让代理类持有真实对象,然后在原代码中调用代理类方法,来达到添加我们需要业务逻辑的目的。这其实也就是代理模式的一种实现,通过对真实对象的封装

2017-08-25 18:04:24

Kafka分区策略浅谈

用过 Kafka 的同学用过都知道,每个Topic一般会有很多个partitions。为了使得我们能够及时消费消息,我们也可能会启动多个Consumer去消费,而每个Consumer又会启动一个或多个消费线程去分别消费Topic里面的数据。Kafka 存在ConsumerGroup的概念,也就是 group.id 一样的Consumer,这些Consumer属于同

2017-07-27 09:45:44

Spark学习——缓存、闭包及共享变量

一、缓存Spark中也有缓存机制,或者说持久化机制。因为RDD的转化都是惰性的,这就意味着在调用action操作之前Spark是不会计算的,Spark会在内部记录所要求的执行步骤的全部流程,构建一个有向无环图(DAG)。同样在把数据读入到RDD的操作也是惰性的。由于这个特性,有时候需要能够多次使用同一个RDD时,如果简单地对RDD调用action操作,Spark每次都会重算RDD和它的

2017-04-17 16:25:35

Spark学习——spark中的几个概念的理解及参数配置

首先是一张spark的部署图: 节点类型有:1.master节点:常驻master进程,负责管理全部worker节点。2.worker节点:常驻worker进程,负责管理executor并与master节点通信。dirvier:官方解释为:Theprocessrunningthemain()functionoftheapplicationand

2017-04-17 14:37:03

Spark学习——RDD基本操作

Spark操作分为transformation和action,现将常用的记录在此://transformation//将元素一个一个转换JavaRDDmap=raw.map(newFunction(){@OverridepublicStringcall(Stringstrin

2017-04-17 13:44:26

Spark学习——RDD

在介绍RDD之前,先讲点前话:因为我用的Javaapi,所以第一件事就是创建一个JavaSparkContext对象,这个对象告诉了Spark如何访问集群SparkConfconf=newSparkConf().setAppName(appName).setMaster(master);JavaSparkContextsc=newJavaSparkContext(con

2017-04-14 18:04:02

Spark学习——始

公司项目需要,开始用sparkstreaming消费消息队列来缓解之前手写consumer导致的集群资源紧张以及开销大的性能问题。于是,在这里记录一些spark知识,自己也很感兴趣,所以就好好做一个专题吧。开篇,当然是一些老生常谈的论调:ApacheSpark是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UCBerkeleyAMPlab(加州大学伯克利分校

2017-04-14 15:54:11

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!