会是又一个资费陷阱吗?" title="疯狂补贴的4G+  会是又一个资费陷阱吗?"> 常言说得好,防火防盗防运营商--具有垄断性质的中国移动.联通.电信三大基础运营商,多年以来凭借垄断地位不断攫取高额利润.甚至很多看似美好的举措,最终都因在执行上的偏差,成为"善意"的谎言.而最近,最大的"谎言"自然就是流量不清零.资费降低等.不过相比这些政策,具有基础性质的移动网速速率,更值得关注. 近日,中国联通正式发布4G .而此前,移动…
Java学习者的建议:把自己从一个疯狂下载者&资料的奴隶变成一个真正的学习者 你下载的资料看过了多少,请大家好好想想,然后回答一下很多人为了The.Economist花了不少时间,为了下载一个课件花了不少时间,为了买一本书排了很长的队,我想问一句,你够用吗?就像The.Economist.每期免费的文章难道不能满足你的要求吗?难道其它报刊亭可以购买的<英语世界><大学英语>等等的英语资料不够你用吗?难道你非要邮寄和打印所谓的经济学人吗?很多人花了很多时间,却没有达到想要的效…
方法一:可以通过生成器,分多次读取,每次读取数量相对少的数据(比如 500MB)进行处理,处理结束后在读取后面的 500MB 的数据. 方法二:可以通过 linux 命令 split 切割成小文件,然后再对数据进行处理,此方法效率比较高.可以按照行数切割,可以按照文件大小切割.…
Java里面运行一个线程可以通过继承Thread的方式,也可以通过实现Runnable的接口来实现,那么两者能不能混用呢,比如以下的例子: public class JavaTest extends Thread{ public JavaTest(Runnable target) { super(target); } public void run() { System.out.println("run() in JavaTest thread."); } public static…
最近工作中有接触到DelayQueue,网上搜索资料的时候发现一篇文章谈到DelayQueue的坑.点击打开链接 文中已经总结了遇到坑的地方,还有解决方案.不过我第一眼看一下没弄明白为什么,所以翻了翻源码深究了一下,下面把这个坑的原因以及原理分析一下. 首先是DelayQueue的take()方法: public E take() throws InterruptedException { final ReentrantLock lock = this.lock; lock.lockInterr…
为了解决问题,偶然发现一个奇怪的地方:就是使用try-with-resource机制的代码编译后,使用jd-gui反编译文件出现// ERROR //,但是程序运行却是正常的. 进一步确认后发现:如果try语句中只有一个定义时,反编译后也不会报错(如果有两个可以嵌套try语句):而且编译完以后的代码跟正常的代码编译完后的差距很大. 以下是测试证明: 原始的写法举例 public byte[] file2byte(String filePath) { byte[] buffer = null; F…
距离上次发表博客已经有几年了. 对于没能坚持更新博客,实在是感觉到甚是惭愧. 闲言少叙, 直接切入主题. 背景 最近一直在对于公司一个网络通信服务程序使用.net core 进行重构.重构的目的有两个:一是让程序能够跨平台运行. 二是优化程序代码结构是程序的可维护性有所提升.  重构的过程主要由我来设计底层的架构. 在这个过程中,由于我对C# 泛型的理解还不够深入,所以在这个方面我就犯了个错误. 希望本文能把我犯的这个错误阐述清楚, 如果能帮助园里其他朋友避免这个问题当然是最好的了. 早前的设计…
先看看如下C#的脚本代码: 猜猜控制台打出来的是什么? In the bool parameter function, value info is:  True 肯定出乎很多人的意料吧? transform的类型跟bool类型一点关系都没有,怎么会调用TestFunction(bool value)呢?我碰到这个问题的时候,第一反应是编译器出问题了,后来同事的机器上一样有同样的运行结果.于是我继续写了如下代码: 这次的运行结果符合预期了,调用的是void TestFunction(System.…
我们的APP从启动到进入主页面.是通过presentViewController构造了一个ViewController序列,类似于首页 -> 登陆页 -> 启动载入页 -> 主页面 当中.在启动载入页的viewDidAppear方法里做了非常多逻辑处理: -(void) viewDidAppear:(BOOL)animated{ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(…
QString::toWCharArray(wchar_t * array) 其中 wchar_t * array 除了要分配内存之外,必须用 wmemset 初始化. 环境是 Visual Studio 2015. QT官方文档确实注明了:Note: This function does not append a null character to the array. 另一种转换方法 auto archiveWString = mArchive.toStdWString(); auto ar…