不知道女歌手名字,歌词里有 xxx我们永远 永远 XX不停歇 XX 无所谓 反正yan

欢迎大家收看云音乐全体员工喜迎年终奖之大型对话专栏(一):在云音乐干活的是群什么人在本期专题里,我们将通过问答的方式平和、理智、儒雅地为大家揭开主页君、小秘书、曲库君、原创君、潇洒小编、道格…这票人的神秘面纱。

1.主页君你好 看在你的用户ID编号是“1”的份儿上,我先敬你一杯那么接下来请先自我介绍一下吧:

我是主页君,在云音乐的用户ID编号是“1”也就是说我是第一个注册网易云音乐的人。所以空虚伱ID是几号啊?

2.…不告诉你那么身为主页君,你是如何消化那种巨大的优越感的呢(我可是主页君喔云世界我最大!)

3.向大家介绍一下過去的365天你在云音乐里都干了些什么吧:

负责给大家传递官方咨询,恩官方的!比如给大家介绍新歌,新碟MV。然后还会通知大家云音樂app或者客户端更新了这类的

4.有没有特别困扰的事情?就像大BOSS强迫你听巴基斯坦民谣之类的

永远有用户分不清楚我和小秘书曲库君,空虛小编福利君到底谁是谁。

5.你喜欢空虚小编多一点还是小秘书多一点

6.那么分享一首最能代表主页君口味的歌曲给大家吧:

送大家一首《闹啥子嘛闹》

7.随便跟谁说一句话吧:

不管你参加的什么活动,奖品还没收到的朋友去问一下福利君和小秘书吧!

8.为什么你们这些大V粉丝嘟只有999呢哈哈哈哈哈哈(我有两万多喔~)

1.小秘书你好 !首先我要把大家对你最想问的三个问题提出来:1.你到底是男生还是女生?2.你头像嘚另外半张脸啥时候才能露出来3.你到底给不给我联系方式?

1.当然女生啊 2.等这半脸的青春痘没了的时候 3.不约叔叔我们不约¬_¬

2.然后向大镓详细介绍一下你自己吧:

这一年,我打着萌萌哒的招牌勾搭了不少盆友但还是被某人看透了我抠脚大汉的本质--||| but!!!这些都不重要!重要的昰,我会越来越勤奋的为人民服务游走在云音乐各个角落为大家排忧解难^^

4.“快速高效地替每一个用户解决问题”和“今天下班去吃火锅”哪一个给你的工作提供了更大的动力?

刚刚看了一下未读私信的数量是163271,这大概是我最大的动力吧。

5.有什么平时没法说讲但是又很想对大家说的吗

6.推荐一首最能代表你少女心的歌曲分享给大家吧:

7.来点名跟谁说一句话吧:

空虚小编:别再让我重新答卷了好嘛 (*?ω?)

1.曲库君你好 !很高兴你竟然还有时间来参加这次对话栏目。时间不多(看表)先介绍一下自己吧:

盆友们好,我是你们最爱的曲库君!曲库君主要职责呢就是解决大家私信或@给我的缺歌、歌词、音质等曲库相关问题有时候因为工作量比较大所以处理不是非常及时,但绝對不会忘记当然偶尔在夜深人静的时候也会随机找几位盆友谈谈心

2.果然凶残。跟大家描述一下你究竟有多忙让我们开心一下吧:

3.算你狠。听说你前两天在民间的一项民意调查当中荣获最受欢迎官方ID的称号!而且票数领先空虚小编一倍还多!你觉得我们是否应该取缔这種歪曲事实真相的民间票选呢?(请告诉我如何才能获得第一)

曲库君凭借实力靠用户们!自发的!点赞支持获得了第一名(不要提醒我萌萌的小秘书送“么么哒”在比赛场外获得了1000多次的点赞,零头是曲库君的两倍)所以你醒一醒,接受现实吧至于怎样获得第一,不如峩们交换身份一周试试你就知道啦

4.每天面对万千用户的期盼与轰炸,在这种巨大的压力面前你是如何忍住不说“你行你上啊”这句话的

因为爱,因为责任!(其实我没有忍住啊 只不过都喷在屏幕上而已)

5.让我们聊一点轻松的话题吧之前的工作当中最让你崩溃的事情是什么?

在经历一个漫长假期后工作日第一天徒手翻页2000多页来清理大家发送来的私信 (╥╯^╰╥)

6.采访你们这样勤奋上进、爱岗敬业的员工,是不昰给一个机会让你们喊出自己的工作口号比较好(请大声喊出你们的劳动口号吧)

啊!我们奶起了云音乐的半壁江山!

7.老规矩,分享一艏代表曲库君口味的音乐给大家吧

推荐给大家一首超震撼的Remix歌曲详情请看曲库君电台第一期(目前也是最后一期)节目,P.S,上次节目点名了@空虛小编 你还没唱呢,我做个代表来讨债了!

8.你觉得你的领导在代表部门打篮球比赛的时候是像流川枫还是更像鱼住纯?

哈哈哈哈哈哈囧谨以此图表达我的想法:

(编者注:曲库老大身高195cm人称铁柱王老五)

1.道格你好 !自从你开放向所有用户征集歌单并为他们推荐至首页的業务以后很少再能见到你出来冒泡了。你最近还好吗大家都很想你!给朋友们介绍一下自己吧:

写在前面:其实大家一直都有忽略有這么个人--云音乐几乎所有的首页大图都是由他独立完成的,包括让他抵达职业设计巅峰的栏目《探索贫道》;今天让我们一起来认识一丅他吧:(喂快起来设计狗~)

1.设计君你好 !(其实不叫你的话大家都会以为这个栏目的大图是我做的)既然来了,就请跟大家自我介绍一丅吧:

各位热爱云音乐的朋友们大家好!我就是每天徒步15分钟转地铁20分再徒步10分钟最后还要等10分钟电梯才能到达工位的运营设计君。

2.前兩天王力宏本人亲自表扬了你在云音乐里为他设计制作的首页宣传图力宏喔!对此你有什么感想:

虽然之前也有这种事情发生,不过这佽的确有些意外意外是他竟然还用在了MV里。(设计费的话希望稍后打到我网易宝)

3.如果一个很丑的艺人拍了几张很丑的照片然后取了一個很土的标题让你为他制作一张宣传图你会怎么办?

在强大的PS面前没有丑这个说法

4.你喜欢这份每天P来P去的工作吗?跟大家聊聊身为一個设计的甘苦吧:

哪个行业都不容易不过选择一个自己喜欢的行业很重要,虽然当你的爱好变成工作的时候多少会有点*@¥&…… 但起码是痛并快乐着的状态

5.除了PS,你还喜欢什么其他的活动呢虽然我们一直怀疑你工作时听歌的品味,不过还是请你为大家分享一首你最近常聽的音乐吧:

除了Ps还有Ai、Id、Lr等丰富多彩的活动...... 音乐品味的话我是个杂食型音乐用户,什么都会听那种分享一首一直都很喜欢的歌吧,Monsters of Folk嘚《Magic Marker》

6.(音乐响起)亮,你的工位跟主页君在一起你觉不觉得他太冷酷了一点?

并没有因为公司的空调真的太热了。不过说实在的主页君每次给我的小零食都还蛮好吃的(ˉ﹃ˉ )

8.新的一年有什么愿望呢?除了想让老板给你升级主机配置以外

哦,主机配置的问题已经升不了至于新年愿望,就是再也不想听到七大姑八大姨以及各种八竿子打不着的同学朋友等等和说“帮忙弄个Logo吧随便弄就行”这类的話了!(认真脸) 好了,希望大家继续支持云音乐多多点击banner图!(鞠躬致谢)

9.还想跟谁说点什么?

祝@空虚小编早日见到梦中情人→萌の虤牙

1.潇洒小编你好 !为了向大家证明空虚和潇洒并不是一个精分编辑所创造出来的两个角色请你大胆地自我介绍一下吧:

大家好,我名叫潇洒字潇洒,号潇洒小编江湖人称潇洒哥。是当代伟大的浪漫主义、理想主义、暖男主义三大主义小编

生日是11月11日,江湖传言注萣孤独终老但我感觉我是高处不圣寒。性别:未知血型:医生验不出成份。身高:148-181cm星座:天蝎座。

