自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 资源 (12)
  • 论坛 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Hive load数据到\t分隔的表,字段映射错误怎么解决?

表结构如下:CREATE EXTERNAL TABLE `tmp.shop_detail_tb`(`id` string COMMENT '',`name` string COMMENT '',`type` string COMMENT '',`amt` string COMMENT '',`month` string COMMENT '')PARTITIONED BY (`dt` string)ROW FORMAT DELIMITEDFIELDS TERMINATED BY '\t'

2021-01-31 17:00:28 392

原创 Hive cube / rollup / grouping sets/GROUPING__ID用法

表结构如下:CREATE EXTERNAL TABLE `tmp.shop_detail_tb`(`id` string COMMENT '',`name` string COMMENT '',`type` string COMMENT '',`amt` string COMMENT '',`month` string COMMENT '')PARTITIONED BY (`dt` string)ROW FORMAT DELIMITEDFIELDS TERMINATED BY '\t

2021-01-31 16:36:47 143

原创 Java 为什么数组下标只能为int不能为long?int32位,为何最大值不是2^32 -1 ?

一个小标为int的byte数组全部放满东西需要的内存为(2^31-11)*1b=2Gb=0.25GB一个小标为long的byte数组全部放满东西需要的内存为(2^63+1)*1b 需要的内存太大 !!请问,你的机器有这么大的内存吗?https://bbs.csdn.net/topics/390207278byte:byte 数据类型是8位、有符号的,以二进制补码表示的整数; 最小值是-128(-2^7); 最大值是127(2^7-1); 默认值是0; byte 类...

2021-01-30 13:00:48 142

转载 kafka offset __consumer_offsets_ 原理/Compact 整理

我们在kafka的log文件中发现了还有很多以__consumer_offsets_的文件夹;总共50个;由于Zookeeper并不适合大批量的频繁写入操作,新版Kafka已推荐将consumer的位移信息保存在Kafka内部的topic中,即__consumer_offsetstopic,并且默认提供了kafka_consumer_groups.sh脚本供用户查看consumer信息。__consumer_offsets是 kafka 自行创建的,和普通的 topic 相同。它存在的目的之一...

2021-01-29 18:48:28 263

转载 kafka auto.offset.reset / latest / earliest 详解

auto.offset.reset关乎kafka数据的读取,是一个非常重要的设置。常用的二个值是latest和earliest,默认是latest。一,latest和earliest区别1,earliest 当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费2,latest 当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,消费新产生的该分区下的数据提交过offset,latest和earlie.

2021-01-29 18:41:49 267 1

原创 Java单例模式 双重校验锁 2021

