java
Agtmwgam
努力充电中
展开
-
maven项目发现有jar包下载不下来
相信有很多使用maven的童鞋很静很经常遇到的一个问题就是即使自己配置的仓库地址里面存在某个jar包,但是就是死活下不下来!看看本篇博文吧?看看它是否能够给你帮助,如果还不能解决的话,请联系我!...原创 2022-08-19 00:13:35 · 3667 阅读 · 1 评论 -
使用Synchronized和Atomic控制并发对比
按照我们往常的经验,我们看到多线程就可能习惯性地将Synchonized往上怼,Synchronized中使用了悲观锁思想,它是可重入锁,实现了多线程的原子性、可见性保证了线程安全,但是有些场景下使用Atomic原子类往往会取得更好的效果,因为Atomic原子类使用的是CAS无锁机制,更加高效地帮助我们实现多线程并发工作,下面是两个代码对比,看到执行结果,你可能会大吃一惊!目录一、Synchronized实现多线程并发二、使用AtomicInteger原子类实现多线程并发三、效果对比一、原创 2021-08-19 13:23:01 · 700 阅读 · 2 评论 -
java多线程-使用Future获得多线程的返回值
我们在多线程中很多时候会需要获得线程的返回值,但是多线程又不像普通方法一样,可以直接获得返回值,那么我们应该怎么获得返回值呢?一、使用Callable获得返回值import java.util.concurrent.Callable;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Future;public cla原创 2021-08-18 22:22:20 · 3366 阅读 · 0 评论 -
四种最常见的线程池代码示例
import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.TimeUnit;/** * 线程池 * newCachedTheadPool 可缓存线程池,如果线程池长度超过处理需要,可以灵活回收空闲线程,若无可回收,则新建线程 .原创 2021-08-18 07:53:44 · 1956 阅读 · 0 评论 -
简单队列(非阻塞和阻塞队列)
目录一、非阻塞式队列二、阻塞队列三、阻塞队列与线程池的关系1、队列遵循先进先出的原则FIFO2、阻塞队列最大的好处就是能防止队列容器溢出,防止数据丢失3、非阻塞队列是无界的,使用offer来增加数据,poll来取出数据一、非阻塞式队列简单代码示例:import java.util.concurrent.ConcurrentLinkedQueue;public class QueueTestOrder { // 阻塞队列最大的好处就是嫩巩固防止队列容器溢原创 2021-08-17 23:10:24 · 245 阅读 · 0 评论 -
多线程中生产者和消费者的消费顺序控制
本文内容来自互联网,如果侵权,请联系本人删除,会在获得信息后及时删除,谢谢!实现生产者和消费者的消费同步,不会出现名字和性别混乱的结果:直接上代码:/** * 多线程的生产者和消费者 */class Res { // 姓名 public String name; // 性别 public String sex;}// 生产线程class InThread extends Thread { public Res res; .原创 2021-08-17 13:09:38 · 242 阅读 · 0 评论 -
通过synchronize的同步代码块线程安全解决火车票超卖问题
出现问题的原因:平时自己测试代码需要用到Linux就自己用VMware安装了一个Linux虚拟机,预分配l了18G容量,近期由于安装了很多大数据组件,导致磁盘炸了,所以需要扩容,经过一番搜索和实践之后终于成功扩扩容,记录如下。过程分析:总体思路大概是:1、切换到系统管理员账号;2、首先保障物理空间的大小,即你的硬盘是可以提供那么大的空间;3、新建一个目录,用于挂载你的...原创 2021-08-17 07:38:34 · 266 阅读 · 3 评论 -
多线程中使用Syschronize关键字解决多窗口火车票超卖的问题
如题目所言,如果没有使用Synchronize关键字,往往会导致火车票超卖的问题,这个问题可以拓展至转账的问题也是一样,直接展示代码,应该可以看明白,就是在关键方法前面加了synchronized关键字。另外synchronize是可重入锁,无需单独解锁import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * 使用Synchronize关键字解决多窗口火车票超卖的问题 */原创 2021-08-17 07:26:05 · 258 阅读 · 0 评论 -
java多线程顺序执行T1,T2,T3代码演示
这个估计是多线程的基本操作吧,可能是面试中常常被问到的问题,如何使多线程顺序执行T1,T2,T3,看起来很无聊的问题,却是能够包含多线程的核心内容,代码演示如下:import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * 如何顺序执行T1,T2,T3 */public class OrderThread { public static void main(Strin原创 2021-08-16 23:19:06 · 316 阅读 · 0 评论 -
双重检测锁代码
双重检测锁是单例模式中的重要一个方式,记录如下:/** * 双重检测锁代码 */public class DclSingleton { private static volatile DclSingleton dclSingleton = null; public static DclSingleton getDclSingleton() { if (dclSingleton == null) { synchronized (DclSi原创 2021-08-16 23:16:08 · 195 阅读 · 0 评论 -
ThreadLocal代码演示
给每个线程提供局部变量,解决线程安全,直接上代码演示package com;class Res{ public static ThreadLocal<Integer> threadLocal = new ThreadLocal<Integer>() { @Override protected Integer initialValue() { return 0; } }; pu原创 2021-08-16 23:14:12 · 95 阅读 · 0 评论 -
java中使用javax.validation校验Bean的合法性
一、简单介绍validation bean java后端在与前端对接或者接口对接的时候需要对参数进行校验。 validation bean 是基于JSR-303标准开发出来的,使用注解方式实现,及其方便,但是这只是一个接口,没有具体实现.Hibernate Validator是一个hibernate独立的包,可以直接引用,他实现了validation bean同时有做了扩展。二、引入方法和校验方法1、在pom.xml中引入依赖<!-- 参数校验器 --><dep..原创 2020-07-13 00:15:28 · 3340 阅读 · 3 评论 -
SpringCloud项目中解决 line number info is not available in class 报错
今天在项目运行中,想整个debug来看下数据,结果出出现了一个禁止符号,提示我line number info is not available in class的问题,图标如下,可以对比一下:一、解决问题 网上很多的帖子说我是禁用了debug,但是事实并非如此! 我先说下我是怎么解决:1、清理原本的.class文件打开 【Maven菜单】,选择 对应报错项目...原创 2019-08-05 11:49:37 · 8635 阅读 · 4 评论 -
java后端封装标准返回类到前端
在日常开发中,我们后端和前端最好是约定一个数据格式,用于后端封装好数据,然后返回前端,前端就可以很简单地就解析了,下面是我总结出来经常会那么用的模板,可以参考一下:1、创建对象直接在实体包下面新建一个ReturnParam对象,对象内容包括了是否成功标记、list结果集合、total总数(用于前端分页)还有可拓展的其他对象,直接看代码吧:import java.util.List...原创 2019-08-03 10:54:37 · 6401 阅读 · 0 评论