自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MaoLin Tian's Blog

from Bird to God(mdzz的直译)

  • 博客(328)
  • 资源 (3)
  • 论坛 (2)

原创 【实战记录分析】目录导航

实战记录分析按照学习的分类布局如下几部分内容:【安装与配置】,讲的是在进行工具安装或者环境变量配置的过程中遇到的问题和解决方法【解决方案】,讲的是某一类具体实际场景问题解决的方法论。【遇坑记实】,讲的是在实战过程中,遇到的一些常规操作中遇到的障碍和坑。【终极面试实战】,是实战记录的小主题,纪念的是找工作的时候和点点在操场上漫游数圈互考的辉煌岁月。目前共有这四部分内容,全部会经常维护,...

2019-02-13 10:03:27 281

原创 【Java技术相关合集】目录导航

Java技术相关合集按照学习的分类布局如下几部分内容:【Java基础 】,内容主要是J2SE的基础部分,包括语法、面向对象思想等基本内容。【Java服务端开发】,内容涉及通过J2EE的一些东西,包括servlet、Jsp以及token机制等内容,但篇幅较少,大多数内容及框架均在onenote上尚未搬迁。【Java面试考点汇集】,内容涉及Java面试的一些常用基础,写的角度也是重点突出,按照...

2019-02-12 09:28:22 589

原创 【C#技术相关合集】目录导航

C#技术相关合集按照学习的分类布局如下几部分内容:【从Java到C#系列】,内容是关于Java与C#的一些区别和比较,是我在刚实习的时候切换语言的时候写的系列博客。【深入理解CLR】,讲的是.Net底层CLR的执行机制,偏重于底层原理,是我在想要做专题分享的时候写的系列博客【C#编程最佳实践】,内容是我在工作中用C#编程使用的一些较好的解决方案,偏重实战积累,是我在工作中持续积累的内容。...

2019-02-01 12:27:50 454

原创 【Redis从入门到放弃系列 十二】Redis的删除策略

其实同ElasticSearch的延迟删除【在段合并的时候才真正删除数据】【ElasticSearch从入门到放弃系列 九】Elasticsearch原理机制探索一样,Redis也不是马上删除数据,而是先进行标记,让其在内存中再多呆一会儿,等到满足一定条件的时候再进行统一删除。什么是过期数据当我们执行del删除redis数据以及expire过期的 ,过期数据:Redis是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令获取其状态:127.0.0.1:6379> clea

2020-10-25 16:19:57 37

原创 【Redis从入门到放弃系列 十】Redis的事务机制

其实和Mysql一样,Redis虽然作为一个非关系的K-V结构数据库,也是存在事务的,当然事务并不会有Mysql那么强,关于Mysql的数据库事务,可以看下我三年前一篇blog的介绍【数据库策略 二】数据库事务,关于事务的ACID四大特性、并发的常见问题和事务的隔离级别事务简介当多个客户端对同一个Key执行set操作的时候,客户端的get预期是会有偏差的,那么依赖于Redis的单线程特性,我们处理Redis的问题比Mysql的要简单一些。Redis 事务的本质是一组命令的集合。事务支持一次执行多个命令

2020-10-25 11:03:05 15

原创 【Redis从入门到放弃系列 九】Redis持久化策略

上一篇blog在linux中安装了Redis,并且对Redis进行了启动和操作。本篇blog主要学习下Redis的持久化策略。什么是持久化呢?举个最简单的例子,就是内存中的数据如果突然遭遇断电,将会丢失,那么为了保证数据不丢失,内存中的数据要持久化到硬盘里来,利用永久性存储介质将数据进行保存,在特定的时间将保存的数据进行恢复的工作机制称为持久化。持久化的作用就是防止数据的意外丢失,确保数据安全性!也就是为什么我们每写会儿文档就要保存一次的原因。因为Redis本质上也是个数据库,所以也面临持久化的问题,R

2020-10-24 21:36:09 29

原创 【Redis从入门到放弃系列 八】Linux中搭建Redis环境

