- 博客(13)
- 收藏
- 关注
原创 代码大全-伪代码
编译子程序 注意编译器的提示(idea 错误 警告等提示)一些插件的使用 sonarqube findbugs。去掉在脑海里 ,(自己检查(desk checking) 代码评审(peer review))子程序涉及数据操作和转换,就需要定义好关键的数据类型。(不要重复造轮子,利用现有的java工具类,比如hutool),提高编码效率。想要提高代码的质量和生产率,重要途径是重用好的代码。(构建程序的时候,步骤的顺序不是固定的 按需迭代进行。参考已有的算法实现,并正确转换为项目使用的编程语言。
2024-09-22 19:49:00
430
原创 Docker
轻量级 vs. 重量级: Docker 容器比虚拟机更轻量级,占用的资源更少,启动速度更快,更适合现代应用程序的开发和部署。虚拟机由于完整的操作系统和硬件虚拟化层,较为重量级,但提供更强的隔离性和兼容性。应用程序隔离 vs. 完整系统隔离: Docker 提供应用程序级别的隔离,适合需要快速部署和高效资源利用的场景。虚拟机提供完整系统的隔离,适合需要高安全性和不同操作系统运行环境的场景。使用便捷性 vs. 管理复杂性: Docker 更加易于部署和管理,特别是在云原生和微服务环境中。
2024-08-29 23:01:26
1610
1
原创 Netty和gRPC区别
Netty 是一个异步事件驱动的网络应用框架,用于开发高性能的网络服务器和客户端应用程序。gRPC 在分布式系统中使用广泛,适用于需要高性能、低延迟的 RPC 调用,如微服务、数据流处理、跨语言系统集成等。: Netty 是通用的网络框架,可以支持 TCP、UDP、HTTP、WebSocket 等多种协议。虽然可以扩展为其他序列化机制,但 protobuf 是推荐的标准格式,提供了高效的编码和解码。虽然它的灵活性比 Netty 低一些,但提供了大量的标准特性来简化分布式系统的开发。
2024-08-29 21:14:12
1088
原创 HashMap函数详解
int n, i;else {K k;e = p;else {;break;break;p = e;if (e!if (!++modCount;resize();
2023-05-23 16:53:39
162
1
原创 垃圾收集器
标记清理和标记整理适用于老年代,因为老年代的对象内存占用较大,采用标记复制无法提供足够的空闲内存。由于硬件资源的提升,程序的内存空间没那么紧缺,用户更多关注收集动作的延迟。一次回收可以不用清理掉全部的垃圾,而是要尽可能的满足较低延迟,同时保证内存回收的速度大于内存分配的速度。基于区域的内存布局设计的垃圾回收器(g1),虽然也体现了年轻代和老年代的概念,但没有固定分代占用的内存大小。依据回收价值(回收的内存大小和付出的时间)对Region进行排序,优先对价值高的区域进行收集,从而建立一个可预测的停顿模型。
2023-04-28 14:13:58
85
原创 【无标题】
协程的调度完全由用户控制,协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其它地方,在切回来的时候,恢复先前保存的寄存器上下文和栈,直接操作栈则基本没有内核切换的开销,可以不加锁的访问全局变量,所以上下文的切换非常快。运行在用户态的程序可以通过系统调用(还包括异常,外部中断)的方式进入内核态。协程能保留上一次调用的状态(可以中断执行,下次重新调用的时候能够恢复执行),每次重入时,就相当于进入上一次调用的状态;一个线程可以有多个协程,一个进程也可以单独拥有多个协程;
2023-04-11 14:26:47
87
原创 面试常见开放式问题
1、你平时有什么爱好吗?2、你平时的生活情况是怎样的?你和团队中的人是如何相处的?3、你平时是通过什么方式学习的?4、你觉得自己遇到最有挑战性的事情是什么?5、你希望你未来想要加入的团队是怎样的?6、你的未来职业规划是怎么样的?7、你对应聘的岗位/部门了解吗?8、与同事沟通的时候,如果遇到冲突了如何解决?9、最近上过上哪些技术站点; 最近在看哪些书?10、工作中觉得哪方面欠缺?11、个人优势12、对公司的印象或者同学中的评价?13、参与的课外活动?社团?除了学习,有其他的活动吗?14、你最期望在阿里巴巴实习
2023-04-04 14:01:14
2442
1
原创 mhy笔试题
米小游拿到了一个集合(集合中元素互不相等)。她想知道,该集合有多少个元素数量大于 11 的子集,满足子集内的元素两两之间互为倍数关系?记得mod一下 :sum[a[i]]=(sum[a[i]]+sum[u]+1)%mod;代表u结尾的所有合法子集均添加一个a[i] 的方案数: sum[u]转移方程:(条件:a中存在u,且a[i]是u倍数,u!以及单一个u的集合加 a[i] 也能构成新的合法集合的方案数: 1。dp含义 :sum[x]表示以x元素作为结尾的方案数。故u对a[i]的贡献为 sum[u]+1。
2023-03-27 18:36:44
298
原创 Spring Bean生命周期
初始化:初始化的过程是一个赋值的过程,即调用Bean的setter,设置Bean的属性。实例化:一个创建Bean的过程,即调用Bean的构造函数,单例的Bean放入单例池中。
2023-03-27 13:31:02
67
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人