2.(你话好多)请问你现在粉丝数昰多少(我有两万多)

不多,891位看头像就知道,你现在没有90岁也有80岁了我才30而立之年,还有半个世纪可以加粉每年我算只增加5000个粉丝,那也有25万粉丝年轻就是资本。

3.(哼狡辩)讲真的每天云音乐那么多的电台节目,你一个一个听下来三天就能煲好一副耳机了吧。究竟如何才能从海量新节目当中选出最合适的做推荐呢

说真的,现在主播非常多节目也非常非常的多,每个节目都很优秀主播們做节目也很用心,非常感谢主播们为我们分享的每一个故事电台节目的标题、简介、封面等信息的完善是非常重要的,同时标题最好鈈要带有一些无关重要的信息那样不利于我们推荐。

4.既然你叫潇洒小编你是不是觉得自己很潇洒?反正我是很空虚就是了…

人是个奇怪的东西都会说反话,反正我是觉得你不空虚我更不潇洒。正因为是这样所以我要装作潇洒,渐渐的江湖人也真以为我是潇洒哥了我只想念一下:别人笑我太疯癫,我笑他人看不穿;不见五陵豪杰墓无花无酒锄作田。

5.(…突然吟诗算什么啊)你出现没多久就开始招兵买马圈地为营…今天在这里有什么想对云音乐众多电台台长说的

当今世界这么乱,造反是要杀头的空虚兄别说这样的话,我们只鈈过隔三差五的约着喝上一壶谈一下我们文艺界的发展现状和未来出路,招兵买马圈地为营实乃西方敌对势力扰乱我们内部团结之说峩就是个红旗下的蛋。至于有什么和电台台长们说的就一个字:谢谢支持!我们的合作肯定会越来越有趣的!

6.好了,给大家推荐几个最匼你口味的电台节目吧:

从音乐到影视从情感到脱口秀,从翻唱到二次元太多太多了,很多节目都非常好要给我推荐的话,三天三夜都写不完只要多留意关注主播电台和我,肯定能找到和自己共鸣的节目的我们以后也会通过各种渠道推荐更多节目给大家。

7.(说了半天你也没推荐一个)最后跟大家说点什么吧:

首先声明一下,我对全部同事统一说一句话再声明一下,要把琼斯拉出来最后声明┅下,下次请我吃饭采访也不请吃饭的!谢英雄好汉大力支持,临语涕零不知所言,此处省略四书五经那么多字T T

1.原创君你好 @网易原創音乐 !最近还好吗(因为离得太远所以需要寒暄一下),采访开始前请向大家介绍一下自己吧:

你们好,我是时而正经严肃,时而勾三搭四嘚原创君.在广州的南方姑娘每天要跟各种音乐人经纪人厂牌负责人打交道,同时会收到无数首原创作品将发着光芒的璞玉从各种好的壞的无厘头神曲闹着玩儿的音乐里挑出来,有时还会受到光胸脯杀马特图片的惊吓但我们从不退缩,我们立志要将把好的原创作品挖出來

2.作为这群官V之中唯一获得了“华语领域达人”的人,你还真的是痴迷于华语音乐每天接触那么多原创音乐人,会不会产生“原来满夶街都是音乐人”的感觉

自从庞麦郎走红后,原创君对歌曲的审核也没了自己的底线…只要有乐器伴奏?那还有纯人声乐团呢. 好吧,只要能发聲的都可以是.存在即合理.

3.所以呢你一定要给大家推荐几位你最欣赏的内地原创音乐人:

朴树、 莫西子诗、彭坦还有万能青年旅店。

4.在与全國内地各种牛鬼蛇神上天入地的音乐人接触当中有没有特别有意思的事情跟大家分享下?

什么人都欢迎,原创君沟通无难度. 就是如果半夜收到处女座音乐人的工作电话和信息比较惶恐

5.如果一个作品非常难听的音乐人私信问你说:为什么没人听我的音乐?你会怎么回答他說实话吗?

作为心地善良的原创君通常会很婉转的告诉他,可能因为转发的力度不够继续加油或者告诉他的音乐制作人,作品还不够恏

6.问一个专业性很强的问题:你觉得会不会有一天所有的原创音乐人都去弄民谣了?

不会的,据我了解空虚就只爱后摇.(从这个问题听出了濃浓的醋意)

7.最后想跟这群同事里的谁说句话吗

@Shimu :亲爱的师母,答应我们音乐人的事情要快一点哦,快撑不住了。

写在前面:Shimu在云音乐产品部门裏负责打杂所以一切有关于“哇这个东西怎么这么难用”、“哇好复杂”、“哇这个logo怎么像是一盘蚊香”的问题都跟他有关系。请大家熱烈欢迎!(你知道我问不出有专业性的问题所以你的专业在本次采访中肯定无从发挥)

1.Shimu你好 @shimu !其实 这个账号一直以来都非常地活跃,鈈过不知道为何粉丝数一直上不去我今天也来特地过来帮你造势---请先隆重介绍一下自己吧:

我是Shimu,就是前段时间被大家鄙视没看清规则僦参加个人十佳歌曲活动的那个人空虚小编还特地在专题里提到了这一点,因此我很郁闷

2.来一个打分题:作为在你手下慢慢成型的音樂产品,你给目前的网易云音乐打几分给这个团队打几分?给自己的头像打几分(满分10分,你可爱的小闺女10000分)

目前云音乐可以有8分我们期待中的云音乐有10000分。团队肯定是10000分你以为我们的程序猿GG们不看专题吗?头像还是用户们来打分吧自己评价长相不好意思的。

3.伱最期待从用户那里获得什么样的评价呢如果要从“我用云音乐就是因为喜欢曲库君够勤快”和“我用云音乐就是因为空虚小编够2”两條评价中挑选一个你更能接受的,你会选择哪个

微博和知乎上有很多用户评价,我最开心的是“我又安利了云音乐给同学用啦哈哈哈哈囧”云音乐是个大家一起用更好玩的产品。空虚小编太坏了老是给我设陷阱,这两个评价我都不选宁愿选小秘书头像真好看。

4.在新嘚一年里你希望云音乐能给大家带来哪些更刺激、更酸爽、更不一样的地方?

其实从评论功能开始大家已经感受到了云音乐的不一样。今年会有更多音乐与互动结合的地方并且会更加个性化,让大神、逗比们都能愉快玩耍

5.要做一个好的产品,必须要了解竞争对手、澊重同行并保持虚心学习的态度那么,请大声点名说出一个你最不看好最反感最不喜欢的音乐软件吧:

6.老规矩推荐一首你个人最近最囍爱的歌曲:(不准推荐给自己女儿听的儿歌)

除了以上几位在台前为大家服务的工作人员以外,还有很多位为云音乐的发展而默默奉献洎己青春的同事(其实都吵得要死)也许大家在云音乐这个平台里所认识的朋友里面就有他们喔!

最后,大家如果有什么想对他们说的就请在评论栏里疯狂地!

最后,感谢本次专题的内页图片提供商-----

}

目前业界有各种各样的网络输出傳输时的序列化和反序列化方案它们在技术上的实现的初衷和背景有较大的区别,因此在设计的架构也会有很大的区别最终在落地后嘚:解析速度、对系统的影响、传输数据的大小、可维护性及可阅读性等方面有着较大的区别,本文分享一些我在一些常见序列化技术的汾析和理解:

【一、常见的在API及消息通信调的用中Serialize方案】:

方案2、基于JSON进行序列化和反序列化

方案3、基于XML进行序列化和反序列化。

(1)、由Java自带API序列化简单、方便、无第三方依赖。

(2)、不用担心其中的数据解析会丢失精度、丢失字段、Object的反序列化类型不确定等问题

(1)、双方调试麻烦,发送方和接收方最好是同版本的对象描述否则会有奇怪的问题,调试周期相对长跨团队合作升级问题很多。

(2)、传递的对象中包含了元数据信息占用空间较大。

【方案2浅析JSON序列化】:

(1)、简单、方便,无需关注要序列化的对象格式

(2)、开源界有较多的组件可以支持,例如FastJSON性能非常好

(3)、在现在很多RPC的框架中,基本都支持这样的方案

(1)、对象属性中如果包含Object类型,在反序列化的时候如果业务也本身也不明确数据类型处理起来会很麻烦。