package com.company;/** * @Author you guess * @Date 2021/1/29 09:32 * @Version 1.0 * @Desc 懒汉式 双重校验锁 */public class SingletonTest { //变量私有 private volatile static SingletonTest instance = null;//用volatile static 修饰 //构造方法私有 priva.

2021-01-29 09:46:09 72

转载 Java ConcurrentSkipListMap 跳表

到目前为止,我们在Java世界里看到了两种实现key-value的数据结构:Hash、TreeMap,这两种数据结构各自都有着优缺点。Hash表:插入、查找最快,为O(1);如使用链表实现则可实现无锁;数据有序化需要显式的排序操作。 红黑树:插入、查找为O(logn),但常数项较小;无锁实现的复杂性很高,一般需要加锁;数据天然有序。 然而,这次介绍第三种实现key-value的数据结构:SkipList。SkipList有着不低于红黑树的效率,但是其原理和实现的复杂度要比红黑树简单多了。SkipLi

2021-01-28 22:14:18 92

转载 Mysql 聚簇索引和非聚簇索引的区别

聚簇索引是对磁盘上实际数据重新组织以按指定的一个或多个列的值排序的算法。特点是存储数据的顺序和索引顺序一致。一般情况下主键会默认创建聚簇索引,且一张表只允许存在一个聚簇索引。在《数据库原理》一书中是这么解释聚簇索引和非聚簇索引的区别的:聚簇索引的叶子节点就是数据节点,而非聚簇索引的叶子节点仍然是索引节点,只不过有指向对应数据块的指针。https://blog.csdn.net/alexdamiao/article/details/51934917聚簇索引:将数据存储与索引放到了一块,索引结.

2021-01-28 21:58:05 73

转载 什么是零拷贝技术(zero-copy)?

零拷贝主要的任务就是避免CPU将数据从一块存储拷贝到另外一块存储,主要就是利用各种零拷贝技术,避免让CPU做大量的数据拷贝任务,减少不必要的拷贝,或者让别的组件来做这一类简单的数据传输任务,让CPU解脱出来专注于别的任务。这样就可以让系统资源的利用更加有效。我们继续回到引文中的例子,我们如何减少数据拷贝的次数呢?一个很明显的着力点就是减少数据在内核空间和用户空间来回拷贝,让数据传输不需要经过user space,这也引入了零拷贝的一个类型:使用mmap#####我们减少拷贝次数的一种方法是.

2021-01-28 20:44:08 114

转载 kafka是如何保证消息不丢失的?生产端/消费端

前提条件任何消息组件不丢数据都是在特定场景下一定条件的,kafka要保证消息不丢,有两个核心条件。第一,必须是已提交的消息,即committed message。kafka对于committed message的定义是,生产者提交消息到broker,并等到多个broker确认并返回给生产者已提交的确认信息。而这多个broker是由我们自己来定义的,可以选择只要有一个broker成功保存该消息就算是已提交,也可以是令所有broker都成功保存该消息才算是已提交。不论哪种情况,kafka只对已提交的消息

2021-01-28 18:47:15 175

转载 Kafka 设置分区副本数 replication.factor

副本数是1 ,意思是就一个分区,同时也是主分区副本数是2,意思是有2个分区,1个是主分区,1个是从分区副本数已把主分区数包含在内。设置replication.factor >= 3。这也是Broker端的参数。保存多份消息冗余。replication.factor,用来设置主题的副本数。每个主题可以有多个副本,副本位于集群中不同的broker上,也就是说副本的数量不能超过broker的数量,否则创建主题时会失败。比如partions 设置为20,replication...

2021-01-28 18:08:04 1124

原创 Kafka producer往broker发送消息的方式? 发送并忘记/同步发送/异步发送

1 send(msg) 发送并忘记2 send(msg).get() 同步发送,发完后等待返回结果,成功的话,再发下一次3send(msg,newClass()implements CallBack) 异步发送,发完后继续发送下一次,在回调函数中会对每次发送后返回的结果做处理。《Kafka权威指南》 啄木鸟...

2021-01-28 18:02:53 85

转载 Redis为何那么快?/多路I/O复用模型,非阻塞IO

Redis为什么这么快1、完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1);2、采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗 CPU,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗;3、使用多路I/O复用模型,非阻塞IO;4、数据结构简单,对数据操作也简单,Redis中的数据结构是专门进行设计的;多路I.

2021-01-28 17:33:36 194

转载 Redis为何采用单线程?新版为何引入多线程?

为什么 Redis 在最初的版本中选择单线程模型?Redis 从一开始就选择使用单线程模型处理来自客户端的绝大多数网络请求,这种考虑其实是多方面的,作者分析了相关的资料,发现其中最重要的几个原因如下:使用单线程模型能带来更好的可维护性,方便开发和调试; 使用单线程模型也能并发的处理客户端的请求;使用多线程模型带来的性能提升并不能抵消它带来的开发成本和维护成本 Redis 服务中运行的绝大多数操作的性能瓶颈都不是 CPU,而是内存和网络带宽,使用多线程时内存和网络带宽的瓶颈依然存在。 避免多个线

2021-01-28 16:33:50 93

转载 Flink中水位线/Periodic周期水印/Punctuated每个事件水印实现原理/ PunctuatedWatermarks/PeriodicWatermarks

在用户代码中,我们设置生成水印和事件时间的方法assignTimestampsAndWatermarks()中这里有个方法的重载我们传入的对象分为两种:【2种生成水印的策略】AssignerWithPunctuatedWatermarks(可以理解为每条数据都会产生水印,如果不想产生水印,返回一个null的水印)AssignerWithPeriodicWatermarks(周期性的生成水印)AssignerWithPunctuatedWatermarks:来看一下源码中是如何实现这.

