Browsed by
日期:2020年10月24日

你不一定需要一个老板

你不一定需要一个老板

閱讀本文約花費: 3 (分鐘)去年我在非洲,看到了很多野生动物,以前我只在动物园里见过它们。那里的所有动物都很不一样,尤其是狮子。 野外的狮子比动物园的狮子似乎更有活力十倍,它们就像不同的动物。 我怀疑,野外的狮子会更喜欢它的生活。动物园的生活固然更轻松,但这不是大自然为狮子安排的生活。 人类也是如此,在大公司工作就像关进了动物园。人类其实并不适应在庞大的群体中工作。团队越大,效率越低,这几乎成了定律。公司知道庞大的团队行不通,就把内部划分成足够小的团队来一起工作。为了协调这些小团队,他们必须为每个人设置一个老板。 大公司即使分成小团队,其实也是一种假象,终究不可能像真正的小团队。它缺少一样东西:个人的主动性。大公司的员工就像动物园里面的狮子,很少可能有完全的主动性,你的老板就是施加给你的约束。 创业公司的创始人和早期员工,则像野外的狮子,可以按照本性自然的生活。 大公司的局限性对程序员特别明显,因为编程的本质是构建新事物。但是,你拥有的自由与公司组织结构的大小成反比。组织越大,你做新的事情时,面临阻力也越大。 不要误解我,在小公司工作并不能确保自由。我想要表达的是,大公司为自由设置了上限,而不是下限。 大公司限制主动性的一个后果,就是无论公司如何努力保持创业精神,都会不可避免地放慢脚步。 我们已经资助了许多不同类型的创始人,得到了足够的数据。据我观察,已经工作了几年的创业者,似乎…

Read More Read More

Service Mesh (服务网格) 入门

Service Mesh (服务网格) 入门

閱讀本文約花費: 11 (分鐘)现在最火的后端架构无疑是微服务了,微服务将之前的单体应用拆分成了许多独立的服务应用,每个微服务都是独立的。 微服务基本组件包括服务注册和发现、服务通信和治理、故障熔断恢复、配置、安全、监控等等,这些微服务组件和功能在业界已经深入人心,在各大互联网公司开花结果,业界知名开源的微服务框架有 Netflix OSS、Spring Cloud 及其国内的阿里 Dubbo 等等,各种框架百花齐放。 微服务好处自然很多,但是随着应用的越来越大,微服务暴露出来的问题也就随之而来了,微服务越来越多,管理越来越麻烦。特别是要你部署一套新环境的时候,随之而来的服务发现、负载均衡、Trace跟踪、流量管理、安全认证等等问题。 当然随着微服务的不断发展,微服务的生态的不断完善,新的微服务框架 Service Mesh 的出现就是为了解决这一系列问题。 什么是 Service Mesh Service Mesh 是一个非常新的名词,最早是 2016 年由开发 Linkerd 的 Buoyant 公司提出的,伴随着 Linkerd 的传入,Service Mesh 的概念也慢慢进入国内技术社区。 Service Mesh 是一个基础设施层,其独立运行在应用服务之外,提供应用服务之间安全、可靠、高效的通信,并为服务通信实现了微服务运行所需的基本组件功能,包括服务注册发现、负载均…

Read More Read More

Java性能优化的50个细节(珍藏版)

Java性能优化的50个细节(珍藏版)

閱讀本文約花費: 22 (分鐘)在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。 java性能优化细节 1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 第一,控制资源的使用,通过线程同步来控制资源的并发访问; 第二,控制实例的产生,以达到节约资源的目的; 第三,控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信。 2. 尽量避免随意使用静态变量 当某个对象被定义为static变量所引用,那么GC通常是不会回收这个对象所占有的内存,如 public class A{private static B b = new B();} 此时静态变量b的生命周期与A类同步,如果A类不会卸载,那么b对象会常驻内存,直到程序终止。 3. 尽量避免过多过常地创建Java对象 尽量避免在经常调用的方法,循环中new对象,由于系统不仅要花费时间来创建对象,而且还要花时间对这些对象进行垃圾回收和处理,在我们可以控制的范围内,最大限度地重用对象,最好能用基本的数据类型或数组来替代对象。 4. 尽量使用final修饰符 带有final修饰符的类是不可派生的。在JAVA核心API中,有许多应用fin…

Read More Read More

Scroll Up