- 博客(26)
- 资源 (2)
- 收藏
- 关注
原创 单例模式——懒汉式/饿汉式
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 ` 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 饿汉式 /** * 优点:没有加锁,执行效率会提高。 * 缺点:类加载.
2021-08-03 20:29:15
242
原创 各种锁说明及代码使用
公平锁、非公平锁: /** * 公平锁、非公平锁 * 公平锁:非常公平,不能够插队,必须先来后到 * 非公平锁:非常不公平,可以插队(默认都是非公平锁) */ ReentrantLock类源代码 ReentrantLock() 空参构造器自动创建非公平锁 new NonfairSync() 如果有参数则判断是否创建公平锁 sync = fair ? new FairSync() : new NonfairSync() public ReentrantLock() { sync = .
2021-07-29 16:15:03
618
原创 安全锁实现生产者与消费者案例
public class SafetyLock { public static void main(String[] args) { Data data = new Data(); new Thread(() -> { for (int i = 0; i < 10; i++) { try { data.increment(); .
2021-07-29 15:46:13
208
原创 队列之四组API简单使用
抛出异常: /** * 抛出异常 * 添加移除的操作 超出queue构造参数的数量 则会抛出异常 * 如: * ArrayBlockingQueue<>(3) 数量为3 * 1、queue.add("a") 添加超过数量 java.lang.IllegalStateException * 2、queue.remove() 移出超过数量 java.util.NoSuchElementException * 3、检测队首找不到 j.
2021-07-29 15:35:59
249
原创 java.util.ConcurrentModificationException异常
java.util.ConcurrentModificationException 集合不安全导致 并发操作集合产生的异常,使用安全的集合即可解决,安全集合如下; List: List list = new Vector<>(); List list = new CopyOnWriteArrayList(); List list = Collections.synchronizedList(new ArrayList<>()); Set: Set set = new.
2021-07-27 19:55:50
213
原创 JVM 双亲委派机制
简述 Java虚拟机对class文件采用的是按需加载的方式,也就是说当需要使用该类时才会将它的class文件加载到内存生成class对象。而且加载某个类的class文件时,Java虚拟机采用的是双亲委派模式,即把请求交由父类处理,它是一种任务委派模式。 工作原理 如果一个类加载器收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器去执行; 如果父类加载器还存在其父类加载器,则进一步向上委托,依次递归,请求最终将到达顶层的启动类加载器; 如果父类加载器可以完成类加载任务,就成功.
2021-07-02 11:16:38
697
原创 Sentinel安装(Windows版本)
本篇文章以 1.7.0 为例 → 点击此处前往下载地址 ← 下载到本地 运行 ( cmd ) 运行sentinel ( java -jar sentinel-dashboard-1.7.0.jar ) 测试 默认账号密码都是 sentinel
2021-07-01 20:25:11
458
原创 今天从网上摘的Java学习路线(仅供参考)
本篇文章就是为了一些对Java保持热衷的人,并且没有目标学习的人,仅供参考 我自己画了个图可以参考一下 如果是在上大学或者正准备上大学的人,有喜欢Java语言的可以看一下 大学生:四年; 大一、大二,学习基础技能,学扎实; 大三了解公司、了解面试、勤刷题;大三暑假:找实习找工作; 大四毕业、交朋友、熟悉公司、经历社会; 在这里祝大家都能找个好工作; ...
2021-07-01 09:23:47
127
原创 Docker常用命令(详细版)
Docker常用命令 帮助命令 #查看 docker 版本信息 docker version #查看 docker 系统信息 docker info #查看 docker 所有命令 docker --help 镜像命令 docker images #查看所有本地的主机上的镜像 REPOSITORY TAG IMAGE ID CREATED SIZE hello latest ba4inx3gs1 4 months 13.3kB #解释 REPO
2021-06-30 17:10:51
209
原创 Docker安装
安装docker 卸载旧版本 yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ dock-engine 需要的安装包 yum install -y yum-utils 设置镜像的仓库 默认国.
2021-06-30 14:40:39
122
原创 Springboot整合ElasticSearch,实现京东搜索功能
源码在我的资源里名称是(Springboot整合ElasticSearch,实现京东搜索功能) 目录结构 POM <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mave.
2021-06-28 20:53:40
392
2
原创 ElasticSearch:Rest风格增删改查,简单、复杂搜索
基本命令说明 方法 url地址 描述 =================================================================================== PUT /索引名称/类型名称/文档id 创建文档(指定文档id) ----------------------------------------------------------------
2021-06-28 20:13:44
336
原创 java代码生成器,生成controller、service、mapper、entity 层,只需要六步
通过数据库表名创建 controller、service、mapper、entity 层。 package test; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.generator.AutoGenerator; import com.baomidou.mybatisplus..
2021-06-16 20:41:13
2074
原创 Java线程池的创建及其他知识
Java线程池的三大方法、七大参数、四种拒绝策略 三大方法: //用于创建线程(不安全) ExecutorService executor = Executors.newSingleThreadExecutor(); //单个线程 ExecutorService executor = Executors.newFixedThreadPool(5); //固定数量 ExecutorService executor = Executors.newCachedThreadPool();
2021-06-09 14:29:36
143
原创 Redis基本操作数据命令
key keys * 获取所有的key select 0 选择第一个库 move myString 1 将当前的数据库key移动到某个数据库,目标库有,则不能移动 flush db 清除指定库 randomkey 随机key type key 类型 set key1 value1 设置key get key1 获取key mset key1 value1 key2 value2 key3 value3 设置多个key mget key1 key2 key3 获取多个k.
2021-06-04 12:03:06
148
原创 Linux下操作Nginx常用命令
Nginx常用命令 进入到nginx安装目录的 sbin 目录下 启动 Nginx ./nginx 停止 Nginx ./nginx -s stop 安全退出 Nginx ./nginx -s quit 重新加载 Nginx 配置文件 ./nginx -s reload 查看 Nginx 进程 ps aux|grep nginx
2021-06-01 19:35:45
933
原创 Linux下安装Redis
本篇文章基于linux下安装 下载地址:https://redis.io/download 下载安装包 redis-6.2.3.tar.gz 解压 Redis 的安装包 tar -zxvf redis-6.2.3.tar.gz 进入解压后的文件、可以看到我们redis的配置 基本的环境安装 yum install gcc-c++ make make install Redis默认不是后台运行的,修改配置文件(使用 vim 编辑的 所以不展示很详细了) 更改此处为 y.
2021-05-31 17:03:46
250
原创 Windows下安装 Redis
本文章是基于windows安装 下载地址:https://github.com/tporadowski/redis/releases 下载完成 解压到自己的环境目录下 开启Redis ,双击 redis-server.exe 即可 使用redis客户端来连接redis , 运行 redis-cli.exe 即可 windows下安装小cass,但是推荐使用linux开发使用!!! ...
2021-05-31 15:27:49
142
原创 Nacos下载安装 (Windows版)
Nacos 学习文档 :地址 下载 :地址 下载好压缩包之后: 解压安装包,直接运行bin目录下的startup.cmd 命令运行成功后直接访问http://localhost:8848/nacos 默认账号密码都是nacos 成功页面 注意: 本篇只是操作简单的安装及运行 本人推荐官方文档的学习方式 ...
2021-05-28 09:47:38
536
原创 JVM的生命周期
Java的虚拟机是世界上最好的虚拟机 虚拟机的启动 Java虚拟机的启动是通过引导类加载器(bootstrap class loader)创建一个初始类(initial class)来完成的,这个类是由虚拟机的具体实现指定的。 虚拟机的执行 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。 程序开始执行时候它才执行,程序结束时他就停止 执行一个所谓的Java程序的时候,真真正正在执行的是一个叫做Java虚拟机的进程 虚拟机的退出 有如下几种情况: 程序正常执行结束 程
2021-05-21 21:17:09
102
原创 事务的基本概念
事务:将一系列数据操作作为整体执行的一种机制。要么都执行,要么都回滚。 4个特性: 原子性:A :作为整体执行, 么都执行,要么都回滚。 一致性:C :事务完成前后,数据要保持一致性的状态。 隔离性:I :并发操作时,事务之间相互隔离。 持久性:D:事务完成后,对数据库的影响是永久的。 隔离级别不同会引发的问题: 脏读:A事务正在修改数据,尚未提交,B事务读取到了A事务中的数据,脏读。 不可重复读:A事务多次读取数据,读取到的数据不同。B事务在过程中修改了部分数据,导致读的数据不同。 幻读:A
2021-05-21 20:33:53
253
原创 linux操作 目录、文件、内容,常用命令
目录操作命令 #查看工作目录 pwd #切换工作目录 cd [目录位置] #显示目录内容 ls [选项]... [目录或文件名] 常用命令选项 -l #详细信息显示 -a #显示所有子目录和文件的信息,包括隐藏文件 -A #类似于“-a”,但不显示“.”和“…”目录的信息 -R #递归显示内容 ----------------------------------------------------------------------------------- #创建新的目录 mkdir -
2021-05-21 20:13:58
129
转载 开源图像AI识别
imageai图像识别、对象识别、识别人、车、猫、狗等80种 转载于某位帅气大佬 # ImageAi安装详细版 # 点击此处前往!!! # ImageAi安装简易版+使用 # 点击此处前往!!! 效果展示:
2021-05-21 11:14:40
1096
1
原创 Linux防火墙相关操作命令
本文章是Centos 7命令 CentOS7 默认使用firewalld防火墙 # 查看防火墙状态 systemctl status firewalld # 启动防火墙 systemctl start firewalld # 关闭防火墙 systemctl stop firewalld # 重启防火墙 systemctl restart firewalld ...
2021-05-19 09:02:42
212
原创 Linux 下安装jdk8并配置环境变量
本文章提供的是解压缩版的方式 下载jdk: 建议oracle官方下载jdk 传送门:oracle下载jdk 不提供注册账号的步骤
2021-05-18 15:05:37
382
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