自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 资源 (14)
  • 收藏
  • 关注

原创 云计算&大数据&人工智能相关概念

云计算相关概念首先做云计算平台的公司会买很多的物理机放在自己的数据中心中,再通过虚拟化的技术(如闭源的VMware,开源的Xen、KVM),将物理机分割成不同大小的资源(计算资源(CPU)、网络资源(带宽)、存储资源(硬盘))以满足不同用户的需求,如个人用户可能只需要一个CPU、1G内存、10G的硬盘、一兆的带宽但是创建一台虚拟的电脑,需要人工指定这台虚拟电脑放在哪台物理机上的。这一过程可能还需要...

2018-06-14 11:01:30 2917 1

转载 这 30 个常用的 Maven 命令你必须熟悉!

maven 命令的格式为 mvn [plugin-name]:[goal-name],可以接受的参数如下。-D 指定参数,如 -Dmaven.test.skip=true 跳过单元测试;-P 指定 Profile 配置,可以用于区分环境;-e 显示maven运行出错的信息;-o 离线执行命令,即不去远程仓库更新包;-X 显示maven允许的debug信息;-U 强制去远程更新snapshot的插件...

2018-06-13 10:03:57 13493

原创 分布式一致性方案

分布式一致性方案先更新数据库,再删缓存首先,先说一下。老外提出了一个缓存更新套路,名为《Cache-Aside pattern》。其中就指出失效:应用程序先从cache取数据,没有得到,则从数据库中取数据,成功后,放到缓存中。命中:应用程序从cache中取数据,取到后返回。更新:先把数据存到数据库中,成功后,再让缓存失效。这种情况不存在并发问题么?不是的。假设这会有两个请求,一个请求A做查询操作,...

2018-06-07 20:55:06 3369 1

原创 Springboot 代码混淆

pom.xml中添加 <build> <plugins> <plugin> <groupId>com.github.wvengen</groupId> <artifactId>proguard-maven-plugin...

2018-06-07 19:35:35 3657 2

原创 微服务架构概述—Spring Cloud&Dubbo

微服务架构概述微服务是一种架构模式或一种架构风格,提倡将单一应用程序划分成一组小的服务,每个服务运行在其独立的自己的进程中,服务之间互相协调、互相配合,为用户提供最终价值。服务之间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生成环境、类生产环境等。另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而...

2018-05-29 17:33:57 642

转载 微服务化的数据库设计与读写分离

作者:刘超,毕业于上海交通大学,15年云计算领域研发及架构经验,先后在EMC,CCTV证券资讯频道,HP,华为,网易从事云计算和大数据架构工作。在工作中积累了大量运营商系统,互联网金融系统,电商系统等容器化和微服务化经验。数据库永远是应用最关键的一环,同时越到高并发阶段,数据库往往成为瓶颈,如果数据库表和索引不在一开始就进行良好的设计,则后期数据库横向扩展,分库分表都会遇到困难。对于互联网公司来讲...

2018-05-22 20:52:41 1204

原创 docker使用

简介Docker是一个开源的应用容器引擎,是一个轻量级容器技术Docker支持将软件编译成一个镜像,然后在镜像中做好各种软件的配置,将镜像发布出去,其他使用者可以直接使用这个镜像运行中的镜像称为容器,容器启动是非常快速的# 核心概念## docker主机(Host)- 安装了Docker程序的机器(Docker直接安装在操作系统之上)## docker客户端(Client)- 连接docker主机...

2018-05-17 14:46:53 312

转载 阿里P7学习路线图

来源:微信公众号 【架构师小秘圈】 作者:Hollis,阿里资深Java工程师,一个对Coding有着独特追求的人! 来自:Hollis(ID:hollischuang)一、基础篇JVMJVM内存结构堆、栈、方法区、直接内存、堆和栈区别Java内存模型内存可见性、重排序、顺序一致性、volatile、锁、final垃圾回收内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定 JV

2018-04-03 10:31:34 1827 2

原创 《Effective Java》——学习笔记(序列化)

序列化第74条:谨慎地实现Serializable接口实现Serializable接口而付出的最大代价是,一旦一个类被发布,就大大降低了“改变这个类的实现”的灵活性,并且以后又要改变这个类的内部表示法,结果可能导致序列化形式的不兼容序列化会使类的演变受到限制,这种限制的一个例子与流的唯一标识符有关,通常它也被称为序列版本UID。如果没有在一个名为serialVersionUID的私有静态final的

