自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

KimmKing的技术博客

我看不清的,何止是你的眼睛.

  • 博客(399)
  • 资源 (8)
  • 问答 (1)
  • 收藏
  • 关注

原创 微服务架构深度解析与最佳实践(全篇汇总,2.4万字)

微服务架构的概念,现在对于大家应该都不陌生,无论使用 Apache Dubbo、还是 Spring Cloud,都可以去尝试微服务,把复杂而庞大的业务系统拆分成一些更小粒度且独立部署的 Rest 服务。但是这个过程,具体应该怎么做?现有的条件下到底要不要做微服务?服务拆分成什么粒度才是合适的?遗留的老系统需要如何考虑重构改造?有哪些坑需要我们注意?系统怎么在分布式服务下实现数据的一致性和...

2020-04-26 19:11:48 2912

原创 百亿流量微服务网关的设计与实现

目录API网关概述1. 什么是API网关(API Gateway)2. 分布式服务架构、微服务架构与API网关3. API网关的技术趋势API网关的定义、职能与关注点1. API网关的定义2. API网关的职能3. API网关的关注点API网关的分类与技术分析1. API网关的分类2. 流量网关与WAF3. 业务网关开源网关的分析与调研1. ...

2020-04-13 15:20:48 1645

原创 不同GC下ParallelGCThreads和ConcGCThreads的计算公式

目录计算公式结论Parallel GC下验证CMS GC下验证G1 GC下验证前面的文章(JVM认知的常见10个误区 - kimmking的文章 - 知乎JVM认知的常见10个误区 - 知乎)里,我们提到了CMS下的这两个参数的关系。其实我们可以全面的看一下Parallel/CMS/G1 GC下的这个关系。计算公式结论这里先总结一下,具体的验证过程见下面的步骤:三种GC下,ParallelGCThreads默认值都是CPU线程数(想想为什么?) 并行Parallel GC.

2021-11-25 21:35:07 726

原创 JVM认知的常见10个误区

目录1、OpenJDK8的默认GC是不是CMS/G1?2、默认最大堆内存是不是物理内存的1/4?3、默认的年轻代最大值是不是一定是堆内存的1/3?4、给JVM分配内存越多越好吗?5、堆外内存很小,所以不用管?6、所有的GC都会暂停(Stop The World)吗?7、并发线程是CPU的1/8,并行线程是CPU的5/8吗?8、是不是GC停顿越短系统性能就越好?9、G1会不会发生长时间停顿的Full GC?10、ZGC到底比G1/CMS/ParallelGC好在哪儿..

2021-11-25 19:07:03 385

原创 江同学的ShardingSphere编译指北

今天第一次给ShardingSphere提pr的一个同学写的江伟楷:ShardingSphere编译指北说实话 我第一次看见这么大个repo是有点发怵的 公司也有个repo 里头7 8个module 连编译带test要二三十分钟 点下去了 如果你要等着他干活意味着上个厕所回来再泡杯茶 而shardingsphere几十个模块 光文件夹都看着晕。。。在看见一些小伙伴早已编译好了之后拿到了小任务 我又开始打起了主意要把这个repo弄好 于是乎就有了这篇踩坑记1. 克隆项目前期准备:想给开源

2020-11-20 20:38:16 866

原创 Snakeyaml的一个bug

Snakeyaml的一个bug反序列化一个Properties类型,会直接当做Map处理。就是说把num: 1变成一个String的key(num)和一个Integer的value(1),然后put到Properties对象,而不是使用setProperty方法。java.util.Properties虽然是个继承HashTable的Map,但是一般我们都用setProperty和getProperty,这两个方法写死了只处理string。特别是getProprety里判断了一下如果value不

2020-11-18 22:29:57 448 1

原创 我想对读者说的话

课程背景近些年来,无论是使用规模、开发者人数,还是技术生态成熟度、相关工具的丰富程度,Java 都当之无愧是后端开发语言中不可撼动的王者,也是开发各类业务系统的首选语言。时至今日,整个 IT 招聘市场上,Java 开发工程师依然是缺口最大,需求最多的热门职位。另外,从整个市场环境看,传统企业的信息化,传统 IT 系统的互联网化,都还有非常大的发展空间,由此推断未来 Java 开发的市场前景广阔...

2020-09-22 12:07:19 1123

原创 环境准备:千里之行,始于足下

