JAVA多线程并发编程-避坑指南
本篇旨在基于编码规范、工作中积累的研发经验等,整理在多线程开发的过程中需要注意的部分,比如不考虑线程池参数、线程安全、死锁等问题,将会存在潜在极大的风险。并且对其进行根因分析,避免每天踩一坑,坑坑不一样。
阿邹 阿邹
4年前
LinkedBlockingQueue和ArrayBlockingQueue区别和注意点
LinkedBlockingQueue和ArrayBlockingQueue俩个使用注意我们创建一个全局线程池的时候会传一个这样的类型进去,这里就需要注意下俩个的区别通俗来说LinkedBlockingQueue会同步ArrayBlockingQueue则是你的正常思维异步,所以前者也会更占用内存。使用时机你要自己注意了。另外LinkedBloc
作业帮 Kubernetes 原生调度器优化实践
作者吕亚霖,2019年加入作业帮,作业帮架构研发负责人,在作业帮期间主导了云原生架构演进、推动实施容器化改造、服务治理、GO微服务框架、DevOps的落地实践。简介调度系统的本质是为计算服务/任务匹配合适的资源,使其能够稳定高效地运行,以及在此的基础上进一步提高资源使用密度,而影响应用运行的因素非常多,比如CPU、内存、IO、差异化的资源设备等等一系列因
Stella981 Stella981
4年前
Druid.jar包
首先了解一下,什么是Druid. Druid是Java语言中最好的数据库连接池,它能够提供强大的监控和扩展功能。 Druid是一个JDBC组件,它包括三部分: 1)DruidDriver代理Driver,能够提供基于Filter-Chain模式的插件体系。 2)DruidDataSource高效可管理的
Stella981 Stella981
4年前
Android 在Java代码中设置style属性
在andriod开发中,很大一部分都要与资源打交道,比如说:图片,布局文件,字符串,样式等等。这给我们想要开发一些公共的组件带来很大的困难,因为公共的组件可能更愿意以jar包的形式出现。但是java的jar包中只允许出现java代码而不能出现资源。当我们想要以jar包的形式提供我们自己开发的公共组件时,我们就需要把以代码的形式创建资源。下面提供一个使
Wesley13 Wesley13
4年前
Java知识图谱
1JVM1.内存模型(内存分为几部分?堆溢出、栈溢出原因及实例?线上如何排查?)2.类加载机制3.垃圾回收2Java基础什么是接口?什么是抽象类?区别是什么?什么是序列化?网络通信过程及实践什么是线程?java线程池运行过程及实践(Exec
Stella981 Stella981
4年前
Linux 使用cp命令的错误
昨天维护的编译软件出了一个奇怪的问题,功能大概是这样的:1、下载资源和代码;2、编译;3、将需要打包的文件复制到临时目录打包。后来由于新需求,修改了一下功能,在复制到临时目录之前还有回去一些资源到临时目录:2.5、下载三方资源到临时目录。增加此功能后错误就出现了,复制的临时目录的结构全乱了,比如:java/bin应复制到temp/
Stella981 Stella981
4年前
JFinal使用笔记2
大部分步骤按cf官方的教程就可以了。遇到的问题如下:1、使用C3p0Plugin配置数据库连接,代码如下//配置C3p0数据库连接池插件//C3p0Pluginc3p0PluginnewC3p0Plugin(getProperty("jdbcUrl"),getProperty("user"),getP
Wesley13 Wesley13
4年前
Java多线程之死锁编码及定位分析
目录死锁是什么代码实现死锁解决办法1\.死锁是什么死锁是指两个或两个以上的进程在执行过程中因争夺资而造成的一种互相等待的现象,若无外力干涉那它们都将无法推进下去,如果系统资源允是,进程的资源请求都能够得到满是,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。2.代码实现代码实现import
记一次线上问题引发的对 Mysql 锁机制分析 | 京东物流技术团队
背景最近双十一开门红期间组内出现了一次因Mysql死锁导致的线上问题,当时从监控可以看到数据库活跃连接数飙升,导致应用层数据库连接池被打满,后续所有请求都因获取不到连接而失败整体业务代码精简逻辑如下:@Transactionpublicvoidservic