Technique/Tips
Noodle.java
class Noodle {
double lengthInCentimeters;
String shape;
String texture = "brittle";
public void cook() {
this.texture = "cooked";
}
public static void main(String[] args) {
Spaghetti spaghettiPomodoro = new Spaghetti();
System.out.println(spaghettiPomodoro.texture);
}
}
Spaghetti.java
class Spaghetti extends Noodle {
}
Go指针的用法
传统的swap方法只传了值,没有传地址,打印结果没有传递。
如果要传地址,需要用指针。
package main
import "fmt"
func swap(pa *int, pb *int) {
var temp int
temp = *pa //temp =main::a
*pa = *pb
*pb = temp
}
func main() {
var a int = 10
var b int = 20
//swap
swap(&a, &b) //交换地址,不交换值
fmt.Println("a=", a, "b=", b)
var p *int
p = &a
//一级指针,打印两个相同的地址
fmt.Println(&a)
fmt.Println(p)
//二级指针,指向一级指针
var pp **int
pp = &p
fmt.Println(&p)
fmt.Println(pp)
}
Share
2022 年需要避免的 6 大云成本优化问题及解决方案
云原生概述
在腾讯看来,云原生本质上是一种行为方式和设计理念,凡能够提高云上资源利用率和应用交付效率的行为 或方式都是云原生的。云原生的目标包括控制成本、增加弹性、提升开发与部署速度、缩短迭代周期等。云 原生的几大代表性模块包括:
• 微服务:高内聚,低耦合,便于扩展;
• 服务网格:控制应用的不同部分之间共享数据的方式;
• 容器:应用实例容器化,跨平台屏蔽开发和底层差异,实现弹性扩缩容以节省成本;
• 声明式 API:关注应用自身,而非系统执行细节。如 K8s 提供了服务编排能力;
• 不可变基础设施:对于底层设施采用版本控制和可溯源的变更,避免产生冲突和事故。