2021-01-27 17:42:42 251

转载 LRU算法 + Java实现代码 /自定义双链表/Java自带的双链表

LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。最常见的实现是使用一个链表保存缓存数据,详细算法实现如下新数据插入到链表头部; 每当缓存命中(即缓存数据被访问),则将数据移到链表头部; 当链表满的时候,将链表尾部的数据丢弃。 【命中率】 当存在热点数据时,LRU的效率很好,但偶发性的、周期性的批量操作会导致LRU命中率急剧下降,缓存污染情况比较严重。 【复杂度】 实

2021-01-27 14:28:11 54

转载 HDFS块大小为何是128MB ? block.size

块大小取决于dfs.blocksize,2.x默认为128M,1.x默认为64M(128M指的是块的最大大小!每个块最多存储128M的数据,如果当前块存储的数据不满128M,存了多少数据,就占用多少的磁盘空间!一个块只属于一个文件!)  默认为128M的原因,基于最佳传输损耗理论!  不论对磁盘的文件进行读还是写,都需要先进行寻址!  最佳传输损耗理论:在一次传输中,寻址时间占用总传输时间的1%时,本次传输的损耗最小,为最佳性价比传输!  目前硬件的发展条件,普通磁盘写的速率大概为100M/

2021-01-27 14:21:10 83

转载 Spark:常用transformation 转换操作 及action 行动操作

一、常用transformation介绍操作 介绍 map 将RDD中的每个元素传入自定义函数,获取一个新的元素,然后用新的元素组成新的RDD filter 对RDD中每个元素进行判断,如果返回true则保留,返回false则剔除 flatMap 与map类似,但是对每个元素都可以返回一个或多个新元素 groupByKey 根据key进行分组,每个key对应一个Iterable<value> reduceByKey 对每个Key对应的v

2021-01-27 09:41:07 65

转载 Hive的分区表和分桶表的区别

1、Hive分区是指按照数据表的某列或某些列分为多个区,区从形式上可以理解为文件夹,比如我们要收集某个大型网站的日志数据,一个网站每天的日志数据存在同一张表上,由于每天会生成大量的日志,导致数据表的内容巨大,在查询时进行全表扫描耗费的资源非常多。那其实这个情况下,我们可以按照日期对数据表进行分区,不同日期的数据存放在不同的分区,在查询时只要指定分区字段的值就可以直接从该分区查找。下面从用shell命令操作分区表和从hdfs文件系统查看分区表相结合的方式加深对分区表的认识。第一,创建分区表...

2021-01-26 22:25:47 128

转载 Redis HyperLogLog 统计UV / 去重统计 /基数统计

Redis 在 2.8.9 版本添加了 HyperLogLog 结构。Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。但是,因为 HyperLogLog 只会根据输入元素来计算基数,

2021-01-26 22:11:33 106

原创 Flink parallelism/maxParallelism 作用 源码

Parallel ExecutionThis section describes how the parallel execution of programs can be configured in Flink. A Flink program consists of multiple tasks (transformations/operators, data sources, and sinks). A task is split into several parallel instances f

2021-01-25 14:26:48 229

原创 Flink CheckpointCoordinator 步骤 流程 源码

