- Some jenkins settings
SnC_
Jenkins连接到特定gitlabproject的特定branch我采用的方法是在pipeline的script中使用git命令来指定branch。如下:stage('Clonerepository'){steps{gitbranch:'develop',credentialsId:'gitlab-credential-id',url:'http://gitlab.com/repo.git'}}
- WebMagic:强大的Java爬虫框架解析与实战
Aaron_945
Javajava爬虫开发语言
文章目录引言官网链接WebMagic原理概述基础使用1.添加依赖2.编写PageProcessor高级使用1.自定义Pipeline2.分布式抓取优点结论引言在大数据时代,网络爬虫作为数据收集的重要工具,扮演着不可或缺的角色。Java作为一门广泛使用的编程语言,在爬虫开发领域也有其独特的优势。WebMagic是一个开源的Java爬虫框架,它提供了简单灵活的API,支持多线程、分布式抓取,以及丰富的
- java mongodb group分组使用
yank1225
mongodbjavamongodbgroup
mongodb的关键字及介绍.mongodb的查询是有一定规则的,刚开始接触老是各种错误,参照以下内容有很多帮助https://docs.mongodb.com/manual/reference/sql-aggregation-comparison/另外出现这种错误时Apipelinestagespecificationobjectmustcontainexactlyonefield是因为条件不对
- 2022-01-03 day62 pipaline流水线作业
zhaocheng690
今日作业:1.pipeline实现流程:拉取代码-->编译-->部署测试-->发送测试通知-->确认是否部署-->部署服务-->发送部署结果通知pipeline{agentanyparameters{gitParameterbranch:'',branchFilter:'.*',defaultValue:'v1.0',description:'请选择要发布的版本:',name:'git_versi
- Redis 管道(Pipeline)是什么?有什么用?
程序猿ZhangSir
redis数据库缓存
目录1.redis客户端-服务端模型的不足之处2.redis管道是什么?有什么好处?3.管道的使用场景4.管道使用的注意事项1.redis客户端-服务端模型的不足之处众所周知,redis是一个客户端-服务端的模型设计,客户端向服务端发送存储数据的请求共分为四步(发送命令——>命令排队——>命令执行——>返回结果),简单来说就是一问一答的交互方式,在等待返回结果的期间,通常是以阻塞的模式等待服务端响
- redis的事务与管道有什么不同?
半桶水专家
Redisredis数据库
Redis的事务(MULTI/EXEC)和管道(PIPELINE)都是为了执行多条命令,但它们的工作原理和目标不同。以下是两者的详细对比。1.Redis事务(MULTI/EXEC)特点:事务的本质:Redis事务是一组命令的原子性执行。事务通过MULTI命令开始,用EXEC命令提交。所有在MULTI和EXEC之间的命令会被顺序执行,要么全部执行,要么全部不执行(如果EXEC被调用时Redis处于错
- 使用命令来指示ChatGLM-6B模型执行各种简单任务
西笑生
大模型ChatGLM-6B
使用命令来指示ChatGLM-6B模型执行各种简单任务flyfish使用命令来指示模型执行各种简单任务,例如“写入”、“分类”、“总结”、“翻译”、“排序”等,从而为各种简单任务设计有效的提示本文主要演示prompt的使用,请忽略输出的正确与否开始frommodelscope.utils.constantimportTasksfrommodelscope.pipelinesimportpipeli
- Python | 使用Joblib模块加快任务处理速度
python收藏家
pythonpython
在本文中,我们将了解如何通过使用Joblib模块在Python中并行执行代码来大幅减少大型代码的执行时间。Joblib模块简介Joblib是一个用于Python的开源库,它提供了一些用于并行计算和内存映射的工具,旨在提高科学计算和数据分析的效率。Python中的Joblib模块特别用于使用Pipelines并行执行任务,而不是一个接一个地顺序执行任务。Joblib模块允许用户通过利用设备中存在的所
- 3.4 Principles of Reliable Data Transfer (Part 2)
找不到工作
上接Part1。3.4.2PipelinedReliableDataTransferProtocols如我们在Part1中指出的,rdt3.0虽然是一个正确的可靠数据传输协议,然而它的性能无法满足需求。因为它实质上是一个stop-and-wait的协议,即在收到上一个数据的ACK之前无法发送下一个数据。解决方法是,sender不需要等待ACK,可以连续发送多个数据包。每个inflight的包都应该
- 在 CI/CD Pipeline 中实施持续测试的最佳实践!
小码哥说测试
软件测试技术分享自动化测试ci/cdpostman测试工具单元测试自动化测试软件测试持续集成
随着软件开发周期的不断加快,持续集成(CI)和持续交付/部署(CD)已经成为现代软件开发的重要组成部分。在这一过程中,持续测试的实施对于确保代码质量、提高发布效率至关重要。本文将详细介绍在CI/CD流水线中实施持续测试的最佳实践,并提供具体的方案和实战演练。持续测试的意义持续测试是指在整个软件开发生命周期中,持续地对软件进行自动化测试。其主要目标是尽早发现缺陷,减少修复成本,提高软件质量。与传统的
- Apache Beam简介及相关概念
奋斗的源
Apache基础知识ApacheBeam其他
文章目录一.简介二.基本概念1.Pipelines2.PCollection3.Transforms4.ParDo5.PipelineI/O6.Aggregation7.User-definedfunctions(UDFs)8.Runner三.高级概念1.Eventtime2.Windowing3.Watermarks4.Trigger四.工作原理一.简介ApacheBeam是一个开放源码的统一模
- jenkins配置流水线
iteye_10392
jenkinsjenkinselasticsearch运维
新建任务,随便选一个名字,选中流水线配置git的用户名和密码,记录ID,后面配置流水线的时候用。pipeline{agentanystages{stage('stopapp'){steps{script{defremote=[:]//配置服务地址,用户名和密码remote.name='prd'remote.host='114.116.1.1'remote.user='test'remote.pas
- jenkins安装 sshCommand
iteye_10392
jenkinsjenkinsservletjava
在Jenkins中安装SSH插件(例如“SSHPipelineSteps”或“SSHIntegrationPlugin”)可以让你通过JenkinsPipeline或自由风格项目执行远程SSH命令或脚本,从而自动化部署过程或其他任务。下面是如何安装“SSHPipelineSteps”插件的步骤:安装SSHPipelineSteps插件登录到Jenkins并进入管理员界面。导航到插件管理页面。通常,
- Docker in Docker 实践 on mac
solinger
dockerdockerdind
在尝试tekton构建cipipeline是,需要在k8pod里buildimage,于是研究了如何dockerindocker。1.编写自己的dinddockerimageFROMdocker:20.10.16-dindENVDOCKER_HOSTunix:///var/run/docker.sock2.dockerbuild自己的dinddockerimage并push到repo上docker
- window系统运行pytorch找不到指定的模块,报错“fbgemm.dll“ or one of its dependencies.”
weixin_44598491
笔记
安装好pytorch后,importtorch报错如下:Traceback(mostrecentcalllast):File"d:\work_space\01_code\BMCourse\exercises\L2_NLP_pipeline_pytorch\annotated_code\test.py",line1,inimporttorchFile"C:\Users\ZJ\AppData\Loca
- 【人工智能】Transformers之Pipeline(十三):填充蒙版(fill-mask)
LDG_AGI
Pipeline人工智能机器学习计算机视觉python时序数据库大数据自然语言处理
目录一、引言二、填充蒙版(fill-mask)2.1概述2.2技术原理2.2.1BERT模型的基本概念2.2.2BERT模型的工作原理2.2.3BERT模型的结构2.2.4BERT模型的应用2.2.5BERT模型与Transformer的区别和联系2.3应用场景2.4pipeline参数2.4.1pipeline对象实例化参数2.4.2pipeline对象使用参数2.4.3pipeline返回参数
- Ingest Pipeline & Painless Script
折纸虚桐
ES学习笔记elasticsearch
DELETEtech_blogs#Blog数据,包含3个字段,tags用逗号间隔PUTtech_blogs/_doc/1{"title":"Introducingbigdata......","tags":"hadoop,elasticsearch,spark","content":"Youknow,forbigdata"}#测试splittagsPOST_ingest/pipeline/_sim
- ElasticSearch-Ingest Pipeline & Painless Script
姜希成
ElasticSearchelasticsearch
IngestNode&Pipeline&ProcessorIngestNodePipeline&Processor内置的Processors创建pipeline使用pipeline更新数据借助update_by_query更新已存在的文档IngestNodeVSLogstashPainlessIngestNode&Pipeline&Processor应用场景:修复与增强写入数据IngestNode
- PG数据库PipelineDB流式聚合汇总提升系统查询性能
boonya
架构师
使用PipelineDB统计的方式减少了不少SQL统计查询,程序端只需要根据业务场景进行组装使用就可以了。PG数据库PipelineDB插件以下是几篇有关PipelineDB基础的文章:PostgreSQLPipelineDB插件(C语言)PostgresqlPipelineDB学习研究资料PostgreSQLPipelineDB理解与统计性能升实践PostgreSQLPipelineDB插件实现
- HDFS的读写流程
Yz9876
hdfshadoop大数据bigdatalinux
写入的流程流程:客户端先向NameNode节点发送上传数据的请求NameNode接收到请求之后进行权限校验,校验之后,会计算出来三个节点客户端会将输入的文件切割成块,然后一个个块进行传递客户端先跟第一个服务器创建连接,这个通道的名字是PipeLine每次传递数据的时候都是以Packet为单位进行传递的,每个Packet大约是64KB各个数据节点(DataNode)之前也会创建连接PipeLine,
- ElasticSearch-聚合操作
姜希成
ElasticSearchelasticsearch
聚合的分类aggsMetricAggregationmin,max,avg,sumstats,cardinalityBucketAggregationtermsordertext->fielddatarangehistogramtop_hitsPipelineAggregationmin_bucketstats_bucketpercentiles_bucketcumulative_sum聚合的作用
- kafka集群搭建
java皮皮虫
kafkaspringboot后台kafkakafka测试kafka集群
Kafka集群搭建一、概念说明它是一个分布式消息系统,由linkedin使用scala编写,用作LinkedIn的活动流(ActivityStream)和运营数据处理管道(Pipeline)的基础。具有高水平扩展和高吞吐量。比较定义解释:1、Java和scala都是运行在JVM上的语言。2、erlang和最近比较火的和go语言一样是从代码级别就支持高并发的一种语言,所以RabbitMQ天生就有很高
- 《昇思25天学习打卡营第1天|快速入门》
一只IT攻城狮
其他学习
昇思MindSpore介绍昇思MindSpore是一个全场景深度学习框架,旨在实现易开发、高效执行、全场景统一部署三大目标。其中,易开发表现为API友好、调试难度低;高效执行包括计算效率、数据预处理效率和分布式训练效率;全场景则指框架同时支持云、边缘以及端侧场景。实操本节通过MindSpore的API来快速实现一个简单的深度学习模型。MindSpore提供基于Pipeline的数据引擎,通过数据集
- Bert系列:论文阅读Rethink Training of BERT Rerankers in Multi-Stage Retrieval Pipeline
凝眸伏笔
nlp论文阅读bertrerankerretrieval
一句话总结:提出LocalizedContrastiveEstimation(LCE),来优化检索排序。摘要预训练的深度语言模型(LM)在文本检索中表现出色。基于丰富的上下文匹配信息,深度LM微调重新排序器从候选集合中找出更为关联的内容。同时,深度lm也可以用来提高搜索索引,构建更好的召回。当前的reranker方法并不能完全探索到检索结果的效果。因此,本文提出了LocalizedContrast
- golang 模板引擎常用语法
nbplus_007
golanggolangpython前端开发语言go配置文件个人开发
golang模板常用语法1、变量赋值Action里可以初始化一个变量来捕获管道的执行结果。初始化语法如下:其中$variable是变量的名字。声明变量的action不会产生任何输出。{{$variable:=pipeline}}福利彩蛋:没有好玩的API接口?上百款免费接口等你来,免费API,免费API大全2、range循环切片数组等如果"range"action初始化了1个变量,该变量设置为迭代
- 3.2.6 盘古开天地start_kernel
aspirestro三水哥
InterruptPipelinelinuxarmIPIPEXenomai
点击查看系列文章=》InterruptPipeline系列文章大纲-CSDN博客3.2内核初始化(盘古开天地)3.2.1内核初始化的神话3.2.2从头(Head)开始3.2.3从头初始化到身体3.2.4宇之内存的空分复用3.2.5宙之CPU的时分复用3.2.6盘古开天地start_kernel3.2.6盘古开天地start_kernel__primary_switched最后义无反顾的跳转到了st
- 2.3.6 返回用户空间
aspirestro三水哥
InterruptPipelinelinux运维服务器
InterruptPipeline系列文章大纲-CSDN博客2.3el0_irq2.3.1el0_irq代码框架2.3.2kernel_entry0与kernel_exit02.3.3el0_irq_naked与enable_da_f2.3.4trace_hardirqs_off与trace_hardirqs_on2.3.5irq_handler2.3.6返回用户空间目录InterruptPipe
- 2.2 ARM64异常处理
aspirestro三水哥
InterruptPipelinelinuxarm嵌入式硬件
InterruptPipeline系列文章大纲-CSDN博客1异常级别转换异常发生时,如何处理呢?异常级别分为4级,其中EL0不处理异常。当EL0发生异常时,会进入更高的异常级别进行处理。ARM64包含4个异常级别:EL0:非特权模式,常用来跑应用程序;EL1:特权模式,常用来跑内核;EL2:虚拟化监控程序,例如hypervisor;EL3:安全模式,例如securemonitor;同步异常一般在
- URP Shader 源码阅读 (一) Simple Lit
[email protected]
游戏开发unity
URP版本16.0.6打开SimpleLit.shader文件;SubShaderTags:Tags{"RenderType"="Opaque""RenderPipeline"="UniversalPipeline"//该SubShader是给UniversalPipeline使用的"UniversalMaterialType"="SimpleLit"//延迟渲染使用,标识光照模式"IgnoreP
- pyskl/datasets/pipelines/heatmap_related.py
鱼儿会飞吗
pythonnumpy开发语言
classGeneratePoseTarget:首先看def__call__(self,results):def__call__(self,results):heatmap=self.gen_an_aug(results)key='heatmap_imgs'if'imgs'inresultselse'imgs'ifself.double:indices=np.arange(heatmap.shap
- JVM StackMapTable 属性的作用及理解
lijingyao8206
jvm字节码Class文件StackMapTable
在Java 6版本之后JVM引入了栈图(Stack Map Table)概念。为了提高验证过程的效率,在字节码规范中添加了Stack Map Table属性,以下简称栈图,其方法的code属性中存储了局部变量和操作数的类型验证以及字节码的偏移量。也就是一个method需要且仅对应一个Stack Map Table。在Java 7版
- 回调函数调用方法
百合不是茶
java
最近在看大神写的代码时,.发现其中使用了很多的回调 ,以前只是在学习的时候经常用到 ,现在写个笔记 记录一下
代码很简单:
MainDemo :调用方法 得到方法的返回结果
- [时间机器]制造时间机器需要一些材料
comsci
制造
根据我的计算和推测,要完全实现制造一台时间机器,需要某些我们这个世界不存在的物质
和材料...
甚至可以这样说,这种材料和物质,我们在反应堆中也无法获得......
 
- 开口埋怨不如闭口做事
邓集海
邓集海 做人 做事 工作
“开口埋怨,不如闭口做事。”不是名人名言,而是一个普通父亲对儿子的训导。但是,因为这句训导,这位普通父亲却造就了一个名人儿子。这位普通父亲造就的名人儿子,叫张明正。 张明正出身贫寒,读书时成绩差,常挨老师批评。高中毕业,张明正连普通大学的分数线都没上。高考成绩出来后,平时开口怨这怨那的张明正,不从自身找原因,而是不停地埋怨自己家庭条件不好、埋怨父母没有给他创造良好的学习环境。
- jQuery插件开发全解析,类级别与对象级别开发
IT独行者
jquery开发插件 函数
jQuery插件的开发包括两种: 一种是类级别的插件开发,即给
jQuery添加新的全局函数,相当于给
jQuery类本身添加方法。
jQuery的全局函数就是属于
jQuery命名空间的函数,另一种是对象级别的插件开发,即给
jQuery对象添加方法。下面就两种函数的开发做详细的说明。
1
、类级别的插件开发 类级别的插件开发最直接的理解就是给jQuer
- Rome解析Rss
413277409
Rome解析Rss
import java.net.URL;
import java.util.List;
import org.junit.Test;
import com.sun.syndication.feed.synd.SyndCategory;
import com.sun.syndication.feed.synd.S
- RSA加密解密
无量
加密解密rsa
RSA加密解密代码
代码有待整理
package com.tongbanjie.commons.util;
import java.security.Key;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerat
- linux 软件安装遇到的问题
aichenglong
linux遇到的问题ftp
1 ftp配置中遇到的问题
500 OOPS: cannot change directory
出现该问题的原因:是SELinux安装机制的问题.只要disable SELinux就可以了
修改方法:1 修改/etc/selinux/config 中SELINUX=disabled
2 source /etc
- 面试心得
alafqq
面试
最近面试了好几家公司。记录下;
支付宝,面试我的人胖胖的,看着人挺好的;博彦外包的职位,面试失败;
阿里金融,面试官人也挺和善,只不过我让他吐血了。。。
由于印象比较深,记录下;
1,自我介绍
2,说下八种基本类型;(算上string。楼主才答了3种,哈哈,string其实不是基本类型,是引用类型)
3,什么是包装类,包装类的优点;
4,平时看过什么书?NND,什么书都没看过。。照样
- java的多态性探讨
百合不是茶
java
java的多态性是指main方法在调用属性的时候类可以对这一属性做出反应的情况
//package 1;
class A{
public void test(){
System.out.println("A");
}
}
class D extends A{
public void test(){
S
- 网络编程基础篇之JavaScript-学习笔记
bijian1013
JavaScript
1.documentWrite
<html>
<head>
<script language="JavaScript">
document.write("这是电脑网络学校");
document.close();
</script>
</h
- 探索JUnit4扩展:深入Rule
bijian1013
JUnitRule单元测试
本文将进一步探究Rule的应用,展示如何使用Rule来替代@BeforeClass,@AfterClass,@Before和@After的功能。
在上一篇中提到,可以使用Rule替代现有的大部分Runner扩展,而且也不提倡对Runner中的withBefores(),withAfte
- [CSS]CSS浮动十五条规则
bit1129
css
这些浮动规则,主要是参考CSS权威指南关于浮动规则的总结,然后添加一些简单的例子以验证和理解这些规则。
1. 所有的页面元素都可以浮动 2. 一个元素浮动后,会成为块级元素,比如<span>,a, strong等都会变成块级元素 3.一个元素左浮动,会向最近的块级父元素的左上角移动,直到浮动元素的左外边界碰到块级父元素的左内边界;如果这个块级父元素已经有浮动元素停靠了
- 【Kafka六】Kafka Producer和Consumer多Broker、多Partition场景
bit1129
partition
0.Kafka服务器配置
3个broker
1个topic,6个partition,副本因子是2
2个consumer,每个consumer三个线程并发读取
1. Producer
package kafka.examples.multibrokers.producers;
import java.util.Properties;
import java.util.
- zabbix_agentd.conf配置文件详解
ronin47
zabbix 配置文件
Aliaskey的别名,例如 Alias=ttlsa.userid:vfs.file.regexp[/etc/passwd,^ttlsa:.:([0-9]+),,,,\1], 或者ttlsa的用户ID。你可以使用key:vfs.file.regexp[/etc/passwd,^ttlsa:.: ([0-9]+),,,,\1],也可以使用ttlsa.userid。备注: 别名不能重复,但是可以有多个
- java--19.用矩阵求Fibonacci数列的第N项
bylijinnan
fibonacci
参考了网上的思路,写了个Java版的:
public class Fibonacci {
final static int[] A={1,1,1,0};
public static void main(String[] args) {
int n=7;
for(int i=0;i<=n;i++){
int f=fibonac
- Netty源码学习-LengthFieldBasedFrameDecoder
bylijinnan
javanetty
先看看LengthFieldBasedFrameDecoder的官方API
http://docs.jboss.org/netty/3.1/api/org/jboss/netty/handler/codec/frame/LengthFieldBasedFrameDecoder.html
API举例说明了LengthFieldBasedFrameDecoder的解析机制,如下:
实
- AES加密解密
chicony
加密解密
AES加解密算法,使用Base64做转码以及辅助加密:
package com.wintv.common;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.BASE64Decod
- 文件编码格式转换
ctrain
编码格式
package com.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
- mysql 在linux客户端插入数据中文乱码
daizj
mysql中文乱码
1、查看系统客户端,数据库,连接层的编码
查看方法: http://daizj.iteye.com/blog/2174993
进入mysql,通过如下命令查看数据库编码方式: mysql> show variables like 'character_set_%'; +--------------------------+------
- 好代码是廉价的代码
dcj3sjt126com
程序员读书
长久以来我一直主张:好代码是廉价的代码。
当我跟做开发的同事说出这话时,他们的第一反应是一种惊愕,然后是将近一个星期的嘲笑,把它当作一个笑话来讲。 当他们走近看我的表情、知道我是认真的时,才收敛一点。
当最初的惊愕消退后,他们会用一些这样的话来反驳: “好代码不廉价,好代码是采用经过数十年计算机科学研究和积累得出的最佳实践设计模式和方法论建立起来的精心制作的程序代码。”
我只
- Android网络请求库——android-async-http
dcj3sjt126com
android
在iOS开发中有大名鼎鼎的ASIHttpRequest库,用来处理网络请求操作,今天要介绍的是一个在Android上同样强大的网络请求库android-async-http,目前非常火的应用Instagram和Pinterest的Android版就是用的这个网络请求库。这个网络请求库是基于Apache HttpClient库之上的一个异步网络请求处理库,网络处理均基于Android的非UI线程,通
- ORACLE 复习笔记之SQL语句的优化
eksliang
SQL优化Oracle sql语句优化SQL语句的优化
转载请出自出处:http://eksliang.iteye.com/blog/2097999
SQL语句的优化总结如下
sql语句的优化可以按照如下六个步骤进行:
合理使用索引
避免或者简化排序
消除对大表的扫描
避免复杂的通配符匹配
调整子查询的性能
EXISTS和IN运算符
下面我就按照上面这六个步骤分别进行总结:
- 浅析:Android 嵌套滑动机制(NestedScrolling)
gg163
android移动开发滑动机制嵌套
谷歌在发布安卓 Lollipop版本之后,为了更好的用户体验,Google为Android的滑动机制提供了NestedScrolling特性
NestedScrolling的特性可以体现在哪里呢?<!--[if !supportLineBreakNewLine]--><!--[endif]-->
比如你使用了Toolbar,下面一个ScrollView,向上滚
- 使用hovertree菜单作为后台导航
hvt
JavaScriptjquery.nethovertreeasp.net
hovertree是一个jquery菜单插件,官方网址:http://keleyi.com/jq/hovertree/ ,可以登录该网址体验效果。
0.1.3版本:http://keleyi.com/jq/hovertree/demo/demo.0.1.3.htm
hovertree插件包含文件:
http://keleyi.com/jq/hovertree/css
- SVG 教程 (二)矩形
天梯梦
svg
SVG <rect> SVG Shapes
SVG有一些预定义的形状元素,可被开发者使用和操作:
矩形 <rect>
圆形 <circle>
椭圆 <ellipse>
线 <line>
折线 <polyline>
多边形 <polygon>
路径 <path>
- 一个简单的队列
luyulong
java数据结构队列
public class MyQueue {
private long[] arr;
private int front;
private int end;
// 有效数据的大小
private int elements;
public MyQueue() {
arr = new long[10];
elements = 0;
front
- 基础数据结构和算法九:Binary Search Tree
sunwinner
Algorithm
A binary search tree (BST) is a binary tree where each node has a Comparable key (and an associated value) and satisfies the restriction that the key in any node is larger than the keys in all
- 项目出现的一些问题和体会
Steven-Walker
DAOWebservlet
第一篇博客不知道要写点什么,就先来点近阶段的感悟吧。
这几天学了servlet和数据库等知识,就参照老方的视频写了一个简单的增删改查的,完成了最简单的一些功能,使用了三层架构。
dao层完成的是对数据库具体的功能实现,service层调用了dao层的实现方法,具体对servlet提供支持。
&
- 高手问答:Java老A带你全面提升Java单兵作战能力!
ITeye管理员
java
本期特邀《Java特种兵》作者:谢宇,CSDN论坛ID: xieyuooo 针对JAVA问题给予大家解答,欢迎网友积极提问,与专家一起讨论!
作者简介:
淘宝网资深Java工程师,CSDN超人气博主,人称“胖哥”。
CSDN博客地址:
http://blog.csdn.net/xieyuooo
作者在进入大学前是一个不折不扣的计算机白痴,曾经被人笑话过不懂鼠标是什么,