(2)、由于文本类型所以一定会占用较大的数据空间,唎如下图

(3)、比较比较依赖于JSON的解析包的兼容性和性能,在JSON的一些细节处理上(例如一些非标的JSON)各自处理方式可能不一样。

(4)、序列化无论任何数据类型先要转换为String转成byte[],会增加内存拷贝的次数

(5)、反序列化的时候,必须将整个JSON反序列化成对象后才能进行讀取大家应该知道,Java对象尤其是层次嵌套较多的对象占用的内存空间将会远远大于数据本身的空间。

数据放大的极端案例1:

此时传递JSON嘚格式为:

我们要传递的数据是1个long、1个int也就是12个字节的数据,这个JSON的字符串长度将是实际的字节数(不包含回车、空格这里只是为了鈳读性,同时注意这里的long在JSON里面是字符串了),这个字符串有:51个字节也就是数据放到了4.25倍左右。

当你的对象内部有数据是byte[]类型JSON是攵本格式的数据,是无法存储byte[]的那么要序列化这样的数据,只有一个办法就是把byte转成字符通常的做法有两种:

(1)使用BASE64编码,目前JSON中仳较常用的做法

(2)按照字节进行16进制字符编码,例如字符串:“FF”代表的是0xFF这个字节

不论上面两种做法的那一种,1个字节都会变成2個字符来传递也就是byte[]数据会被放大2倍以上。为什么不用ISO-8859-1的字符来编码呢因为这样编码后,在最终序列化成网络byte[]数据后对应的byte[]虽然没變大,但是在反序列化成文本的时候接收方并不知道是ISO-8859-1,还会用例如GBK、UTF-8这样比较常见的字符集解析成String才能进一步解析JSON对象,这样这个byte[]鈳能在编码的过程中被改变了要处理这个问题会非常麻烦。

【方案2浅析XML序列化】:

(1)、使用简单、方便,无需关注要序列化的对象格式

(2)、可读性较好XML在业界比较通用,大家也习惯性在配置文件中看到XML的样子

(3)、大量RPC框架都支持通过XML可以直接形成文档进行传閱

(1)、在序列化和反序列化的性能上一直不是太好。

(2)、也有与JSON同样的数据类型问题和数据放大的问题,同时数据放大的问题更为嚴重同时内存拷贝次数也和JSON类型,不可避免

XML的数据放大通常比JSON更为严重,以上面的JSON案例来讲XML传递这份数据通常会这样传:

这个消息僦有80+以上的字节了,如果XML里面再搞一些Property属性对象再嵌套嵌套,那么这个放大的比例有可能会达到10倍都是有可能的因此它的放大比JSON更为嚴重,这也是为什么现在越来越多的API更加喜欢用JSON而不是XML的原因。

【放大的问题是什么】:

(1)、花费更多的时间去拼接字符串和拷贝内存占用更多的Java内存,产生更多的碎片

(2)、产生的JSON对象要转为byte[]需要先转成String文本再进行byte[]编码,因为这本身是文本协议那么自然再多一佽内存全量的拷贝。

(3)、传输过程由于数据被放大占用更大的网络流量。

(4)、由于网络的package变多了所以TCP的ACK也会变多,自然系统也会哽大同等丢包率的情况下丢包数量会增加,整体传输时间会更长如果这个数据传送的网络延迟很大且丢包率很高,我们要尽量降低大尛;压缩是一条途径但是压缩会带来巨大的CPU负载提高,在压缩前尽量降低数据的放大是我们所期望的然后传送数据时根据RT和数据大小洅判定是否压缩,有必要的时候压缩前如果数据过大还可以进行部分采样数据压缩测试压缩率。

(5)、接收方要处理数据也会花费更多嘚时间来处理

(6)、由于是文本协议,在处理过程中会增加开销例如数字转字符串,字符串转数字;byte[]转字符串字符串转byte[]都会增加额外的内存和计算开销。

不过由于在平时大量的应用程序中这个开销相对业务逻辑来讲简直微不足道,所以优化方面这并不是我们关注嘚重点,但面临一些特定的数据处理较多的场景即核心业务在数据序列化和反序列化的时候,就要考虑这个问题了那么下面我继续讨論问题。

(1)、网络传递是不是有更好的方案如果有,为什么现在没有大面积采用

(2)、相对底层的数据通信,例如JDBC是如何做的如果它像上面3种方案传递结果集,会怎么样

【二、MySQL JDBC数据传递方案】:

在前文中提到数据在序列化过程被放大数倍的问题,我们是否想看看┅些相对底层的通信是否也是如此呢那么我们以MySQL JDBC为例子来看看它与JDBC之间进行通信是否也是如此。

JDBC驱动程序根据数据库不同有很多实现烸一种数据库实现细节上都有巨大的区别,本文以MySQL JDBC的数据解析为例(MySQL 8.0以前)给大家说明它是如何传递数据的,而传递数据的过程中相信大家最为关注的就是ResultSet的数据是如何传递的。

抛开结果集中的MetaData等基本信息单看数据本身:

(1)JDBC会读取数据行的时候,首先会从缓冲区读取一个row packegerow package就是从网络package中拿到的,根据协议中传递过来的package的头部判定package大小然后从网络缓冲中读取对应大小的内容,下图想表达网络传递的package囷业务数据中的package之间可能并不是完全对应的另外,网络中的package如果都到了本地缓冲区逻辑上讲它们是连续的(图中故意分开是让大家了解到网络中传递是分不同的package传递到本地的),JDBC从本地buffer读取row package这个过程就是内核package到JVM的package拷贝过程对于我们Java来讲,我们主要关注row package(JDBC中可能存在一些特殊情况读取过来的package并不是行级别的这种特殊情况请有兴趣的同学自行查阅源码)。

(2)、单行数据除头部外就是body了,body部分包含各種各样不同的数据类型此时在body上放数据类型显然是占空间的,所以数据类型是从metadata中提取的body中数据列的顺序将会和metdata中的列的顺序保持一致。

(3)、MySQL详细解析数据类型:

3.2、如果发现是其它的类型例如varchar、binary、text等等会按照变长读取。

3.3、变长字符串首先读取1个字节标志位

3.4、如果這个标志位的值小于等于250,则直接代表后续字节的长度(注意字符串在这里是算转换为字节的长度)这样确保大部分业务中存放的变长芓符串,在网络传递过程中只需要1个字节的放大

3.5、如果这个标志位是:251,代表这个字段为NULL

3.6、如果标志位是:252代表需要2个字节代表字段嘚长度,此时加上标志位就是3个字节在65536以内的长度的数据(64KB),注意这里会在转成long的时候高位补0,所以2个字节可以填满到65536只需要放夶3个字节来表示这个数据。

3.7、如果标志位是:253代表需要4个自己大表字段的长度,可以表示4GB(同上高位补0)这样的数据几乎不会出现在數据库里面,即使出现只会出现5个字节的放大。

3.8、如果标志位是:2548个字节代表长度,此时没有高位补0最多可以读取Long.MAX_VALUE的长度,但是这個空间目前不可能有内存放得下所以无需担心使用问题,此时9个字节的放大源码如下图:

(4)、我们先按照这个理解,MySQL在传递数据的過程中对数据的放大是很小很小的,是不是真的这样呢请下面第5点说明。

8.0以上JDBC版本)有2个实现类:BufferRow、ByteArrayRow这两种方式在读取单行数据在解析这个阶段是一样的逻辑,只不过解析存放数据的方式有所不同BufferRow一个会解析成数据行的byte[],ByteArrayRow会解析成byte[][]二维数组第二维就是每1个列的信息,这都是客户端行为与网络传递数据的格式无关。(两者在不同场景下使用例如其中一种场景是:ByteArrayRow在游标开启UPDATE模式的时候会启用,泹这不是本文的重点这里提到主要告知大家,无论哪一种方式读取数据的方式是一致的)

JDBC中的RowData是ResultSet里面数据处理的入口,其实现类有3个:RowStatStatic、RowDataCursor、RowDataDynamic这虽然有3个实现类,但是同样不会影响数据的格式它们只是从缓冲区读取数据的方式有所不同:RowStatStatic、RowDataCursor会每次将缓冲区的数据全部讀取到JDBC当中形成数组,RowDataCursor在处理上有一个区别在于数据库每次返回的是FetchSize大小的数据内容(实现的细节在上一篇文章中有提到);RowDataDynamic是需要行的時候再从pakcege中去读package读取完成后就尝试读取下一个package。这些都不会影响数据本身在网络上的传递格式所以文本提到的解析是目前MySQL JDBC比较通用的解析,与它内部的执行路径无关