今天恰逢1024盛事,为了共襄盛举,决定把Redis相关知识梳理一下,纪念一波这个节日。之前的学习都是基于windows做的简单的数据结构、指令的一些学习,从今天开始学习下Redis的高级用法。Redis的Linux安装其实安装起来很简单,之前我就搭建过分布式的Centos7的虚拟机集群,感兴趣的朋友可以参见之前的一篇blog,详细介绍了如何按照、配置和操作虚拟机【分布式集群搭建 一】虚拟机配置(VMware+Centos7+SecureCRT+AppNode),这里就不再赘述。有了Linux的虚拟机环

2020-10-24 11:41:09 138

原创 【ElasticSearch从入门到放弃系列 十一】Elasticsearch常用查询方式讨论及实践

在公司的日常操作中,仅限于用bool去拼一个filter,其它的东西一无所知,之前的学习也仅仅是了解了三种查询方式【通过id查询、通过term分词查询、通过queryString查询】【ElasticSearch从入门到放弃系列 四】ElasticSearch的基本概念和使用,其实对于ES的查询的理解还停留在了Lucene阶段,对于高级的查询方式并不熟悉,包括在后续的Java API,甚至Spring Data ES的使用中也仅仅是对ES查询做了简单了解,依然是【通过id查询、通过term分词查询、通过qu

2020-10-22 09:57:21 127

原创 【ElasticSearch从入门到放弃系列 十】Elasticsearch深度分页查询方式讨论

在日常工作中,我们的方法提供两种接口用来分页批量的获取数据,第一种是普通的GetEntityList,另外一种是GetEntityIdListByScrollV2,第二种就是我们所说的Scroll方式查询数据。批量获取数据的时候为了性能总是推荐Scroll的方式,但是一直不明白这种方式是什么意思,今天来学习下几种不同的分页查询方式的适用场景。浅度分页适用场景一个搜索请求到来的时候,正如我在上篇blog【ElasticSearch从入门到放弃系列 九】Elasticsearch原理机制探索里谈到的,有一个

2020-10-18 11:46:25 37

原创 【ElasticSearch从入门到放弃系列 九】Elasticsearch原理机制探索

基础内容回顾写索引原理存储原理分段存储延迟写策略段合并性能优化

2020-10-17 22:06:52 68 2

原创 【ElasticSearch从入门到放弃系列 八】Elasticsearch集群深度探讨

概念回顾发现机制&选举机制节点分析故障&故障排查

2020-10-17 16:57:57 29

原创 【Redis从入门到放弃系列 七】Jedis的使用

在了解了Redis的基础数据结构以及一些特性和操作指令之后呢,和kafka及ES系列一样,我们不可能用指令去编程和完成业务逻辑,还是需要代码去操作指令的,java也封装了相关的代码,统一叫做Jedis,接下来本篇blog就来了解下Jedis的使用:Jedis简介:简单介绍下Jedis是什么,能干什么Jedis环境搭建:创建相关Java项目,完成第一个Jedis代码编写Jedis操作Redis:Jedis对Redis的一些操作指令Jedis综合案例实现:Jedis实现我们之前提到的综合案例Jedi

2020-09-21 01:28:52 43

原创 【Redis从入门到放弃系列 六】Redis通用指令

学习完Redis的常用数据结构之后,再来了解下Redis的通用命令,什么是通用命令呢?我理解就是数据结构无关的命令,只是把这些数据结构构造的redis都看做一个个redis。key通用命令key是一个固定的string类型,通过key可以获取redis实际存储的数据。判断key自身状态相关操作的常用命令为:DEL:删除指定的key及其对应的value,时间复杂度O(N),N为删除的key数量EXISTS:判断指定的key是否存在,返回1代表存在,0代表不存在,时间复杂度O(1)TYPE:返回

2020-09-20 15:56:13 27

原创 【Redis从入门到放弃系列 五】Redis数据结构综合应用场景及总结

上一篇的2万字长文【Redis从入门到放弃系列 四】数据结构应用场景后,其实对Redis的五种数据结构整体有了一个认知,对于其详细的应用场景也加深了理解,本篇再次综合性的使用这几种场景探讨下它的使用场合。限时限次结算的服务控制按此结算的服务限制需要限制:每分钟最多调用10次。选定类型:string,选定命令 setex , 设定redis的生命周期,每次incr后get一次,到10次的时候禁止调用,并且生命周期到期后清空值。操作同理,但是可以设置数字的最大值,利用超过报异常来避免每次get操作