Java 语言编写代码非常简单,也很容易入门,非常适合开发各种企业级应用和业务系统。一个众所周知的事实是: 用起来越简单的系统, 其背后的原理和实现就越复杂。道理很容易理解, 系统的内部实现考虑了各种极端的情况,对用户屏蔽了各种复杂性。作为支撑庞大的 Java 生态系统的基石, JVM 内部实现是非常复杂的。据统计,OpenJDK 的实现代码已经超过 1000 万行。JVM 难不难? 自然是 “...

2020-09-22 12:07:17 702

原创 常用性能指标:没有量化,就没有改进

前面一节课阐述了 JDK 的发展过程,以及怎么安装一个 JDK,在正式开始进行 JVM 的内容之前,我们先了解一下性能相关的一些基本概念和原则。如果要问目前最火热的 JVM 知识是什么? 很多同学的答案可能是 “JVM 调优” 或者 “JVM 性能优化”。但是具体需要从哪儿入手,怎么去做呢?其实“调优”是一个诊断和处理手段,我们最终的目标是让系统的处理能力,也就是“性能”达到最优化,...

2020-09-22 12:07:16 559

原创 JVM 基础知识:不积跬步,无以至千里

前面的章节我们介绍了 JDK 和 JVM 的关系以及环境准备等,本节我们来探讨一下 JVM 的基础知识,包括以下内容:常见的编程语言类型关于跨平台、运行时(Runtime)与虚拟机(VM)关于内存管理和垃圾回收(GC)3.1 常见的编程语言类型我们都知道 Java 是一种基于虚拟机的静态类型编译语言。那么常见的语言可以怎么分类呢?1)编程语言分类首先,我们可以把形形色色的编程从底...

2020-09-22 12:07:14 449

原创 Java 字节码技术:不积细流,无以成江河

Java 中的字节码,英文名为 bytecode, 是 Java 代码编译后的中间代码格式。JVM 需要读取并解析字节码才能执行相应的任务。从技术人员的角度看,Java 字节码是 JVM 的指令集。JVM 加载字节码格式的 class 文件,校验之后通过 JIT 编译器转换为本地机器代码执行。 简单说字节码就是我们编写的 Java 应用程序大厦的每一块砖,如果没有字节码的支撑,大家编写的代码也就...

2020-09-22 12:07:13 428

原创 Java 类加载器:山不辞土,故能成其高

前面我们学习了 Java 字节码,写好的代码经过编译变成了字节码,并且可以打包成 Jar 文件。然后就可以让 JVM 去加载需要的字节码,变成持久代/元数据区上的 Class 对象,接着才会执行我们的程序逻辑。我们可以用 Java 命令指定主启动类,或者是 Jar 包,通过约定好的机制,JVM 就会自动去加载对应的字节码(可能是 class 文件,也可能是 Jar 包)。我们知道 Jar 包...

2020-09-22 12:07:11 324

原创 Java 内存模型:海不辞水,故能成其深

了解计算机历史的同学应该知道,计算机刚刚发明的时候,是没有内存这个概念的,速度慢到无法忍受。 直到冯诺依曼提出了一个天才的设计才解决了这个问题,没错,这个设计就是加了内存,所以现代的电子计算机又叫做“冯诺依曼机”。JVM 是一个完整的计算机模型,所以自然就需要有对应的内存模型,这个模型被称为 “Java 内存模型”,对应的英文是“Java Memory Model”,简称 JMM。Java 内...

2020-09-22 12:07:09 338

原创 JVM 启动参数详解:博观而约取、厚积而薄发

JVM 作为一个通用的虚拟机,我们可以通过启动 Java 命令时指定不同的 JVM 参数,让 JVM 调整自己的运行状态和行为,内存管理和垃圾回收的 GC 算法,添加和处理调试和诊断信息等等。本节概括的讲讲 JVM 参数,对于 GC 相关的详细参与将在后续的 GC 章节说明和分析。直接通过命令行启动 Java 程序的格式为:java [options] classname [args]ja...

2020-09-22 12:07:08 771

原创 JDK 内置命令行工具:工欲善其事,必先利其器

很多情况下,JVM 运行环境中并没有趁手的工具,所以掌握基本的内置工具是一项基本功。JDK 自带的工具和程序可以分为 2 大类型:开发工具诊断分析工具JDK 内置的开发工具写过 Java 程序的同学,对 JDK 中的开发工具应该比较熟悉。下面列举常用的部分:工具简介javaJava 应用的启动程序javacJDK 内置的编译工具javap反编译...

2020-09-22 12:07:06 389

原创 JDK 内置图形界面工具:海阔凭鱼跃,天高任鸟飞