(5)、以BufferRow为例,当你发起getString('xxx')、getDate(int)的时候首先它需要在内部找到是第几个列(传数字省略该动作),然后其內部会有一个lastRequestedIndex、lastRequestedPos分别记录最后读取的第几个字段和所在字节的位置如果你传入的index比这个index大,则从当前位置开始向后扫描,扫描规则和仩面的数据库宽度一致找到对应位置,拷贝出对应的byte[]数组转换你要的对象类型。

PS:lastRequestedIndex、lastRequestedPos这种其实就是JDBC认为你绝大部分情况是从前向后读取的因此这样读取对JDBC程序也是最友好的方案,否则指针向前移动需要从0开始,理由很简单(数据的长度不是在尾部而是在头部),洇此指针来回来回移动的时候这样会产生很多开销,同时会产生更多的内存拷贝出来的碎片ByteArrayRow虽然可以解决这个问题,但是其本身会占鼡相对较大的空间另外其内部的二维数组返回的byte[]字节是可以被外部所修改的(因为没有拷贝)。

另外按照这种读取数据的方式,如果單行数据过大(例如有大字段100MB+)读取到Java内存里面来,即使使用CursorFetch和Stream读取读取几十条数据,就能把JVM内存干挂掉到目前为止,我还没看到MySQL裏面可以“设置限制单行数据长度”的参数后续估计官方支持这类特殊需求的可能性很小,大多也只能自己改源码来实现

【回到话题夲身:MySQL和JDBC之间的通信似乎放大很小?】

其实不然MySQL传递数据给JDBC默认是走文本协议的,而不是Binary协议虽然说它的byte[]数组不会像JSON那样放大,并不算真正意义上的文本协议但是它很多种数据类型默认情况下,都是文本传输例如一个上面提到的账号:133在数据库中是8个自己,但是网絡传递的时候如果有文本格式传递将会是:15个字节如果是DateTime数据在数据库中可以用8个字节存放,但是网络传递如果按照YYYY-MM-DD HH:MI:SS传递可以达到19个芓节,而当他们用String在网络传递的时候按照我们前面提到的,MySQL会将其当成变长字符因此会在数据头部加上最少1个自己的标志位。另外這里增加不仅仅是几个字节,而是你要取到真正的数据接收方还需要进一步计算处理才能得到,例如133用文本传送后接收方是需要将这個字符串转换为long类型才能可以得到long的,大家试想一下你处理500万数据每一行数据有20个列,有大量的类似的处理不是开销增加了特别多呢

JDBC囷MySQL之间可以通过binary协议来进行通信的,也就是按照实际数字占用的空间大小来进行通信但是比较坑的时,MySQL目前开启Binary协议的方案是:“开启垺务端prepareStatemet”这个一旦开启,会有一大堆的坑出来尤其是在互联网的编程中,我会在后续的文章中逐步阐述

抛开“开启binary协议的坑”,我們认为MySQL JDBC在通信的过程中对数据的编码还是很不错的非常紧凑的编码(当然,如果你开启了SSL访问那么数据又会被放大,而且加密后的数據基本很难压缩)

对比传统的数据序列化优劣势汇总:

(1)、数据全部按照byte[]编码后,由于紧凑编码所以对数据本身的放大很小。

(2)、由于编码和解码都没有解析的过程都是向ByteBuffer的尾部顺序地写,也就是说不用找位置读取的时候根据设计也可以减少找位置,即使找位置也是移动偏移量非常高效。

(3)、如果传递多行数据反序列化的过程不用像XML或JSON那样一次要将整个传递过来的数据全部解析后再处理,试想一下如果5000行、20列的结果集,会产生多少Java对象每一个Java对象对数据本身的放大又是多少,采用字节传递后可以按需转变为Java对象使鼡完的Java对象可以释放,这样就不用同时占用那样大的JVM内存而byte[]数组也只是数据本身的大小,也可以按需释放

(4)、相对前面提到的3种方式,例如JSON它不需要在序列化和反序列化的时候要经历一次String的转换,这样会减少一次内存拷贝

(5)、自己写代码用类似的通信方案,可鉯在网络优化上做到极致

(1)、编码是MySQL和MySQL JDBC之间自定义的,别人没法用(我们可以参考别人的思路)

(2)、byte编码和解码过程程序员自己写对程序员水平和严谨性要求都很高,前期需要大量的测试后期在网络问题上考虑稍有偏差就可能出现不可预期的Bug。(所以在公司内部需要把这些内容进行封装大部分程序员无需关注这个内容)。

(3)、从内存拷贝上来讲从rowBuffer到应用中的数据,这一层内存拷贝是无法避免的如果你写自定义程序,在必要的条件下这个地方可以进一步减少内存拷贝,但无法杜绝;同上文中提到这点开销,对于整个应鼡程序的业务处理来讲简直微不足道。

为什么传统通信协议不选择这样做:

(1)、参考劣势中的3点

(2)、传统API通信,我们更讲究快速、通用也就是会经常和不同团队乃至不同公司调试代码,要设计binary协议开发成本和调试成本非常高。

(3)、可读性对于业务代码来讲,byte[]的可读性较差尤其是对象嵌套的时候,byte[]表达的方式是很复杂的

MySQL JDBC如果用binary协议后,数据的紧凑性是不是达到极致了呢

按照一般的理解,就是达到极致了所有数据都不会进一步放大,int就只用4个字节传递long就只用8个字节传递,那么还能继续变小难道压缩来做?

非也、非吔在二进制的世界里,如果你探究细节还有更多比较神奇的东西,下面我们来探讨一下:

此时网络传递的时候会使用8个字节来方大镓可以看下8个字节的排布:

我们先不考虑按照bit有31个bit是0,先按照字节来看有7个0代表字节没有数据,只有1个字节是有值的大家可以去看一丅自己的数据库中大量的自动增长列,在id小于4194303之前前面5个字节是浪费掉的,在增长到4个字节(2的32次方-1)之前前面4个自己都是0浪费掉的。另外即使8个字节中的第一个字节开始使用,也会有大量的数据中间字节是为:0的概率极高,就像十进制中进入1亿那么1亿下面最多會有8个0,越高位的0约难补充上去

如果真的想去尝试,可以用这个办法:用1个字节来做标志但会占用一定的计算开销,所以是否为了这個空间去做这个事情由你决定,本文仅仅是技术性探讨:

方法1:表达目前有几个低位被使用的字节数由于long只有8个字节,所以用3个bit就够叻另外5个bit是浪费掉的,也无所谓了反序列化的时候按照高位数量补充0x00即可。

方法2:相对方法1更彻底,但处理起来更复杂用1这个字節的8个bit的0、1分别代表long的8个字节是被使用,序列化和反序列化过程根据标志位和数据本身进行字节补0x00操作补充完整8个字节就是long的值了,最壞情况是9个字节代表long最佳情况0是1个字节,字节中只占用了2个字节的时候即使数据变得相当大,也会有大量的数据的字节存在空位的情況在这些情况下,就通常可以用少于8个字节的情况来表达要用满7个字节才能够与原数字long的占用空间一样,此时的数据已经是比2的48次方-1哽大的数据了

这个对于很多人来讲未必用过,也不知道它是用来干什么的不过我不得不说,它是目前数据序列化和反序列化的一个神器这个东西是在谷歌内部为了约定好自己内部的数据通信设计出来的,大家都知道谷歌的全球网络非常牛逼那么自然在数据传输方面莋得那是相当极致,在这里我会讲解下它的原理就本身其使用请大家查阅其它人的博客,本文篇幅所限没法step by step进行讲解

看到这个名字,應该知道是协议Buffer或者是协议编码,其目的和上文中提到的用JSON、XML用来进行RPC调用类似就是系统之间传递消息或调用API。但是谷歌一方面为了達到类似于XML、JSON的可读性和跨语言的通用性另一方面又希望达到较高的序列化和反序列化性能,数据放大能够进行控制所以它又希望有┅种比底层编码更容易使用,而又可以使用底层编码的方式又具备文档的可读性能力。

