摘要:
致一起奋斗过的兄弟姐妹们: 天要下雨,娘要嫁人,生死有命,富贵在天;新冠病毒席卷全球,世界格局即将改变;我也想尝试改变。 原本以为自己能在振华退休的,哈哈哈。。。但还是提前下车,剩下的路想自己走。八年的光阴,说长不长,说短不短;成果也好,绩效也好,这几年还是有所收获的,自己也坐在舒适区。但是心里却越 阅读全文
摘要:
2019年4月16日,Oracle发布了新的JDK 8的更新,版本号为8u211/8u212。与以往不同的是,新版本的许可协议从BCL换成了OTN,这就意味着,你不能在生产环境使用这个版本了,个人用途还是可以的。如果你想继续使用新版本,就需要给Oracle交钱了,我选择了最后一个免费稳定版JDK 8u201,它是2019.1.15发布的。 阅读全文
![](https://img2018.cnblogs.com/i-beta/283159/202002/283159-20200219152856021-1415936874.jpg)
摘要:
今天是21世纪20年代第一个工作日,农历腊八,日子比较特殊,但还是照常上班。2019年算是翻篇了,有喜有悲,有得有失,这一年值得自己好好总结。 昨天参加了母校上海校友会年会,见到了很多老前辈,感受了一把人在他乡的“校友情”。来上海已经十个年头的,头一次参加这样的活动,除了熟悉的乡音和北方人的豪爽外, 阅读全文
摘要:
这个命题似乎带着满满的负能量,或许之前的我也无法接受这种观点,但是人就是这样,随着年纪变大和阅历增加,慢慢的就成为当初自己不喜欢的人。记得前几天在李诞的一期节目中,他调侃自己:我就是一个非常自私、只想着自己的人,感觉和周围人都不太一样。虽说是玩笑话,但包含大智慧。前半生中贺函有句名言:每个人只要管理好自己,天下就太平了。最初我很鄙视这种观点,感觉没有人情味、无法凝聚力量。我读过牛根生的故事,得意时自己将百万奖金分给部下,危难时所有人坚定跟随一同创业,最终成就了蒙牛。我的启蒙老师对我孜孜不倦教导以及毫不吝啬的鼓励,对我入行时能够快速成长起到了至关重要的作用。我心怀感激,并决心在我的职业生涯中要传承和发扬这种精神。 阅读全文
![](https://img2018.cnblogs.com/i-beta/283159/201911/283159-20191121095325230-167254693.png)
摘要:
Redis是内存数据库。接口好用,性能也很强,还支持多种数据结构,加上各种高可用性集群方案,种种优势源自于它的设计——简单直接的单线程内存操作。但是 阅读全文
![](https://img2018.cnblogs.com/blog/283159/201909/283159-20190917143520529-1509657024.jpg)
摘要:
消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。RabbitMQ比Kafka成熟,在可用性上,可靠性上,稳定性上,RabbitMQ理论上胜于Kafka,由于Kafka设计初衷是处理日志,可以看做是日志(消息)系统一个重要组件,针对性很强,虽然吞吐量远高于RabbitMQ,但从业务方面考虑还是建议选择RabbitMQ。 阅读全文
![](https://img2018.cnblogs.com/blog/283159/201909/283159-20190912142113476-347481877.jpg)
摘要:
为什么有了 Linkerd 和 Envoy 之后,还会进一步进化出 Istio 和 Conduit。它们相对于老的 serive mesh 框架最大的特点就是基于 Kubernetes 设计,补足了Kubernetes在微服务间服务通讯上的短板。虽然Dubbo、Spring Cloud等都是成熟的微服务框架,但是它们或多或少都会和具体语言或应用场景绑定,并只解决了微服务Dev层面的问题。若想解决Ops问题,它们还需和诸如Cloud Foundry、Mesos、或Kubernetes这类资源调度框架做结合。云平台(或者自建机房) 为微服务提供了资源能力(计算、存储和网络等),容器 作为最小工作单元被 Kubernetes 调度和编排,Service Mesh 管理微服务的服务通信,最后通过 API Gateway 向外暴露微服务的业务接口。 阅读全文
![](https://img2018.cnblogs.com/blog/283159/201909/283159-20190906151525748-1503936574.jpg)
摘要:
反射是什么?官方给出的解释:反射提供了封装程序集、模块和类型的对象(System.Type类型)。可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性。
个人理解:在运行态下,动态访问、修改自身的功能。今天我们利用反射为程序动态加载程序集(Assembly),System.Reflection命名空间是我们实现该功能的基础。 阅读全文
![](https://img2018.cnblogs.com/blog/283159/201909/283159-20190903171032608-1700399749.jpg)
摘要:
程序猿对于宕机再熟悉不过了,如果一个程序异常退出,那我们只能在Windows日志中找到它的踪迹;如果它是一个托盘程序,异常退出后,它会停留在托盘中久久不能离去,直到我们的鼠标从它身上划过;如果一个程序被另一个守护程序不断的杀掉、重启,那么它的结果很惨。解决方法其实很简单,在程序每次开启前,向托盘窗口发送鼠标经过消息WM_MOUSEMOVE,使其刷新。 阅读全文
![](https://img2018.cnblogs.com/blog/283159/201908/283159-20190823235502366-1624888000.jpg)
摘要:
2019过半,不知不觉已进入秋天,今年上海夏天格外凉爽,没感觉热就结束了。上半年总体感觉归于平淡,但是平平淡淡才是真嘛。年初制定的个人计划基本完成,关键是难度系数都不高,下半年有两项重要考核正在等着,希望好运可以眷顾下。工作还是老样子,前段时间产品负责人及公司领导举行了为期两天的闭门会议,探讨技术和产品未来的走向。本以为可以发现和触碰新的边界,结果却依旧无力。自己深知创新绝非易事,也明白企业文化惯性之强,可自己还是想试试。不料,又撞了一头灰,这一撞并非坏事,反而让我更清醒一分:如果自己想当英雄,那就先救救自己吧。 阅读全文