GUI 图形界面工具,主要是 3 款:JConsole、JVisualVM、JMC。其实这三个产品可以说是 3 代不同的 JVM 分析工具。这三个工具都支持我们分析本地 JVM 进程,或者通过 JMX 等方式连接到远程 JVM 进程。当然,图形界面工具的版本号和目标 JVM 不能差别太大,否则可能会报错。下面分别对它们进行介绍。JConsoleJConsole,顾名思义,就是“Java 控...

2020-09-22 12:07:04 652

原创 JDWP 简介:十步杀一人,千里不留行

Java 平台调试体系(Java Platform Debugger Architecture,JPDA),由三个相对独立的层次共同组成。这三个层次由低到高分别是 Java 虚拟机工具接口(JVMTI)、Java 调试连接协议(JDWP)以及 Java 调试接口(JDI)。模块层次编程语言作用JVMTI底层C获取及控制当前虚拟机状态JDWP中间层C定义 J...

2020-09-22 12:07:03 522

原创 JMX 与相关工具:山高月小,水落石出

Java 平台提供了全面的 JVM 监控和管理措施。在 Java SE 5 之前,虽然 JVM 提供了一些底层的 API,比如 JVMPI 和 JVMTI,但这些 API 都是面向 C 语言的,需要通过 JNI 等方式才能调用,想要监控 JVM 和系统资源非常不方便。Java SE 5.0 版本引入了 JMX 技术(Java Management Extensions,Java 管理扩展),J...

2020-09-22 12:07:01 303

原创 常见的 GC 算法介绍(Parallel/CMS/G1):温故而知新

GC 是英文词汇 Garbage Collection 的缩写,中文一般直译为“垃圾收集”。当然有时候为了让文字更流畅,也会说“垃圾回收”。一般认为“垃圾回收”和“垃圾收集”是同样的意思。此外,GC 也有“垃圾收集器”的意思,英文表述为 Garbage Collector。本节我们就来详细讲解常用的 GC 算法。闲话 GC假如我们做生意,需要仓库来存放物资。如果所有仓库都需要公司自建,那成本...

2020-09-22 12:06:59 1275

原创 常见的 GC 算法(Parallel/CMS/G1)

学习了 GC 算法的相关概念之后,我们将介绍在 JVM 中这些算法的具体实现。首先要记住的是,大多数 JVM 都需要使用两种不同的 GC 算法——一种用来清理年轻代,另一种用来清理老年代。我们可以选择 JVM 内置的各种算法。如果不通过参数明确指定垃圾收集算法,则会使用相应 JDK 版本的默认实现。本章会详细介绍各种算法的实现原理。串行 GC(Serial GC)串行 GC 对年轻代使用 m...

2020-09-22 12:06:57 1429

原创 Java11 ZGC 和 Java12 Shenandoah 介绍:苟日新、日日新、又日新

随着互联网的迅速发展和计算机硬件的迭代更新,越来越多的业务系统使用大内存。 而且这些实时在线业务对响应时间比较敏感。比如需要实时获得响应消息的支付业务,如果JVM的某一次GC暂停时间达到10秒,显然会让客户的耐心耗尽。还有一些对延迟特别敏感的系统,一般要求响应时间在100ms以内。 例如高频交易系统,业务本身就有一些运算耗时,如果GC暂停时间超过一半(>50ms),那很可能就会让某些交易策...

2020-09-22 12:06:56 407

原创 Oracle GraalVM 介绍:会当凌绝顶、一览众山小

GraalVM 简介与特性前面了解了那么多的 JVM 相关技术,我们可以发现一个脉络就是 Java 相关的体系越来越复杂,越来越强大。放眼看去,最近十年来,各种各类的技术和平台层出不穷,每类技术都有自己的适用场景和使用人群。并且伴随着微服务和云原生等理念的出现和发展,越来越多的技术被整合到一起。那么作为目前最流行的平台技术,Java/JVM 也自然不会在这个大潮中置身事外。本节我们介绍一个语言...

2020-09-22 12:06:54 743

原创 GC 日志解读与分析:千淘万漉虽辛苦,吹尽狂沙始到金

本章通过具体示例来演示如何输出 GC 日志,并对输出的日志信息进行解读分析,从中提取有用的信息。本次演示的示例代码为了演示需要,我们先来编写一段简单的 Java 代码:package demo.jvm0204;import java.util.Random;import java.util.concurrent.TimeUnit;import java.util.concurrent....

2020-09-22 12:06:53 325