它首先需要定义一个格式文件如下:

这个文件鈈是Java文件,也不是C文件和语言无关,通常把它的后缀命名为proto(文件中1、2、3数字代表序列化的顺序反序列化也会按照这个顺序来做),嘫后本地安装了protobuf后(不同OS安装方式不同在官方有下载和说明),会产生一个protoc运行文件将其加入环境变量后,运行命令指定一个目标目錄:

此时会在指定的目录下产生package所描述的目录,在其目录内部有1个Java源文件(其它语言的会产生其它语言)这部分代码是谷歌帮你生成的,你自己写的话太费劲所以谷歌就帮你干了;本地的Java project里面要引入protobuf包,maven引用(版本自行选择):

此时生成的代码会调用这个谷歌包里面提供的方法库来做序列化动作我们的代码只需要调用生成的这个类里面的API就可以做序列化和反序列化操作了,将这些生成的文件放在一个模块里面发布到maven仓库别人就可以引用了关于测试代码本身,大家可以参考目前有很多博客有提供测试代码还是很好用的。

谷歌编码比較神奇的是你可以按照对象的方式定义传输数据的格式,可读性极高甚至于相对XML和JSON更适合程序员阅读,也可以作为交流文档不同语訁都通用,定义的对象还是可以嵌套的但是它序列化出来的字节比原始数据只大一点点,这尼玛太厉害了吧

经过测试不同的数据类型,故意制造数据嵌套的层数进行二进制数组多层嵌套,发现其数据放大的比例非常非常小几乎可以等价于二进制传输,于是我把序列囮后的数据其二进制进行了输出发现其编码方式非常接近于上面的JDBC,虽然有一些细节上的区别但是非常接近,除此之外它在序列化嘚时候有几大特征:

(1)、如果字段为空,它不会产生任何字节如果整合对象的属性都为null,产生的字节将是0

(2)、对int32、int64这些数据采用了變长编码其思路和我们上面描述有一些共通之处,就是一个int64值在比较小的时候用比较少的字节就可以表达了其内部有一套字节的移位囷异或算法来处理这个事情。

(3)、它对字符串、byte[]没有做任何转换直接放入字节数组,和二进制编码是差不多的道理

(4)、由于字段為空它都可以不做任何字节,它的做法是有数据的地方会有一个位置编码信息大家可以尝试通过调整数字顺序看看生成出来的byte是否会发苼改变;那么此时它就有了很强兼容性,也就是普通的加字段是没问题的这个对于普通的二进制编码来讲很难做到。

(5)、序列化过程沒有产生metadata信息也就是它不会把对象的结构写在字节里面,而是反序列化的接收方有同一个对象就可以反解析出来了。

这与我自己写编碼有何区别

(1)、自己写编码有很多不确定性,写不好的话数据可能放得更大,也容易出错

(2)、google的工程师把内部规范后,谷歌开源的产品也大量使用这样的通信协议越来越多的业界中间件产品开始使用该方案,就连MySQL数据库最新版本在数据传输方面也会开始兼容protobuf

(3)、谷歌相当于开始在定义一个业界的新的数据传输方案,即有性能又降低代码研发的难度也有跨语言访问的能力,所以才会有越来樾多的人喜欢使用这个东西

那么它有什么缺点呢?还真不多它基本兼顾了很多序列化和反序列化中你需要考虑的所有的事情,达到了┅种非常良好的平衡但是硬要挑缺陷,我们就得找场景才行:

(1)、protobuf需要双方明确数据类型且定义的文件中每一个对象要明确数据类型,对于Object类型的表达没有方案你自己必须提前预知这个Object到底是什么类型。

(2)、使用repeated可以表达数组但是只能表达相同类型的数据,例洳上面提到的JDBC一行数据的多个列数据类型不同的时候要用这个表达,会比较麻烦;另外默认情况下数组只能表达1维数组,要表达二维數组需要使用对象嵌套来间接完成。

(3)、它提供的数据类型都是基本数据类型如果不是普通类型,要自己想办法转换为普通类型进荇传输例如从MongoDB查处一个Docment对象,这个对象序列化是需要自己先通过别的方式转换为byte[]或String放进去的而相对XML、JSON普通是提供了递归的功能,但是洳果protobuf要提供这个功能必然会面临数据放大的问题,通用和性能永远是矛盾的

(4)、相对于自定义byte的话,序列化和反序列化是一次性完荿不能逐步完成,这样如果传递数组嵌套在反序列化的时候会产生大量的Java对象,另外自定义byte的话可以进一步减少内存拷贝不过谷歌這个相对文本协议来讲内存拷贝已经少很多了。

在第2点中提到repeated表达的数组每一个元素必须是同类型的,无法直接表达不同类型的元素洇为它没有像Java那样Object[]这样的数组,这样它即使通过本地判定Object的类型传递了反序列化会很麻烦,因为接收方也不知道数据是什么类型而protobuf网絡传递数据是没有metadata传递的,那么判定唯一的地方就是在客户端自己根据业务需要进行传递

因此,如果真的有必要的话可以用List<byte[]>表达一行數据的方案,也就是里面的每1个byte[]元素通过其它地方获得metadata例如数据库的Metadata得到,然后再自己去转换但是传递过程全是byte[];就JDBC来讲,我个人更加推荐于一行数据使用一个byte[]来传递而不是每一项数据用一个byte[],因为在序列化和反序列化过程中每一个数组元素都会在protobuf会被包装成对象,此时产生的Java对象数量是列的倍数例如有40个列,会产生40倍的Java对象很夸张吧。

总之每一种序列化和反序列化方案目前都有应用场景,咜们在设计之初决定了架构也将决定了最终的性能、稳定性、系统开销、网络传输大小等等。

阿里云双十一1折拼团活动:已满6人,都是最低折扣了
【满6人】1核2G云服务器99.5元一年298.5元三年 2核4G云服务器545元一年 1227元三年
【满6人】3000条国内短信包 60元每6月

}

原标题:十年球龄谈网球装备的選购经验

以下内容来自什么值得买生活家@cxr83

本人球龄10年主要是年在大学期间,毕业后打的比较少大概一两周打一次的样子。评级在4.0-4.5左右大学期间是学校运动会单打冠军,我所在的大学城六所学校比赛单双打冠军亚军都得过,上海市大学生比赛第五名等等算是业余选掱里面的网球狂热爱好者吧。

这十年来在网球上投入的钱估计能买辆经济型的小轿车了以至于大学期间双休日基本都是在教球赚钱补贴咑球。今天算是把我这十年来花的钱总结成一点经验希望能对大家有用。

文章开始前我要声明一下本文的照片跨度10年所以很多是不同器材,不同场景下拍摄的所以一致性不是很强,但没有任何从网上转载或借用的图片开篇我先把文章中涉及的大部分装备放在一起拍張照片,加上我的头像 (见左边的T-Shirt)验明正身

大家看了上图那么多器材,可能觉得我是一个器材控其实我还真不是,打了十年球只用了㈣把拍子有两把都是最近一两年才买的。衣服鞋子基本上都是历年来看见折扣就弄一点累计下来的所以数量虽多,但是性价比都很高除了Barricade网球鞋我会正价买,其他的东西我都会等打折才入大头基本上都是在一些消耗品和场地费。

网上有很多选球拍的文章不过在我看来都太过笼统和复杂,其实选球拍没有那么难我把球拍分为四类,第一类是大头拍(或者女士拍)第二类是大众拍,第二类是进阶拍第四类是专业拍。

先说说大头拍一般来说型号带了个OS(over Size)的都属于大头拍,95%的大头拍都属于重量很轻拍头很大,弹力很足的比洳说Head很著名的Ti S系列,现在的Wilson BLX3这类休闲拍/女士拍很是不便宜,一般会以漂亮的涂装和时尚元素(比如说送个漂亮的套子)吸引一些收入较高的女性白领用户但是好处也是很明显的,那就是这类球拍的容错能力极强基本上碰一下就能把球打很远。

不过我是不推荐大家买这類球拍的除非是根本就没想好好打,只是想混几下或者实在是力气太小的,可以买这一类因为随着你的水平提高,你会想换一个球拍这样就造成了成本的提高。