2020-09-20 15:07:28 47

原创 【Redis从入门到放弃系列 四】Redis五种常用数据结构应用场景

距离上一次对redis的学习【Redis从入门到放弃系列 三】数据结构居然已经过去一年多了,还是自己没有坚持下去吧,今年刚好在学中间件,那么还是继续顺着学下去吧,但是总要复习一下并且更好的总结提升,那么本篇blog在既往的三篇之上做好总结并且有更深入的探索,方便后续的学习。按照如下的目录去组织:Redis的基本概念与特点:Redis的基本概念是什么,有什么特点Redis的安装与使用:windows版本的服务端与客户端的安装Redis的应用场景:总体的应用场景有哪些,为什么有Reids的需求Redi

2020-09-19 16:22:25 74

原创 【Kafka从入门到放弃系列 八】Kafka的API调用

在了解了Kafka的基本概念、搭建了Kafka集群以及使用基本命令、**深入了解Kafka架构【工作流程和存储机制、生产者策略、消费者策略、Zookeeper的管理】**之后,就到了我们最常用的环节,也就是通过代码来控制Kafka,使用API来调用。Kafka文档地址为Kafka官方文档,接下来我们会充分使用到官方文档中的示例环境准备生产者API在官方文档中,我们可以看到Kafka的消费者API列表生产者API,这些都是当前Kafka支持的生产者相关的API,有如下四种构造方法:也有如下13种方法

2020-09-13 15:48:45 178

原创 【Kafka从入门到放弃系列 七】Kafka可视化监控

上篇blog分析了Kafka常用的一些API,本篇可以当作基础入门的终章:安装一款监控工具来监控Kafka的动态

2020-09-13 11:51:08 55

原创 【Kafka从入门到放弃系列 六】Kafka架构深入——高并发读写及Zookeeper管理

Kafka高效读写数据分布式读写顺序写磁盘零拷贝技术Zookeeper管理Kafka事务生产者事务消费者事务

2020-09-06 22:12:20 63

原创 【Kafka从入门到放弃系列 五】Kafka架构深入——消费者策略

消费方式分区分配策略Range策略【按topic分块分配、面向主题、topic区分但不均衡】和RoudRobin策略【不区分topic轮询、面向组、均衡但是topic会混】当消费者组里的消费者个数的变化【增多或减少】都会触发重新分配Rang策略RoudRobin策略offset的维护同一个组里的,当动态扩展分区分配时新进入的消息接着消费分区消息而不是重新消费offset是按照:goup+topic+partion来划分的,这样保证组内机器有问题时能接着消费消费者组案例...

2020-09-06 19:38:33 112

原创 【Kafka从入门到放弃系列 四】Kafka架构深入——生产者策略

分区策略分区的原因分区的原则数据可靠性保证副本同步策略ISR选举策略ACK应答机制HW&LEO故障处理机制Exactly Once语义

2020-09-06 17:33:28 199

原创 【Kafka从入门到放弃系列 三】Kafka架构深入——工作流程和存储机制

Kafka工作流程Kafka 文件存储机制生产者分区策略数据可靠性保证副本同步策略ISR选举策略ACK确认机制消费者

2020-09-06 11:32:17 149

原创 【Kafka从入门到放弃系列 二】Kafka集群搭建及基本命令

上一篇blog详细了解了kafka的基本概念、生产消费者模型、基本架构,我对kafka有了一个整体的认知,其整体框架其实可以理解为如下架构【一个Partion分区的leader和foller不会存储到一个broker上】:消息生产出来后依据topic发送到Kafka集群中去,由集群来管理消息,消费集群主动拉取到消息后消费【消费者的消费速度可以由自己来决定,可能会存在长连接轮询的浪费问题】,整体的消息和集群管理由Zookeeper来进行。Zookeeper启动Kafka安装...

2020-09-02 22:33:23 123

原创 【分布式集群搭建 二】克隆虚拟机并配置集群