原创 JVM 的线程堆栈等数据分析:操千曲而后晓声、观千剑而后识器

Java 线程简介与示例多线程的使用和调优也是 Java 应用程序性能的一个重要组成部分,本节我们主要来讨论这一部分内容。线程(Thread)是系统内核级的重要资源,并不能无限制地创建和使用。创建线程的开销很大,由于线程管理较为复杂,在编写多线程代码时,如果有哪里未设置正确,可能会产生一些莫名其妙的 Bug。开发中一般会使用资源池模式,也就是“线程池”(Thread Pool)。通过把线程的...

2020-09-22 12:06:51 266

原创 GC 日志解读与分析(实例分析上篇)

上一节讲述了 GC 日志相关的基础信息和配置。需要提醒的是,这些参数是基于 JDK 8 配置的。在 JDK 9 之后的版本中,启动参数有一些变化,继续使用原来的参数配置可能会在启动时报错。不过也不用担心,如果碰到,一般都可以从错误提示中找到对应的处置措施和解决方案。例如 JDK 11 版本中打印 info 级别 GC 日志的启动脚本:# JDK 11 环境,输出 info 级别的 GC 日...

2020-09-22 12:06:50 432

原创 内存分析与相关工具上篇(内存布局与分析工具)

通过前面的课程,我们学习了“内存溢出”和“内存泄漏”的区别。简单来说,Java 中的内存溢出就是内存不够用,一般是堆内存报错,当然也可能是其他内存空间不足引起的。下面我们详细讲解 Java 对象的内存相关知识。Java 对象内存布局简介 请思考一个问题: 一个对象具有 100 个属性,与 100 个对象每个具有 1 个属性,哪个占用的内存空间更大?为了回答这个问题,我们来看看 JV...

2020-09-22 12:06:48 224

原创 GC日志解读与分析(实例分析中篇)

CMS 的 GC 日志解读CMS 也可称为“并发标记清除垃圾收集器”。其设计目标是避免在老年代 GC 时出现长时间的卡顿。默认情况下,CMS 使用的并发线程数等于 CPU 内核数的 1/4。通过以下选项来指定 CMS 垃圾收集器:-XX:+UseConcMarkSweepGC如果 CPU 资源受限,CMS 的吞吐量会比并行 GC 差一些。示例:# 请注意命令行启动时没有换行,此处是方便...

2020-09-22 12:06:46 154

原创 FastThread 相关的工具介绍:欲穷千里目,更上一层楼

FastThread 简介在前面的章节里,我们知道了可以打印出来 JVM 的所有线程信息,然后进行分析。然而所有的线程信息都很长,看起来又差不多,每次去看都让人头大。所以,每当我去分析线程都在想,要是有工具能帮我把一般情况汇总,并自动帮我分析分析 JVM 线程情况就好了。这里要介绍的 FastThread 就是这么一款工具。 FastThread 是一款线程转储(Thread Dump)...

2020-09-22 12:06:45 2711

原创 GC 日志解读与分析(实例分析下篇)

复习一下:G1 的全称是 Garbage-First,意为垃圾优先,哪一块的垃圾最多就优先清理它。G1 相关的调优参数,可以参考: https://www.oracle.com/technical-resources/articles/java/g1gc.htmlG1 使用示例:# 请注意命令行启动时没有换行java -XX:+UseG1GC-Xms512m-Xmx512m-...

2020-09-22 12:06:43 166

原创 面临复杂问题时的几个高级工具:它山之石,可以攻玉

前面提到了很多 JVM 的分析工具,本节里我们会再介绍几种有用的工具,大家可以在需要的时候按需使用。OOM Killer在前面的章节,我们简单提及过 Linux 系统上的 OOM Killer(Out Of Memory killer,OOM 终结者)。假如物理内存不足,Linux 会找出“一头比较壮的进程”来杀掉。OOM Killer 参数调优Java 的堆内存溢出(OOM),是指堆内存...

2020-09-22 12:06:42 210

原创 JVM 问题排查分析下篇(案例实战)

GC 问题排查实战案例这一部分,我们来看一个实际的案例。假设我们有一个提供高并发请求的服务,系统使用 Spring Boot 框架,指标采集使用 MicroMeter,监控数据上报给 Datadog 服务。当然,Micrometer支 持将数据上报给各种监控系统,例如:AppOptics、Atlas、Datadog、Dynatrace、Elastic、Ganglia、Graphite、Hum...

2020-09-22 12:06:40 327

原创 GC 日志解读与分析(番外篇可视化工具)

