后端
Java多线程与线程池技术
一、序言
Java多线程编程线程池被广泛使用,甚至成为了标配。
线程池本质是池化技术的应用,和连接池类似,创建连接与关闭连接属于耗时操作,创建线程与销毁线程也属于重操作,为了提高效率,先提前创建好一批线程,当有需要使用线程时从线程池取出,用完后放回线程池,这样避免了频繁创建与销毁线程。
// 任务
Runnable runnable = () -> System.out.println(Th
IDEA配置MAVEN超详细
一、需要准备什么?
1、已安装配置MAVEN
2、已安装IDEA
二、步骤
1、打开idea,在开始界面点击Customize-->All settings,推荐大家从这里设置,这样以后新建的项目就不用再设置了,在里面设置的话每次打开新项目都要设置一次。
1.allsetting.png
2、依次点击Build,Execution,Deployment-->Buil
Leetcode 8. 字符串转换整数
题目要求
请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。
函数 myAtoi(string s) 的算法如下:
读入字符串并丢弃无用的前导空格
检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。
读入下一个字符,
说说对JMM内存模型的理解?为什么需要JMM?
本身随着CPU和内存的发展速度差异的问题,导致CPU的速度远快于内存,所以现在的CPU加⼊了⾼速缓存,⾼速缓存⼀般可以分为L1、L2、L3三级缓存。基于上⾯的例⼦我们知道了这导致了缓存⼀致性的问题,所以加⼊了缓存⼀致性协议,同时导致了内存可⻅性的问题,⽽编译器和CPU的重排序导致了原⼦性和有序性的问题,JMM内存模型正是对多线程操作下的⼀系列规范约束,因为不可能让陈雇员的代码去兼容所有的CPU,通
07. 特性修饰符——static属性
1、static属性
1.static属性的用途
· static被称为静态,可以用来修饰类的属性和方法。
·如果类的某个属性,不管创建多少个对象,属性的存储空间只有唯一的一个,那么这个属性就应该用static修饰,被static修饰的属性被称为静态属性。
2.静态成员的访问
(1)对象.静态成员
System.out.println(emp1.count);
(2)类.静态成员
System.
万字长文告诉你,B 站是怎样崩的
一年之后,B 站终于把故障复盘写了出来。
我简单看了一下,和我当初猜测的原因部分吻合,猜对了由于某接口负载过大导致雪崩效应,但没有猜对导致负载过大的原因。
很显然,这篇文章是从纯技术角度解读本次故障的。
B 站有 UP 主做了这方面的视频,但受篇幅所限,讲的还不够细致,我尽力做了补充,但最终还是决定单独写一篇文章讲讲这件事。
如果大家对技术有一定了解,比如你听说过微服务、负载均衡、集群、多活,并且
Java线上CPU内存冲高问题排查步骤
1 引言
作为一名从事Java开发快一年的程序员,在线上经常碰到某个模块的Pod发出CPU与内存告警的问题,而这些问题会导致系统响应缓慢甚至是服务不可用。一般情况下可以通过重启或者调高Pod的资源量或者增加Pod数量暂时解决问题,但这是治标不治本的,只有找到问题发生的原因才能从根本上解决问题。那么在该如何快速定位到导致告警的原因呢?下面将汇总一下大致的处理思路。
一般来说导致Java程序CPU与内
LeetCode - #127 单词接龙
前言
我们社区陆续会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swift 算法题题解整理为文字版以方便大家学习与阅读。
LeetCode 算法到目前我们已经更新到 125 期,我们会保持更新时间和进度(周一、周三、周五早上 9:00 发布),每期的内容不多,我们希望大家可以在上班路上阅读,长久积累会有很大提升。
不积跬步,无以至千里;不积小流,无以成江
