Technique/Tips

  1. Noodle.java
  2. class Noodle {
  3. double lengthInCentimeters;
  4. String shape;
  5. String texture = "brittle";
  6. public void cook() {
  7. this.texture = "cooked";
  8. }
  9. public static void main(String[] args) {
  10. Spaghetti spaghettiPomodoro = new Spaghetti();
  11. System.out.println(spaghettiPomodoro.texture);
  12. }
  13. }
  14. Spaghetti.java
  15. class Spaghetti extends Noodle {
  16. }

Go指针的用法

image.png传统的swap方法只传了值,没有传地址,打印结果没有传递。
如果要传地址,需要用指针。

  1. package main
  2. import "fmt"
  3. func swap(pa *int, pb *int) {
  4. var temp int
  5. temp = *pa //temp =main::a
  6. *pa = *pb
  7. *pb = temp
  8. }
  9. func main() {
  10. var a int = 10
  11. var b int = 20
  12. //swap
  13. swap(&a, &b) //交换地址,不交换值
  14. fmt.Println("a=", a, "b=", b)
  15. var p *int
  16. p = &a
  17. //一级指针,打印两个相同的地址
  18. fmt.Println(&a)
  19. fmt.Println(p)
  20. //二级指针,指向一级指针
  21. var pp **int
  22. pp = &p
  23. fmt.Println(&p)
  24. fmt.Println(pp)
  25. }

Share

2022 年需要避免的 6 大云成本优化问题及解决方案

云原生概述

在腾讯看来,云原生本质上是一种行为方式和设计理念,凡能够提高云上资源利用率和应用交付效率的行为 或方式都是云原生的。云原生的目标包括控制成本、增加弹性、提升开发与部署速度、缩短迭代周期等。云 原生的几大代表性模块包括:
• 微服务:高内聚,低耦合,便于扩展;
• 服务网格:控制应用的不同部分之间共享数据的方式;
• 容器:应用实例容器化,跨平台屏蔽开发和底层差异,实现弹性扩缩容以节省成本;
• 声明式 API:关注应用自身,而非系统执行细节。如 K8s 提供了服务编排能力;
• 不可变基础设施:对于底层设施采用版本控制和可溯源的变更,避免产生冲突和事故。