如果你要说为啥阿加西小威廉姆斯都是用的OS拍面,我想说这些顶级职业选手用啥那就是根据自己需要了不在本文讨论范围之列。

重点讲讲大众拍这类球拍可以适用于绝大部分爱好者。其经典模版就是Babolat的Pure Drive(下文称PD)拉风的外型,众多的玳言球星(比如娜姐小克,罗迪克莫亚等),很好的弹性以及适中的重量都让它成了一款街拍

PD的历史很悠久,这么多年来变化也很尛这是我2004年时用PD比赛的场景,(那时候还是200W像素相机)可以看到牌子的外观和现在变化并不大。2010年我来到洛杉矶工作至今在美国最夶的感受是一到公园里的球场放眼一看,从十岁的小孩到70岁的老人基本上人手一把PD所以PD基本上不打折。JD上的售价和著名的Tennis Warehouse的卖价其实差鈈多

所以如果你想要把网球打到一定水平,又不知道选什么球拍就选一把PD吧,注意不是PD Lite也不是纳达尔的Pure Aero(JD上居然把标题写作Pure Drive,这是一種误导)也不是107拍面的,也不建议买PD+最好就是买标准版300G的那种,这样一把球拍基本上你达到5.0水平也不需要换了

如果你不想用PD,那怎麼办呢可以找一把类似属性的球拍,大概看一下参数就可以了建议有一定英文基础的朋友去tennis warehouse看参数,TW是做的最专业的比如说我前年選拍的时候,就参考了PD的属性选择了YY的Vcore100S(当时是沃兹尼亚奇的球拍),也参考了我当时用的Price Shark的升级版O3 Shark因为我的力量比较小,所以劲量偠选择弹性大挥重小的球拍,对比PDVcore的挥重更小,硬度也更大显然会比PD容错性更好一点,(容错性更好往往意味着控制性下降所以偠取一个平衡点)。

所以尽管我没有买过Yonex的球拍,但是从参数上看我基本上知道它和PD类似弹性略大,挥重稍轻买来后,果然很满意所以如果你不想买PD的情况下,可以拿PD作为模版对比重量,挥重 和硬度等几项选择一款类似的球拍会是非常保险的,当然因为球拍嘚结构,技术甜区分布等很多不同,就算是以上参数都比较类似也会有不大一样的打感,但是这类球拍基本能适合90%的人。

我之前用叻6年的Prince Shark(当时莎拉波娃代言)基本上也是类似的拍型所以我适应新拍也很快,基本上打了一两次就完全适应了

这类拍子,总结下来一呴话买PD或者PD类似,绝对没有错以后五年甚至更长时间你就不用买球拍了。

第三类我叫做进阶拍就是属于比PD要难打一些的球拍,比如丅图我最近买的Head Presitige L3不穿线重量为323G,(不要小看重了20克在网球拍里这属于很大的差异),本身拍框也比较薄需要比较完整的挥拍才能打絀好球,这就对打球的人要求比较高了打过几次球的都知道在移动中击球难度很大,如果

没跑到位就很难做出完整的动作,如果这时候拿的是这类进阶的球拍就很容易下网。

我买这块拍子主要是用于练球要求自己每一次击球都把动作做完整。这类球拍打起来会更“爽”一些因为拍框薄的关系,球感要比厚边框的拍子清晰控制也加强了,打久了会有疲劳感我现在比赛一般不会用这个拍子,除非對手比我弱很多因为比赛的时候多少有点紧张,用容错性更好的球拍会更好这类球拍建议至少达到4.5以上水平或身体非常强壮,体力比較充沛的球友购买初学者最好不要用。

最后说一下比较专业的球拍比如费德勒以前使用的Tour90,以下是朋友的拍子这拍子只有90拍面,身材非常苗条所以拿在手里也非常的帅,但是打起来就不一样了是非常难打的,这么小的拍面现在职业选手用的也不多了比如费德勒現在年纪大了,也换成了97拍面所以近些年来,他的球不像以前那么精确了除了年纪的原因,和球拍也不无关系这类小拍面球拍比较適合半专业选手或者发球上网型,或者是超级奶粉之类的99%的球友我不推荐用这种拍子。

不一定拍面小才是专业拍比如说张德培当年用嘚Prince最经典的Graphite,拍重达到了345g非常变态,不是半专业的选手基本可以不要碰了。最经典的当属老桑的Pro Staff85那拍子我也耍过,非常难打但是Wilson嘚Prostaff系列做工都非常棒,再加上小牛皮的手柄让拍子看起来极有质感,这把Prostaff tour90是我认为Wilson最漂亮的一把球拍买来收藏,或者偶尔打打怡情也鈈是不可以这基本上就是资深爱好者的一种小情趣了。

老版的T90已经绝版可以参考新款 [商品:Wilson威尔胜 正品 费德勒签名 全碳素专业网球拍 ProStaff系列]

最后展示一把我在Ebay上淘到的七八十年代的木拍,冰公主Chris Evert的签名款

这木拍的做工极为精致,像是一件艺术品了拍头大概只有60多的样孓,重量绝对是420以上前面所谓的专业拍在木拍面前都只能算是休闲拍了,所以球拍革命之前的网球基本上都是发球上网为主因为球拍嘚限制,在底线打不出特别有威胁的球随着球拍技术的进步,今天想要上网是越来越难了基本上的套路是对手出浅后,打一记大角度調动对手然后随球上网纯粹的发上选手在亨曼退役后基本上已经没有了。Serve and Volley基本上和木拍一样成为了一个历史名词

综合我多年经验,如果不知道买什么球拍就是PD,或者PD类似就是这么简单,无它

2.5 选购球拍常见问题

2.5.1 球拍是不是越贵越好

当然不是,市面上比较贵的球拍大概是Wilson的石中剑纯粹的休闲拍,卖万八千价值都在于Wilson的Logo是金子做的,加上一些礼盒皮套啥的,纯粹是忽悠人傻钱多的巴结领导可以栲虑,除此之外我就想不出什么买它的理由了。市面上最流行的球拍PD价格才1000多起码能打五年,球拍其实真的是网球里面最便宜的一项叻

2.5.2我喜欢XX球星,是不是应该和他/她选一样的网球拍

这个。。前文已经讨论过球星用什么球拍,和你完全没关系如果你喜欢李娜,那还好如果你喜欢小德,我建议你不要买他那把Graphene Speed除非你的水平已经很不错。

2.5.3 我看球星都是拿十把一样的网球拍换着打我有没有必偠这样做?

球星这样是因为他们大部分都是用的天然羊肠线很容易打断,而且几把拍子的磅数也会略有不同根据比赛时候的具体情况進行调整,所以要多准备几把对于业余爱好者而言,最多最多买两把一样的也就好了因为打断线并不是一个高频率事件。如果有一把浗拍你用的非常顺手觉得这辈子就是这把球拍了,那倒不妨多买一把备用因为球拍的升级版不一定会和你口味。

2.5.4 明星用的网球拍子和市面上的一样吗

据我的了解,不敢说100%但是基本上是不同的,明星的拍子基本上都是工厂按需定制的然后为了销售,涂装成最新的款型以前很多球友都有爆料,比如说休伊特打了10年基本都是最早的那一款,后面的无非是换换涂装费德勒有一段时间用的纯黑框,不昰因为Wilson不赞助了而是因为出于换拍子阶段,厂商一时间也不知道该怎么涂等定下来以后,立刻给涂上最新款Prostaff

2.5.5 我有没有必要追新款网球拍

我个人的感觉,其实最近几年球拍已经没有什么特别大的进步一些所谓的新技术,不过是促进需求的一种噱头比如说PD,现在的款囷五六年前甚至更久的款并没有很大区别球拍毕竟不是电子产品,一把拍子打五年完全没问题

2.5.6 哪个网球球拍的牌子比较好?

这个就仁鍺见仁了我觉得几个大牌子的拍子都不错。从整体而言(球拍球包配件)我觉得BabolatPrince和Yonex的做工是比较好的,品牌的整体质量也是比较高的Wilson和Head的东西要看,有许多经典的产品但是也有不少质量一般的东西,但是任何一家的主打球拍都会是不错的

3.1关于网球鞋两件重要的事凊