通过前面的学习,我们发现 GC 日志量很大,人工分析太消耗精力了。由于各种 GC 算法的复杂性,它们的日志格式互相之间不太兼容。有没有什么工具来减少我们的重复劳动呢? 这种轮子肯定是有现成的。比如 GCEasy、GCViwer 等等。这一节我们就开始介绍一些能让我们事半功倍的工具。GCEasy 工具GCEasy 工具由 Tier1app 公司 开发和支持,这家公司主要提供3款分析工具:...

2020-09-22 12:06:39 220

原创 JVM 问题排查分析上篇(调优经验)

一般来说,只要系统架构设计得比较合理,大部分情况下系统都能正常运行,出现系统崩溃等故障问题是小概率事件。也就是说,业务开发是大部分软件工程中的重头戏,所以有人开玩笑说:“面试造火箭,入职拧螺丝。”一般来说,我们进行排查分析的目的主要有:解决问题和故障排查系统风险隐患我们按照问题的复杂程度,可以分为两类:常规问题疑难杂症常规的问题一般在开发过程中就被发现和解决了,所以线上问题一...

2020-09-22 12:06:37 426

原创 应对容器时代面临的挑战:长风破浪会有时、直挂云帆济沧海

当今的时代,容器的使用越来越普及,Cgroups、Docker、Kubernetes 等项目和技术越来越成熟,成为很多大规模集群的基石。容器是一种沙盒技术,可以对资源进行调度分配和限制配额、对不同应用进行环境隔离。容器时代不仅给我们带来的机遇,也带来了很多挑战。跨得过去就是机会,跳不过去就是坑。在容器环境下,要直接进行调试并不容易,我们更多地是进行应用性能指标的采集和监控,并构建预警机制。而...

2020-09-22 12:06:36 291

原创 内存分析与相关工具下篇(常见问题分析)

Java 程序的内存可以分为几个部分:堆(Heap space)、非堆(Non-Heap)、栈(Stack)等等,如下图所示:最常见的 java.lang.OutOfMemoryError 可以归为以下类型。OutOfMemoryError: Java heap spaceJVM 限制了 Java 程序的最大内存使用量,由 JVM 的启动参数决定。其中,堆内存的最大值,由 JVM 启动参...

2020-09-22 12:06:34 220

原创 GC 疑难情况问题排查与分析(上篇)

本章介绍导致 GC 性能问题的典型情况。相关示例都来源于生产环境,为演示需要做了一定程度的精简。 名词说明:Allocation Rate,翻译为“分配速率”,而不是分配率。因为不是百分比,而是单位时间内分配的量。同理,Promotion Rate 翻译为“提升速率”。高分配速率(High Allocation Rate)分配速率(Allocation Rate)表示单位时间内分配的内...

2020-09-22 12:06:33 286

原创 GC 疑难情况问题排查与分析(下篇)