1 内部是用ScheduledThreadPoolExecutor实现的2CheckpointCoordinator.java private void preCheckBeforeTriggeringCheckpoint(boolean isPeriodic, boolean forceCheckpoint) throws CheckpointException { // abort if the coordinator has been shutdown in the ...

2021-01-24 22:24:47 122

转载 Spark 推测执行 /spark.speculation=true /spark.speculation.quantile=0.75/spark.speculation.multiplier=1.5

在Spark中任务会以DAG图的方式并行执行,每个节点都会并行的运行在不同的executor中,但是有的任务可能执行很快,有的任务执行很慢,比如网络抖动、性能不同、数据倾斜等等。有的Task很慢就会成为整个任务的瓶颈,此时可以触发 推测执行 (speculative) 功能,为长时间的task重新启动一个task,哪个先完成就使用哪个的结果,并Kill掉另一个task。重点配置:# 开启speculative,默认关闭spark.speculation=true # 检测周期,单位毫秒sp

2021-01-24 19:32:50 88

转载 Spark Adaptive Execution 让 Spark SQL 更高效更智能/倾斜/join优化

RBO 与 CBO 在逻辑计划优化阶段与物理计划生成阶段通过规则优化最终生成的 DAG。本文介绍的 Adaptive Execution 可在 Spark Job 执行过程中,自动基于中间结果的统计信息优化后续的执行计划从而提高整体执行效率,并降低使用门槛本文所述内容均基于 2018年9月17日 Spark 最新 Spark Release 2.3.1 版本,以及截止到 2018年10月21日 Adaptive Execution 最新开发代码。自动设置 Shuffle Partition 个数已进入

2021-01-24 19:21:16 45

转载 Hive 常用的存储格式/压缩格式/创建lzo索引

常用的存储格式1.TextfileHive数据表的默认格式,数据不做压缩,磁盘开销大,数据解析开销大。存储方式:行存储。可以使用Gzip压缩算法,但压缩后的文件不支持split。在反序列化过程中,必须逐个字符判断是不是分隔符和行结束符,因此反序列化开销会比SequenceFile高几十倍。2.RCFile存储方式:数据按行分块,每块按列存储。结合了行存储和列存储的优点:首先,RCFile 保证同一行的数据位于同一节点,因此元组重构的开销很低其次,像列存储一样,RCFile 能

2021-01-23 19:55:00 123

转载 Hive部分:行式存储和列式存储的比较

行式存储:优点:数据被保存在一起了,insert和update更加容易缺点:选择(selection)时即时只涉及某几列,所有数据也都会被读取列式存储:优点:查询时只有涉及到的列会被读取;投影(projection)很高效;任何列都能作为索引缺点:选择完成时,被选择的列要重新组装,insert/update会比较麻烦https://blog.csdn.net/wyqwilliam/article/details/81063343----------------列式存储和行式存

2021-01-23 19:36:46 260

转载 数据仓库建模方法/范式建模法/维度建模法/事实表/维度表/优缺点/建模流程/概念建模/逻辑建模/物理建模

常见的有 范式建模法、维度建模法、实体建模法等,每种方法从本质上将是从不同的角度看待业务中的问题,不管是从技术层面还是从业务层面,都代表了哲学上的一种世界观。1 范式建模法(Third Normal Form,3NF)范式建模法其实是我们在构建数据模型常用的一个方法,该方法的主要由 Inmon 所提倡,主要解决关系型数据库得数据存储,利用的一种技术层面上的方法。目前,我们在关系型数据库中的建模方法,大部分采用的是三范式建模法。范式 是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则,

2021-01-23 18:42:34 437

原创 如何查看Flink配置的意思和作用?

https://ci.apache.org/projects/flink/flink-docs-release-1.12/deployment/config.html官网 Flink1.12

2021-01-23 17:54:06 47

转载 Flink 1.10之改进的TaskManager内存模型与配置/taskmanager.memory.network.fraction

新版内存模型与参数概览官方给出的图示如下。下面看图说话,分区域介绍之。Flink总内存(Total Flink Memory)含义 TaskManager进程占用的所有与Flink相关的内存(不包括JVM元空间和其他额外开销)。具体包含4大块:Flink框架内存(堆内、堆外)、托管内存(仅堆外)、网络缓存(仅堆外)、任务内存(堆内、堆外)。 参数 taskmanager.memory.flink.size:无默认值,需要用户指定。Flink框架(Framework)内..

2021-01-23 17:53:00 264

转载 Flink 数据类型和序列化机制简介/TypeInformation createSerializer TypeSerializer

Flink自己定义了一套数据类型,对应Java中的基本类型、集合、POJO等,数据类型都是TypeInformation的子类,并且在每个子类中都重写了createSerializer方法来创建自己的TypeSerializer,然后使用TypeSerializer来实现序列化和反序列化。如果Flink无法识别或推断类型,则使用Kryo序列化反序列化。如果Kryo无法实现序列化反序列化,可以使用强制avro或者为 Kryo 增加自定义的 Serializer 以增强 Kryo 的功能。实现序列化反序列化

2021-01-22 10:16:30 289

转载 Kafka中的选举有多少?

面试官在考查你Kafka知识的时候很可能会故弄玄虚的问你一下:Kafka中的选举时怎么回事?除非问你具体的哪种选举,否则问这种问题的面试官多半也是对Kafka一知半解,这个时候就是“弄死”他的时候。当然如果你没有一定的知识储备,那么就是你被“弄死”的时候。一般问这个问题,那么他肯定知道其中的一种,比如分区leader的选举。所谓分区leader的选举就是当ISR中的leader副本歇菜了,再重新选举一个的过程。对于这个问题就是你反客为主的机会,因为Kafka中的选举有多处,可不止分区leader的选举这

2021-01-21 19:11:48 39

转载 Kafka分区分配策略分析RangeAssigor/RoundRobinAssignor——重点:StickyAssignor

“为什么Kafka在RangeAssigor、RoundRobinAssignor的基础上,又新增了PartitionAssignor,它解决了什么问题?”背景用过Kafka的同学应该都知道Kafka的分区和消费组的概念。在Kafka中,每个Topic会包含多个分区,默认情况下一个分区只能被一个消费组下面的一个消费者消费,这里就产生了分区分配的问题。Kafka中提供了多重分区分配算法(PartitionAssignor)的实现:RangeAssigor、RoundRobinAssignor、..

2021-01-21 19:09:08 74

转载 Kafka的Controller Broker是什么

控制器组件(Controller),是 Apache Kafka 的核心组件。它的主要作用是在 Apache ZooKeeper 的帮助下管理和协调整个 Kafka 集群。集群中任意一台 Broker 都能充当控制器的角色,但是,在运行过程中,只能有一个 Broker 成为控制器,行使其管理和协调的职责。接下来,我们将讨论Controller原理和内部运行机制。通过本文你可以了解到:什么是Controller Broker Controller Broker是怎么被选举的 Controller Br

2021-01-21 18:53:37 118

转载 Zookeeper 在 Kafka 中的作用

leader 选举 和 follower 信息同步如上图所示,kafaka集群的 broker,和 Consumer 都需要连接 Zookeeper。Producer 直接连接 Broker。Producer 把数据上传到 Broker,Producer可以指定数据有几个分区、几个备份。上面的图中,数据有两个分区 0、1,每个分区都有自己的副本:0'、 1'。黄色的分区为 leader,白色的为 follower。leader 处理 partition 的所有读写请求,与此同时,fol

2021-01-21 18:50:48 53

转载 Kafka中的ISR、AR又代表什么?ISR的伸缩又指什么?/unclean.leader.election

SR and AR简单来说,分区中的所有副本统称为AR(Assigned Replicas)。所有与leader副本保持一定程度同步的副本(包括leader副本在内)组成ISR(In Sync Replicas)。 ISR 集合是 AR 集合的一个子集。消息会先发送到leader副本,然后follower副本才能从leader中拉取消息进行同步。同步期间,follow副本相对于leader副本而言会有一定程度的滞后。前面所说的 ”一定程度同步“ 是指可忍受的滞后范围,这个范围可以通过参数进行配置...

2021-01-21 18:16:31 115 1

转载 Kafka 消息队列如何保证顺序性?

主要思路:相同key值的消息写入同一个partition(partition内的消息是有序的),一个partition的消息只会被一个消费者消费。如果一个消费者是多个线程消费,则需要把pull来的消息按照key值写入不同的内存队列中,相同key值的消息写入同一个内存队列(内存队列内的消息是有序的),然后一个线程消费一个内存队列。1、rabbitMq问题分析:如图,data1 和 data2 是有顺序的,必须 data1 先执行,data2 后执行;这两个数据被不同的消费者消费到了,可能 d.

2021-01-20 21:56:40 415

转载 Flink On Yarn 架构/Job启动流程/部署模式

Flink 和spark一样有三种部署模式,分别是 Local、Standalone Cluster 和 Yarn Cluster。实战开发主要使用Yarn Cluster模式,所以本文主要介绍yarn 模式下flink任务的执行和资源分配。Yarn Cluster 模式在图中可以看出,Flink 与 Yarn 的关系与MapReduce 和 Yarn 的关系是一样的。Flink 通过 Yarn 的接口实现了自己的 App Master。当在 Yarn 中部署了 Flink,Yar...

2021-01-20 15:33:36 50

转载 Hive 配置mapred.tasktracker.map.tasks.maximum/hive.exec.reducers.max /每一个tasktracker同时运行的map任务数/最大map数

set mapred.tasktracker.map.tasks.maximum ; -- 2 ,默认,每一个tasktracker同时运行的map任务数为2The maximum number of map tasks that will be runsimultaneously by a task tracker.set mapred.tasktracker.reduce.tasks.maximum ; -- 2 ,默认,每一个tasktracker同时运行的reduce任务数...

2021-01-19 12:43:35 40

转载 Mybatis JDBC 事务隔离级别/脏读 不可重复读 幻读(虚读)

一般数据库的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。√: 可能出现×: 不会出现 脏读 不可重复读 幻读 说明 Read uncommitted √ √ √ 直译就是"读未提交",意思就是即使一个更新语句没有提交,但是别 的...

2021-01-19 11:45:35 226

转载 根据CPU核心数确定线程池并发线程数

一、抛出问题关于如何计算并发线程数,一般分两派,来自两本书,且都是好书,到底哪个是对的?问题追踪后,整理如下:第一派:《Java Concurrency in Practice》即《java并发编程实践》,如下图:如上图,在《Java Concurrency in Practice》一书中,给出了估算线程池大小的公式:Nthreads=Ncpu*Ucpu*(1+w/c),其中Ncpu=CPU核心数Ucpu=cpu使用率,0~1W/C=等待时间与计算时间的比率第..

2021-01-19 10:41:23 99

split_csv.sh

v6.csv有200多万行,excel的一个sheet最多显示104万行左右,显示不全,那么如何切分呢? 亲测可用

2020-03-21

android通过servlet与服务器验证用户信息

成功返回success,失败返回failed 1注意manifext.xml的权限 2 servlet project的类一定要extends httpservlet 3 servlet project中,com是包名,所以Tomcat是...classes/com/xxx.class 4 192.168.0.107是电脑的IP,需要手机电脑连接的是同一个wifi,电脑的防火墙一定要关闭

2016-03-26

mhd raw metaimage java读取类

亲测可用,mhd raw metaimage java读取类。mhd raw metaimage java读取类。mhd raw metaimage java读取类。

2017-10-18

commons-configuration-1.6.jar

解决..java.lang.NoClassDefFoundError: org/apache/commons/configuration/Configuration, 亲测可用

2016-07-08

全国省市县区域名称

省市县区域名称,例如: ................. 240: 云南省:昆明市 240864: 云南省 昆明市 东川区 240865: 云南省 昆明市 五华区 240866: 云南省 昆明市 呈贡县 240867: 云南省 昆明市 安宁市 ............

2015-11-17

htmlunit-2.31.jar

htmlunit-2.31,亲测可用!能很好的完成抓取需求,能够模拟输入、点击按钮、解析结果

2018-06-10

Navicate for Mysql

包含注册key,解压后即可使用,不用安装,方便快捷。包含注册key,解压后即可使用,不用安装,方便快捷。包含注册key,解压后即可使用,不用安装,方便快捷。包含注册key,解压后即可使用,不用安装,方便快捷。

2017-10-17

joda-time-2.3.jar

DateTime类型,方便使用

2016-11-17

commons-lang-2.5.jar

解决..java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils问题

2016-07-08

拼图游戏C语言

拼图游戏开发,使用语言为C语言类,游戏开发,

2013-05-24

Struts2登录实例--亲测可用

Struts2登录实例--亲测可用,拦截器,Action,值栈......都用到了

2017-05-17

quartz定时任务

不用集成Spring,代码简洁,亲测可用

2017-05-20

二十六画生的博客的留言板

发表于 2020-01-02 最后回复 2020-01-02

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

TA关注的人 TA的粉丝

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