在上一篇blog-【分布式集群搭建 一】虚拟机配置(VMware+Centos7+SecureCRT+AppNode)里讲到了如何创建一个虚拟机,在此基础之上,如果我们在虚拟机里部署了ElasticSearch、Kafka等等并且改了一堆配置之后,我们肯定不希望在其它机器上再搞一遍,所以克隆虚拟机就很有必要了。注意,克隆之前需要先将虚拟机关闭拍摄快照在克隆之前我们可以记录下当前虚拟机的状态,之后的克隆就基于当前虚拟机的快照进行复制,右键虚拟机-快照-拍摄快照克隆虚拟机拍摄完快照后就可以通过克隆操作

2020-08-30 18:47:33 74

原创 【分布式集群搭建 一】虚拟机配置(VMware+Centos7+SecureCRT+AppNode)

环境准备的时候我决定使用VMware+Centos7+SecureCRT+AppNode的方式来搭建和管理虚拟机。1 安装VMware直接从VMware官方网站上下载即可:下载时选择左边的,我下载的时候最新版本为15.5(2020.8.30).下载完成后直接按默认安装流程安装即可。2 下载Centos镜像直接从Centos官方网站上下载即可,下载时选择CentOS Linux即可。因为生产环境现在用的比较多的还是7,所以选择7的版本下载选择阿里云的镜像站点进行下载:使用标准版的DVD

2020-08-30 17:30:29 93

原创 【实用工具指南 二】视频剪辑工具

花了点时间研究了下视频剪辑,其实没有必要下载会声会影这么复杂的软件,如果只是简单的处理,推荐一个软件叫做【万兴喵影】,这个软件就是入门级的视频剪辑软件。下载完成后,操作界面非常简洁明了:可以直接裁剪片段可以定义视频的倍速:还有设置转场效果等等,剪辑完成后导出如果去水印是需要会员的。...

2020-08-30 15:42:59 40

原创 【实用工具指南 一】OCR图片识别自动翻译原文替换

最近收到家里上级的一项任务,把一个图片上的英文翻译成中文,并且做出一个一样的表格来,看起来东西不多,也就是一个小卡片:如果按照正常的流程就是:1,整个word文件,照猫画虎整个大致表格出来,把小人粘贴上去2,把表格里的英文全部翻译成中文3,把word截个图整出来显然这种方式太笨了,只有上级才会笨笨的一个一个翻译。既然咱是搞技术的,就得学会偷懒,直接在原图上改他不香么?于是在网上搜了个工具叫秒翻,应该是B站二次元的程序员搞的。在线版可以直接把中文识别出来、清楚原文、填充译文。实现一键三连。

2020-08-30 15:27:55 114

原创 【ElasticSearch从入门到放弃系列 七】Spring Data Elasticsearch的使用

上一篇blog介绍了如何通过java客户端来操作ES,可以看到,操作还是很繁琐的,需要连接集群、开启客户端连接等一系列繁琐的动作,在正式介绍前,先了解下概念Spring Data:Spring Data 项目的目的是为了简化构建基于 Spring 框架应用的数据访问计数,包括非关系数据库、Map-Reduce 框架、云数据服务等等;另外也包含对关系数据库的访问支持,当然Spring Data Elasticsearch就是为了简化对Elasticsearch访问的一个Spring Data的子模块。可以

2020-08-24 09:51:04 63

原创 【ElasticSearch从入门到放弃系列 六】Java客户端操作ElasticSearch

我们知道ES的操作方式有两种,一种是http风格的,一种是tcp风格的,http风格的我们可以通过发送请求去进行索引的增删改查等操作、tcp风格的处理方式则需要我们编码去调用实现,由于ES本身是基于Lucene,而Lucene又是Java的开源搜索引擎,所以我们用Java语言去实现ES的调用。环境配置创建一个带有Maven的Java项目,添加Jar包并引入Maven的坐标 <!--指定编译来源为jdk1.9--> <properties> <m

2020-08-20 10:11:13 65

原创 【ElasticSearch从入门到放弃系列 五】ElasticSearch分布式集群搭建