Weak、Soft 及 Phantom 引用另一类影响 GC 的问题是程序中的 non-strong 引用。虽然这类引用在很多情况下可以避免出现 OutOfMemoryError,但过量使用也会对 GC 造成严重的影响,反而降低系统性能。弱引用的缺点首先,弱引用(weak reference)是可以被 GC 强制回收的。当垃圾收集器发现一个弱可达对象(weakly reachable,即指向...

2020-09-22 12:06:31 213

原创 JVM 相关的常见面试问题汇总:运筹策帷帐之中,决胜于千里之外

面试和笔试的要点其实差不多,基础知识和实战经验都是最重要的关注点(当然,面试时的态度和眼缘也很重要)。实际面试时,因为时间有限,不可能所有问题都问一遍,一般是根据简历上涉及的内容,抽一部分话题来聊一聊。看看面试者的经验、态度,以及面对一层层深入问题时的处理思路。借此了解面试者的技术水平,对深度、广度,以及思考和解决问题的能力。常见的面试套路是什么呢?XXX 是什么?实现原理是什么?为什...

2020-09-22 12:06:29 326

原创 张亮:十万级并发任务调度框架 ElasticJob 的定位与设计理念

导读:调度(Scheduling)在计算机领域是个庞大概念,CPU调度、内存调度、进程调度等都可称之为调度。它是指在特定的时机分配合理的资源去处理预先确定的任务,用于在适当的时机触发一个包含业务逻辑的应用。调度无论在单机还是分布式环境中都是很重要的课题。在单机环境,调度与底层操作系统脱离不了干系;而在分布式环境中,调度直接决定运行集群的投入和产出。调度的两个核心要素是资源治理和触发时机。背景ElasticJob 诞生于 2015年,当时业界虽然有 QuartZ 等出类拔萃的定时任务框架,但缺乏分布式

2020-07-09 13:43:14 5365

原创 聊聊Serverless

Serverless is like teenage sex: Everyone talks about it, nobody really knows how to do it, everyone thinks everyone else is doing it, so everyone claims they are doing it.每种新技术,都是这样的。最开始大家都在谈论,都不知道怎么落地,最诡异的是大家都是自己在做。2019 年 2 月,UC 伯克利大学发表了一篇标...

2020-05-13 15:13:46 901

百亿流量API网关的设计与实现.pdf

我们从百亿流量交易系统 API 网关(API Gateway)的现状和面临问题出发,阐述微服务架构与 API 网关的关系,理顺流量网关与业务网关的脉络,带来最全面的 API 网关知识与经验。内容涉及: 百亿流量交易系统 API 网关现状和面临问题 分布式服务架构、微服务架构与 API 网关 API 网关的定义与职能、关注点 API 网关的分类与技术分析 流量网关的设计与应用 开源网关的分析与调研:OpenResty / Kong / Zuul2 / Spring Cloud Gateway 等 业务网关的设计与最佳实践 对网关系统的发展展望

2020-04-22

Apache-ShardingSpher-20200421.pdf

ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。 他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、云原生等各种多样化的应用场景。 ShardingSphere定位为关系型数据库中间件,旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力,而并非实现一个全新的关系型数据库。 它与NoSQL和NewSQL是并存而非互斥的关系。NoSQL和NewSQL作为新技术探索的前沿,放眼未来,拥抱变化,是非常值得推荐的。反之,也可以用另一种思路看待问题,放眼未来,关注不变的东西,进而抓住事物本质。 关系型数据库当今依然占有巨大市场,是各个公司核心业务的基石,未来也难于撼动,我们目前阶段更加关注在原有基础上的增量,而非颠覆。 ShardingSphere已经在2020年4月16日从Apache孵化器毕业,成为Apache顶级项目。 欢迎通过shardingsphere的dev邮件列表与我们讨论。

2020-04-22

拉卡拉手机刷卡器音频通讯技术原理初步分析.docx

拉卡拉手机刷卡器音频通讯技术原理初步分析 kimmking@163.com 2013-3-24 1.拉卡拉刷卡器 大家都知道,拉卡拉就是一个手机刷卡器。拉卡卡、智能手机、拉卡拉软件、网络,构成了一个完整的、更强大的POS系统。为什么说更强大呢?因为在手机应用app的这一层,拉卡拉可以做很多很多方便的功能,这样借助于类似传统的刷卡服务,提供一系列现在支付宝也正在大力发展的生活服务等功能。而这个是银联的POS所严重缺乏的。目前来说,移动支付里,最方便的肯定是支付宝的快捷支付;但考虑国内目前的安全环境,用户把银行卡和密码托管给一个网站来管理,明显不如用的时候输入一下的方式更能被接受。相对于更安全的支付宝加网银的方式,拉卡拉做到了与发卡行无关,这样也不需要手机上安装各种不同的银行的网银客户端。所以,显然拉卡拉在某些应用场景比一些其他的移动支付方式更有优势。下面我们就来看看拉卡拉的技术原理是怎么回事。

2019-10-03

如何做行业研究1210.ppt

什么是行业研究? 行业研究是通过深入研究某一行业发展动态、规模结构、竞争格局以及综合经济信息等,为企业自身发展或行业投资者等相关客户提供重要的参考依据。 以客户需求为导向,以行业为主线,整合行业、市场、企业、用户等多层面数据和信息资源,帮助客户准确把握所关注行业的发展趋势,为企业的发展战略和资源整合提供依据。 提炼行业的演变规律 反映行业生态 研究标杆企业的竞争优势 我们不做过多的资产财务等方面的分析和比较,旨在通过对行业的把握和相关标杆企业的分析,明确客户企业的战略定位和资源配置方式,从而提升企业的管理水平,改善企业的经营状况

2019-10-03

dotnetopensource

dotnetopensource

2007-06-21

D:\work\cc\Timer.rar

D:\work\cc\Timer.rar

2007-06-21

BigInteger_demo.zip

BigInteger_demo.zip

2007-06-13

3D饼图qchart源码(包括2个test)

3D饼图qchart源码(包括2个test)

2007-06-09

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

TA关注的人

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