2018-03-19 15:10:27 429

原创 《Effective Java》——学习笔记(异常&并发)

异常第57条:只针对异常的情况才使用异常异常应该只用于异常的情况下:它们永远不应该用于正常的控制流设计良好的API不应该强迫它的客户端为了正常的控制流而使用异常第58条:对可恢复的情况使用受检异常,对编程错误使用运行时异常Java程序设计语言提供了三种可抛出结构:受检的异常、运行时异常和错误如果期望调用者能够适当地恢复,对于这种情况就应该使用受检的异常,通过抛出受检的异常,强迫调用者在一个catch

2018-03-06 17:38:15 863

原创 《Effective Java》——学习笔记(方法&通用程序设计)

方法第38条:检查参数的有效性在方法体的开头处检查参数,对于公有的方法,要用Javadoc的@throws标签在文档中说明违反参数值限制时会抛出的异常/** * @throws ArithmeticException if m is less than or equal to 0 /public BigInteger mod(BigInteger m){ if(m.signum() <

2018-03-05 13:42:25 349

原创 《Effective Java》——学习笔记(泛型&枚举和注解)

泛型第23条:请不要在新代码中使用原生态类型如果使用原生态类型,就失掉了泛型在安全性和表述性方面的所有优势,比如不应该使用像List这样的原生态类型,而应该使用如List<Object>、List<String>这样的类型第24条:消除非受检警告用泛型编程时,会遇到许多编译器警告:非受检强制转化警告、非受检方法调用警告、非受检普通数组创建警告,以及非受检转换警告。如:Set<Lark> exalta

2018-02-28 16:46:40 513

转载 [总结]FFMPEG视音频编解码零基础学习方法

在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者。在和大家探讨的过程中,我忽然发现了一个问题:在“大神”和初学者之间好像有一个不可逾越的鸿沟。“大神”们水平高超,探讨着深奥的问题;而初学者们还停留在入门阶段。究竟是什么原因造成的这种“两极分化”呢?最后,我发现了问题的关键:FFMPEG难度比较大,却

2018-02-26 14:39:17 347

原创 《Effective Java》——学习笔记(对于所有对象都通用的方法&类和接口)

对于所有对象都通用的方法第8条:覆盖equals时请遵守通用约定不覆盖equals方法的情况类的每个实例本质上都是唯一的不关心类是否提供了“逻辑相等”的测试功能超类已经覆盖了equals,从超类继承过来的行为对于子类也是合适的类是私有的或是包级私有的,可以确定它的equals方法永远不会被调用,在这种情况下,应该覆盖equals方法,以防它被意外调用:@Overridepublic boo

2018-02-26 14:34:27 424

原创 《Effective Java》——学习笔记(创建和销毁对象)

创建和销毁对象第1条:考虑用静态工厂方法代替构造器静态工厂方法与公有的构造器相比,具有以下几大优势:优势一:静态工厂方法有名称具有适当名称的静态工厂更容易使用,产生的客户端代码也更容易阅读,当一个类需要多个带有相同签名的构造器时,就用静态工厂方法代替构造器,并且慎重地选择名称以便突出它们之间的区别优势二:不必在每次调用它们的时候都创建一个新对象静态工厂方法能够为重复的调用返回相同对象,这样有助于

2018-02-24 18:03:17 421

原创 JVM相关知识总结整理

JVM启动流程JVM基本结构PC寄存器每个线程拥有一个PC寄存器在线程创建时创建指向下一条指令的地址执行本地方法时,PC的值为undefined方法区保存装载的类信息类型的常量池(JDK6时,String等常量池置于方法,JDK7时,已经移动到了堆)字段、方法信息方法字节码通常和永久区(Perm)关联在一起Java堆和程序开发密切相关应用系统对象都保存在Java堆中所有线程

2018-02-05 16:34:44 506

转载 源码之下无秘密 ── 做最好的 Netty 源码分析教程

背景在工作中, 虽然我经常使用到 Netty 库, 但是很多时候对 Netty 的一些概念还是处于知其然, 不知其所以然的状态, 因此就萌生了学习 Netty 源码的想法.刚开始看源码的时候, 自然是比较痛苦的, 主要原因有两个: 第一, 网上没有找到让我满意的详尽的 Netty 源码分析的教程; 第二, 我也是第一次系统地学习这么大代码量的源码. 由于这两个原因, 最开始时, 看代码的进度很慢,

2018-02-02 10:54:08 855

转载 红帽Linux安装ffmpeg

红帽Linux安装ffmpeg 学习opencv为什么安装ffmpeg   如果需要视频处理和摄像头方面的支持,则需要安装ffmpeg,如果只是用opencv对静态图像进行处理,则可以不安装ffmpeg。   注意:opencv 3.1 调用了 ffmpeg 低版本的接口,所以如

2018-01-29 17:36:37 360

原创 Elasticsearch简介&基本使用

简介Elasticsearch是一个分布式、可扩展、实时的搜索与数据分析引擎Elasticsearch被用作全文检索、结构化检索、分析以及这三个功能的组合Elasticsearch 是使用 Java 编写的,它的内部使用 Lucene 做索引与搜索,但是它的目的是使全文检索变得简单, 通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful APIElasticsearch描述

2017-12-21 14:35:37 757

原创 《大话数据结构》——学习笔记(图)

图图的定义图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通过表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合(有穷非空),E是图G中边的集合(可以为空)图是一种较线性表和树更加复杂的数据结构,在图形结构中,结点之间的关系可以是任意的,图中任意两个数据元素之间都可能相关各种图定义无向边: 若顶点viv_i到vjv_j之间的边没有方向,则称这条边为无向边(Edge),用无序

2017-12-20 16:36:37 4635 1

原创 《大话数据结构》——学习笔记(栈&串&树)

栈栈的定义栈(stack)是限定仅在表尾进行插入和删除操作的线性表栈是一种后进先出(Last In First Out)的线性表,简称LIFO结构栈的顺序存储结构与链式存储结构栈的顺序存储结构如下图栈的链式存储结构如下图比较:顺序栈与链栈在时间复杂度上是一样的,均为O(1)对于空间性能,顺序栈需要事先确定一个固定的长度,可能会存在内存空间浪费的问题,但它的优势是存取时定位很方便,而链栈则要求每个

2017-12-19 10:24:50 2032 2

原创 《大话数据结构》——学习笔记(概述&线性表)

数据数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合数据元素数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理,也被称为记录数据项数据项:一个数据元素可以由若干个数据项组成,数据项是数据不可分割的最小单位数据对象数据对象:是性质相同的数据元素的集合,是数据的子集数据结构不同数据元素之间不是独立的,而是存在特定的关系,我们将这些

2017-12-18 10:07:58 2385

转载 mvn打包spring工程成jar时报Unable to locate Spring NamespaceHandler for XML schema namespace错误解决办法

有一个小工程,使用了spring,在使用maven的assembly打包成独立可执行的jar包后,在执行时报如下错误: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace 网上对这个问题也有提及,这是assembly的一个bug.参见:http://jira.

2017-12-14 16:55:23 474

转载 Linux中rpm命令误卸载了的恢复

今天在搭建MySQL集群服务时,安装MySQL集群服务前,先卸载原来MySQL的软件包,不小心将rpm的命令也给卸载掉了,这下惨了,什么也做不了了。在Google了翻了好多个页面,甚至官网也看了,没能解决我的问题,根据本人多年Linux的经验以及Linux系统的rpm软件包安装特点的敏感,本人想出了以下的方法,请注意:独创!为做集群,这里用到了两台机器,下面是拓扑图:xiaolyu77(192.1

2017-12-14 16:48:41 3031 1

原创 Dubbo API 笔记——Dubbo协议&最佳实践

Dubbo协议dubbo://Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器远大于服务提供者机器数的情况反之,Dubbo 缺省协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低特性缺省协议,使用基于 mina 1.1.7 和 hessian 3.2.1 的 tbremoting 交互连接个数:单连接连接方式:长连接传输协议:

2017-11-09 13:34:43 3779

转载 全文检索引擎Solr系列—–全文检索基本原理

本文作者: ImportNew - 刘志军 未经许可,禁止转载!场景:小时候我们都使用过新华字典,妈妈叫你翻开第38页,找到“坑爹”所在的位置,此时你会怎么查呢?毫无疑问,你的眼睛会从38页的第一个字开始从头至尾地扫描,直到找到“坑爹”二字为止。这种搜索方法叫做顺序扫描法。对于少量的数据,使用顺序扫描是够用的。但是妈妈叫你查出坑爹的“坑”字在哪一页时,你要是从第一页的第一个字逐个的扫描下去,那你真

2017-11-07 17:45:13 286

原创 Dubbo API 笔记——配置参考

schema 配置参考所有配置项分为三大类服务发现:表示该配置项用于服务的注册与发现,目的是让消费方找到提供方服务治理:表示该配置项用于治理服务间的关系,或为开发测试提供便利条件性能调优:表示该配置项用于调优性能,不同的选项对性能会产生影响所有配置最终都将转换为 URL 表示,并由服务提供方生成,经注册中心传递给消费方 URL 格式: protocol://username:passw

2017-11-06 14:33:56 2134

原创 Dubbo API 笔记——Dubbo架构与使用

架构演变单一应用架构所有功能部署在一个应用上,用于简化增删改查工作量的数据访问框架(ORM)是关键垂直应用架构将应用拆分成互不相干的几个应用,以提升效率,此时,用于加速前端页面开发的Web框架(MVC)是关键分布式服务架构将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,此时,用于提高业务复用及整合的分布式服务框架(RPC)是关键流动计算架构增加一个调度中心基于访问压力实时管理集群

2017-11-06 14:14:49 9347 3

原创 《大型网站技术架构:核心原理与案例分析》——大型网站架构演化过程

大型网站软件系统的特点高并发,大流量高可用海量数据用户分布广泛,网络情况复杂安全环境恶劣需求快速变更,发布频繁渐进式发展大型网站架构演化发展历程初始阶段的网站架构Linux+PHP+Apache+MySQL应用服务和数据服务分离演化原因 一台服务器逐渐不能满足需求,越来越多的用户访问导致性能越来越差,越来越多的数据导致存储空间不足演化后应用和数据分离后整个网站使用三台服务器应用服

2017-10-27 19:51:00 476

原创 《大话设计模式》——学习笔记之面向对象原则&UML类图

《大话设计模式》——学习笔记之面向对象原则单一职责原则定义: 就一个类而言,应该仅有一个引起它变化的原因如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或抑制这个类完成其他职责的能力,这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏软件设计真正要做的许多内容,就是发现职责并把这些职责相互分离,如果能够想到多于一个的动机去改变一个类,那么这个类就具有多于

2017-10-18 13:48:52 510 2

原创 《大话设计模式》——学习笔记之"行为型模式"(观察者&模板方法&命令&状态&职责链&解释器&中介者&访问者&策略&备忘录&迭代器)

《大话设计模式》——学习笔记之”行为型模式”(观察者&模板方法&命令&状态&职责链&解释器&中介者&访问者&策略&备忘录&迭代器)观察者模式定义: 定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己Subject类,主题或抽象通知者abstract class Subject{ private ILi

2017-10-15 15:15:29 568

原创 《大话设计模式》——学习笔记之"结构型模式"(适配器&装饰&桥接&组合&亨元&代理&外观)

《大话设计模式》——学习笔记之”结构型模式”(适配器&装饰&桥接&组合&亨元&代理&外观)适配器模式定义:适配器模式(Adapter),将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作Target,客户所期望的接口class Target{ public virtual void Request(){ Co

2017-10-13 21:18:59 404

原创 《大话设计模式》——学习笔记之"创建型模式"(单例&工厂方法&抽象工厂&建造者&原型)

《大话设计模式》——学习笔记之”创建型模式”(单例&工厂方法&抽象工厂&建造者&原型)单例模式定义: 保证一个类仅有一个实例,并提供一个访问它的全局访问点Singleton类,定义一个GetInstance操作,允许客户访问它的唯一实例,GetInstance是一个静态方法,主要负责创建自己的唯一实例class Singleton{ private static Singleton inst

2017-10-13 20:42:45 377

转载 Maven如何手动添加依赖的jar文件到本地Maven仓库

大家肯定遇到过想在pom文件中加入自己开发的依赖包,这些包肯定是不是在Maven仓库(http://repo1.maven.org/maven2/)的。那我们怎么将那些不存在Maven仓库中的包加入到本地的Maven库中呢?很简单。这里以IKAnalyzer.jar包为例进行讲解。  第一步:将IKAnalyzer.jar包存放在一个文件夹中,比如mylib文件夹  第二步:建一个IKAnalyze

2017-08-25 09:15:57 436

转载 【重磅】微信开源PhxSQL:高可用、强一致的MySQL集群

开源地址:https://github.com/tencent-wechat/phxsql点击阅读原文可自动跳转到github地址PhxSQL是一个兼容MySQL、服务高可用、数据强一致的关系型数据库集群。PhxSQL以单Master多Slave方式部署,在集群内超过一半机器存活的情况下,可自身实现自动Master切换,且保证数据一致性。PhxSQL基于Percona 5.6开发。Percona是M

2017-08-17 17:47:56 862

原创 《大型分布式网站架构设计与实践》——常见的Web攻击手段

常见的Web攻击手段XSS攻击跨站脚本攻击(Cross Site Scripting),指的是攻击者在网页中嵌入恶意脚本程序,当用户打开该网页时,脚本程序便开始在客户端的浏览器上执行,以盗取客户端cookie、用户名密码,下载执行病毒木马程序,甚至是获取客户端admin权限等防范: 对用户输入的数据进行HTML转义处理 转义前 转义后 < \< > \> ‘ \&

2017-08-16 09:49:02 719

原创 python stomp 收发指定的消息

python stomp收发指定的消息# -*- coding: utf-8 -*-import sysimport timeimport sysimport stompclass MyListener(object): def on_error(self, headers, message): print('received an error %s' % messa

2017-08-10 09:33:31 6846 2

转载 Netty系列之Netty高性能之道

1. 背景1.1. 惊人的性能数据最近一个圈内朋友通过私信告诉我,通过使用Netty4 + Thrift压缩二进制编解码技术,他们实现了10W TPS(1K的复杂POJO对象)的跨节点远程服务调用。相比于传统基于Java序列化+BIO(同步阻塞IO)的通信框架,性能提升了8倍多。事实上,我对这个数据并不感到惊讶,根据我5年多的NIO编程经验,通过选择合适的NIO框架,加上高性能的压缩二进制编解码技术

2017-08-02 10:03:28 602

转载 spring AOP是什么?你都拿它做什么?

spring AOP是什么?你都拿它做什么?          对于最近博主最近写博客的兴致大发,我也在思考:为什么而写博客?在互联网时代,无论你是牛人大咖,还是小白菜鸟,都有发表自己看法的权利。无论你是对的还是错的,都会在这个平台

2017-07-29 14:07:02 1333

原创 《Spring源码深度解析》学习笔记——bean的加载(一)

bean的加载对于加载bean的功能,在Spring中的调用方式为:MyTestBean bean = (MyTestBean)bf.getBean("myTestBean")这行代码在Spring中是这样实现的public <T> T getBean(String name, Class<T> requiredType, Object... args) throws BeansException

2017-07-24 19:13:54 7293 1

MySQL高级特性

MySQL高级特性,尚硅谷的教学笔记

2017-06-14

AudioCompare 音频相似度比较

AudioCompare 音频相似度比较,匹配上会返回匹配的数值

2017-05-25

canvas动态画出视图树

动态添加/删除视图树节点

2016-12-09

《App研发录—架构设计,Crash分析和竞品技术分析》pdf 完整版

《App研发录—架构设计,Crash分析和竞品技术分析》pdf 完整版

2016-11-04

获取应用的签名

根据应用包名获取应用的签名信息

2016-08-03

基于蓝牙实现即时通讯demo

基于蓝牙实现即时通讯demo

2016-05-13

《Android智能穿戴设备开发指南》随书源码

《Android智能穿戴设备开发指南》随书源码

2016-05-10

整理的MQTT协议

包括MQTT协议的.md格式和思维导图模式

2016-04-26

几个常用view集合demo

这里将几个常用的view放在了一起,包括随滚动逐渐显示标题栏,伸缩的TextView,圆形头像,选取手机中的图片并截图

2016-04-08

Android greenDAO使用demo

Android greenDAO使用的demo,实现数据库的增删改查

2016-04-06

android实现注册和登录的demo

本demo实现了安卓客户端请求服务器进行注册和登录的功能

2016-04-06

自动轮播条(基于android-auto-scroll-view-pager-master)

基于android-auto-scroll-view-pager-master类库,写的一个自动轮播条的小demo

2016-04-05

search_view

模仿风行客户端的一个自定义搜索框库,实现了监听文本框输入的变化,清空文本框内容,提示列表,热搜列表、自动保存搜索记录等功能

2016-04-04

安卓源码_安全保密方面

包含安全卫士源码,屏幕锁源码,人脸识别功能,手机防火墙,图形解锁,网络监视器

2015-12-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除