自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (1)
  • 收藏
  • 关注

原创 Centos7 设置nginx 和 tomcat 自启动

【代码】Centos7 设置nginx 和 tomcat 自启动。

2024-05-30 09:39:45 326

原创 Bean初始化

若以上流程有一个报错,则不进行后面的方法调用。Bean在初始化时先调用。方法进行初始化,在调用。

2024-04-04 18:10:32 510

原创 JVM参数调优

如果你做过JVM调优和参数配置,那么如何盘点查看JVM系统默认值?一般使用jps和jinfo进行查看(JPS:查看运行的Java进程,jinfo 是查看进程的具体信息-Xms:初始堆空间-Xmx:堆最大值-Xss:栈空间-Xms 和 -Xmx最好调整一致,防止JVM频繁进行收集和回收。

2024-04-04 16:38:51 1250

原创 Java 锁

对于SYNCHRONIZED而言,也是一种非公平锁。可重入锁,可以避免死锁。

2024-04-03 20:26:45 195

原创 阻塞队列(BlockingQueue)

在多线程领域:所谓阻塞,在某些情况下会刮起线程(即阻塞),一旦条件满足,被挂起的线程又会自动被唤醒。阻塞队列的好处是,我们不需要关心什么时候需要阻塞线程,什么时候唤醒线程。在concurrent包发布以前,在多线程环境下,我们每个程序员都必须去自己控制这些细节,尤其还要兼顾效率和线程安全,而这会给我们程序带来不小的复杂度。

2024-04-03 20:22:02 309

原创 JVM_垃圾收集器

注意:并行垃圾回收在单核CPU下可能会更慢。

2024-04-02 22:37:16 1006

原创 GC Roots

简单来说就是内存中已经不再被使用的空间就是垃圾。

2024-04-02 22:26:01 239

原创 强软弱虚 四大引用

在原来的时候,我们谈到一个类的实例化在等号的左边,就是一个对象的引用,存储在栈中而等号右边,就是实例化的对象,存储在堆中其实这样的一个引用关系,就被称为强引用红色部分在垃圾回收之外,也就是强引用的蓝色部分:属于软引用,在内存不够的时候,才回收虚引用和弱引用:每次垃圾回收的时候,都会被干掉,但是它在干掉之前还会存在引用队列中,我们可以通过引用队列进行一些通知机制。

2024-04-01 22:30:07 947

原创 【Linux】在生产环境中,Linux系统排查常用命令

​ r:运行和等待的CPU时间片的进程数,原则上1核的CPU的运行队列不要超过2,整个系统的运行队列不超过总核数的2倍,否则代表系统压力过大,我们看蘑菇博客测试服务器,能发现都超过了2,说明现在压力过大。svctm的值与await的值很接近,表示几乎没有I/O等待,磁盘性能好,如果await的值远高于svctm的值,则表示I/O队列等待太长,需要优化程序或更换更快磁盘。​ us:用户进程消耗CPU时间百分比,us值高,用户进程消耗CPU时间多,如果长期大于50%,优化程序。

2024-04-01 22:23:53 1585

原创 生产者消费者模式

【代码】生产者消费者模式。

2024-03-31 20:22:20 179

原创 JUC_集合类

【代码】JUC_集合类。

2024-03-31 20:18:43 212 1

原创 Volatile

假如开始两个线程读取主内存的数值都是1,A线程进行 number++操作,计算完成,即将刷新到主内存,此时A线程被挂起,B线程进行number++ 操作,写入主内存,这个时候主内存是2,A获取到了CPU资源,也把2写入主内存,导致了计算丢失一次(写覆盖),即保证不了原子性.,首先要将变量从主内存拷贝到自己的工作内存空间,然后对变量进行操作,操 作完成后,再将变量写会主内存,不能直接操作主内存中的变量,各个线程中的工作内存中存储着主内存中的变量副本拷贝,因。,所有线程都可以访问,

2024-03-30 10:35:37 551

原创 Semaphore(信号量)

常用于限制可以访问某些资源的线程数量,例如通过 Semaphore 限流。Semaphore 是一个计数信号量,必须由获取它的线程释放。

2024-03-30 10:20:33 116

原创 Java 线程池

获取多线程的方法,我们都知道有三种,还有一种是实现Callable接口实现Runnable接口实现Callable接口实例化Thread类使用线程池获取。

2024-03-29 18:58:37 1056 1

原创 OOM Error

但如果不断分配本地内存,堆内存很少使用,那么JVM就不需要执行GC,DirectByteBuffer对象就不会被回收,这时候堆内存充足,但本地内存可能已经使用光了,再次尝试分配本地内存就会出现OutOfMemoryError,那么程序就奔溃了。那就是GC清理的这点内存很快会再次被填满,迫使GC再次执行,这样就形成了恶性循环,CPU的使用率一直都是100%,而GC却没有任何成果。GC回收时间过长时会抛出OutOfMemoryError,过长的定义是,超过了98%的时间用来做GC,并且回收了不到2%的堆内存。

2024-03-29 16:47:53 1265 1

原创 CountDownLatch(计数器)

将CountDownLatch的计数器初始化为new CountDownLatch(n),每当一个任务线程执行完毕,就将计数器减1 countdownLatch.countDown(),当计数器的值变为0时,在CountDownLatch上await()的线程就会被唤醒。做法是初始化一个共享的CountDownLatch(1),将其计算器初始化为1,多个线程在开始执行任务前首先countdownlatch.await(),当主线程调用countDown()时,计数器变为0,多个线程同时被唤醒。

2024-03-28 14:15:47 275

原创 CyclicBarrier(循环屏障)

CyclicBarrier 的字面意思是可循环(Cyclic)使用的屏障(Barrier)。它要做的事是:让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程达到屏障时,屏障开放行,所有被放行的线程才会继续任务,线程进入屏障通过CyclicBarrier 的await()方法。

2024-03-28 14:09:31 207

原创 死锁(Dead Lock)

死锁是指两个或多个以上的进程在执行过程中,因争夺资源而造成一种互相等待的现象,若无外力干涉那他们都将无法推进下去,如果资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。解决方法:进程请求资源时,要求它不占有任何其它资源,也就是它必须一次性申请到所有的资源,这种方式会导致资源效率低。我们创建了一个资源类,然后让两个线程分别持有自己的锁,同时在尝试获取别人的,就会出现死锁现象。当我们出现死锁的时候,首先需要使用jps命令查看运行的程序。进程运行推进的顺序不对。

2024-03-27 17:13:00 474

原创 idea历史记录恢复代码

在idea中使用Git切换分支的时候,有时候会丢失代码,当这些代码没有或者的时候,使用Git相关命令就找不到代码了.这个时候代码就不能使用Git来恢复.这个时候我没就需要借助idea的历史功能来进行恢复.idea的历史功能是默认打开的,只保存,当代码丢失,应及时的操作,防止超过历史时间.

2024-03-27 13:39:45 709 1

原创 Docker overlay2磁盘使用100%处理方法

线上一服务突然停止服务了,登入ECS查看,发现快捷命令都不提示了显示错误.在 根目录使用命令查看,发现。

2024-03-25 15:45:12 249

原创 sharding-jdbc-demo

sharding-jdbc 分库分表介绍,并提供完成demo

2024-03-25 15:13:53 1171 1

原创 centos7.9 docker使用GPU 配置

centos7.9 docker使用GPU 配置

2023-11-06 16:22:12 291

原创 Jupyter lab 禁用 Download 和 Open in New Browser Tab 按钮

Jupyter lab 禁用 Download 和 Open in New Browser Tab 按钮

2023-11-04 17:38:50 322 1

原创 Kafka Producer 发消息流程 与机制

Kafka Producer 发消息流程 与机制

2023-10-30 21:06:44 126 1

原创 表结构相同的表,获取列值不同的列名

现有两个表表结构相同,两个表的数据id是一一对应的,由于一些原因导致了两个表部分列的值不一样,现在想最小化程度的更新,去保证两个表的列数据统一.

2023-10-13 10:21:48 45

原创 iframe嵌入jupyterlab,jupyterlab 无法执行代码问题

iframe 嵌套 jupyterlab,jupyterlab 无法执行代码问题

2023-10-12 10:25:34 380

原创 Hadoop基础组件

中的资源抽象,它封装了某个节点上的多维度资源,如内存,CPU,磁盘,网络等,Yarn的任务运行在Container 中。存储文件的元数据(如文件名,文件目录结构,文件属性,块列表和DataNode等)MapReduce 把任务分为两阶段,即Map 阶段 和 Reduce 阶段。ApplicationMaster(AM 每个任务的管理)临时角色。Resource Manger(RM 整个YARN集群的管理)NodeManager(NM 单台节点的关联)每隔一段时间对NameNode元数据备份。

2023-03-14 21:34:02 30

原创 如何写出好代码

根据 设计模式之美 提炼的 好代码评判依据

2023-02-15 11:14:31 38

原创 高德地图Demo

高德地图接口文章目录高德地图接口根据经纬度获取距离参考文档根据经纬度获取距离import cn.hutool.http.HttpUtil;import net.sf.json.JSONArray;import net.sf.json.JSONObject;/** * 高德地图demo * @author wl * @version 1.0 * @date 2021-11-01 */public class GetDistance { public static

2021-11-02 17:03:03 429

原创 PDF生成

PDF生成文章目录PDF生成POM依赖字体处理PDF内容处理生成目录事件样例展示参考文章此版PDF生成包含: 封面, 目录,页码等功能,暂时没有实现目录跳转功能POM依赖<dependency> <groupId>com.itextpdf</groupId> <artifactId>layout</artifactId> <version>7.0.3</version></dependency>

2021-10-28 10:52:55 589 1

java_itext_生成PDF.md

内容包含: pdf封面, 目录和页码信息

2021-10-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除