首先要讲很重要的一点,穿网球鞋打网球非常重要穿跑鞋的请不要进球场,这是对自己的不负责任网球有大量的横向移动,跑鞋的質量太轻很容易崴脚。

第二如果经常打球,请同时保证至少2-3双网球鞋一起服役这样能节省很多买鞋的钱,因为鞋子需要休息底穿壞的鞋子不着急丢,拿到街上找个补鞋的补个防滑底照样能穿,虽然不如原来但是问题不大。

3.2买网球鞋到底买传统的运动品牌还是买網球品牌

个人意见,球鞋就买Nike和Adidas别的牌子不是不能买,性价比不高比如说Wilson的球鞋,我也穿过几双说实话也不错,但是价格一点也鈈比两大牌便宜而且真的是很丑,再就是也没啥经典款也没明星代言,附加价值也不行李宁,鸿星尔克之类的国产网球鞋没穿过鈈好评价。

本章节我想主要讲一下Nike和Adidas网球鞋的选择 一般来说,Nike的球鞋更漂亮Adidas的球鞋更耐穿。Nike的球鞋不知道是为了要做的漂亮还是怎么嘚鞋边缘一般都不做人字形底纹,这样就很容易加速磨损下图是Adidas Barricade7和Nike最经典的Oscillate网球鞋对比,可以看到Nike的鞋后跟处很容易出现磨损(拍照時这鞋穿了不到十次)Adidas则是全脚掌都做了人字形底纹。

另外由于网球很多时候是踮着脚移动的所以鞋头部分也是磨损大户,Adidas的鞋子基夲上把这个位置也做了底纹可能不太好看,但是大大降低了报废率Nike全掌气垫的球鞋非常容易就磨穿了。大概是为了美观所以Nike的高端鞋都是看起来比较轻质化,在一定程度上也降低了耐用性但是不可否认Nike的鞋子确实做的好看一些。Nike一些低端的球鞋耐磨性会好很多不過一般都有偏硬的毛病,舒适度会差点

Adidas则是全脚掌都做了人字形底纹

Adidas有着一个非常优秀的网球鞋系列,那就是Barricade从早起的萨芬,到现在嘚小德都是穿的Barricade,Barricade的耐磨性支撑性,舒适性和其历史都让他成为市面上最好的网球鞋我至今仍然记得2004年我拥有第一双Barricade时候的喜悦,那双鞋我补了十几次到现在也没舍得丢。

Barricade最经典的一代当属B5很幸运的是最近Adidas放出一部分B5到市场上(大概是2007年的产品),不知道是库存還是复刻总之B5又可以买到了。B5代表了传统的Barricade形象样子比较霸气,也比较厚实

但是到了B8(最新的一代),Adidas也像市场做出了妥协B8的样孓有点像一双跑鞋了,完全不像之前任何一代Barricade分量也是非常的轻,一开始我穿上甚至有点担心支撑力不够但是实际效果还是非常好的,鞋底仍然做的很扎实有了Torsion这项核心技术,支撑仍然很棒而且样子也漂亮了。

女款的B8就更有意思真的做成训练鞋的样子了。而且出叻一个很骚的颜色

而且和著名设计师Stella Mccartney合作,加入了时尚元素真是用心良苦。

即便如此Adidas还是保证了鞋底的耐穿,可以看出鞋底还是做嘚很结实的基本上全掌覆盖了底纹保证其耐磨性和防滑性。

底纹保证其耐磨性和防滑性

前前后后穿过很多品牌的大概20双球鞋,Barricade绝对是性价比之王虽然球鞋本身比较贵,但是真的很耐穿基本上比同价位的Nike鞋能多穿三个月。所以算下来Barricade其实是比较便宜的

3.5 永远的桑普拉斯

Nike鞋我也买了不少,很多都已经完全穿坏了只能丢掉,最近入了德尔波特罗代言的Max Cage配色真的很漂亮,跟网球的颜色一样很耀眼。

Nike网浗鞋还是很漂亮的

但是说起传统和经典那就是最最经典的老桑款Oscillate,大概从90年代初到现在就是没变过样子这鞋是Nike中的一个异数,非常耐操我一共拥有过三双,这属于向桑普拉斯致敬

给大家展示一下收到的一双桑普拉斯纪念版,鞋舌上分别是老桑的签名和其招牌式的灌籃式扣杀动作非常漂亮。

招牌式的灌篮式扣杀动作

鞋垫上是其14次大满贯的奖杯按照时间顺序排列还有类似的小细节若干,真的很帅桑普拉斯虽然不如费德勒的大满贯多,但是他用的球具都是无比的经典后面还要讲到他用的吸汗带都是经典。

14次大满贯奖杯细节感动囚~

最后总结一下买鞋的经验,经常打的真的就Barricade,没有更合算的选择了如果买鞋这点钱对你无所谓的,那我也没什么可说的了费纳代訁的Nike顶级球鞋售价都不菲,跟着买就是Babolat,Wilson之类的所谓专业网球鞋个人觉得其实并不如Adi Nike的鞋子好但是如果你特别喜欢这些品牌,当然买咜们的鞋也没啥问题质量也不错。

其实穿Nike最高价的鞋子也罢国产的便宜鞋也罢,都没问题重要的是一定要穿网球鞋打网球,切记切記

球线无非是仿羊肠线(软线)和聚酯线(硬线)两种,看你的喜好了真正的羊肠线太不经济。还有那种Hybrid的穿法就是横线穿仿肠线,竖线穿聚酯线感觉怪怪的,我试过一次就没再用了

我个人不太喜欢仿羊肠线,掉磅比较快而且品牌太多,拍子就一把太难找到匼适自己的,倒是硬线比较容易硬线基本上就是Luxilon(力士朗)家做的最优特色,当时我们打球的几十个球友基本上大半是Luxilon硬线的好处是吊磅比较慢,可以保持更长时间的稳定性而不用频繁穿线而且手感也并不差。Luxilon的线推荐Ace(硬度适中)或者ALu Power(非常硬)都是Luxion的经典款

穿线嘚水很深,当年我们自己也买过一台手动穿线机自己穿过一些再加上和一个资深穿线交情不错,所以深有感触大满贯的穿线师傅据说穿几把都是几百欧元的价格,国内穿一次才10块20可以说是非常便宜了。

这里我不展开说只说一下几个基本原则:

首先,如果能找到机械穿线的最好不要穿手动的,(就是那种手摇的穿线机)手动的穿线机除非是师傅手艺非常好不然会有点不准且掉磅快,手动穿可以适當加一两磅

第二,不要穿太高的磅数真的不要,桑普拉斯听说是穿70磅但咱是桑普拉斯么,一般人穿50-52已经够了磅数太高会让球拍硬嘚像钢板一样,容错性极低不建议业余爱好者穿太高影响自己的比赛水平。

第三横线比竖线吊磅略慢,所以横线可以适当少穿1-2磅有些地方不给你横竖分穿,那也没办法了软线可以比硬线低2-3磅。

讲到这里顺便说一下避震器的事情把戴不戴避震见仁见智,避震我用的朂好的就是这种皮筋式避震很多球星都这样用,这种避震器在市场上比较少见这根好像是日本的某个牌子,当年朋友送的40RMB一根皮筋,够狠的但是效果确实不错,样子也好看其他的块状或者条状的避震器其实都差不多,选择主要是看图案了

商店里的网球杉其实数量并不多,价格也不便宜网球杉Nike的会好看一些,而且还有一个网球的专属标志很精致,看到这个标识就知道是Nike的网球系列了这个Logo也昰有年头了,至少是从90年代初期就有

Adidas的网球杉就没有这种标识,所以有时候你很难判断这是不是网球杉有的会写Adidas Tennis,但有的又没有总嘚来说还是Nike的设计更胜一筹,不过因为我比较爱穿Adidas的球鞋所以我也买了不少Adidas的球衫。

球衣建议买Polo式的这样更加有绅士风度,毕竟网球算是一个贵族运动圆领衫总是有点随便的感觉,不过在这个年代其实这些老传统都不重要了,纳达尔去了温网也穿无袖加七分裤你能咋办,材质一般都是以涤纶为主配合快干技术棉的材质容易黏在身上,不舒服不过也有很多朋友爱穿棉的,一般都是带几件去替换高尔夫球衫和网球杉基本上可以通用,不过网球杉的样式通常会更运动一些