上一篇blog介绍了ES的原理和基本使用方法,因为ES最厉害的地方就在于PB级别准实时的搜索能力,当然PB级的数据对于单个服务器去存储和检索还是很有难度的,所以ES一般使用时都使用分布式集群搭建。分布式相关概念级别概念集群 cluster一个集群就是由一个或多个节点组织在一起,它们共同持有整个的数据,并一起提供索引和搜索功能。一个集群由一个唯一的名字标识,这个名字默认就是“elasticsearch”。这个名字是重要的,因为一个节点只能通过指定某个集群的名字,来加入这个集群节

2020-08-19 09:26:27 68

原创 【ElasticSearch从入门到放弃系列 四】ElasticSearch的基本概念和使用

上一篇blog详细介绍了lucene的基本概念和使用,本篇blog介绍的就是其工业级的应用ElasticSearch。也就是系列文章的主题。Elaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB[1024TB]级别的数据。es也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单:

2020-08-18 10:21:04 65

原创 【ElasticSearch从入门到放弃系列 三】Lucene的基本概念和使用

上一篇blog介绍了全文检索的实现思路,这一篇呢主要介绍开源的搜索引擎Lucene是如何基于这样的思路来进行具体的实现的。Lucene基本概念Lucene是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。在Java开发环境里Lucene是一个

2020-08-15 14:44:27 66

原创 【Cassandra从入门到放弃系列 三】Cassandra的数据模型设计

前两篇分别介绍了为什么要使用NoSql数据库及为什么选用Cassandra作为业务数据库以及其基于列的存储模式对于处理海量数据聚合计算的优势,本篇详细说明下Cassandra的数据模型是如何设计的?数据模型设计数据模型中有如下几个概念:Column,Super Column,Column Family以及Keyspace。列Column在Cassandra中,列是基本单元,可以想象为关系型数据库中的列。普通列ColumnColumn是Cassandra所支持的最基础的数据模型。该模型中可以包含一

2020-08-14 09:46:02 672

原创 【Cassandra从入门到放弃系列 二】Column-based存储模式

在正式的了解Cassandra之前,有必要了解下Cassandra的存储模式,即Column-based存储模式。典型的NoSql按数据存储方式主要分为三类:Key-Value数据库,如Redis,Key-Value数据库会以键值对的方式来对数据进行存储。其内部常常通过哈希表这种结构来记录数据。在使用时,用户只需要通过Key来读取或写入相应的数据即可。因此其在对单条数据进行CRUD操作时速度非常快。而其缺陷也一样明显:只能通过键来访问数据。除此之外,数据库并不知道有关数据的其它信息。因此如果我们需要根

2020-08-11 13:25:35 76

原创 【ElasticSearch从入门到放弃系列 二】全文检索的实现思路

上一篇全文检索的基本概念讲到了为什么要有全文检索这样的需求,那么有了需求,就有实现,开源的全文检索引擎Lucene应运而生。Lucene的实现流程和原理如下图所示:上图的执行流程说明如下:左侧绿色部分表示索引过程,对要搜索的原始内容进行索引构建一个索引库,索引过程包括:确定原始内容即要搜索的内容—>采集文档—>创建文档—>分析文档—>索引文档右侧红色部分表示搜索过程,从索引库中搜索内容,搜索过程包括:用户通过搜索界面—>创建查询—>执行搜索—>从索引库搜索

2020-08-02 10:02:20 114

原创 【ElasticSearch从入门到放弃系列 一】全文检索基本概念

因为公司的技术栈里,业务数据和日志的搜索使用的是ElasticSearch这一开源项目,学习不能光停留在使用阶段,要搞清楚就搞个彻底。于是自学了ElasticSearch的相关知识,整体的内容学习都遵循这个框架图分为几个部分从底至上的去学习,可以用如下的方式去理解:第一阶段:需求的产生:对于非结构化的数据,如何快速的获取想要的数据,说白了就是如何能进行全文检索第二阶段:全文检索引擎:Lucene这个开源的jar包可以帮助实现全文检索第三阶段:便捷的中间件:Lucene的使用较为繁琐,于是在Luce

2020-08-01 11:05:55 98

原创 【SQL基本语法 二】DDL数据定义语句

