- 博客(13)
- 收藏
- 关注
原创 Jenkins 从零入门问题记录并解决
国内镜像网址:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json。这通常是由于系统编码或Jenkins配置不当导致的。国外镜像网址:https://mirror.xmission.com/jenkins/updates/update-center.json。直接更改运行服务器环境使用JAVA21,下载最新版本Jenkins,问题解决。二坑:JAVA8环境下下载对应版本Jenkins 安装推荐的插件时会下载不了插件。
2024-07-23 11:07:53
808
原创 Java.io.IOException: Attempted read from closed stream原因分析及解决办法
今天在做一个使用httpclient进行接口循环请求时,发现只能单次请求,无法使用上次请求的返回值进行二次请求,在网上搜索后才发现,原因 是EntityUtils.toString(HttpEntity entity, String defaultCharset)方法中操作的是流数据,流数据是一次性数据所以同一个HttpEntity不能使用多次该方法....
2021-04-24 14:53:58
923
原创 java锁中synchronized和Lock的区别
在java开发中,并发是常见不可避免的开发业务场景。java提供了两种锁机制来控制线程:synchronized与lock。 区别: 一.存在层次:synchronized是java内置关键字,在jvm层面上。Lock是一个类,属于JUC。 二.锁的释放:synchronized以获取锁的线程执行完成同步代码,释放锁,线程执行发生异常,jvm会让线程释放锁。Lock必须在finally中手动释放锁不然会造成线程死锁。 三.锁的获取:synchronized无法获取锁且无法判断锁状...
2021-03-09 09:07:51
1277
原创 idea中surround with快捷键
idea中的surround with是把选中的代码块装进一些带有{}的语句中,比如if,try,for等等快捷键是ctrl+alt+t,先选中代码,再按快捷键,如图
2021-03-08 15:43:40
7607
原创 并发编程的三个重要特性
并发编程的三个重要特性原子性:一个的操作或者多次操作,要么所有的操作全部都得到执行并且不会收到任何因素的干扰而中断,要么所有的操作都执行,要么都不执行。synchronized可以保证代码片段的原子性。可见性:当一个变量对共享变量进行了修改,那么另外的线程都是立即可以看到修改后的最新值。volatile 关键字可以保证共享变量的可见性。有序性:代码在执行的过程中的先后顺序,Java在编译器以及运行期间的优化,代码的执行顺序未必就是编写代码时候的顺序。volatile 关键字可以禁止指令进行重排序优化。.
2020-07-23 15:56:33
253
原创 mysql 索引初了解
索引覆盖如果要查询的字段都建立过索引,那么引擎会直接在索引表中查询而不会访问原始数据(否则只要有一个字段没有建立索引就会做全表扫描),这叫索引覆盖。因此我们需要尽可能的在select后只写必要的查询字段,以增加索引覆盖的几率。不要想着为每个字段建立索引,因为优先使用索引的优势就在于其体积小。索引有哪几种类型?主键索引: 数据列不允许重复,不允许为NULL,一个表只能有一个主键。唯一索引: 数据列不允许重复,允许为NULL值,一个表允许多个列创建唯一索引。可以通过 ALTER...
2020-07-23 15:55:57
119
原创 mysql 基础数据并发插入导致表锁死
最近在进行接口优化进行并发测试时,发现有全部正常执行了但是返回的结果却总是缺失不完整,查看log日志发现报了[ERROR] org.hibernate.util.JDBCExceptionReporter - Deadlock found when trying to get lock; try restarting transaction 错误。尝试了以下几种方式来解决这个问题。1.synchronized修饰方法 将synchronized关键字加到post接口被请求处,此方法可以有效避..
2020-05-26 14:41:43
1457
原创 Spring 集成Redis
话不多说,开始我们的工作jar包依赖 <!-- jedis依赖 --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> &l...
2019-11-02 09:36:56
822
原创 CentOs7不要使用openjdk
CentOs7如果使用openjdk1.8或者1.7,在服务器上部署Tomcat项目出现报错找到不到Bean的错误,导致项目启动不来。但是运行jar项目可以正常启动起来。下面附linux jdk安装教程。linux系统通用安装通过tar.gz压缩包安装此方法适用于绝大部分的linux系统下载tar.gz的压缩包,这里使用官网下载。进入:http://www.oracle.com...
2019-09-05 10:07:00
3614
原创 IDEA 基于Maven的springboot+jsp搭建web项目完整流程
话不多说直接上干货(本文章适合新手快速上手)。一丶新建maven spring boot 项目 next 下一步 选择 web创建完的目录如下,新建一个webapp文件夹然后建一个pages包用来放jsp文件配置pox.xml<!-- 整合jsp页面 --> <dependency> &...
2018-10-16 15:21:13
8073
4
原创 Java 定时任务的几种实现方式
一.java自带的timer。二.ScheduledExecutorService 接口实现类 。三.Quartz。四.线程等待。
2018-06-07 15:51:02
127
转载 多线程并发死锁
一、线程并发同步概念线程同步其核心就在于一个“同”。所谓“同”就是协同、协助、配合,“同步”就是协同步调昨,也就是按照预定的先后顺序进行运行,即“你先,我等, 你做完,我再做”。线程同步,就是当线程发出一个功能调用时,在没有得到结果之前,该调用就不会返回,其他线程也不能调用该方法。就一般而言,我们在说同步、异步的时候,特指那些需要其他组件来配合或者需要一定时间来完成的任务。在多线程编程里面,一些较...
2018-03-28 10:50:52
2506
原创 数据库深入理解乐观锁与悲观锁
在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段。无论是悲观锁还是乐观锁,都是人们定义出来的概念,可以认为是一种思想。其实不仅仅是数据库系统中有乐观锁和悲观锁的概念,像memcache、hibernate、tair等...
2018-03-23 11:10:25
190
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人