- 博客(31)
- 资源 (198)
- 收藏
- 关注
原创 假如CPU使用率100%,经常重启、响应变慢,如何分析和定位?如何查看服务器硬件信息?硬件查看瓶颈
假如CPU占用较高,如何分析和定位?答: 需要JDK命令&Linux命令结合分析top定位CPU占比较高的进程; ps -ef 或者 jps 进一步定位,找出后台对应运行的程序 <—— ps -ef|grep java| gerp -v grep 或者 找出java进程 <——>jps -l 定位到具体线程或者代码 ps -mp 进程号 -o THREAD, tid, time 将需要的线程ID 转换为十六进制格式(英文小写格式) <—— printf...
2020-08-31 18:05:59 1147
原创 异步调用初体验
List<ListenableFuture<List<OrdersDto>>> futures = new ArrayList<>();storeIds.forEach(storeId -> { ListenableFuture<List<OrdersDto>> future = orderAsyncService.asyncQuerySellerOrders(storeId, fromDate.
2020-08-31 13:41:37 120
原创 跨组沟通&跨公司沟通: 程序员在开发中应遵循的沟通原则
本着效率第一原则,与其他组沟通:1)需求、业务流程、接口定义增&删&改&查告知项目经理、产品经理;2)接口内微调,与对接人沟通,未果走1)Code is cheap,talk is the matter!!
2020-08-31 10:29:56 326
原创 已解决com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
将配置文件中的多余配置去掉,仅保留以下配置!!!spring: datasource: url: jdbc:mysql://localhost:3306/test-connect?characterEncoding=utf8&useSSL=false username: root password: 123456
2020-08-29 18:51:19 355
原创 已解Caused by: redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from
已解决Caused by: redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool!原因描述:项目配置中: redis: host: dev-redis port: 6379 database: 1 timeout: 10000实际项目中并有使用redis、去掉配置发现依然报错!因为启动的时候直接用了maven打包时
2020-08-29 18:37:02 6490
原创 解决Cannot find a @StreamListener matching for message with id: babd6418-6f28-cb64-1000-46f2da26c193
{ "_index": "log-2020.08.29", "_type": "log", "_id": "u1ZzOHQBu8XLw8Cohy3m", "_score": 1, "_source": { "level": "WARN", "X-B3-SpanId": "5b73ad57a0410c7d", "host": "svc.cluster.local", "thread_name": "topic1.push-group-1", "X-.
2020-08-29 16:34:50 1439
原创 swagger-bootstrap-ui使用,接口文档输出 指定环境@Profile及No operations defined in spec处理,@Api中文展示controller名称
swagger-bootstrap-ui使用,接口文档输出 指定环境@Profile及No operations defined in spec处理,@Api中文展示controller名称
2020-08-29 16:06:45 2901 1
原创 java.lang.ClassCastException:com.alibaba.fastjson.JSONArray cannot be cast to JSONObject
public static void main(String[] args) { List<WeighOrderCartExtendVO> extendVOs = new ArrayList<>(); //根据售卖类型分组 WeighOrderCartExtendVO extendVO = new WeighOrderCartExtendVO(); extendVO.setDishId("e04b022...
2020-08-29 15:27:12 18582 2
原创 Java死锁检测定位分析大致流程,附操作示意图
Java死锁检测定位分析大致流程名词解释死锁:多个线程(至少两个)在执行过程中,因互相争夺资源而造成的互相等待的现象!如无外力干涉,他们将无法推进!死锁发生条件 请求保持: 进程已经保持了至少一个资源,但又提出了新的资源请求,而该资源已被其他进程占有,此时请求进程被阻塞,但对自己已获得的资源保持不放。 不可剥夺: 进程所获得的资源在未使用完毕之前,不能被其他进程强行夺走,即只能由获得该资源的进程自己来释放(只能是主动释放)。 相互等待: 等待持有资源的线程释放自己需要的资
2020-08-29 12:11:20 428
原创 JSONObject转对象java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.Double
public static void main(String[] args) { JSONObject object = new JSONObject(); object.put("price",10); System.out.println("输出" + Double.valueOf(object.get("price").toString())); System.out.println("异常即将发生"); ...
2020-08-24 15:16:45 987
原创 JDK1.8 新特性Stream之两个字段转Map, 统计份数做Value,如购物车统计
List<ConsumerCart> sellType1 = list.stream().filter(c -> c.getSellType() == 1).collect(Collectors.toList());// key:商品 value: 份数Map<String, Integer> goodsId2PartsMap = sellType1.stream().collect(Collectors.groupingBy(ConsumerCart::getGoods.
2020-08-24 11:40:35 1794
原创 Java线程池参数详解、线程池创建、状态、任务执行剖析 附(Demo) 线程池使用之线程数参数设计与CPU的关系剖析
浅析线程池与数据库连接池原理类似,线程池是将线程对象放入一个"池子" 中,之后向该池子中获取、使用、回收线程注意: 每个线程在一段时间内只执行一个任务 线程可重复使用 控制运行线程的数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果任务量超出corePoolSize,在workQueue中等待。否则,corePoolSize满,等待队列未满,等待队列等候,等待其他线程执行完毕,再从等待队列中取任务执行。corePoolSize 满且等待队列满,非核心线程执行任
2020-08-22 18:02:55 746 2
原创 同一事务中进行删除、新增操作
@Transactional(rollbackFor = Exception.class) public void testDelAndInsert() { String id = "8a7480477157a31d017157ca284a0001"; RecipeCookTask one = cookTaskDao.findOne(id); if (null != one){ System.out.println(...
2020-08-22 14:13:38 3933
原创 Spring Bean的生命周期(特殊Bean的构造、定制Bean)和Java对象的生命周期& IOC
生命周期图解释1.instantiate bean对象实例化2.populate properties 封装属性3.如果Bean实现BeanNameAware 执行 setBeanName4.如果Bean实现BeanFactoryAware 执行setBeanFactory ,获取Spring容器5.如果存在类实现 BeanPostProcessor(后处理Bean) ,执行postProcessBeforeInitialization6.如果Bean实现Initializing..
2020-08-21 15:39:18 549 1
原创 价格计算之BigDecimal,精度处理,小数点后两位处理,简单购物车价格计算&十分位为0的丢失处理 (toPlainString())
Double cartPrice = 0.0D;BigDecimal goodsPrice = BigDecimal.valueOf(goods.getGoodsPrice());BigDecimal num = new BigDecimal(goods.getGoodsNum);double tmp = goodsPrice.multiply(num).doubleValue();if ((BigDecimal.valueOf(tmp).compareTo(new BigDecimal("0.0.
2020-08-21 14:55:54 1075
原创 Redis为什么这么快之⑤大合理原因
1、纯内存操作:无需进行磁盘IO2、单线程,无锁竞争(无线程切换,上下文处理)3、多路IO复用,非阻塞IO4、高效的数据结构(如:HyperLogLog,密集型存储结构)Redis的瓶颈是内存大小、网络带宽,cpu不是!为何引入多线程? 大键值的删除 多线程阻塞地释放内存,减少对Redis主线程(工作线程)的阻塞时间,提升性能 它是基于内存操作的,更好的维护性,也能并发处理用户请求(并发处理用户的连接,同时监听多个文件描述符的读、写状态)...
2020-08-21 14:42:58 232
原创 浅析缓存穿透、击穿、雪崩及解决方案 & 布隆过滤器&Redis 集群
缓存穿透、击穿、雪崩穿透记录——大量查询,缓存中没有记录且数据库中也没有记录,请求绕过缓存,打到DB上,MySQL并发连接1k左右,将会冲垮DB...原因:缓存服务器故障、用户恶意请求解决方案: 增加校验,拦截非法请求 缓存 key <——> null 减少大量空对象的缓存,有效时间设短些、防同一用户暴力攻击 布隆过滤、提前拦截 建立数据标识仓库:数据映射Hash值,然后将Hash值存到Redis中!可能出现部分数据Hash相同、而需要落到DB
2020-08-21 14:32:19 396
原创 比较浮点型数据大小(Double 包装类)& BigDecimal 入参为 double 时精度处理
public class DoubleExample { public static void main(String[] args) { // compares two Double objects numerically Double d1 = new Double("0.05"); Double d2 = new Double("0.050001"); int ret = d1.compareTo(d2); if(ret .
2020-08-20 09:38:03 1451
原创 win7 安装 Zookeeper 单机模式,作为注册中心、进行dev、uat、pro环境本地测试,需关掉配置文件中需要权限的地方,访问的其他组件以最简配置 启动!解决zookeeper一闪而过问题
下载zzookeeper-3.4.14.tar.gz 包,最好放的路径没有中文字符。必须先配置好Java的环境变量。只是安装完和配置好环境变量,zookeeper还是不能够发挥的。需进一步配置日志路径、数据路径tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。 dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文
2020-08-18 13:45:25 287
原创 win7 启动RabbitMQ服务 报错!解决方案(win7 rabbitmq启动 发生系统错误 1058)
win7 启动RabbitMQ服务 报错!解决方案1、打开文件目录RabbitMQ安装目录下的sbin文件夹,在路径栏里输入 cmd 回车,进入命令行;2、命令行3、输入命令rabbitmq-plugins enable rabbitmq_management 回车然后输入命令rabbitmq-server start回车:...
2020-08-18 11:01:14 716
原创 IDEA之Maven配置&JDK配置 & SpringBoot的属性配置文件四个位置的优先级
Maven配置&JDK配置配置阿里云镜像打开你maven目录apache-maven-3.6.0\conf 下的settings.xml文件配置mirror标签<mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http:/...
2020-08-18 09:29:09 531
原创 面向对象七大设计原则
面向对象设计原则 单一职责 一个类只包含单一的职责,并且该职责被完整地封装在类中。 单一职责原则是实现高内聚、低耦合的指导方针,是最简单却最难运用的原则,需要设计人员发现类的不同职责并将其分离 开放封闭 应当对扩展开放,对修改关闭。 指软件实体应尽量在不修改原有代码的情况下进行扩展。 依赖倒置 高层模块不应该依赖底层模块,它们都应该依赖抽象。抽象不应该依赖于细节,细节应该依赖于抽象。 依赖倒转原则要求:要针对接口编程,不要针..
2020-08-17 17:56:04 136
原创 深入理解Java虚拟机(内存模型、类加载、垃圾回收、触发初始化、垃圾断定) JVM minor GC、FULL GC,G1、CMS、UseParallelGC
深入理解Java虚拟机本文针对JDK 1.8,仅作抛转引玉,因水平有限,文章或许有不足之处,望您不吝指出!什么是JVM?Java虚拟机(Java Virtual Machine)是运行Java字节码的虚拟机!对于不同的操作系统有特定的实现,相同的字节码(*.class 文件),它都会给出相同的结果。*.class 文件 <—— javac 编译源文件一次编译,随处运行字节码 + (不同系统的)虚拟机是实现“一次编译,随处运行”的关键;Java基本类型byte、
2020-08-17 17:43:41 866
原创 MySQL索引&InnoDB存储引擎&聚簇索引、回表、索引下推、覆盖、前缀索引、最左匹配,索引失效、创建索引时机、不宜创建的列& SQL优化&查询执行过程&Index Key&Table filter
MySQL之InnoDB存储引擎&各种索引说明当前数据库版本:存储引擎存储引擎:基于表而非数据库MySQL数据库不同于其他数据的一个重要特点: 插件式的表存储引擎存储引擎表: InnoDB: 支持事务、行锁、外键、非锁定读、聚簇索引、 MyISAM:不支持事务、表锁、支持全文检索 查看mysql支持的引擎:-- 查看支持的存储引擎SHOW ENGINES-- 查看默认存储引擎SHOW VARIABLES LIKE 'sto...
2020-08-14 17:56:32 1055
原创 git 分支管理增删查以及可落地的git工作流
git 分支管理以及工作流创建分支git branch <分支名>查看分支git branch -v <分支名>切换分支git checkout <分支名>创建并切换分支git checkout -b <分支名>合并分支 切换到主分支 git checkout <分支A> 分支B合并到分支A git merge <分支B>删除分支 切换到主分.
2020-08-13 18:28:11 347
原创 Spring事务传播特性&MySQL事务四大隔离级别&脏读、幻读、不可重复读、MVCC
Spring事务&MySQL事务事务特性ACID 原子性(Atomicity):事务是一个原子操作,由一系列动作组成。事务的原子性确保动作要么全部完成,要么一起失败。 一致性(Consistency):一旦事务完成(不管成功还是失败),系统必须确保它所建模的业务处于一致的状态,而不会是部分完成部分失败。在现实中的数据不应该被破坏。 隔离性(Isolation):可能有许多事务会同时处理相同的数据,因此每个事务都应该与其他事务隔离开来,防止数据损坏。 持久性(D
2020-08-13 17:49:44 342
原创 IDEA设置自动生成serialVersionUID,解决在对象流进行读写操作时所引发的问题,NotSerializableException,附实验结果及操作流程
1、序列化是什么? 序列化是一种处理对象流的机制,所谓对象流就是将对象的内容进行流化。可以对流化的对象进行读写操作,也可以将流化的对象传输于网络之间。序列化是为了解决在对象流进行读写操作是所引发的问题。 把内存里面的这些对象给变成一连串的字节描述的过程。如: 文件保存2、 序列化的实现以及反序列化 将需要被序列化的类实现Serializable接口,该接口没有需要重写的方法。implements Serializableimplements Ser...
2020-08-12 17:34:34 874
原创 yml 自动提示——自定义的实体类能在配置文件中有对应提示
pom文件引入spring-boot-configuration-processor,为了让自定义的实体类能在配置文件中有对应提示, 我们需要引入如下依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional&
2020-08-07 08:35:17 648
原创 JPA自定义对象,java.lang.IllegalArgumentException: argument type mismatch & PersistenceException
查询数据库返回自定义对象:关键点:query.unwrap(SQLQuery.class).setResultTransformer(Transformers.aliasToBean(***VO.class));java.lang.IllegalArgumentException: argument type mismatchnested exception is javax.persistence.PersistenceException: IllegalArgumentExceptio
2020-08-06 15:36:52 1138
原创 热部署Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean
一文带你认识热部署、附实验结果本文所诉热部署不包含前端,仅对服务端的一些热部署做些简要说明!热部署每次修改代码(以及修改配置文件)都要重启,是不是很烦、讲真你的服务涉及第三方服务过多时、要加载时初始化一些数据的时候,你搞热部署也不见得能省多少时间,但是你可以配置下其他目录exclude!原理使用了两个ClassLoader,一个(base ClassLoader)加载不会改变的类(依赖的jar包)、exclude的目录等。另一个restart ClassLoader 加载会更改的文.
2020-08-06 11:50:14 1429
原创 Java工程师面试: 这些高命中率面试题你会么?
有没有使用过云主机(云服务)?答:云服务器运行商提供的远程服务有没有做过数据库优化?1、查找定位慢查询:explain2、建立索引:创建合适的索引,加速查询3、分表: 当一张表的数据比较多或者某些字段的值特别占空间,采用水平拆分或者垂直拆分4、读写分离:服务器性能不能满足时,采用读写分离方式进行集群5、使用缓存:redis查找定位慢查询:在项目自验项目转测试之前,在启动MySQL数据库是开启慢查询,并且把执行慢的语句写到日志中,在运行一定时间后,通过查看日志找到慢查询语句。使用exp.
2020-08-04 14:48:56 263
系统集成项目管理工程师.rar
2021-03-13
JDK SE8 Java语言规范与虚拟机规范 官方文档
2020-10-14
message-push-service.rar
2020-08-26
redis、activemq、juc、jvm、gc等知识点的脑图.rar
2020-05-04
Windows下安装Rabbitmq需要的安装包.rar
2020-04-26
视频对应课件-软件设计师
2020-01-18
Interview_Guide.rar
2019-09-11
smartgit-win32-setup-jre-17_1_4.zip
2019-09-04
maven&freeSSHd&freeFTPd&gitblit-1.9.2&pdfbox-2.0.28.jar
2023-05-11
水果商城sql文件,亲测可用
2022-12-04
Java EE互联网轻量级框架整合开发 SSM框架(Spring MVC+Spring+MyBatis)和Redis实现.rar
2021-12-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人