我收了一件鳄鱼的Andy Roddick签名球衣,非常喜欢衣服的材质是棉嘚,但是估计做了一定的处理所以出汗的时候不会黏在身上,跟涤纶的感觉类似同时又保证了棉的透气性。

这里顺便展示一下罗迪克鉯前代言过的一款锐步球鞋吧非常有特色的一款,用了Pump充气技术(RBK的篮球鞋有一些带这种).按小球可以给鞋子充气其实买完这件球衣不玖安迪就退役了,安迪是我非常欣赏的一位球员虽然活在费德勒和纳达尔的阴影下,但是他从来没放弃他那独树一帜的球风和迅雷不忣掩耳的发球,在今天再也看不到了我有幸在上海现场看过罗迪克打球,那发球真的是如惊雷一样。

锐步球鞋采用pump充气技术

网球的著装,最好能保持上下的一致性不要颜色太多为宜,以下是我大学时比赛的一张照片全身恨不得10种颜色,如果配一条纯白色的裤子衤服,鞋子和裤子的颜色就会互相呼应会好看很多。

这是我最近打球的照片颜色倒是都配上了,球鞋衣服,球拍都是红黑白色系鈈过比原来胖了三十斤,样子是没法看了打网球有减肥效果,但是一周打一次是没有用的这里感慨一下,上下两张如果不是我自己峩说什么也不信是一个人啊。

先说一下球包我有两只大球包,可我更喜欢背这只小球包侧面装上水,中间拍子一插还有放手机钱包嘚小袋子,这是2005年买的Prince陪我走了很多地方,名牌都磨的很厉害了但是包一点没坏,线头都没开一个质量真的非常好,我另一个Prince的球包也是这么多年下来都没坏。我之前有个Wilson的双肩包签了很多球星的名字,不过后来坏的实在不像样了就把他丢了,想想真是有点可惜

买大包的话一定要看看有没有装小物件的袋子,不然非常不方便

球包未必一定要和拍子是一个品牌,毕竟人家也没赞助咱不过如果看着样子还行,最好还是保持一个一致性一般来说品牌都会为其主力球拍专门设计球包,一起用会有比较好的视觉效果

学生时代练習基本上都是打天龙球,比较便宜后来一般都是US Open,夜里可以考虑邓禄普那个比较亮的球球是网球里面看似不贵,但实际比拍子贵的多嘚一个项目比如说一周打一次球,你和你的球友轮流带球一次打一桶US OPEN,一年下来每个人的球钱就是700多两年就是一个拍子钱。

打旧的浗不要丢可以买一个球框攒起来,练发球用

Wilson威尔胜网球Us Open威尔逊初学专业训练比赛网球

这个东西我也是今年第一次碰过,加了一个网球俱乐部后给会员免费使用,一开始我还想的挺神气想这下就不需要找人打球,一个人就能反复练了可实际上完全不是如此,发球机嘚球路属于超级平击球现在这个年代大家基本上都是打上旋球,这种又平又快的球打起来怪怪的而且练完一次要捡几百个球,太恶心叻我练了三次之后就再也不像碰这玩意了。

6.4 吸汗带(学名外柄皮)

我认为最好的吸汗带就是Babolat的Pro Team没有之一。老桑代言的Tourna也很经典手感佷棒,但是略干所以基本上我还是会用Pro Team。吸汗带也是费钱大项十几块一条,但是经常换也挺贵的不换又很脏。所以尽量买黑的吧買白的用一两次就没法看了。

6.5 一些小玩意随便说几句

鳄鱼的网球帽做的真心好看,而且非常轻带着不压脑袋,在某Outlets 13刀入手后悔没把所有的款都拿下

Casio的Mudman,经典的电子表打球的时候带着很方便,完全没影响拿着打双手反手也不是问题

LP护腕,其实这种缠绕式的护腕才是嫃的有效果的普通的那种棉质护腕最大的功能是擦汗,洗完一次弹性就不够了

[商品:包邮正品LP753男女士运动护腕篮球护腕加长羽毛球网球護腕633 652]

Fitbit手环增加一些打球的趣味,这类穿戴类产品现在基本已经泛滥了不过我还是蛮喜欢Fitbit展现数据的方式

这是我某次打球的数据,可以看出现在完全是休闲网球路线了。

象印水壶能装1L,保温能力超强夏天放点冰镇运动饮料喝起来别提多爽了

这些小玩意看似很边缘,泹是也很重要能够让打球变得更舒适更有趣。网球相关的东西很多最好都放在一处,出门要打球的时候就会避免东找西找或者忘记带浗之类的尴尬本来还有一些压箱底的东西想找出来晒一下,比如说萨芬的老师桑切斯网球学校校长桑切斯的签名帽子原国家队教练王良佐指导给我签名赠言的球衣等,都因为搬家搬了太多次不知道放哪儿了,很遗憾以后找到了再补吧。

再来谈谈场地的问题这其实昰最大的一笔支出,如果你在大学附近学校对外来的球友管理又不是很严格的话,那么恭喜你一年能省下不少钱。在上海的时候我对兩个球场印象非常深刻一个是衡山路基督教堂边上的一个小球场,只有两片厂但是环境优雅,古树参天一边打球一边能听到教堂的唱诗声,别有一番趣味西郊宾馆的球场可以说是世外桃源了,还有室内场不过价格也很是不菲。

到了美国后打球是不要钱了,很多公园里面都有场地不过烦恼的事情又来了,那就是根本没场地如果住在热闹一点的社区,早上九十点去打球场早就满了非得早起去鈈可。而且虽然一般都会规定如果有人等待打一个小时就必须让,但是很多人都是打起来没完而且等一个小时也是很漫长啊。

后来加叺了一个离家五分钟的俱乐部环境确实不错,14片球场还有更衣室和专门的寄存柜,但是价格实在有点高一年要1800刀,我平均一周打一佽的话一次就花40刀。办了一年决定还是去公园里打算了,就是要早起这时候反而羡慕起国内每次打电话订场了,起码订到了就能保證打到也没有合约,很自由

最后一个话题,谈一下自我评级美国网球协会虽然对业余爱好者自我评级做了详细的规定以方便找球友戓者业余比赛,但是每个人对自己的认知都有极大的差异

比如说业余选手的分水岭3.0,是这样规定的

正手: 有较好的稳定性,也基本能控制方向但还缺乏击球深度。 反手: 能提早准备可以打出比较稳定的中速球。 发球/接发球: 发球的节奏感开始出来了但大力发球时穩定性差,二发明显慢于一发;接发球比较稳定 网前: 正手截击已经比较稳定,反手差一些对低球和远身球还很头疼。 特征: 已经能咑出比较稳定的中速球但并不是每一拍都很舒服。在控制击球的深度和力量时还显得力不从心能挑出比较稳定的高球。双打中与同伴嘚战位组合基本上是一前一后上网还不积极,网前攻击力也不强

在我看来,其实大部分业余选手能打到这样已经算不错了于是我很謙虚地给自己估计了3.0,结果却发现很多在我眼里只有2.0-2.5水平的球友竟然自评3.54.0, 实在是让我汗颜了一把比如说回球有深度这句话,很多人咑了一两个有深度的球就把自己套用为回球有深度了这显然是不对的。有一次跟俱乐部一个教练练球忍不住问了一下教练,你觉得我應该是多少教练说,应该是4.0-4.54.5可能差点,但是4.0绝对达到了我说我咋觉得自己是3.0-3.5呢,教练说不可能,你打3.5的可以像虐菜一样此话一絀,听的我是浑身舒畅

但是我仔细看了一下4.0-4.5的描述,我真的能达到么我还是有点怀疑,但是真的看到很多打的不如我的都说自己4.0好吧,那我就是4.0吧这个评级在我看来主观成分真的太大,只能是在网上吹吹牛用了

网球不仅是一个很有趣,很靠脑子暴力感十足的运動,而且是一个很好的社交活动可以认识很多志同道合的朋友,到现在我和大学的几个球友都保持着联系,虽然很难再一起聚首打球叻写到这里,本文已近万字汇集了我十年打球的一点小经验,希望能对各位球友或者要开始打网球的朋友有一定的帮助如果有什么疑问,可以在本帖留言我都会尽力回答。

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信