自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ron.Zheng

最反主流的行动不是抵制潮流,而是在潮流中不丢弃自己的独立思考.

  • 博客(183)
  • 资源 (25)
  • 收藏
  • 关注

原创 Redis高可用之Redis Cluster

已经有了Redis主从+Sentinal(哨兵)为什么还需要Redis Cluster?解释这个问题之前,先看一个简单的Redis主从+Sentinel的架构图。从这个架构图不难看出,哨兵主要解决的问题是在主从架构下,主节点宕机的情况下,选择一个从节点提升为主节点继续对外提供服务。同时对Redis主从集群中的主节点、从节点进行监控。这个架构有如下缺点:主节点的容量大小决定了整个Redis集群的容量大小,即主节点的内存能够存储多少数据,整个集群就只能提供这么多数据的缓存服务;主节点宕机,在Sent

2020-12-02 09:21:18 600

原创 缓存四大问题及解决方案

问题一:缓存穿透,指缓存中没有数据,数据库中也没有数据。在进行数据的访问时,通过数据的key读取数据,但是该key对应数据在数据库中没有,在缓存中也没有,造成每次通过该key读取数据都会进行数据库操作,且每次读取都为null的情况。在大型项目中,这种无效的数据库操作会增加数据库的读压力。示例代码:public Object getData(String key){ if(redisTemplate.hasKey(key)){ return redisTemplate.opsFor

2020-12-01 08:47:51 2567

原创 Redis主从+Sentinal(哨兵)数据丢失问题分析

在使用Redis主从架构作为系统缓存服务,配合上Sentinal(哨兵)组件的监控、故障转移等特性,基本上来说就能够大部分缓存系统的需求。那么在这样一套架构中,在主从切换,数据复制过程中,会不会出现数据丢失?什么情况下数据会丢失?如何尽量减少数据丢失?这是本文需要跟大家一起学习的内容。从哲学的角度看,只要绝对都是伪命题,使用Redis主从架构+Sentinal(哨兵)组件,绝对不能够完全保证数据不丢失,那么在那种情况下会出现数据丢失呢?数据丢失场景分析-异步复制我们都知道,Redis主从架构中,客户端

2020-11-20 21:42:02 1548

原创 Redis主从复制原理剖析

生产环境中,为保证Redis缓存系统的高可用性,对于Redis集群,一般都会采用主从架构来实现读写分离。那么主从架构下,主节点和从节点间,数据是如何进行复制和同步,中间是一个什么样的流程,通过本文,想跟众博友和同行一起讨论。首先看一个图。上图展示了Slave节点第一次连接主节点和短暂断开后再次连接主节点的情况下,数据复制的流程。当从节点启动后,会根据自身配置文件中slave of配置的内容,得到主节点的IP和端口。从节点向主节点发送一个psync命令(如果主节点设置了秘钥等安全信息,则需带上主

2020-11-19 22:36:15 274

原创 深入剖析Redis高可用之Sentinal(哨兵)原理

生产环境中,对于任何的软件系统或者其组件,都需要保证其高可用性。引入Redis做缓存系统,首先通过主从架构,可以解决系统的并发瓶颈。一般情况下,在任何一哥Redis集群中,最最经典的用法都是一主多从的架构,主节点负责接收写请求,从节点接收读请求,即缓存的读写分离架构。但从上图的架构上看,是不能保证其高可用的,因为虽然从节点有多个,但是主节点只有一个,一旦主节点宕机,整个集群基本就丧失了接收新的写请求的能力,进而这个集群就瘫痪了。那么既然是高可用,就需要一种机制,能够在主节点宕机之后,能够从从节点中选

2020-11-17 23:58:32 413

原创 深入剖析Redis持久化机制

Redis持久化的意义Redis持久化的意义,主要体现在灾难恢复方面,即在Redis突然宕机重启后,能够快速恢复数据并对外提供服务。在学习Redis的时候,大家都知道是用来作为缓存,而缓存,普遍思维都是认为,用来存储经常读取但是变化频次比较低的数据,这类数据通常不会很多,比如一些数据字典等,即使Redis服务宕机,大概率情况下不需要从持久化文件恢复。而一般的处理思维是,服务读取数据时,如果未在缓存中命中,那么直接读数据库(如MySQL),读到数据后返回给客户的同时,在Redis重新存储一份。下次读取时就

2020-11-15 00:29:26 228 2

原创 9、Zookeeper分布式锁原理浅析

了解Zookeeper的我们都知道,Zookeeper是一种分布式协调服务,在分布式应用中,主要用来实现分布式服务的注册与发现以及分布式锁,本文我们简单介绍一下使用Zookeeper实现分布式锁的简单原理。使用Zookeeper实现分布式锁,主要是基于Zookeeper的临时顺序节点来实现的,因此首先我们先简单了解一下Zookeeper的Znode类型。1、Zookeeper的Znode类型...

2019-10-08 10:16:05 1254 1

原创 8、Zookeeper服务注册与发现原理浅析

了解Zookeeper的我们都知道,Zookeeper是一种分布式协调服务,在分布式应用中,主要用来实现分布式服务的注册与发现以及分布式锁,本文我们简单介绍一下Zookeeper是如何实现服务的注册与发现的。使用Zookeeper实现服务注册与发现,主要应用的是Zookeeper的Znode数据模型和Watcher机制,因此咱们先从Zookeeper的数据模型说起。1、Zookeeper数据模...

2019-10-01 15:48:04 4589 3

原创 Spring Boot整合Redis实现简单的分布式锁

随着微服务等分布式架构的快速发展及应用,在很多情况下,我们都会遇到在并发情况下多个线程竞争资源的情况,比如我们耳熟能详的秒杀活动,多平台多用户对同一个资源进行操作等场景等。分布式锁的实现方式有很多种,比如基于数据库、Zookeeper、Redis等,本文我们主要介绍Spring Boot整合Redis实现分布式锁。

2019-05-31 18:53:50 14774 13

转载 设计模式看了又忘,忘了又看?

设计模式收藏这篇就够了耗时了 5 个月,终于把设计模式一整个系列写完。其实设计模式这一系列文章网上已经有很多非常好、非常优秀的文章,为什么要写呢?一方面是为了学得更扎实,印象中设计模式学习了 2 遍,记得牢的基本就那几个众所周知的,反思前面 2 次学习过程,缺少了思考的过程,没有把知识消化掉转化成自己的,就像动物一样,吃进去的东西没有消化只能排出。另一方面是利用这个学习过程,学会把知识用文字...

2019-05-28 11:32:24 1096

原创 @Conditional注解详解

本文我们要陈述的是如何根据不同的条件来判定到底注入那个Bean,即@Conditional注解的用法。

2019-05-16 21:32:47 4853

原创 @ComponentScan向Spring IOC容器中注入组件

本文我们就来详细的探索一下在使用注解配置的方式注入Bean时,@ComponentScan注解组件扫描的应用。

2019-04-10 13:00:48 1292

原创 PGP生成秘钥对及应用

PGPDesktop下载链接:https://download.csdn.net/download/hfy19981024/104389821、下载安装PGP安装很简单,根据安装包中的步骤一步一步安装破解之后即可使用。2、生成秘钥点击下一步输入名称和邮箱选择Advanced,可以选择PGP加密时的对称加密算法及非对称加密算法即对应的秘钥长度。继续往下,根据向导完成秘钥生成即可...

2019-04-09 11:23:46 17538 4

原创 GPG生成密钥对(Windows)及应用

PGP加密方案,密钥对生成及在java中的应用

2019-03-28 16:36:36 14431

原创 context:component-scan向Spring IOC容器中注入组件

本文我们就来详细的探索一下在使用XML配置方式注入Bean时,component-scan组件扫描的应用。

2019-03-28 15:07:41 583

原创 使用@Configuration和@Bean注解向Spring IOC容器中注入组件

在使用Spring框架开发应用的过程中,大家都知道使用Spring开发应用程序,我们应用程序中所有的Bean都是通过Spring的IOC容器来管理。将Bean注入到Spring IOC容器中的方式多种多样,如通过传统的XML方式注入,通过注解的方式注入等。本文我们就通过例子的形式看一看如何通过注解@Configuration和@Bean向容器中注入组件。

2019-03-26 11:12:47 4288 1

原创 XML方式向Spring IOC容器中注入组件

在使用Spring框架开发应用的过程中,大家都知道使用Spring开发应用程序,我们应用程序中所有的Bean都是通过Spring的IOC容器来管理。将Bean注入到Spring IOC容器中的方式多种多样,如通过传统的XML方式注入,通过注解的方式注入等。本文我们就通过例子的形式看一看如何通过XML的方式向Spring IOC容器中注入一个Bean。

2019-03-26 11:01:36 416

原创 Openssl生成RSA证书,Java实现公钥证书加密,私钥证书解密

1、证书生成过程生成RSA私钥:genrsa -out private_key.pem 1024把RSA私钥转换成PKCS8格式pkcs8 -topk8 -inform PEM -in private_key.pem -outform PEM –nocrypt生成RSA公钥rsa -in private_key.pem -pubout -out rsa_public_key...

2019-01-02 16:18:56 2171

原创 细说链式存储结构

提起链式存储结构,其与数组是两个非常基础的数据结构,每当提到链式存储结构时,一般情况下我们都会将其与数组放到一块儿来比较。对于数组与链表,从结构上来看,数组是需要一块连续的内存空间来存储数据,对内存的要求非常高,比如说我们申请一个100M大小的数组,而如果我们的内存可用空间大于100M,但是没有连续的100M可用空间,那即便是我们的内存空间充足,在申请空间时也会申请失败。而对于链表来说,他对内...

2018-10-13 13:31:49 20500

原创 Java面试(71-90 Spring)

71、 什么是spring?Spring是一个一站式构建企业级应用的一个轻量级解决方案框架。Spring是模块化的,允许用户根据自己需求使用特定模块。你可以使用IOC容器和一些web框架,也可以只使用Hibernate代码或者JDBC抽象层。Spring框架支持声明式事务管理,支持通过RMI或者Webservice远程访问你的业务逻辑,并且提供非常多的持久化方案持久化数据。Spring提供了一个...

2018-10-08 21:21:16 330

原创 Java面试题(61-70)

61、线程池的常用参数有哪些?在Java中,我们一般通过继承Thread类和实现Runnnable接口,调用线程的start()方法实现线程的启动。但如果并发的数量很多,而且每个线程都是执行很短的时间便结束了,那样频繁的创建线程和销毁线程会大大的降低系统运行的效率。线程池正是为了解决多线程效率低的问题而产生的,他使得线程可以被复用,就是线程执行结束后不被销毁,而是可以继续执行其他任务。ja...

2018-08-03 09:24:25 305

原创 Java面试题(56-60)

56、List, Set, Map 是否继承自 Collection 接口?List, Set是继承自Collction接口,而Map不是。57、List、Map、Set 三个接口,存取元素时,各有什么特点?首先,List 与 Set 具有相似性,它们都是单列元素的集合,所以,它们有一个共同的父接口叫 Collection。Set里面不允许有重复的元素,所谓重复,即不能有两个相等(...

2018-07-31 09:43:36 335

原创 Java面试题(41-55)

41、Java语言如何进行异常处理,关键字:throws、throw、try、catch、finally分别代表什么意义?在try块中可以抛出异常吗?try块表示程序正常的业务执行代码。如果程序在执行try块的代码时出现了“非预期”情况,JVM将会生成一个异常对象,这个异常对象将会被后面相应的catch块捕获。catch块表示一个异常捕获块。当程序执行try块引发异常时,这个异常对象将会被...

2018-07-31 09:35:46 346

原创 Java面试题(21-40)

21、面向对象的特征有哪些方面?计算机软件系统是现实生活中的业务在计算机中的映射,而现实生活中的业务其实就是一个个对象协作的过程。面向对象编程就是按现实业务一样的方式将程序代码按一个个对象进行组织和编写,让计算机系统能够识别和理解用对象方式组织和编写的程序代码,这样就可以把现实生活中的业务对象映射到计算机系统中。面向对象的编程语言有抽象、封装、继承 、多态等 4 个主要的特征。抽象...

2018-07-29 12:47:30 414

原创 Java面试题(1-20)

1、一个”.java”源文件中是否可以包括多个类(不是内部类)?有什么限制?可以包含多个类,但是只能有一个public类,并且public类的类名必须与.java文件名一致2、Java 有没有 goto?Java中的保留字,但是并未在Java 中使用。3、说说&和&&的区别。&和&&都可以用作逻辑与的运算符,表示逻辑与(and),...

2018-07-29 12:21:28 454

原创 Spring MVC的处理流程

本文简单介绍一下Spring MVC的请求流程,因为上次在面试过程中面试官有问到这个问题,希望对大家有用。用户发送请求至前端控制器DispatcherServletDispatcherServlet收到请求调用HandlerMapping处理器映射器。处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。D...

2018-07-09 10:02:10 1594 1

原创 通过实例说设计模式——原型模式(Prototype Pattern)

在我们的现实的生活中,有很多的东西都是大致类似的,只有少许的特征不一样,比如说杯子,可能同一个品牌的杯子,除了深度不一样之外,其他的无论是口径、直径等都是一致的;再比如我们同一个型号、同一个品牌的汽车,高配版、中配版、低配版,他们除了一些少许的特征不一样之外,其他的都是一样的。我们以汽车(Car)为例子,我们来看一下一般情况下我们如何创建汽车的对象;//汽车类public class...

2018-07-05 12:14:00 693

原创 通过实例说设计模式——单例模式

所谓单例模式,也就是说在整个系统中,对于设计成单例模式的类,在创建对象时都只返回一个实例,对于整一个类,系统中只会生成一个对象。比如说在我们的Spring中,创建Bean的实例默认都是单例模式;为了能够说清楚单例模式,我们通过一个例子来向大家描述单例模式如何实现以及单例模式的相关场景。比如说在自然环境中,对于任何物体来讲,我们的地球(Earth)都只有一个,所以无论是任何人,在他需要获取一...

2018-06-21 09:37:27 442

转载 Spring中@Transactional事务回滚

一、使用场景举例在了解@Transactional怎么用之前我们必须要先知道@Transactional有什么用。下面举个栗子:比如一个部门里面有很多成员,这两者分别保存在部门表和成员表里面,在删除某个部门的时候,假设我们默认删除对应的成员。但是在执行的时候可能会出现这种情况,我们先删除部门,再删除成员,但是部门删除成功了,删除成员的时候出异常了。这时候我们希望如果成员删除失败了,之前删除的部...

2018-06-16 10:32:24 884

原创 Java高级系列——异常(Exception)

在解释Java中的异常时,首先我们来看一张图 上图是我们Java中,异常类的一个继承关系图,从图中我们可以看到Java标准库内构建的这些通用的异常,他们都是以Throwable为顶层父类。Throwable又派生出Error类和Exception类。错误:Error类以及他的子类的实例,代表了JVM本身的错误。错误不能被程序员通过代码处理,Error很少出现。因此,程序员应该...

2018-06-16 10:00:49 1282

转载 Java高级系列——强引用、软引用、弱引用、虚引用

强引用只要引用存在,垃圾回收器永远不会回收Object obj = new Object();//可直接通过obj取得对应的对象 如obj.equels(new Object());而这样 obj对象对后面new Object的一个强引用,只有当obj这个引用被释放之后,对象才会被释放掉,这也是我们经常所用到的编码形式。软引用非必须引用,内存溢出之前进行回收,可以通过以下...

2018-06-15 21:37:20 561

原创 通过实例说设计模式——抽象工厂模式

工厂方法模式引入工厂等级结构,解决了简单工厂模式中工厂类职责过重的问题,但由于工厂方法模式中每个工厂只创建一类具体类的对象,这将会导致系统当中的工厂类过多,这势必会增加系统的开销。此时,我们可以考虑将一些相关的具体类组成一个“具体类族”,由同一个工厂来统一生产,这就是我们本文要说的“抽象工厂模式”的基本思想。接着来看我们抽象方法模式一文中我们说的例子,我们现在有这么一个场景;现在用户的需求变多...

2018-06-15 16:51:07 37479 2

原创 通过实例说设计模式——工厂方法模式(Factory Method Pattern)

上文我们简单介绍了简单工厂模式,本文我们将会聊一聊工厂方法模式(Factory Method Pattern)。在介绍工厂方法模式之前,我们先来看一下简单工厂模式的样例代码。//具体类的抽象接口public interface Shape { /** * 绘制图形 */ void draw(); /** * 擦除图形 */...

2018-06-14 10:39:20 480

原创 通过实例说设计模式——简单工厂模式

本文我们通过实例的方式来简单描述一下简单工厂模式的由来及其作用,话说我们现在需要开发一个图形界面工具,然后将这个工具提供给一个客户去使用,系统初期我们只需要画一个圆(Circle)和一个三角形(Triangle)即可。那么我们的工具就按照如下的方式设计。public class Shape { public void draw(String type) { if(t...

2018-06-10 22:50:44 1969

原创 Atlas实现MySQL读写分离

Atlas安装mkdir /data/atlascd /data/atlaswget https://github.com/Qihoo360/Atlas/releases/download/2.2.1/Atlas-2.2.1.el6.x86_64.rpm安装命令rpm -i Atlas-2.2.1.el6.x86_64.rpm安装位置/usr/local/mys...

2018-06-07 17:30:41 933

原创 MySQL 8.0主从(Master-Slave)配置

MySQL 主从复制的方式有多种,本文主要演示基于基于日志(binlog)的主从复制方式。MySQL 主从复制(也称 A/B 复制) 的原理Master将数据改变记录到二进制日志(binary log)中,也就是配置文件log-bin指定的文件, 这些记录叫做二进制日志事件(binary log events);Slave 通过 I/O 线程读取 Master 中的 binary l...

2018-06-04 16:43:02 45610 14

原创 Linux上安装MySQL

本文主要演示在Linux系统上如何安装MySQL最新版本MySQL 8.0自带MySQL卸载安装前,我们可以检测系统是否自带安装 MySQL,如果自带安装,那么卸载原来安装的MySQLrpm -qa | grep mysql如果显示安装了MySQL,那么可以卸载 我们系统显示如上,那么我们通过如下命令将已安装的信息卸载(当然这一步视不同情况而定,如果你的机器上尚未...

2018-06-04 16:30:48 1491

原创 持久化存储-MySql拓展

先说一个概念 ACID,是指在可靠数据库管理系统(DBMS)中,事务(transaction)所应该具有的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability). 这是可靠数据库所应具备的几个特性.一、MySql拓展1、业务拆分随着网站的业务不断发展单个库访问量越来越大,因此不得不对系统业务进行拆分。...

2018-06-04 16:24:22 4267

原创 系统持续集成-SonarQube+Maven 分析器插件的配置与使用

安装完成SonarQube之后,我们的系统中是没有项目的。 那么接下来我们来使用SonarQube+Maven 分析器插件来使用SonarQube分析我们的代码。1、Maven配置在 Maven 本地库中的 settings.xml 配置文件中的节点中添加如下配置:<profile> <id>sonar</id> &...

2018-05-16 15:57:16 4130 1

原创 系统持续集成-SonarQube安装

SonarQube介绍SonarQube是一个管理代码质量的开放平台,它可以从七个维度检测代码质量(为什么要用SonarQube): - 复杂度分布(complexity): 代码复杂度过高将难以理解、难以维护重复代码(duplications): 程序中包含大量复制粘贴的代码是质量低下的表现单元测试(unit tests): 统计并展示单元测试覆盖率编码规范(coding rul...

2018-05-16 15:51:27 471

cryptix.rar

cryptix的jar包,PGP加解密的时候可能会用到,因此共享与此。

2019-10-15

pgp加解密方法.rar

pgp加密工具类,供大家使用参考,如有问题,请留言评论。

2019-10-15

redis_distribute_lock.rar

Spring Boot整合Redis实现分布式锁实现Demo,模拟多线程库存扣减实例。

2019-05-31

@Conditional注解应用.rar

如何根据不同的条件来判定到底注入那个Bean,即@Conditional注解的用法实例代码

2019-05-16

PGP加解密工具类

PGP加密工具类,包含PGP文件加密解密,文本加密解密,PGP文件加密加签,文本加密加签。

2019-04-09

gpg4win-3.1.7

gpg4win是一款基于 GPG 的非对称加密软件。非对称加密方式,简单理解就是用公钥加密文件,用私钥解密文件。如果你需要发送加密信息,首先获取接收者的公钥,然后利用该公钥加密后传递,对方利用对应的私钥就可解密。也就是说,公钥是锁,私钥是钥匙。非对称加密方式很好地解决了传递机密信息的问题。

2019-04-09

Spring Boot整合Mybatis

Spring Boot整合MyBatis实现Restfull API实例,具体原理请参考笔者专栏Spring Boot从入门到精通

2018-04-12

京东区块链技术实践白皮书 pdf带标签

京东区块链技术实践白皮书,pdf带标签;文档描述区块链基础以及相关应用场景以及在京东的实践。

2018-03-30

dubbo微服务实战-博客系统源码

实现Spring整合Redis Sentinel实现缓存高可用,整合dubbo、zookeeper实现微服务高可用源码。

2017-11-17

分布式博客系统源码-Redis读写分离

整合Redis,使用Redis Master Slave Replication模式实现缓存数据读写分离。

2017-11-13

分布式博客系统源码

分布式博客系统源码,整合Dubbo、Zookeeper实现分布式,整合Redis实现数据缓存

2017-11-07

架构解密从分布式到微服务高清带书签.pdf

架构解密,从分布式到微服务高清带书签版本,了解分布式系统的研发流程以及所用到的中间件,学习分布式系统到微服务架构的演化过程。

2017-10-18

Deep Learning with Python.pdf

The field of Artificial Intelligence (AI), which can definitely be considered to be the parent field of deep learning, has a rich history going back to 1950. While we will not cover this history in much detail, we will go over some of the key turning points in the field, which will lead us to deep learning.

2017-09-13

模块化博客系统(Spring整合Mybatis)

模块化开发博客系统第二步,整合Mybatis

2017-08-23

博客系统基础结构

自我学习项目,博客系统基础结构搭建源码

2017-08-23

Spring Cloud 中文参考手册

Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式环境中运行良好,包括开发人员自己的笔记本电脑,裸机数据中心,以及Cloud Foundry等托管平台。

2017-08-21

Spring Cloud 参考手册英文版

Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems (e.g. configuration management, service discovery, circuit breakers, intelligent routing, microproxy, control bus). Coordination of distributed systems leads to boiler plate patterns, and using Spring Cloud developers can quickly stand up services and applications that implement those patterns. They will work well in any distributed environment, including the developer’s own laptop, bare metal data centres, and managed platforms such as Cloud Foundry.

2017-08-21

软件系统架构实战

Modern-day projects require software and systems engineers to work together in realizing architectures of large and complex software-intensive systems. To date, the two have been using their own concepts, techniques, methods, and tools when it comes to requirements, design, testing, maintenance, and evolution of these architectures. This book looks at synergies between the disciplines of software and systems engineering and explores practices that can help software and systems engineers work together more effectively as a unifed team.

2017-08-17

The Art of Scalability Scalable Web Architecture 2nd

Perhaps your company began as a brick-and-mortar retailer, or an airline, or a financial services company. A retailer creates (or buys) technology to coordinate and manage inventory, distribution, billing, and point of sale systems. An airline creates technology to manage the logistics involved in flights, crews, reservations, payment, and fleet maintenance. A financial services company creates technology to manage its customers’ assets and investments.

2017-08-12

[奥莱理] High Performance Browser Networking

The web browser is the most widespread deployment platform available to developers today: it is installed on every smartphone, tablet, laptop, desktop, and every other form factor in between. In fact, current cumulative industry growth projections put us on track for 20 billion connected devices by 2020—each with a browser, and at the very least, WiFi or a cellular connection. The type of platform, manufacturer of the device, or the version of the operating system do not matter—each and every device will have a web browser, which by itself is getting more feature rich each day.

2017-08-10

Spring Redis缓存实例

Spring集成Redis实现数据缓存

2017-01-13

spring.ws webservice

基于spring.ws的webservice实例

2017-01-09

环境监测系统演示文稿

基于环境监测系统的演示文稿,通过该演示文稿,可以明白环境监测系统的使用方法,仅供菜鸟使用

2013-04-02

嵌入式环境监测系统报告

基于STM32的嵌入式环境监测系统的报告

2013-04-02

空空如也

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

TA关注的人

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