创建mesh,为什么会提示有c 内存泄漏漏

博客访问: 1821424
博文数量: 345
博客积分: 9650
博客等级: 中将
技术积分: 3931
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
发布时间: 14:40:48
关于BLE Mesh1:/research-blog/internet-of-things/bluetooth-smart-mesh-make-sense-iot/2:/range-limitation-what-range-limitation-introducing-mesh-networks/3:/NordicSemiconductor/nRF51-ble-bcast-mesh4:https://transl.........
阅读(769) | 评论(0) | 转发(0)
发布时间: 14:38:32
1.Smart 和 Smart Ready 标志是什么?&答:未来蓝牙将会分为三种:。Bluetooth Smart Ready、Bluetooth Smart、以及标准 Bluetooth。根据 Bluetooth SIG 的说法,新的印记是为了要分辨装置间的兼容性以及标示各版本的适用传输频率。&2.蓝牙目前的最高版本是多少?&答:现在蓝牙技术最新标准是4.2,.........
阅读(438) | 评论(0) | 转发(0)
发布时间: 14:37:04
1.Wi-Fi 网络中,2.4GHz 和 5GHz 区别?&1)/thread--1.html2)/question/.single-Stream 是什么意思?&3.什么是IEEE 802.15.4?&/info/newschange/gongsinews1407131.html4.wifi、WLAN、802.11有何区别?&.........
阅读(422) | 评论(0) | 转发(0)
发布时间: 15:01:08
转自Doctor_A 坛友的笔记!之前做接触过一次红外遥控器,现在有空想用简单的话来聊一聊,下面有错误的地方欢迎改正指出:1:红外的概念不聊,那是一种物理存在。以下聊38K红外发射接收,主要讲可编程的红外编码。2:红外遥控&&&&红外遥控首先需要用来发“光”的红外发光管,还有一个接收光线的“接.........
阅读(1328) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
你好 有问题向您请教&&渴望得到回复
请登录后留言。Unity Bugs 总结-GAD腾讯游戏开发者平台来个某大神的mini quadcopter&br&&img src=&/5cddf42703bd8dde85492_b.jpg& data-rawwidth=&400& data-rawheight=&300& class=&content_image& width=&400&&&br&&br&&a href=&///?target=https%3A///billhsu/MiniQ& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&billhsu/MiniQ · GitHub&i class=&icon-external&&&/i&&/a&
来个某大神的mini quadcopter
&p&好多!从熟悉的开源项目开始。&/p&&br&&b&工具篇&/b&&p&工欲善其事,必先利其器。&/p&&ol&&li&&p&&a href=&///?target=https%3A///mbedmicro/CMSIS-DAP& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&CMSIS DAP&i class=&icon-external&&&/i&&/a&&br&J-Link 用过吧?这是比 J-Link 更强大的存在,集成下载、调试和USB虚拟串口(另一个分支中还有实时电流测量功能),针对 SWD/JTAG 调试接口和 ARM 的 MCU,可配合 Keil 和 IAR 使用(默认支持),也可配合 &a href=&///?target=https%3A///mbedmicro/pyOCD& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GDB Server - pyOCD&i class=&icon-external&&&/i&&/a& 和 GCC ARM Embedded 使用。&/p&&/li&&li&&p&&a href=&///?target=https%3A///DreamSourceLab/DSLogic& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&DSLogic&i class=&icon-external&&&/i&&/a&&br&好用、跨平台的逻辑分析。&/p&&/li&&li&&p&&a href=&///?target=https%3A///Seeed-Studio/DSO_Nano& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&DSO Nano&i class=&icon-external&&&/i&&/a&&br&便携手持示波器,谁用谁知道。&/p&&/li&&/ol&&b&平台篇&/b&&p&站在巨人的肩膀上。&/p&&ol&&li&&p&&a href=&///?target=https%3A///arduino& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Arduino&i class=&icon-external&&&/i&&/a&&br&简单,艺术家设计师也可以使用;众多的软硬件模块;强大,通过软硬件加法运算,组合出无限可能。&/p&&/li&&li&&p&&a href=&///?target=https%3A///mbedmicro/mbed& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&mbed&i class=&icon-external&&&/i&&/a&&br&&a href=&///?target=http%3A//developer.mbed.org/components/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&丰富的软硬件资源&i class=&icon-external&&&/i&&/a&,让原型实现很简单,从原型到产品很流畅。有走在时代前沿的在线开发环境,也有 Keil 和 IAR 等集成开发环境的支持。背后是 ARM、ST、NordicSemi、NXP 和 Freescale(两家居然二合一了),还有非常活跃的社区。&/p&&/li&&li&&p&&a href=&///?target=https%3A///coocox& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&CooCox&i class=&icon-external&&&/i&&/a&&br&针对 ARM Cortex-M 的,不错的SDK、丰富的库和易用的工具。&/p&&/li&&/ol&&b&系统篇&/b&&p&告别裸奔!&/p&&ol&&li&&p&&a href=&///?target=https%3A///RT-Thread/rt-thread& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&RT-Thead&i class=&icon-external&&&/i&&/a&&br&丰富的组件(以太网、文件系统、UI和USB等),良好的中文文档,国内难得的RTOS。&/p&&/li&&li&&p&&a href=&///?target=https%3A///RIOT-OS/RIOT& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&RIOT&i class=&icon-external&&&/i&&/a&&br&Tickless! 为 IoT 而生,也有很丰富的组件。&/p&&/li&&li&&p&&a href=&///?target=https%3A///tinyos& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Tiny OS&i class=&icon-external&&&/i&&/a&&br&小如其名,采用特别的 nesC 设计应用。&/p&&/li&&/ol&&p&还有很多 &a href=&///?target=https%3A///ChibiOS& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&ChibiOS&i class=&icon-external&&&/i&&/a&,&a href=&///?target=https%3A///contiki-os& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Contiki OS&i class=&icon-external&&&/i&&/a& 等等……&/p&&br&&b&语言篇&/b&&p&语言?!嵌入式里面就只用 C 和 C++……等等,还有汇编。&br&非也。欢迎进入嵌入式中的时尚界,玩转 Lua、Python、Javascript,一起裸奔更刺激——不跑系统。&/p&&ol&&li&&p&&a href=&///?target=https%3A///elua/elua& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&eLua&i class=&icon-external&&&/i&&/a&&br&Lua本来就很小,Embedded Lua更小。&/p&&/li&&li&&p&&a href=&///?target=https%3A///micropython/micropython& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Micro Python&i class=&icon-external&&&/i&&/a&&br&人生苦短,继续用 Python。&/p&&/li&&li&&p&&a href=&///?target=https%3A///espruino& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Espruino&i class=&icon-external&&&/i&&/a&&br&Javascript 凭借 NodeJs 入侵服务器攻势正猛,同时抢滩登陆嵌入式。&/p&&/li&&/ol&
好多!从熟悉的开源项目开始。 工具篇工欲善其事,必先利其器。 J-Link 用过吧?这是比 J-Link 更强大的存在,集成下载、调试和USB虚拟串口(另一个分支中还有实时电流测量功能),针对 SWD/JTAG 调试接口和 ARM 的 MCU,可配合 Keil 和 IAR 使用…
PC型号:ThinkPad X240&br&OS版本:LMDE2 Cinnamon 64-bit&br&&br&首先是安装,Gdebi提示需要安装12项依赖,大致看了一下,主要都是qt5相关的包(全部的依赖在文末已经被列出来)&br&&br&安装完之后Menu里多了一个&Others&的分类,里面装着一个孤零零的NetEase Cloud Music……所以还是要用menu editor手动把这个启动器移动到Sound & Video分类里,不知道其他桌面环境有没有这个问题&br&&br&默认字体很迷,我的歌单里都是日文歌,所以一开始默认字体的假名显示和中英日混排效果就刺痛了我的双眼,我都没有勇气去看歌词界面……记得Windows版客户端里似乎有指定字体的功能,怀着试试看的心情进设置找了一下发现果然Linux版也有,然后就愉快的思源黑体走起了,贴张图&br&&img data-rawheight=&670& data-rawwidth=&1022& src=&/4e217ce50aacf26adf0b12c_b.png& class=&origin_image zh-lightbox-thumb& width=&1022& data-original=&/4e217ce50aacf26adf0b12c_r.png&&&br&继续深挖设置,GPU加速默认禁用,我打开了发现也没有什么问题(I卡驱动加成?)&br&&br&快捷键的部分有点头疼,一些全局快捷键和系统冲突了,不过大可以不用这些全局快捷键,系统自己提供了音量控制,Cinnamon系统托盘里的音量调节控件可以控制网易云音乐播放暂停切换歌曲,但是歌名、艺人名、封面图片全部获取不了(大光盘封面,Unknown Artist,Unknown Title),想知道其他桌面环境情况如何&br&&br&桌面歌词很有意思,默认勾选“启用总在最前”,但一开始没用,我关了再重新点开才生效。歌词字体提供单独的调节项很人性化。默认粉粉的字体颜色不易辨识,而且软件提供的配色方案没一个能用的,已播放一律设成几乎白色实在无力吐槽,我自己调成了蓝色&br&之前有答主说桌面歌词无法拖动、歌词不同步,在我这里没有这个问题,桌面歌词可以拖动,另外注意一下歌词是不是被快进了(我一开始也以为歌词不同步结果最后发现歌词整个被快进了8秒23333)&br&&img data-rawheight=&768& data-rawwidth=&1366& src=&/2ef78132bdeade5d5f57_b.png& class=&origin_image zh-lightbox-thumb& width=&1366& data-original=&/2ef78132bdeade5d5f57_r.png&&&br&关于性能,之前有答主吐槽说占了3.2GB内存……我看了一下,两个进程,100+MB(滑稽)&br&估计还是那位答主脸太黑……留图为证&br&&img data-rawheight=&500& data-rawwidth=&700& src=&/a073f63c41f637ee79df_b.png& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&/a073f63c41f637ee79df_r.png&&&br&&br&关于安定性,我是一边安装&使用一边写这个答案的,在这近2个小时的时间带里暂时还没有发生崩溃、闪退、内存泄漏等现象&br&&br&最后的简评:业界良心,亦可赛艇&br&&br&有人问我要装哪些依赖……我也不记得那么多了啊,而且不同环境缺失的依赖肯定也不一样啊,我的结果也没有什么参考价值(var/log/dpkg.log下只有手动安装记录,安装时顺带装上的依赖包似乎也不会记录在这里,也就是说我现在想查也查不到了23333)&br&所以我把所有的依赖全打出来算了……&br&&div class=&highlight&&&pre&&code class=&language-text&&han@lmde2-thinkpadx240 ~ $ apt-cache depends netease-cloud-music
netease-cloud-music
Depends: libasound2
Depends: libatk1.0-0
Depends: libc6
Depends: libcairo2
Depends: libcue1
Depends: libcups2
Depends: libdbus-1-3
Depends: libexpat1
Depends: libfontconfig1
Depends: libfreetype6
Depends: libgcc1
Depends: libgdk-pixbuf2.0-0
Depends: libglib2.0-0
Depends: libgtk2.0-0
|Depends: libnspr4
Depends: libnspr4-0d
|Depends: libnss3
Depends: libnss3-1d
Depends: libpango-1.0-0
Depends: libpangocairo-1.0-0
Depends: libqt5core5a
Depends: libqt5dbus5
|Depends: libqt5gui5
Depends: &libqt5gui5-gles&
Depends: libqt5multimedia5
Depends: libqt5network5
Depends: libqt5widgets5
Depends: libqt5x11extras5
Depends: libqt5xml5
Depends: libsqlite3-0
Depends: libssl1.0.0
Depends: libstdc++6
Depends: libtag1c2a
Depends: libx11-6
Depends: libxcursor1
Depends: libxext6
Depends: libxfixes3
Depends: libxi6
Depends: libxrandr2
Depends: libxrender1
Depends: libxss1
Depends: libxtst6
Depends: zlib1g
Depends: gstreamer0.10-plugins-ugly
Depends: libnspr4
Depends: libnss3
Depends: libqt5sql5-sqlite
Depends: libqt5multimedia5-plugins
Depends: libqt5multimediawidgets5
|Depends: &libtag1v5&
Depends: libtag1-vanilla
&/code&&/pre&&/div&
PC型号:ThinkPad X240 OS版本:LMDE2 Cinnamon 64-bit 首先是安装,Gdebi提示需要安装12项依赖,大致看了一下,主要都是qt5相关的包(全部的依赖在文末已经被列出来) 安装完之后Menu里多了一个"Others"的分类,里面装着一个孤零零的NetEase Cloud Music……
如需转载请私信联系。&br&--------------------------------------------------------------------&br&我去!居然有这个问题!必须我来答!!!!&br&&br&因为机缘巧合,我和新闻中这个少年的创业公司一起工作了两周,对他们的思路也算有一定了解。&br&&br&事情是这样的,这个少年在某学术会议上发言,由于思路和我导师比较相近,就被引荐给了我导师。由于我导师对memory方面很在行,而他们的长处在于微处理器架构,于是就导师把他们邀请到我们课题组工作了两周,双方取长补短。新闻中的这个Thomas和他的CTO Paul两个人过来的。他们昨天的飞机刚飞回加州,这两周有不少有意思的事儿,暂且不表。先认真答题。&br&&br&首先他们的Target是High Performance Computing(高性能计算,以下简称HPC,主要应用于超算),而不是我们日常用的General Purpose Computing(通用计算)。而HPC这个领域做芯片的一大优势,就是很少用考虑向前的兼容性(对比于x86),而且可以针对大多数HPC应用的特点对架构进行特别的优化。夸张点说,就是根据软件的行为设计硬件,砍掉一切不需要的部件,从而达到效率最大化。另外他们所说的指标,应该是&b&从系统层面来比较的,而非单个芯片进行比较&/b&。&br&&br&下面根据他们公开过的资料说一下他们一些独特的思路。&br&&br&&ul&&li&&b&采用VLIW (Very Long Instruction Word)架构&/b&。简单来说就是几条并行的流水线,可以同时执行多条指令。由于超算应用中有大量的并行运算(矩阵向量运算等),因此非常适合并行化,采用VLIW流水线利用率比较高。相比于multi-issue,out of order的通用芯片,硬件逻辑可以更简单。很多DSP芯片都是采用VLIW架构,可以达到很高的(浮点)性能功耗比,已经完爆现在的Intel产品了,但要让他们跑Windows什么的一样抓瞎。。所以题主在这里用Intel的芯片和VLIW架构比较是不太恰当的,毕竟设计目的不一样,就好像比较超跑和拖拉机哪个更好一样。。耕地当然用拖拉机了~~&/li&&li&&b&完全摆脱虚拟内存!&/b&这个听起来好像疯了,但其实在超算领域反而make sense,因为超算一般一次只跑一个程序,或者很少的程序,很少需要context switching。因此一个地址空间够用了。而传统的通用芯片因为支持虚拟内存,不知要做多少无用功。去掉虚拟内存和paging,硬件上就不用TLB了,系统层面也不用再不停维护page table了。这是很大的开销,尤其是超算集群,相互访问内存是很麻烦的。&/li&&li&&b&砍掉Cache,采用软件管理Scratchpad Memory&/b&。这个听起来也是疯了。。传统的芯片都是有Cache的,cache miss和coherence是架构设计者永远的痛。而超算领域,写超算应用的人一般都是知道自己在干嘛(know what they're doing)。于是他们的芯片里会有一部分访问速度会很快的Scratchpad Memory代替cache,但只不过是由程序员手动管理而非交给硬件管理的。这样也可以砍掉相当多的硬件电路,效率也更高。&/li&&li&&b&采用2D-Mesh,static routed网络&/b&。这一点是他们的初始思路,但讨论过后发现可能会有问题,所以他们现在其实也还不是很确定以后会不会这么做。所以这点也不展开了。&/li&&/ul&&br&如果以上几点能做到的话,比现在采用Intel CPU+Nvdia GPU的超算超算省电真心不是一点半点。当然他们的思路比较激进,不知道后面会遇到怎么样的问题,不过现在看来还是很可行的。&br&&br&最后默默感叹一下,虽然这两位少年都很谦虚且平易近人,但是那种智商和能力上的碾压让我真正体会到了人和狗的差距T T&br&&br&---------------------------------------&br&感觉大家对八卦都更感兴趣么=。= 那补充一点好了&br&&br&CEO是一个19岁的娃,高中都没读完就辍学了,然而因为太耀眼还是被MIT相中去!做!科!研了!!注意,不是被MIT录取读本科读PhD,是直接去MIT做!科!研!了!在MIT工作了大概两三年以后辞职创业,现在才19岁!!!&br&&br&我们第一次见他的时候并不知道他才19,只是看他满脸青春痘应该还是挺年轻的。。有一天工作之余大家开始讨论《权利的游戏》(别说我们工作不认真啊),后来说唉第一本书是哪年出的啊?谷歌了一下,《冰与火之歌》第一卷出版于96年,然后这位少年嘀咕了一句“That's older than me”。。我们其他人就。。。。&br&&br&说他是天才,智商是一方面,关键是19岁就有如此强大的知识储备和洞察力。平时工作的时候,我们这些研究新生只能和他讨论一些技术层面的细节问题,但一旦他提起一个什么idea,多半还是得和我们导师或者组里的大师兄才能聊得来。。他对Computer Architecture这方面的历史了解的非常多,经常能讲出一些他出生以前就发生的事儿。。&br&&br&后来有一次聊天得知他家就在硅谷当年DEC的工厂附近(现在很多人都没听说过DEC了吧),周围住的基本都是工程师,父母是做什么的我没有问不过十有八九也是做IT的。我觉得他年纪这么小就有如此强大的积累和敏锐的直觉,和他的家庭成长环境是分不开的。&br&&br&CTO Paul没有CEO那么耀眼,不过也是很聪明,从小就是代码小神童的感觉。大学只上了两年就辍学加入Thomas的创业公司,但在此之前他就已经是Linux Kernel Contributor了。。CEO对他的评价就是&he learned Linux before he was born&。我们工作的这两周他说话比较少,就是埋头写代码,专注程度让我羡慕。但我们一旦有点能请教他的技术问题,打断他一下分分钟就给我们解决。。&br&&br&两个娃人都很nice,完全没有恃才傲物的感觉。能跟他们合作也是很开心~&br&-----------------&br&关于一些热点问题以及其他答案的解答:&br&&br&1. 他们官方网站中对性能指标的宣传,我在评论中也说了,当然是给投资人和媒体看的。但作为一个初创公司,你不把目标定的远大一点,市场前景描述的广阔的一点,谁给你投资啊=。=&br&&br&2. 虽说是为了拉投资,但这两位创始人绝对是在非常认真地做事儿,不是像某些人想的那样拉来钱玩一玩(这么说的人我也只能恶意揣测一下你们的境界也就如此了)。在我们实验室工作期间他们两位一般都是最后离开的,而且每天工作餐都是在楼上自动贩卖机买一点零食回来边工作边吃了,周末还开车8个小时去见投资人而不是买飞机票去。&br&&br&3. 最后不管他们最后成功也好失败也罢,我都很佩服不到19岁就敢到巨头垄断的行业去分一杯羹的少年。
如需转载请私信联系。 -------------------------------------------------------------------- 我去!居然有这个问题!必须我来答!!!! 因为机缘巧合,我和新闻中这个少年的创业公司一起工作了两周,对他们的思路也算有一定了解。 事情是这样的,这个少…
不知道你是不是指的纯技术方面的准备,如果是的话,我就提供一些拙见,大部分算是一些开发知识死角或者tips吧,权当抛砖引玉了:)&br&
下面的回答建立在JAVA基础(看着《JAVA核心技术 vol1》目录能梳理一遍JAVA常见知识点)和Android基础都过关的情况下。&br&一、JAVA SE&br&1、JAVA标准容器&br&
可能受一些网上流传的各种demo的影响,大多数Android开发者最拿手的就是ListView(RecycleView)+BaseAdapter+ArrayList三剑客,但是要知道ArrayList还有两个亲戚,一个是近亲CopyOnWriteArrayList,另外是远房LinkedList、CurrentHashMap。CopyOnWriteArrayList的效率比ArrayList略有下降,空间利用率也下降了很多,但是CopyOnWriteArrayList是线程安全的,CopyOnWriteArrayList和ArrayList对尾的操作都为O(1),但是其他位置的删除,插入操作很增加很大的时间复杂度,涉及到一次内存搬移过程,不过random access效率很高;LinkedList的随即插入和删除性能很高。&br&tips:数组复制,请使用System.arrayCopy或Arrays.copyOf 实现,且在JAVA中后者基于前者实现。&br&2、JAVA并发&br&
1、&b&ThreadPoolExecutor&/b&,JAVA并发的核心线程池框架,不过它的构造函数非常复杂:&br&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&kd&&public&/span& &span class=&nf&&ThreadPoolExecutor&/span&&span class=&o&&(&/span&&span class=&kt&&int&/span& &span class=&n&&corePoolSize&/span&&span class=&o&&,&/span&
&span class=&kt&&int&/span& &span class=&n&&maximumPoolSize&/span&&span class=&o&&,&/span&
&span class=&kt&&long&/span& &span class=&n&&keepAliveTime&/span&&span class=&o&&,&/span&
&span class=&n&&TimeUnit&/span& &span class=&n&&unit&/span&&span class=&o&&,&/span&
&span class=&n&&BlockingQueue&/span&&span class=&o&&&&/span&&span class=&n&&Runnable&/span&&span class=&o&&&&/span& &span class=&n&&workQueue&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&k&&this&/span&&span class=&o&&(&/span&&span class=&n&&corePoolSize&/span&&span class=&o&&,&/span& &span class=&n&&maximumPoolSize&/span&&span class=&o&&,&/span& &span class=&n&&keepAliveTime&/span&&span class=&o&&,&/span& &span class=&n&&unit&/span&&span class=&o&&,&/span& &span class=&n&&workQueue&/span&&span class=&o&&,&/span&
&span class=&n&&Executors&/span&&span class=&o&&.&/span&&span class=&na&&defaultThreadFactory&/span&&span class=&o&&(),&/span& &span class=&n&&defaultHandler&/span&&span class=&o&&);&/span&
&span class=&o&&}&/span&
&/code&&/pre&&/div&所以&b&有一个方便我们使用的工厂类,&/b&&b&Executors,可以创建4种类型的ThreadPool&/b&:&br&&ul&&li& 固定线程数量的线程池:Executors.newFixedThreadPool(int size);&/li&&li&单线程异步队列:Executors.newSingleThreadExecutor();&/li&&li&周期性调度:Executors.newSingleThreadScheduledExecutor();&/li&&li&多线程周期性调度:Executors.newScheduledThreadPool(1);&/li&&/ul&说到ThreadPoolExecutor的构造函数,它的最后一个参数BlockingQueue&Runnable&来自于包&b&java.util.concurrent&/b&,ArrayBlockingQueue、LinkedBlockingQueue、SynchronousQueue、PriorityBlockingQueue和这个包里面其他的类也要过一遍。&br&&b&workQueue一定要用有界队列!&/b&设想一个极端情景,假设每个TaskWork都运行10s(更确切的说,IO等待10s),而ThreadPool在10s内接收到了1000个这样的TaskWork,如果我们使用了无界队列,队列的大小必然会急速增长直至进程Crash,但是如果我们使用了有界队列,假设队列长度为128,当TaskWork超过128,我们会有另外的线程帮忙处理,那系统的负载就可能降下来了。&br&
上面说到了任务池的创建,那里面的任务是什么?从哪儿来呢?里面的任务是&b&FutureTask&T&,&/b&构造函数的参数是一个Callable对象,而我们真正的任务就在Callable对象里面的call方法,FuterTask执行实际任务后会在主线程调用done函数,最后通过ExecutorService的submit方法将FutureTask提交到任务池。发一段伪代码:&br&&div class=&highlight&&&pre&&code class=&language-text&& public class SomeCallable implements Callable&String& {
public SomeCallable() {
public String call() throws Exception {
// some heavy work consting amounts of time
return &result&;
FutureTask&String& futureTask = new FutureTask&String&(new SomeCallable()) {
protected void done() {
String result = get();
//dosth to result
ExecutorService executor = Executors.newFixedThreadPool(1);
executor.submit(futureTask);
&/code&&/pre&&/div&
2、&b&一个线程sleep的小坑,我相信很多朋友都写过这样的代码:&/b&&br&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&kd&&public&/span& &span class=&kt&&void&/span& &span class=&nf&&run&/span&&span class=&o&&()&/span& &span class=&o&&{&/span&
&span class=&k&&try&/span&&span class=&o&&{&/span&
&span class=&n&&Thread&/span&&span class=&o&&.&/span&&span class=&na&&sleep&/span&&span class=&o&&(&/span&&span class=&mi&&1000&/span&&span class=&o&&);&/span&
&span class=&o&&}&/span& &span class=&k&&catch&/span& &span class=&o&&(&/span&&span class=&n&&InterruptedException&/span& &span class=&n&&ie&/span&&span class=&o&&){&/span&
&span class=&n&&ie&/span&&span class=&o&&.&/span&&span class=&na&&printStackTrace&/span&&span class=&o&&();&/span&
&span class=&o&&}&/span&
&span class=&o&&}&/span&
&/code&&/pre&&/div&但是设想一下,如果我们的线程在执行sleep之前就被interrupt了呢,别以为不可能,ThreadPoolExecutor框架就是通过对所有的Thread进行interrupt来取消所有线程,这是我们上述代码就会抛出异常。所以良好的实践应该是:&br&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&kd&&public&/span& &span class=&kt&&void&/span& &span class=&nf&&run&/span&&span class=&o&&()&/span& &span class=&o&&{&/span&
&span class=&k&&while&/span& &span class=&o&&(!&/span&&span class=&n&&Thread&/span&&span class=&o&&.&/span&&span class=&na&&currentThread&/span&&span class=&o&&().&/span&&span class=&na&&isInterrupted&/span&&span class=&o&&())&/span& &span class=&o&&{&/span&
&span class=&k&&try&/span&&span class=&o&&{&/span&
&span class=&n&&Thread&/span&&span class=&o&&.&/span&&span class=&na&&sleep&/span&&span class=&o&&(&/span&&span class=&mi&&1000&/span&&span class=&o&&);&/span&
&span class=&o&&}&/span& &span class=&k&&catch&/span& &span class=&o&&(&/span&&span class=&n&&InterruptedException&/span& &span class=&n&&ie&/span&&span class=&o&&){&/span&
&span class=&n&&ie&/span&&span class=&o&&.&/span&&span class=&na&&printStackTrace&/span&&span class=&o&&();&/span&
&span class=&o&&}&/span&
&span class=&o&&}&/span&
&span class=&o&&}&/span&
&/code&&/pre&&/div&
3、会用wait/notify来实现最简单的生产者-消费者模式。&a href=&///?target=http%3A//blog.csdn.net/monkey_d_meng/article/details/6251879& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&生产者/消费者问题的多种Java实现方式&i class=&icon-external&&&/i&&/a&&br&
4、&b&ThreadLocal变量的理解/定义&/b&。&b&ThreadLocal在Android中的应用&/b&,最典型的应用就是在android的messengeQueue-Looper模型中,Handler如何找到当前线程的Looper呢?我们平常直接在UI线程中new Handler()就可以了,里面就是mainLooper,但是Android怎么确定的UIx线程中new Handler()里面是mainLooper呢,答案就是通过将Looper作为ThreadLocal变量。以及&b&ThreadLocal基本的实现原理&/b&(在线程对象里面有一个inner static class)。&br&
5、JAVA的heap/stack的理解,可能会和多线程一起考察,&a href=&///?target=http%3A///2013/01/difference-between-stack-and-heap-java.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&& 的页面&i class=&icon-external&&&/i&&/a&&br&
6、ConcurrentHashMap的实现,&a href=&///?target=http%3A///2013/02/concurrenthashmap-in-java-example-tutorial-working.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&& 的页面&i class=&icon-external&&&/i&&/a&&br&
7、 JAVA的Reflection,Android内部很多东西都是基于Reflection实现,比如我们经常用的属性动画,就是通过属性名称找到属性的getter方法名,进而通过反射调用。不过对于日常开发的话,Reflection有两个作用,一是在一些情形下(特别是对属性的操作,包括更改、比较,比如我们可以定义一个通用的Collections.sort)可以提高代码复用度,二是可以做一些比较hack的事情,比如使用一些internal class,内部的AIDL等,修改一些internal类的static value。&br&二、Android&br&
1、&b&预防内存泄漏!擅用WeakReference&T&!&/b&&br&
所有从类外部传来的对象(特别对于Context,View,Fragmet,Activity对象),如果要将其放进类内部的容器对象或者静态类中引用,请一直用WeakReference包装!比如在TabLayout的源码中,在TabLayoutOnPageChangeListener中,就为TabLayout做了WeakReference wrap。&br&&img src=&/eee37ef20faeb_b.png& data-rawwidth=&773& data-rawheight=&131& class=&origin_image zh-lightbox-thumb& width=&773& data-original=&/eee37ef20faeb_r.png&&&br&
2、Android IPC,Binder的理解,&b&理解Binder的引用和实体&/b&,知道所谓的&b&客户端和服务端&/b&分别代表什么意思,懂得&b&ServiceManger&/b&对每个Service注册和根据服务名来getService的基本原理,这些没多少坑,但是非常庞杂,建议阅读《深入理解Android vol1》Chapter 6,&a href=&///?target=https%3A///subject/6802440/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&深入理解Android (豆瓣)&i class=&icon-external&&&/i&&/a&。&br&会写&b&AIDL&/b&,会用&b&Messenger&/b&夸进程传递信息,具体的实践:&a href=&///?target=http%3A//blog.csdn.net/hitlion2008/article/details/9773251& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Android实战技术:IPC方式简介教程&i class=&icon-external&&&/i&&/a&。&br&
3、&b&Activity的简要&/b&&b&绘制(创建)过程 &/b&,Activity本质是为了Window(PhoneWindow)服务,&br&onAttach:&b&建立mwindow对象&/b&-&setContentView:&b&创建DecorView&/b&,在DecorView中根据Activity的风格来 创建Title(ActionBar),TitleContent(ActionBar下面的内容,内部资源id为android:id=&@android:id/content&)-&&b&mWindow.addView(mDecorView)&/b&,将创建好的DecorView添加进window,addview时创建一个RootView,也就是我们的R.layout.activity_main的母布局,&b&然后对子控件递归遍历发送绘图消息&/b&,子控件收到消息后 执行onMeasure-&onLayout-&onDraw,这时,我们就可以得到各控件的尺寸信息。&br&
4、 &b&在onCreate中获得视图的尺寸信息&/b&,注意到我们上面说,母控件通过遍历向子控件发送dispatchView信息来使子控件绘图,当然,我们也可以在&b&(setContentView)&/b&这之后在子控件上post一个Runnable到控件的runnable队列中去,在其中自然可以获得正确的尺寸。&br&
5、关于View的点点滴滴。&br&&b&基础:自定义单一View,换句话说,叫自定义UI,&/b&就是仅仅在OnDraw里面做了文章,比如仪表盘,圆形头像,自定义属性&br&&b&-&中级:自定义View与其他系统Wdiget协同工作,&/b&比如继承LinearLayout写一个自定义的TabLayout来与ViewPager协同工作,处理事件(滑动、点击、屏幕手势)分发,处理滑动事件冲突,这个阶段才可以被称之为自定义Widget&br&&b&-&进阶:突破Activity,直接向Window添加、删除、更新View,理解WindowManager仅仅是个引用,真正的工作在WindowManagerService里面完成。&/b&&br& 6、&b&图片加载框架,&/b&熟悉并实践过基本的缓存算法LruCache、DiskLruCache,对Bitmap重采样以降低OOM的几率,熟读一款中规中矩的图片加载框架如Universal Image Loader的源码,并能将各种策略总结。&br&
7、&b&SurfaceView的实践,&/b&SurfaceView最常见的一个使用情境是在我们的界面之上绘制各种动画,但是有一个问题,在布局发生改变时,SurfaceView会出现部分屏幕变黑的情况,包括但不限于在ViewPager、DrawerActivity中使用SurfaceView,需要知道这个问题的解决方案。&br&
7、熟练使用&b&ContentProvider&/b&,并懂得大概原理(很惭愧,我对Provider没做过深入理解)&br&
8、Activity的几种&b&FLAG和LauchMode&/b&分别代表的意义,以及使用场景。&br&
9、知道65535 dex-merge问题是怎么回事&br&
10、熟悉使用Android开发者选项功能,比如最常用的 布局边界显示、过度绘制检测、UI绘制速度检测、Surface更新时闪烁、严格模式、CPU利用率展示、不保持Activity。&br&三、拓展(上面这些都真正透了,就没有大的漏洞了)&br&
1、事件流编程,EventBus、RxJava。&br&
2、Kotlin语言。&br&
3、DataBinding,Google的这个MVVM框架实现的很完全,很强大,包括像Angular中自定义directive/filter的类似feature。&br&
4、知道Volley,okHttp他们的应用场景。&br&
5、熟悉一些ORM,包括现在新出的非基于SqlLite的数据库:Realm,&a href=&///?target=https%3A//realm.io& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Realm is a mobile database: a replacement for SQLite & Core Data&i class=&icon-external&&&/i&&/a&&br&
6、Android对Vector Icon的支持&br&
7、Android L新特性,Palette、CoordinatorLayout自定义Behavior等
不知道你是不是指的纯技术方面的准备,如果是的话,我就提供一些拙见,大部分算是一些开发知识死角或者tips吧,权当抛砖引玉了:) 下面的回答建立在JAVA基础(看着《JAVA核心技术 vol1》目录能梳理一遍JAVA常见知识点)和Android基础都过关的情况下。 一、…
&img src=&/882efdc4a74b3a880ca6_b.jpg& data-rawheight=&721& data-rawwidth=&1024& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&/882efdc4a74b3a880ca6_r.jpg&&&br&&p&&b&【本回答共2983字,预计阅读时间7-10分钟,图片15张,请尽量连接WIFI,欢迎阅读,提前感谢】&/b&&/p&&br&&br&在一个稳定的生态环境下,是几乎不会出现天敌之间完全的属性压制的。捕食者纵有它的优势,被捕食者也有自己的对策,绝不会出现一边倒的情况,因为这是不可维系的:你想,如果被捕食者全然无力反抗,那不是分分钟就被吃绝户了吗?猎物被自己吃绝户了,捕食者又以何为生呢?这样的生态环境是一定会崩溃的。&b&(以上文字应该不难看懂,所以,如果各位就是想看什么热血澎湃的斗兽描述,就是想看题目中所说的那种“强壮到将要破空飞升的个体,被一个天敌的普通个体瞬间吊打成渣渣的画面”,请直接关闭我的回答并大力点击反对+没有帮助。你们要看的这种,自然界不存在,我建议前往各类武侠文学网站尽情阅览。)&/b&&br&&br&当然了,我们这里讨论的,是自然形成的、稳定的生态链,现实世界里,也有一些因为人类影响造成的生态链发生巨变的情况,比如新西兰的鸮鹦鹉(&i&Strigops habroptila&/i&)因为受到人类带来的猫、老鼠、白鼬等外来物种的&b&“碾压式属性压制”&/b&,几乎走向灭绝。但这样的个例是非自然的,不应该用来回答这个问题。&br&&br&那么我们以几组天敌为代表,大概的说一下自然界中天敌斗法的撕逼大战吧。&br&&br&&img src=&/d2af6b8bbbecd74b8cc548ef_b.jpg& data-rawheight=&714& data-rawwidth=&1024& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&/d2af6b8bbbecd74b8cc548ef_r.jpg&&&b&&blockquote&猎豹和瞪羚都是跑的比记者还快的动物,也是长期相爱相杀的CP。猎豹的速度记录是112km/h,瞪羚稍逊一筹,不过也有100km/h的目击记录。单纯从速度来看,猎豹似乎更胜一筹,但为了高速奔跑,猎豹在演化过程中也是付出了不少代价的,它的身体结构无法承受长距离的奔跑,转向也没有瞪羚那样灵活,通常在三四百米的距离内无法得手,就只得放弃,或者就差一步就可以够着瞪羚,瞪羚却突然以不可思议的角度转向。猎豹的捕食成功率大概只有50%,当然了,这在大型猫科动物了已经算是非常非常高了&br&&/blockquote&&/b&&br&&img src=&/3befe4f37ac_b.jpg& data-rawheight=&686& data-rawwidth=&1024& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&/3befe4f37ac_r.jpg&&&b&&blockquote&虽然瞪羚可以以耐力和灵活躲避猎豹,但每天都要躲躲藏藏的,还怎么过日子,怎么和妹子一起欣赏大草原上温暖的阳光?好在瞪羚也有了一个更简单高效的方式向猎豹示威:一旦发现附近有猎豹准备图谋不轨,身体健硕的瞪羚就开始原地蹦跶,蹦跶的还特别高。这就很奇怪了,捕食者都近在眼前了,你还浪费力气在这蹦跶,图的什么呢?其实就是摆明了给你猎豹看,你看我蹦的这么高,我体格多棒,我身体多灵活,你那小身板追的上我吗?你追我划算吗?猎豹倒也心领神会,毕竟无功而返的出击也不是它的目的,与其追击这些正处于体能巅峰的瞪羚,还不如挑点老弱病残下手。这个例子其实也可以用来解释人类社会婚恋关系中的钻戒,我们都知道钻戒这玩意其实是没什么实际用途的,但我能买得起钻戒这种昂贵且无实际应用价值的东西给你,潜台词就是说,你想要的真正有意义的生活用品我也能买得起&/blockquote&&/b&&br&&img src=&/9c0d31edc2e557e998014cbeb2d98646_b.jpg& data-rawheight=&680& data-rawwidth=&1024& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&/9c0d31edc2e557e998014cbeb2d98646_r.jpg&&&b&&blockquote&蓝枪鱼简直就是海洋中的猎豹,它能以90km/h的速度长距离游弋,更能以超过110km/h的速度冲锋,它的猎物沙丁鱼则是一种小小的、游泳速度只有不到10km/h的小鱼。面对这样弱鸡的对手,蓝枪鱼是否可以遗憾地说:你们是我遇到的最差的一届对手?恐怕不行,因为沙丁鱼根本就没打算和蓝枪鱼比速度,而是少则几千条、多则几百万条组成一个球形的鱼群,让你蓝枪鱼陷入人民战争的汪洋大海!面对这样的鱼桶阵,图中这条蓝枪鱼的确是一脸懵逼:它们长得都一个样,步调高度一致的转向,我到底要向哪一条下手啊?不得已,蓝枪鱼只能冲进鱼群,尽力的分割鱼群,以期望有几条沙丁鱼掉队,而绝大多数的沙丁鱼则可以隐匿在群体中,最大化的提高自己的生存机会&br&&/blockquote&&br&&img src=&/ec85ccb59cd55_b.jpg& data-rawheight=&670& data-rawwidth=&1024& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&/ec85ccb59cd55_r.jpg&&&blockquote&当然了,抱团也不一定都能活下去,如果是完全不同量级的对手,你也可能被团灭。座头鲸在面对磷虾群的时候,才不care磷虾的感受,只管张开大嘴鲸吞下去,虽然总有一些磷虾可以从这头鲸的嘴中逃脱,没关系,下一头鲸马上就在旁边张开大嘴补刀。当然磷虾也不会被鲸捕食殆尽,它们的繁殖能力的确惊人,仅在南极周边海域生活的磷虾,总重量可能就达到了惊人的5-10亿吨,特别能生,这也是磷虾种群生存的策略&/blockquote&&br&&img src=&/11d9bbf7bc39e71043be0e_b.jpg& data-rawheight=&688& data-rawwidth=&1024& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&/11d9bbf7bc39e71043be0e_r.jpg&&&blockquote&正面硬钢不过,我就躲起来。雷鸟在大地冰封的时候换上纯白色的羽毛,而在积雪初融的时候,就同步开始换毛,等到苔原完全裸露出来,雷鸟的羽毛也早变得和周边环境一致,躲猫猫,这就是雷鸟的生存策略&br&&/blockquote&&br&&img src=&/58fddb3e4e6cd_b.jpg& data-rawheight=&482& data-rawwidth=&725& class=&origin_image zh-lightbox-thumb& width=&725& data-original=&/58fddb3e4e6cd_r.jpg&&&blockquote&你看错了,我真的不是章鱼,我是一条萌萌的比目鱼啊?嘛玩意,比目鱼你也吃?那好,那我把腿伸直,装作一条海蛇,就问你怕不怕!东南亚地区的模仿章鱼可以惟妙惟肖的模仿成海葵、海星、比目鱼和海蛇的模样,除了可以吓退捕食者,也可以麻痹自己的猎物&br&&/blockquote&&br&&img src=&/938e24c2f4d_b.jpg& data-rawheight=&777& data-rawwidth=&1024& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&/938e24c2f4d_r.jpg&&&blockquote&&b&“&/b&&b&&b&&b&水獭你怎么这样,我就回上游产个卵,吃你家辣条了吗?你为啥费尽心思要吃我!&/b&&/b&&/b&”——&b&大西洋鲑(三文鱼)在洄游产卵的途中,会受到水獭的袭击,最近的研究发现,鲑鱼对于曾经捕食过鲑鱼的水獭身上的气味特别敏感,会本能的躲避远离。有学者认为,这是鲑鱼能嗅出水獭吃过鲑鱼后排出的便便里的独特味道,也就是——自己变成屎粑粑之后的味道&br&&/b&&/blockquote&&br&&img src=&/91eb21c7eb8a7fa15f9447_b.jpg& data-rawheight=&675& data-rawwidth=&1024& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&/91eb21c7eb8a7fa15f9447_r.jpg&&&/b&&blockquote&&b&“我到家了,你还追吗?”许多动物会在捕食者无法到达的地方躲避追击,这群南美海狮刚刚在水里逃过虎鲸的追杀,终于成功到达了沙滩上的安全地带。但是这也不一定就特别安全,有的虎鲸会冒着搁浅的危险,乘着海浪冲上沙滩咬噬海狮&br&&/b&&/blockquote&&br&&img src=&/9b16d7a8d91c74cfa82ef747d1e4575d_b.jpg& data-rawheight=&685& data-rawwidth=&1024& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&/9b16d7a8d91c74cfa82ef747d1e4575d_r.jpg&&&blockquote&&b&“老子没有软肋!老子浑身铠甲!”刺鲀、刺猬、海胆以及豪猪这&/b&&b&一类顽主,进化出了满身的硬刺,一般的猎食者看到它们,都是躲瘟神一样的走开&/b&&/blockquote&&br&&img src=&/015ee6d11c63cbab79fe8ddf_b.jpg& data-rawheight=&536& data-rawwidth=&858& class=&origin_image zh-lightbox-thumb& width=&858& data-original=&/015ee6d11c63cbab79fe8ddf_r.jpg&&&blockquote&&b&“食……食屎吧你……”鸟曲腹蛛在夜间捕食,白天自己却会成为鸟类的猎物,为了存活下去,鸟曲腹蛛演化出了一套非常重口的伪装……它把腿缩到身下,看起来就活像……鸟的粑粑,而且看起来还水嫩嫩湿哒哒的……鸟类再怎么饥渴,也断然不会去食屎的。兄弟,你这么拼,我也是服了&/b&&/blockquote&&br&&img src=&/903bfd76e35f32fbe1d18b_b.jpg& data-rawheight=&681& data-rawwidth=&1024& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&/903bfd76e35f32fbe1d18b_r.jpg&&&blockquote&&b&“爱我,是要付出代价的”一些没有能力与捕食者周旋的动物,干脆就把自己变成了一个毒物,我弱小,但我身覆剧毒,我用鲜亮的颜色明确的告诉你别碰我&br&可是,万一你的天敌是色盲咋整……&br&&/b&&b&蛙:那我也没办法,够胆你就来吧,我和你同归于尽&/b&&/blockquote&&br&&img src=&/b66b16aefb_b.jpg& data-rawheight=&800& data-rawwidth=&1200& class=&origin_image zh-lightbox-thumb& width=&1200& data-original=&/b66b16aefb_r.jpg&&&blockquote&&b&都说孟母三迁,找一个好邻居,对孩子的成长真的至关重要。雪雁之类的鸟类迁徙到北极筑巢繁育,有时会意外的受到邻居——北极燕鸥的保护。北极燕鸥虽然个头很小,脾气确实烈的很,为了保护自己的鸟巢,不惜向北极熊发动袭击,得益于邻居的庇护,小雪雁也有了一个安定的童年&/b&&/blockquote&&br&&img src=&/4adb17ef3fef37d0d0e53_b.jpg& data-rawheight=&680& data-rawwidth=&1024& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&/4adb17ef3fef37d0d0e53_r.jpg&&&blockquote&&b&“我来是告诉你们学好数学有多么重要”——北美地区的13年蝉和17年蝉,是自然界的数学高材生,它们不屑于和对手硬碰硬,而是运用数学工具玩弄对手。&br&&/b&&br&&b&&b&&b&这几种周期蝉仅分布在特定区域,其中13年蝉大多数分布在美国南部,17年蝉大多数分布在美国东北部。为了方便研究,把从1893年到1909年这17年每年出现的17年蝉分成了17个组,1893年到1905年每年出现的13年蝉分为13组,这样总计是30组。但是,有一些年份里,全美国各地都找不到周期蝉,所以一些编号就暂时空置不用,还有2个组的蝉不知道因为什么原因消亡了再也没有出现,现在,总共还有15组周期蝉会按时出现。&b&恩,2016年将要出现的是第5组,出现的区域是俄亥俄、马里兰、宾夕法尼亚、弗吉尼亚和西弗吉尼亚。&/b&&br&&/b&&/b&&br&需要注意的是,这些蝉并不仅仅是需要在地下蛰伏17年,而且在之后的16年里它们是绝不会再在当地出现的。比如&b&今年(2016年)会在马里兰州出现17年蝉,那么明年乃至之后的16年里,都不会有哪怕1只17年蝉出现,直到17年后才会出现几亿只周期蝉一块出土。这样有什么意义呢?&/b&&br&&br&&b&我们可以想象,今年出土周期蝉的地区,它的天敌们一定可以大饱口福,很多捕食者由于有了充足的食物供给,会大量的繁殖,但下一波周期蝉要17年之后才会出现,这个时间足够长,大部分“&/b&&/b&&b&&b&超生&/b&&/b&&b&&b&”的天敌都活不到下一波周期蝉出土的时候就嗝屁了。其次,绝大多数动物在繁殖季节会大量的捕食以喂养后代,而13和17则是两个质数(就是只能被它自己和1整除的数),除非捕食者是每年都可以繁殖(也就是被1整除),或者和周期蝉步调一致的同样17年繁殖一次(被17整除),否则在它们下次繁殖的时候,都不会在遇到周期蝉出土。周期蝉用这样的方式,最大限度的躲开了和天敌的正面交锋。&/b&&/b&&br&&b&&br&&b&高,实在是高!&br&&/b&&br&拓展阅读:&a href=&/question//answer/& class=&internal&&17年蝉是怎么演化来的? - 一个男人在流浪的回答&/a&&/b&&/blockquote&&br&&br&一点小小的解释工作:&br&&br&请大家一定不要产生:哎呀这些动物好厉害居然针对性的演化出这么多防御措施。其实不是这样的!我用拟人的方式写,只是为了活泼一些,其实这些动物的特征并不是有意演化出来的,而是在无数随机的演化中,被自然淘汰筛选成了这样,那个蝉,它并不是真的懂数学啊……&br&&br&另外,我哪里有使用某种神奇的魔法, 你们呀,不要总是想……将来贵乎管理员惩罚我,你们也要有责任的吧……我可是个纯洁的少年呀&br&&br&&br&&img src=&/7d898d5436be8cacbe0a13_b.jpg& data-rawheight=&996& data-rawwidth=&681& class=&origin_image zh-lightbox-thumb& width=&681& data-original=&/7d898d5436be8cacbe0a13_r.jpg&&
【本回答共2983字,预计阅读时间7-10分钟,图片15张,请尽量连接WIFI,欢迎阅读,提前感谢】 在一个稳定的生态环境下,是几乎不会出现天敌之间完全的属性压制的。捕食者纵有它的优势,被捕食者也有自己的对策,绝不会出现一边倒的情况,因为这是不可维系的…
他在专业领域如雷贯耳,但在大众面前默默无闻。&br&一个多世纪以前,那是大清朝的最后一年,他考取清华学堂的首批名额,年龄不到13岁。&br&他远渡重洋,师从诺奖得主布里奇曼,测量出了当时世界上最精确的普朗克常数 h 值。&br&获得哈佛博士之后,他立即回国,开始为自己落后的祖国,耕耘一项注定伟大的事业。&br&&br&27岁那年,他在清华创建了物理系。&br&31岁那年,他在清华创建了理学院,包括数理化生等六个系。&br&没错,就在清华大草坪的西侧,那栋写着 SCIENCE BVILDING 的小楼里。&br&在上世纪三十年代,理学院将清华从一所学术空白的留美预备学校,逆袭到了如今的地位。&br&到上世纪六十年代,新中国诞生了23位两弹元勋,其中一半是他的门生。&br&&br&为什么说他的成就,比他的名字更有名呢?&br&下面我们仅从教育家的角度,看看他培养出了哪些妇孺皆知的成果——&br&&br&1)我国核物理的奠基人王淦昌,是他的大弟子。中国的“卫星之父” 赵九章,“氢弹之父” 彭桓武(一说为于敏),“原子弹之父” 钱三强——不仅仅是钱三强,还包括“三钱”中的另外两位:“导弹之父”钱学森,“力学之父”钱伟长,以及“光学之父” 王大珩,都是他亲手培养的学生。邓稼先、周光召、朱光亚这些重量级的名字,也是他的门生。&br&&br&2)他的学生杨振宁,在世最伟大的理论物理学家,没有之一。杨对人类科学的贡献,足以再得一两次诺贝尔奖。1971年杨振宁首次回国,就提出要探望恩师,但被政府拒绝,详情见下文。&br&&br&3)他的学生李政道深情回忆:“是他决定了我的命运。” 1946年,他破格将年仅19岁的李政道送往美国,甚至在办护照时都招致了质疑。半个世纪之后,诺奖得主李政道回国,再次见到那张被他毕生珍藏的泛黄考卷,不禁哽咽。上面是他的字迹:李政道,电磁学,58+25=83分。&br&&br&4)第一位当选为美国科学院院士的中国人,是他的学生林家翘。&br&&br&5)第一位当选为美国工程院院士的中国人,是他的学生戴振铎。&br&&br&6)华罗庚说:“我一生得他爱护无尽。” 当时小华只有初中学历,是他力排众议,让华罗庚在清华数学系任教,又送往剑桥大学深造。与华罗庚齐名,就读于清华数学系的陈省身,同样受益于他的谆谆教诲,日后成为20世纪最伟大的几何学家,现代微分几何之父。&br&&br&7)他一生解不开的结,是他的学生熊大缜。&br&&br&1937年,抗日战争爆发。熊大缜放弃了赴德留学的机会,前往冀中抗日根据地,在吕正操将军麾下担任供给部部长。熊大缜利用清华所学,为部队制造炸药、雷管、无线电发报机等军用物资,为地雷战提供武器装备;而老师本人则守在津门,为熊大缜提供支援。1939年,国共关系恶化,中共“锄奸队”展开政治运动,将熊大缜诬陷为特务,未经调查核实,用石头活活砸死。&br&&br&所以我们今天看到的《地雷战》,贫下中农可以机智到什么程度呢?&br&他们面朝黄土,一拍脑袋,竟自行研制出了各种爆破技术!&br&&br&……&br&&br&在此后的若干年里,他坚持为熊大缜奔走鸣冤,反令自己锒铛入狱。&br&文化大革命到来,这位七旬老者被指控为反动权威,“国家罪人”。&br&他变成了熊大缜变成中统特务的介绍者,惨遭毒打,脊骨受创,大小便失禁。&br&在听说两弹元勋姚桐斌被乱棍打死,爱徒赵九章含恨自杀之后,他精神崩溃,出现幻觉。&br&&br&文革后期获释,他一度在中关村大街上乞讨,双腿肿胀,身子屈成九十度。&br&后来恢复了些许神智,遇到自己的学生就说:赶快躲开,不要理我,躲得远远的!&br&文革结束,他亦长逝。据说临死之前,口中还在喃喃:“回清华,回清华……”&br&根据有关部门的要求,此人死讯,所有报刊均不予刊登。&br&&br&1987年,在吕正操将军的努力下,他和熊大缜终于得以平反。&br&此时距离他去世,已十年之久;而他的学生熊大缜,冤死已近五十年。&br&1992年,海内外上百位学者联名呼吁,请求清华大学为他树立铜像。&br&1995年,铜像落成。&br&&br&&img src=&/ad9d671e90b9e378903ffba3878dbc90_b.png& data-rawwidth=&300& data-rawheight=&400& class=&content_image& width=&300&&&br&&br&请记住他的名字:&b&叶企孙(1898 ~ 1977)&/b&&br&&br&他终身未娶,无儿无女,但却桃李满天下。&br&他为新中国培养了79名院士,无党无派,临终沦为国家罪人。&br&一百年前,他年少立志,要拯救这个愚昧落后的民族。&br&但愿不久的将来,盛世能如你所愿。&br&&br&&br&=========== 后记 ===========&br&&br&比起有“清华四哲人”之称的叶企孙,大家或许对《三体》更加熟悉。&br&三体之地球往事,始于一位名叫叶哲泰的物理学家。&br&在文革中,他被清华附中的红卫兵批斗致死。&br&他叹道:现实的引力太沉重了。
他在专业领域如雷贯耳,但在大众面前默默无闻。 一个多世纪以前,那是大清朝的最后一年,他考取清华学堂的首批名额,年龄不到13岁。 他远渡重洋,师从诺奖得主布里奇曼,测量出了当时世界上最精确的普朗克常数 h 值。 获得哈佛博士之后,他立即回国,开始为…
&i&(Thank you &a data-hash=&da141f28d5eab62cfdf9f& href=&///people/da141f28d5eab62cfdf9f& class=&member_mention& data-editable=&true& data-title=&@刘锻& data-hovercard=&p$b$da141f28d5eab62cfdf9f&&@刘锻&/a& for the awesome translation!)&/i&&br&&br&我一直热衷于用记忆法背单词,因为我觉得这样既有效又有趣。背单词之所以痛苦是因为过程无聊,但是如果你找到适合自己的记忆法,就能像我一样充满动力。&br&&br&我最近在使用的这款应用,背词效果很不错,而且让背的过程变得更有趣,名字叫开心词场。&br&&img src=&/0f62e3f20be644af5bfa14e474f3ccb3_b.png& data-rawwidth=&1920& data-rawheight=&1136& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&/0f62e3f20be644af5bfa14e474f3ccb3_r.png&&&br&&br&这款APP和Duolinguo模式相似,但它主要针对的是各个语种的备考单词,包括4、6级甚至是更专业的考试。&br&&br&&img src=&/40bbf8af2299e_b.png& data-rawwidth=&1920& data-rawheight=&1136& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&/40bbf8af2299e_r.png&&&br&&br&开心词场的预设语言是英语,但它还可以背日、韩、法、德、西、意、俄、泰,甚至是汉语,对英语专业和其他小语种的学习者都有很大的帮助,而且一个拥有这么多语种的APP绝对可以节省不少手机内存,用起来也非常方便,每天的零碎时间足够学习20-50个新单词不等。&br&&br&这是一款非常有意思的背单词软件,它的特色是闯关模式,还设有多人PK模式、多语言词典、背单词提醒以及学习追踪功能。&br&&br&我本人就是PK模式的忠实粉丝——我很喜欢跟别人比赛。大概是因为我选择PK的是英语单词,所以总是能够完胜对方。平常我会选择随机对手,我和陌生人PK时用的是GRE词汇,其实这样对他们并不公平。但我欣慰地发现,他们的词汇量也非常强大,说明有很多英语很厉害的用户在使用这款APP,在APP STORE里可以发现,这款APP的排名很靠前,用的人很多。&br&&br&&img src=&/24dc3dc932c_b.png& data-rawwidth=&1920& data-rawheight=&1136& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&/24dc3dc932c_r.png&&&br&&br&背单词并不难,难的是坚持。如果背单词变成一件令人感到开心的事情,那为什么不坚持下去呢?希望我的回答能给到你帮助。&br&&br&- - - - -&br&&i&&br&&br&Thank you &a href=&///?target=http%3A///for& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&开心词场&i class=&icon-external&&&/i&&/a& for inviting me to answer this question =) &/i&&br&&br&I've always been a fan of using mnemonics, mostly because it's effective while being fun. The painful part of memorizing vocabulary is that it's boring, but making up your own mnemonics memory clues keeps me motivated. I've written more extensively about it here, &a href=&/question//answer/& class=&internal&&如何背 GRE 单词?&/a&&br&&br&Along the same vein, there's actually an app that also makes memorizing vocabulary more interesting, &a href=&///?target=https%3A///us/app/hu-jiang-kai-xin-ci-chang/idFmt%3D8& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&开心词场&i class=&icon-external&&&/i&&/a&.&br&&br&It takes inspiration from Duolingo, an American language-learning app, but focuses on preparing you for the tests you might take in each language.&br&&br&&img src=&/0f62e3f20be644af5bfa14e474f3ccb3_b.png& data-rawwidth=&1920& data-rawheight=&1136& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&/0f62e3f20be644af5bfa14e474f3ccb3_r.png&&&br&Its default mode is for studying English, but it also has Japanese, Korean, French, German, Spanish, Italian, Russian, Thai and even Chinese. Having all the languages in one app definitely saves space and is super convenient. I'm actually using it to study Spanish and Chinese at the same time.&br&&br&&img src=&/40bbf8af2299e_b.png& data-rawwidth=&1920& data-rawheight=&1136& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&/40bbf8af2299e_r.png&&&br&It also has a multiplayer battle game, multilingual dictionary, a study reminder and several ways to track progress.&br&&br&Funnily enough, I'm actually a huge fan of the battle game – probably because I set the language to English and then beat people left and right =P It's not fair at all when I challenge Chinese students to GRE vocabulary battles, but I'm always pleasantly surprised by the strength of the other player's diction =P&br&&br&&img src=&/24dc3dc932c_b.png& data-rawwidth=&1920& data-rawheight=&1136& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&/24dc3dc932c_r.png&&&br&&i&- - - - -&/i&&br&&br&As always, if you have the courage and patience to translate this into Chinese, then go for it! =P
(Thank you
for the awesome translation!) 我一直热衷于用记忆法背单词,因为我觉得这样既有效又有趣。背单词之所以痛苦是因为过程无聊,但是如果你找到适合自己的记忆法,就能像我一样充满动力。 我最近在使用的这款应用,背词效果很不错,而且让背…
先介绍一下我学习日语的经历。&br&首先是2002年去了日本,当时50音图没背全。在日本大学学习日语,一天俩小时左右的课,明显感觉课程进度过慢,于是自己往前自学提前赶进度。学习半年左右后,因为某些原因退学回国。进了一家做日本项目的公司。当时自认为是三级水平,但公司老板说我足有二级。&br&在那里没呆多久,跳到现在的公司。被派到日本出差不到一年,再回国时日语已经属于公司数一数二的级别了。&br&2004年还是2006年时公司强制考J.Test,得800分。险得一个B级。&br&前年还是去年的,公司引进JSST口语考试(&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&JSST | アルクの電話による日本語会話テスト&i class=&icon-external&&&/i&&/a&),又是强制考试,我成为公司中第一个得了10级的人。(10级是JSST的最高级。)目前的公司是一个人数近万的跨国公司。&br&现在在日本出差中,五年前日常对话已经不会暴露外国人身份了。比一些一直待在日本10年以上的人日语好。&br&&br&作为一个短期内将日语学得还算不错的人,希望能给你一些建议。&br&首先,你的学习目的是什么?&br&我当年是什么不会先到了日本,有生存危机,所以学习速度很快。后来对日语学习有了兴趣,速度也没减慢下来。如果你没有类似强度的动力和兴趣,恐怕很难有类似的成绩。&br&另外,如果只是为了考级,我个人认为没有任何意义。疯狂背题的话,几个月就可以拿下。但你没有学到任何东西,而且忘得快。见到日本人铁定开不了口。那些动画片啥的也懂不了多少。&br&所以,如果没有学习目的,那我建议先将精力放到其他有意义的地方,等你有了足够的动力再回来学。&br&从你的提问看,主要动力好像是看动漫和小说,应该说要完全看懂对日语水平要求还是很高的。真正的二级能力的话,能看懂60%左右吧。因片而异。忍者乱太郎之类儿童片,可能可以理解80%以上甚至更多,但如果是看柯南、高达、火影之类专业词汇很多,用语不都正规的片子,理解率会低一些。尤其是柯南的大段推理,对词汇量等各方面要求都非常高。二级能力可能无法真正理解案情。&br&如果你有足够的毅力坚持到看懂动漫,那我建议你不要管什么二级三级的,只管自己能看懂多少。当有一天你感觉自己看片不用字幕的时候,随便去考场溜达溜达,你会发现什么级都是浮云。嘿!一不小心都过了,气死那些拼命要考级的人。&br&&br&现在假设你有清晰地目标和动力,第二个问题是你希望下多少功夫?&br&我有一套方法可以很快提高,但很累。就个人经验,持续两个小时以上几乎是不可能的。持续四个小时之后如果不睡觉,大脑就不转了,而且会很饿。如果没有这个效果,说明方法没用对。&br&&br&你如果觉得自己能忍受得了这个强度,继续往下看。否则,还是将精力先放到其他更有意义的事情上。或者听某些人的,相信日语很难,然后一辈子学不精。&br&&br&上面的问题你都自认为没问题,并且愿意在日语上下功夫,下面我要先澄清几个日语学习的误区。&br&&br&1. 语言学习是个长期的过程,短期提高不可能。&br&这是个典型的误解,都是懒人造的谣。因为如果根据学校的课程,一般一周也上不了几次外语课,自然多年看不到多少进步。如果你真想学,就保证你的每天三小时,周末如果可能再多拿出来一点时间。用我说的累死人的方法。二级相当的能力的话,保证半年过关。&br&&br&2. 中国人学日语有优势,很多汉字不用学就会了。&br&这是导致中国人前期貌似学得快,后期反而赶不上欧美人的主要原因之一。日语是另一个语言,虽然很多汉字来自中国,但从读音到意义已经有了很大的变化。你一定要重新学。一个汉字不会读,那是你不会的单词,而不是看懂意思即可。你想想你看动画片,从角色嘴里出来的哪个有汉字的字形,还不都是读音?所以,除了汉字书写可以偷懒以外,其他都要从头学。同样的一个字,汉语就是汉语,日语就是日语。違和感永远是读いわかん,绝对不是违和感。记不住这一条,我保证你学到某个阶段就开始学不动了或者听力、口语一塌糊涂。&br&&br&3. 单词难还是语法难?&br&我认为外语没有什么单词难还是语法难的问题,因为都不难。或者用我的理论,世上本没有什么语法,所谓语法不过是带有参数的单词。也就是说单词相当于是变量,语法相当于是一种函数。你只要搞清楚参数的集合,语法和单词是一样的。所以,学外语和学物理、几何什么的没啥区别。就是量大一点。&br&&br&4. 这个单词是一级单词,我现在不背也行。&br&这是考级害人的一个典型方面。对这么说的人我要问一个问题,你说说中文哪个词汇是中文四级考试的词汇?这种对单词的分类是严重错误的,尤其如果你听了我的建议,不去单纯为考级学习的话,单词永远只有两类:你记得住的单词和你还没记住的单词;或者用另一种分类:你用得到的单词和你用不到的单词。两种分类画个坐标,分出四个象限:你用得到的并记住了的单词(恭喜你,这是你的学习成果)、你用得到的但还没记住的单词(这是你需要努力的)、你用不到的却记住了的单词(忘掉了也不用担心的部分)、你用不到的也没记住的单词(爱咋地咋地)。所以不要管单词是几级的,用得到就下功夫背下来,用不上先放着,用到的时候回来背。至于怎么衡量用得到用不到,你觉得你说中文的时候会说到的词都是你用得到的。&br&&br&5. 听力口语不好学,初级先学读写,等学高级时再补听力和口语&br&这又是一个降低学习效率的说法。试想小时候我们学母语,谁是从读写学起的?听说的记忆绝对比读写有优势。而且你的学习目的之一是为了看动画片,只要跟日本小孩一样听懂了,不会写字都没关系。根据我的经验,同一个单词,听到之后记住的比只是看到记住的快很多很多。想一下你是否有这样的经历,一首歌曲在你耳边反复放反复放,有时候你不想记都自然记住并能哼哼出来了(只要你不是五音不全)。但一篇文章,在你面前一直放着,只是读的话不知道得读多少遍才能背下来。要是文字也跟音乐那样自然而然就能记住,当年上学语文老师让背诵课文的时候就不会那么苦了。所以听说读写并行学习的效率最高。看起来你一开始背一个单词的时间好像比只学读写的人长,因为毕竟你记忆的元素多,但后期因为不容易忘记,反而节省了很多时间。&br&&br&6. 一个单词多个意思,会一个意思也算这个单词会。&br&这一点我也不同意,作为程序员设计数据库的时候,如果有这种一对多的情况,大多情况都是做成多条记录存储的。人脑也是差不多的情况。所以将多个意思的同一个单词当作多个单词来记才是正确的做法。这样一方面不会漏记意思,另一方面也会在学习过程中得到更大的成就感。&br&&br&7. 初级找个一般的老师教一教,高级的时候得好好找个外教。&br&我的想法正相反。如果可能的话,最好在最开始学习时找个好老师或者外教。把最正确的发音学到手,后面有一定水平了,自学就行。遇到难点上网找母语的日本人问问,基本没什么解决不了的。至于去哪里问,我后面会介绍。&br&&br&8. 日语发音没有四声,差不多就行。&br&这也是一个很大的误区。很多中国人学了日语发音不如欧美人就是因为有这种想法。发音的语调很重要,有时甚至比词汇量还要重要。试想一个老外站在你面前,打个招呼,唠几句家常,发音很标准,你一定会认为他中文很好。可能他只会那几句家常,但你不会想那么多。另一个老外,同样打个招呼,唠几句家常,发音很糟糕,哪怕他天文地理的单词都知道,你也不会觉得他中文很好的。同样的道理对我们学外语也适用。所以日语的发音很重要,切记要在最开始就掌握。后期去补是很难纠正的。&br&&br&9. 外语学习是死记硬背的活,只要死记就好了,不需要动脑筋思考。&br&这一点我在有了自己的看法之后,曾经与大连外国语学院的一位颇有见地的日语老师讨论过这个问题(这老师刚好是我一个亲戚)。我们一致认为,外语学习是非常需要动脑思索的。不能死记单词、语法。需要自己多多思考单词之间的联系、多多总结书上介绍的各种语法现象。我本人就经常将书上的数个相关语法进行归纳总结后当作一条语法来记,大大减少了记忆量,自然效率也就提高了。单词也是,很多单词之间其实是有联系的,尤其是了解一些日语的发展历史,可以发现有些词其实是同一个词慢慢演变出来的,还有时一个词其实在历史上是多个词语。作为成年人,理解得越深记忆得越牢,多知道一些难记单词的周边知识对巩固记忆也有很大帮助。总之,学习外语绝不能仅仅简单地死记硬背,必须活学活用,多动脑思考。&br&&br&10. 学完XX课程/XX书,就可以达到XX级了。&br&常会听到有人说“学完标日上下册,就达到1级了”,或者有培训班标榜“上完我们的XX课程就可以达到XX级了。”&br&最近在知乎上还看到这样的问题:&a href=&/question/& class=&internal&&学完新标日初级,为了考N1,是否应该接着看中级?&/a&&br&我认为这也是学习中的一个典型的误区。&br&学完XX课程或者XX教材,这一说法是标准不清晰的说法。对这么说的人,要问一个问题:怎么算学完了呢?&br&有的人学完了,所有单词一个不漏地记住,所有课文几乎都能倒背如流,并且可以灵活运用学过的知识还能自行摸索规律举一反三;有的人学完了,只是混了个出席率或者看过了一遍教材,能记住10%的内容都抬举他了。&br&两种人都说自己是学完了,你说他们是几级?&br&曾经遇到过一个人,标日上下册都翻烂了,页脚全是毛边。我问:你这书怎么都这样了?他答:我都看了5遍了。我说:5遍?这么多啊,那我找个单词考考你。于是随便捡了个十几课的单词问他。他仍旧不会,说:我这一遍还没看到那呢。&br&所以,什么课程呀、书啊什么的都是浮云。只有自己下过的功夫才是硬道理。日本小孩上学前啥课程也没学过、啥教材也没看过,不是照样哇啦哇啦地说得很流利?&br&不过,下了多少功夫这个事儿比较难量化。如果非要给“学完”下个定义的话,我认为是要记住课程或者教材中90%以上内容,并保持一年不衰退才可以算作学完。否则都是没学完。&br&&br&(记得还有几点,现在想不起来了。当年是总结了十几条的来着……那个笔记本被忘在国内了……等想起来了再来补充。)回国了,上面的注意点也补全了。以后如果发现新的,再来补充。&br&像什么不要用中文作过渡去记外语单词的意思,也就是不要在心里先转成中文再理解意思之类老生常谈的注意点我就不提了。&br&&br&接下来说一下我那个效率高,容易累的学习方法。&br&其实,在我总结出自己的快速日语学习法并学习了好一段时间之后,回国看到了钟道隆的逆向英语学习法。我的方法之一跟他的基本一致,就是听写!&br&具体做法如下:&br&&b&首先,找一本教材,必须是带磁带或者CD的。&/b&&blockquote&我的推荐教材是《大家的日本语》(みんなの日本語),初级分为上下两部分,每部分都有本册和指导用书两本。本册里全是日语,指导用书里有单词表、中文说明等内容。&br&之所以推荐这套教材是因为它是日本人编的教材。人非圣贤孰能无过,编教材的人也一样。但是如果犯错误了,日本人编教材犯的错误是日本人会犯的错误。今后你因此在日本人面前犯错了,那是他们自己都会犯的错误,他们不会因此觉得你的日语水平不足。但中国人编的教材犯的错误就可能是在日本人看来很奇怪的错误,到时候你因此犯错了,日本人就会觉得你的日语不行,居然犯了很奇怪的错误。&br&当然,教材的选择因人而异,你完全可以不用我推荐的教材,自行选择。选适合自己的教材的一个标准就是看了之后能看进去,能学进去,不会越看头越大。如果你学不进去,哪怕一点错误没有的教材也只是摆设,没有任何作用了。只要你学进去了,千百个错误,今后你自然会在某个时刻知道。就像我给别人讲课的时候说过的:我不怕给你们讲错了,因为如果我讲错的东西你们没用到,那错不错没有关系;假如我讲错的东西,你们今后用到了,那么错一次你自然就知道错了,也就能纠正了。&/blockquote&&b&弄一个复读机或者复读软件。&/b&&blockquote&可以自己设定复读位置的更好,没有就自己手动将就一下。&br&如果具有对录音分解记忆的功能就最好不过了,背单词的时候很有用。不过貌似很难找吧……&/blockquote&&b&每开始一课的时候,首先不要看课文,先看课后的单词和语法说明。&/b&&blockquote&如果你使用《大家的日本语》,就相当于只看指导用书,不看本册。当然指导用书也是不看后面的课文翻译。&/blockquote&&b&把单词和语法先背下来。&/b&&blockquote&背单词的时候要听着录音背。&br&最初,先一边听录音一边看单词,同时看解释,尽量记住。不过一般人没有一次都记住的。所以记住几个算几个,别有压力。单词和单词之间自行暂停,别急着赶,尽量把单词的读音、字形、动词的话动词的各种变形、意思搞清楚。然后根据自身情况反复几次,基本就能记住了。&br&然后,把书扣过去,只听录音,放一个单词停顿一下,写下来,同时在脑子里回忆意思。这个过程里肯定有写不出来的和咬不准的,把这些空出来。另外还有听了很陌生,但是根据读音多少能猜着写出来的,尽量写,这种一般是无法回忆出意思的,所以要标记上意思不会。&br&所有的单词都听写一遍之后,把书打开对照一下。把没听出来的,写错的,单词意思没回忆出来的或者回忆出来但是错了的,都挑出来单独列一个表,重新背一下。&br&对当课的所有单词重复以上过程,直到所有的单词都能正确听写出来并正确回忆出意思。为了提高效率,后期对很熟练的可以不写。最终希望可以在录音正常播放速度下,对每个单词都能及时地想出写法和回忆出意思。&br&上述都没问题后,看意思回想日语单词,并大声读出来。为了提高口语,你也可以在第一步里一边听一边大声朗读。这里同意疯狂英语的思想,大声朗读效果好。更建议录音比对纠正发音。不过这一点对设备等要求比较高,我没怎么用过。&br&最后,背单词最重要的一点就是对抗遗忘。遗忘是人类对自己大脑的一种保护措施,对不经常重复使用的东西的遗忘是必然的。所以忘记背过的单词时没必要沮丧或者丧失信心,反倒是你如果有单词不忘应该高兴,至少说明你比我脑子好。对抗遗忘的办法,最好的是按照遗忘曲线规律来反复记忆单词,但是那个曲线实在是难以掌握,所以我的简便策略是每周末把本周学过的所有单词重新检查一遍,检查方法就是听写并回想意思。遇到不能很快(一秒以内)回忆出意思的,单独拿出来列一个单词表。下周复习时将这部分单词与下周新学的单词一起复习。复习两次都没问题的,就可以从这个记不住的表里去掉了。这个单独的遗忘单词表的录音通常不太容易凑齐,这种情况就只能看字形回想意思和看意思回想写法了。&br&除此之外,在后面步骤中如果发现因为单词的遗忘引起的听写问题,也随时将单词加入这个遗忘单词表,并用上面的方法进行复习。总之这个遗忘单词表维护好了可以很大程度提高背单词的效率。&/blockquote&&b&单词和语法都没问题后,开始听写课文。&/b&&blockquote&至此,仍然不需要打开教材的课文部分或者《大家的日本语》的本册。&br&听写课文是整个方法中最重要的一个环节。&br&首先,第一次不要停顿,连续听完一句话或者一段话。&br&最初听的时候应该会出现如下几种情况&br&1. 大意能听懂,细节不清楚&br&2. 部分能听懂,中间有几个地方总是听不出来&br&3. 完全听不懂&br&对大意能听懂,细节不清楚的,不需要反复去听,根据自己理解的大意和掌握的单词和语法重新造句。把句子造好之后,再听录音去检查自己造句造的对不对。这时候可能有些部分发现不对劲,怎么看都觉得自己写的跟听到的不一样。对这部分反复听,或者使用复读机或软件的功能减速听。直到改对劲了为止。&br&对部分能听懂,中间有几个地方总是听不出来的,先把能听懂的部分写出来,对听不出来的部分反复听,实在不行减速听。这时候可能听不懂,但是大概知道是什么音,那就试着根据音把假名写出来,有时写出来就想起来了。想不起来也可以提高听假名的准确度。经常看到有些字幕组翻译的字幕出错,就是因为听假名的精确度不够高产生的误听错误。&br&对完全听不懂的,只能继续反复听,直到它变成了前面两种中的某一种。&br&上面提到的“反复听”如果对同一个东西听了不到50次,建议不要放弃,继续坚持。&/blockquote&&b&打开书对照听写内容。&/b&&blockquote&这一步很重要,话说三分在写七分在改。&br&这里不是简单地看一下哪句写对了哪句写错了就完事儿的。而要仔细分析自己错误的原因。&br&如果因为单词没记熟,刚才说过,把单词追加到遗忘单词表里,日后复习。&br&如果因为语法没掌握,再回头学习一下语法,实在理解不了,找个老师问问。网上问答的答案请自行注意甄别,有些是半瓶醋乱写,真不知道说什么好。达到一定水平后可以到日文网站去问日本人,还是那句话,日本人给你的答案,即便是错的也是日本人常犯的错误,你犯了不影响水平。&br&如果单纯听错了,把那句话找出来反复听,直到听明白了为止。这里没有反复次数上限。比如一些例如していただきます之类比较长的固定用法,一开始确实很难辨别清楚。只能慢慢把耳朵磨出来。&br&有时会遇到怎么听都觉得录音的发音不像书上的文字,在录音质量(网上下载的有些音质真不行,所以建议使用正版教材)可以保证的前提下,抱着录音一定是正确的的想法去让自己的耳朵记住这种字形的发音就是录音那样的。如果对同一种表现有很多录音可以参考,多听一些也是个不错的办法。&/blockquote&完成上述步骤后,基本这一课里哪些部分已经掌握了,哪些部分还有缺陷自己心里已经有数了,对有缺陷的部分设法补上。最后,把课后练习题一丝不苟地做一遍。别看这那些单纯的单词替换练习简单,正是那些简单的练习可以让你对学过的内容进行巩固熟练。同样,对练习题也是对照答案的时候不是简单地判断对错,而是要搞清楚自己为什么会错,错在哪里。永远不要用一句自己马虎了敷衍掉任何一个错误,因为马虎正是是不熟练的表现。把自己的错误记录总结下来,每周复习的时候都看看。&br&&br&以上是听写的具体操作方法。&br&我刚才说过,听写是方法之一,另一个方法就是写作文。&br&刚开始两个星期可能不太容易写出什么成型的东西,两个星期之后建议至少每周写一篇。&br&因为是学习语言,我们不需要什么文采,哪怕流水账,也要坚持写下去。&br&写的时候尽量去写自己想写的,而不是只写自己能写的。&br&遇到不会的单词和想用的语法,去拿中日辞典查,然后大胆地用。有可能用错了,不过没关系,因为有人会给你改的。&br&你现在该问了:谁给改呢?&br&&b&现在我就给你介绍一个语言学习者的好朋友:&br&&/b&&a href=&///?target=http%3A///& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&br&这是一个用外语写作文,然后有那个国家的人来帮你改的网站。&br&作文都写在那里,会有热心的日本人来给你改。为了让更多的人来帮你改,你也适当地得去改一改他们写的中文。一般来说,看到他们的中文,你会慢慢对自己的日语水平信心大增的。&br&还是那句话,三分在写七分在改。&br&有人给你改了,不是看一眼就完,要追究原因,想一想为什么自己的写法不对,为什么对方给你改了。有时实在想不明白了,也可以直接评论或者私信问对方。由此还可以交一些日本朋友。&br&在作文中被改过的单词,如果你觉得是自己用得到的,记下来。找一本标有音调的辞典,查一查发音是什么,自己把发音也记住。&br&&br&另外,如果交到了不错的日本朋友,可以去装一个skype,跟对方约好语音交谈。如果对方是学中文的,这次用日语,下次用中文。做个语言朋友。一来二去搞个异国恋也不是完全不可能的嘛……&br&这里有一个我夫人发现的中日互帮互学找朋友网站:&a href=&///?target=http%3A//www.jcinfo.net/cn/lookfor/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&中文/英语/日语互相学习(语言交换)募集公佈栏&i class=&icon-external&&&/i&&/a&&br&&br&关于听写,最初因为掌握的知识和词汇都比较少,可能课本是最好的听写材料。当你达到一定水平后,就可以开始试着听写动画片、日剧的内容。网上为了听写貌似也有不少高人听完之后的台词,你听完了可以拿来对照。但不要全信网上的台词,因为他们听的也不一定就正确。要自己仔细甄别,实在不行找个日本人帮忙听一下。(日本人在哪里?上面不是说你已经有了语言朋友了嘛。)&br&另外,如果没有语言环境,即便是能顺利听写出来的内容,也会随着时间的推移渐渐遗忘。你可以考虑利用通勤或者等待时间,带个mp3在身上,反复放听过的内容,让耳朵多接触日语,从而适应它。只要注意别过于投入坐车坐过站就行。&br&&br&&b&最后,说一点最最最重要的。&/b&&br&就是一定要不断地鼓励自己。不管别人说什么,你有一点成就都是你很了不起的证明。比如某一天单词听了十次就都记住了,成就一件!某天有句话一次就听写下来了,绝对是大成就一件!你如果不嫌麻烦,自己给自己做几个勋章,慢慢贴着。隔段时间看看自己得了那么多勋章会很有满足感的,也会很有继续学下去的动力。&br&犹如龟兔赛跑,学习的路上没有笨蛋。无论进度多么慢,只要不停下来都是好汉。只有中断的人才是笨蛋!&br&&br&上面,我一直在建议不要单纯为了考级来学习,那么考级有什么用?为什么那么多人去考级?考级的一个作用是在你不知道自己水平多高的时候,用来自我检验;另一个作用是让无法直接衡量你能力的人了解你的能力。&br&前一个作用,其实也不必去参加正式考试。自己找几套模拟题,严格按照考试要求做一做也就行了。&br&后一个作用,也完全没必要为了考试突击复习,弄出一个“虚假”的成绩。是的,突击复习后考试的成绩就是虚假的成绩,因为那不代表你的真实能力。&br&为了说明考级,这里说一个找工作的例子。例如某公司招人,要求日语一级。有A、B两个人去应聘。由于公司里没有日语好的人能来直接面试,对日语水平只能看证。A是真实有实力,随便去考场溜达一圈拿到的证;B是参加考级班应试突击,靠押题押中了考出来的证。因为日语水平从证件上看一样,都被公司录取了。进公司后,要做的工作是要直接去跟日本人打交道,谈业务。A因为有实力,自然做来游刃有余,不用加班费力就把业务谈得很好,客户评价也高。自然在公司里各方面评价待遇都不错,业余生活也不影响。B因为只有个证,真遇到日本人顿时傻眼,出现很多因为语言问题导致的误会,延误工期或合同内容与公司本意不符,为了尽量少出差错,只能自己不断加班,虽然如此,客户因为沟通不畅还是频频投诉。B自然在公司生存艰难,个人心情和生活也难保不受牵连。或许一个和B水平差不多的C,最初没有日语证,去了一个稍差的公司,但因为能力可以胜任,做着也是心情舒畅,业余时间还可以继续补补日语,过几年跳到B所在公司,保不准还成了B的上司。&br&所以,拿一个与自己能力不符的证明在身上,只会成为你的包袱和累赘,不会给你带来任何好处。&br&但考级试题的题目在一定程度上会对很多知识点进行覆盖,作为对自己知识的查漏补缺,拿来利用一下倒也是不错的学习工具。&br&&br&当然,以上的结论和方法都是我个人的经验,不见得放之四海而皆准。你一定可以根据自己的情况找到最适合自己的高效学习方法!不过,提醒一点,没有不出力就有回报的方法。但是有充满乐趣,出力了但不痛苦的方法。&br&&br&祝你学习成功!&br&&br&ps. 如果需要具体帮助,我愿意帮助真心向学的人。&br&&br&------- 补充分割线 --------&br&发现隔三差五有一批人来赞同、感谢或者评论我的这个答案,不知道是不是跟什么考试周期之类的有关。&br&最近想起一个听写和写作时一定一定要注意的点,发现上面忘写了,这里补充一下:&br&&b&无论什么时候,书写带有汉字的内容时,一定要同时标注上假名。并养成习惯!&/b&&br&为什么说这一点重要?因为中国人对汉字的字形首先没有什么太大问题,而问题基本都出在读音上。为汉字标注假名是对单词读音的一次强化。尤其是长音、促音等纯靠听力难以辨别的部分,如果不刻意地强制自己反复练习,非常容易忘记。我见过很多日语已经很强很强的人,却仍然对「旅行(りょこう)」之类的词汇咬不准是否长音。我个人有时也会发生

我要回帖

更多关于 unity 动态创建mesh 的文章

 

随机推荐