
程序员的自我修养
文章平均质量分 69
liuxinyang666
没什么~~
展开
-
饿了么大数据平台建设
大数据平台现状饿了么的大数据平台团队成立于2015年5月份左右,在16年4月份,Hadoop集群规模还只在100+节点数,而在一年时间里集群规模快速增长到1000+的水平,这还是在引入数据生命周期进行管控的情况下的规模增速;同样,流计算集群的规模虽然相对较小,但也经历了10倍的增长,一些topic的吞吐量已超过百万每秒。 当前平台部分的逻辑架构如图1,并持续演进。图1 饿了么大数据平台的逻辑架转载 2017-11-28 23:07:24 · 369 阅读 · 0 评论 -
Java 并发专题 :FutureTask 实现预加载数据 在线看电子书、浏览器浏览网页等
继续并发专题~FutureTask 有点类似Runnable,都可以通过Thread来启动,不过FutureTask可以返回执行完毕的数据,并且FutureTask的get方法支持阻塞。由于:FutureTask可以返回执行完毕的数据,并且FutureTask的get方法支持阻塞这两个特性,我们可以用来预先加载一些可能用到资源,然后要用的时候,调用get方法获取(如果资源加载完,直接返回;否则继续等转载 2017-12-15 15:29:19 · 207 阅读 · 0 评论 -
不到40行代码构建正则表达式引擎
原文:Build a Regex Engine in Less than 40 Lines of Code作者:Nick Drane翻译:Diwei译者注:如何用不到40行的代码构建一个正则表达式引擎?作者在本文就将他本人的解决思路记录了下来,如果你也想挑战,不妨借鉴一下作者的思路,说不定你写的代码可能不到30行。以下为译文。无意之间我发现了一篇文章,Rob Pike用C语言实现了一个正则表达转载 2017-12-17 21:03:55 · 203 阅读 · 0 评论 -
Java 经典算法之冒泡排序(Bubble Sort)
原理:比较两个相邻的元素,将值大的元素交换至右端。思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。举例说明:要排序数组:int[] arr={6,3,8,2,9,1};第一趟排序: 第一次排转载 2017-12-17 21:04:31 · 191 阅读 · 0 评论 -
程序员路在何方
我是程序员,也是老司机。我已过而立之年,也还没过而立之年——年纪是到了,却还没有立,不论是立德、立言还是立功。你问我慌不慌,我问你路在何方。我当程序员数数日子,八年有余,自封老司机也不算太过分,至少写过的代码比吃过的盐多。那些碰到过的臭虫,被指派的需求,请求的网页,搜索的问题,都是沿路的风景。你问我风景美不美,我问你前路在何方。我写过客户端、做过网站、写过后端服务,踩过的坑,多过别人埋过的地雷。网页转载 2017-12-31 20:13:26 · 545 阅读 · 0 评论 -
一个程序员对另一个准程序员的忠告
自己关于所从事工作的一些看法,希望对你有用。 为什么要选择软件互联网行业 从宏观上来看,软件互联网工作者算得上是这个时代的弄潮儿,站在潮流的前沿,致力于为用户创造更加时尚便捷优质的生活。在当今这个移动互联网的浪潮之中,你可以感受到互联网正在改变人们的生活方式和思维方式,激发时代的变革,进而改变中国,改变世界。如今,一切传统行业如果不拥抱互联网,就将面临被时代浪潮淘汰的危机。拿金融转载 2017-12-31 20:15:01 · 1121 阅读 · 0 评论 -
漫谈程序员系列:千奇百怪的程序员
干开发时间长了,遇见好多好玩儿的程序员。看看你躺枪了没。留一手有个哥们儿,在一合资公司做程序员,能力挺强,写代码很神的。他的代码我看过,深得 MFC 的精髓:大量的宏,很多函数就两三个宏,一个BEGIN_XXX,一个END_XXX,中间再夹另外一个宏。诺,这就是汉堡包了。我碰巧看他的代码(题外话,没和他在一个公司一块儿待过),那个头大啊……这玩意儿也能记得住嘛,厉害,真是厉害。就是这么厉害个人儿,转载 2018-01-01 22:11:57 · 1219 阅读 · 0 评论 -
如何在2018年变成一个牛B的程序员?
最近同一部门另一个项目组的一位程序员被“主动离职”了,虽然我未曾与这个程序员共事过,但是听过一两次他的内部分享,感觉技术还是挺厉害的。后来与一个消息灵通的同事聊天,才知道真正的原因是老大觉得A难以沟通,搞得其他程序、QA都怨声载道。工作这些年,身边的好多同事来了又走了,主动或被动,这不禁让我思考什么样的程序员算得上合格的程序员。虽然大家都自称“码农”、“IT民工”,但我相信,这仅仅是自嘲或者自黑,大转载 2018-01-01 22:13:45 · 2407 阅读 · 0 评论 -
DB2 Vs MySQL系列 | MySQL与DB2的数据类型对比
随着MySQL数据库的应用越来越广泛,DB2向MySQL数据库的迁移需求也越来越多。进行数据库之间迁移的时候,首先遇到的并且也是最基本最重要的就是两种数据库数据类型之间的转换。相关阅读:从商用到开源:15个维度,全面剖析DB2与MySQL数据库的差异从商用到开源:DB2迁移至MySQL的最佳实践下面结合中国证券等级结算深圳分公司开源数据库研究测试项目的DB2数据库向MySQL数据库迁移项目,说明两转载 2018-01-03 23:40:53 · 391 阅读 · 0 评论 -
程序员路在何方
我是程序员,也是老司机。我已过而立之年,也还没过而立之年——年纪是到了,却还没有立,不论是立德、立言还是立功。你问我慌不慌,我问你路在何方。我当程序员数数日子,八年有余,自封老司机也不算太过分,至少写过的代码比吃过的盐多。那些碰到过的臭虫,被指派的需求,请求的网页,搜索的问题,都是沿路的风景。你问我风景美不美,我问你前路在何方。我写过客户端、做过网站、写过后端服务,踩过的坑,多过别人埋过的地雷。网页转载 2017-12-29 16:42:56 · 443 阅读 · 0 评论 -
程序员路在何方
我是程序员,也是老司机。我已过而立之年,也还没过而立之年——年纪是到了,却还没有立,不论是立德、立言还是立功。你问我慌不慌,我问你路在何方。我当程序员数数日子,八年有余,自封老司机也不算太过分,至少写过的代码比吃过的盐多。那些碰到过的臭虫,被指派的需求,请求的网页,搜索的问题,都是沿路的风景。你问我风景美不美,我问你前路在何方。我写过客户端、做过网站、写过后端服务,踩过的坑,多过别人埋过的地雷。网页转载 2017-12-29 16:46:30 · 295 阅读 · 0 评论 -
阿里巴巴十年Java架构师分享,会了这个知识点的人都去BAT了
1.源码分析专题640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1详细介绍源码中所用到的经典设计思想,看看大牛是如何写代码的,提升技术审美、提高核心竞争力。帮助大家寻找分析源码的切入点,在思想上来一次巨大的升华。知其然,并知其所以然。把知识变成自己的2.分布式架构0?wx_fmt=jpeg互联网时代,系统架构如何迎接高并发流量的挑战。而作为技术开发者,如何转载 2018-01-16 23:18:35 · 2808 阅读 · 1 评论 -
资深java软件工程师给大家的忠告
java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍。这一部分的内容,同样适用于一些希望转行到Java的同学。 在大家看之前,我要先声明两点。1、由于我本人是Java后端开发出身,因此所推荐的学习内容是Java转载 2018-02-02 10:48:41 · 4968 阅读 · 6 评论 -
Java多线程编程-(19)-多线程异步调用之Future模式
一、线程计数器回顾 在《Java多线程编程-(8)-两种常用的线程计数器CountDownLatch和循环屏障CyclicBarrier》 这一篇中,我们使用线程计数器的方式实现了在主线程中等待计数的线程执行完之后在执行阻塞等待之后的代码。看段代码回顾一下:这里简单的回顾了一下CountDownLatch,这是因为CountDownLatch也实现了类似异步调用的过程,只不过具体的任务由线程去执行转载 2017-11-27 20:58:56 · 258 阅读 · 0 评论 -
双11越来越“高大上”,你的工资还配得上它吗?
编者按:本文来自DT财经,作者:罗遥,36氪经授权发布。 遥想9年前首个“双11”,DT君还是学生党+单身狗。那时,天猫还叫“淘宝商城”,品牌数量也和现在不可同日而语。为节省生活零用,当天我宅在宿舍淘了一天便宜货。9年过去,大牌云集的“双11”,也变成了DT君和小伙伴们努力伸手去够各种高价商品的窗口期:成家的人囤进口奶粉,母胎单身的去入贵妇护肤套装……现在的烦恼是,你还过得起“双11”么?你们……转载 2017-11-27 20:57:37 · 1696 阅读 · 0 评论 -
Java类的共同父类Object
Java.lang.Object类是所有Java类的最高层次父类。其内部不存在任何属性,但是存在几个经典方法如下:一.public int hashcode()–功能是返回当前对象的哈希码,系统会自动的给每个Java对象自动创建的整型编号。public class Person { private int age; public Person(int age){转载 2017-11-29 23:50:54 · 703 阅读 · 0 评论 -
欢迎使用优快云-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl转载 2017-11-21 14:12:21 · 152 阅读 · 0 评论 -
【Java】【JVM】JVM参数
// 非标准选项: -X // 部分JVM实现可能不支持 // 不稳定选项: -XX // 不建议随便使用// 查看版本: -version// JVM类型: -server / -client// 不设置参数,JVM则会自动选择// serverVM为堆提供了更大空间,和一个并行的垃圾收集器// 32位JVM只能使用client类型JVM// 初始堆内存: -X转载 2017-11-30 23:06:46 · 143 阅读 · 0 评论 -
java里面 关于参数args
今天看代码的时候,突然看到args,一时忘了怎么使用,在google敲进java args,马上有一大堆记录出来,看来想知道它用法的不止我一人。在这里记下来,希望以后忘了能用到。 实例代码如下: public class test { public static void main(String[] args) { int m转载 2017-11-30 23:07:54 · 1914 阅读 · 1 评论 -
35 个 Java 代码性能优化总结
前言 代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以转载 2017-12-09 23:48:28 · 125 阅读 · 0 评论 -
C#中的Contains与IndexOf的区别
C#中要判断一个字符串是否包含另一个字符串,常用的两种方法是 str.Contains和str.IndexOf 这两个方法的区别是: Contains是找指定字符串是否包含一个字串,返回值的boolean类型,即只有true和false IndexOf有多个重载,但无论哪个,都是做一定的匹配,然后把匹配的第一个字符的位置返回,返回的是int类型,如果没找到,那么返回-1 [csharp]转载 2017-12-10 23:27:06 · 2862 阅读 · 0 评论 -
【Java】【JVM】内存泄漏
// 内存泄漏:是指对象已经不会再使用了,但在内存中仍然无法被释放,导致内存占用量越来越大 // 引发原因:对象虽然已经不再使用了,但因为代码不规范的原因,在程序中仍然被引用 // 简单测试方法:调用System.gc()命令立刻进行内存清理,同时调用Runtime.getRuntime().totalMemory()方法打印前后内存变化 // 如果程序没有其他后台功能在运行,内存转载 2017-12-10 23:27:48 · 175 阅读 · 0 评论 -
一位程序员工作10年总结的13个忠告
展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告。走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的10年的路程,有些心得体会你可以借鉴一下,觉得说得有道理的你就接纳,觉得说得没道理的,你就抛弃,以下是我发自内心的,给大家的忠告,特别是针对那些小弟弟妹妹们。01.自己的户口档案、养老保险、医疗保险、住房转载 2017-12-02 22:30:12 · 254 阅读 · 0 评论 -
一道经典的Java多线程编程题
问题描述 启动3个线程打印递增的数字, 线程1先打印1,2,3,4,5, 然后是线程2打印6,7,8,9,10, 然后是线程3打印11,12,13,14,15. 接着再由线程1打印16,17,18,19,20….以此类推, 直到打印到75. 程序的输出结果应该为:线程1: 1 线程1: 2 线程1: 3 线程1: 4 线程1: 5线程2: 6 线程2: 7 线程2: 8转载 2017-12-02 22:30:42 · 356 阅读 · 0 评论 -
JAVASE之简单集合和IO
版权声明:本文为博主原创文章,未经博主允许不得转载。 简单集合引入集合 集合类相对于数组的特点:就是长度可变. 数组的增删改查方法: 增: void add(E e); 删: public boolean remove(Object o);删除指定的元素,返回删除是否成功 Public E remove(int index);删除指定索引处的元素,返回被删除的元素. 改:publ转载 2017-12-03 20:44:36 · 145 阅读 · 0 评论 -
细说equals()方法和hascode()方法
一、前言 对于这两个方法的研究,源于一道比较经典的面试题:“x.equals(y)==true;x,y可有不同的hashcode对吗?”,其实这道题的关键在于考我们对equals()方法和hashCode()方法的理解,网上看了不少文章,有说对的,也有说不对的。在我看来对也不对,具体原因,我们下面慢慢分析。二、equals()方法 equals()方法是Object中定义的方法,任何类都可转载 2017-12-03 20:50:33 · 650 阅读 · 1 评论 -
java 的持久化和序列化的简单理解
1.对象的持久化(Persistence)对象持久化就是让对象的生存期超越使用对象的程序的运行期。将对象存储在可持久保存的存储介质上,在实际应用中,运用相应的对象持久化框架,将业务数据以对象的方式保存在数据库中,如比较早的Hibernate。在一定周期内保持不变就是持久化,持久化是针对时间来说的。数据库中的数据就是持久化了的数据,只要你不去删除或修改。比如在IE浏览器中一次Session会话中S...转载 2019-05-15 15:45:02 · 354 阅读 · 0 评论