创建表的语法1,普通建表方式 create table [模式名.] 表名 (#可以有多个列定义 columnName1 datetype[default expr], columnName2 datetype[default expr], ……………… ) ***普通建表方式,建的只是空表,上述部分为建表语法*** create table test ( #整型通常用int

2020-07-29 09:20:32 53

原创 【毕业N年系列】 毕业第二年

距离上一篇【毕业N年系列】 毕业第一年已经过去一年时间了。时间过的很快,也过的很慢,为什么这样说呢?时间过的快可以用朋友的一条动态来表达:【这半年不像是过了180天,倒像是一天过了180遍】,瘟疫肆虐于神州,忍将涂炭兮生灵!,2020年没有以正确的姿势打开,每个人都经历过,正在经历,甚至还将继续经历一段时间非正常的生活,每天工作、宅家,日复一日,日子自然感觉如流水般飞逝。但时间也过的很慢,这又是怎么说的呢?因为毕业第二年上半年的打开方式很正确,在2019年的后半年,完成了去年自己觉得最重要的目标,一个是工作

2020-06-20 11:08:40 1972 2

原创 《周期》万事皆周期

最近看了一本投资大佬霍华德 马克思写的书《周期》,又发现了一本值得写读后感的书籍,也是一本只恨自己没有早点看过的书。同时阅读方式也采取了思维导图拆解阅读的方式,这里把自己总结的思维导图贴出来,希望对大家有帮助。本篇文章也按照思维导图的拆解方式进行介绍,摘录一些经典的语句和自己的看法。基本概念:介绍了周期的意义,周期的特征和周期的规律,其实和自己的一些不成熟的想法不谋而合,有更成体系的描述。周期的分类:介绍了三大类,九小类逐步递进的介绍周期的现象,解释了很多自己之前不明白或理解不深刻的道理,发人深省

2020-05-31 18:41:55 871

原创 【重拾Java系列 一】一文彻底搞定Java开发环境JDK+Tomcat+IDEA及代码入门
原力计划

两年前在学校学习的时候一直使用eclipse套件来进行java的开发,如今由于业务需求重新捡起java的相关知识的时候,谁成想IDE界已换了人间,长期使用VS和VSC的便利和强大的扩展把自己搞的笨手笨脚,于是在重新学习java开发的过程中还是使用更为强大的IDEA吧。IDEA下载及安装IDEA是JetBrain旗下的一款软件,没错,之前在VS里使用的Resharper也隶属于JetBrain旗...

2020-05-30 12:03:12 185

原创 【解决方案 十九】OneNote如何本地备份

最近博主遇到一个问题,相信使用OneNote作为自己在线笔记本的小伙伴们也一定会遇到:OneNote老是同步不上数据。我们知道全新版本的365支持的OneNote只支持OneDrive云存储,但是由于OneDrive服务器在国外,所以同步速度很慢,同步速度慢也就罢了,有时候甚至会丢数据。博主就丢过1个月左右的工作日志数据【因为老是同步不到云端,又手贱将本地的OneNote卸载】。经过这件事后博主下定决心一定要定期备份数据,防止不靠谱的OneDrive丢数据。有人会问了,office365版本的OneNo

2020-05-27 08:18:23 620

vs_enterprise.exe

VisualStudio2019企业版,最新版本,激活码BF8Y8-GN2QH-T84XB-QVY3B-RC4DF

2019-09-13

Visual Studio2015的圈复杂度检测工具code metrics

这个工具是用于检测代码圈复杂度的,可以显而易见的标注每个方法的圈复杂度,并且依据大小有颜色直观的显示

2018-02-02

Java面试大全

这是我自面试以来做过的最全的总结,包括 计算机网络 java web mysql 设计模式 JVM 剑指offer hashmap源码分析,还有一些可以从我博客上看http://blog.csdn.net/sinat_33087001本来想免费分享给大家,但好像最少得选一个,所以只能设置为1,希望能够帮助大家。

2017-10-10

希望和大家交流学习

发表于 2018-04-26 最后回复 2018-05-29

坚持

发表于 2017-09-01 最后回复 2017-09-01

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