- 博客(23)
- 收藏
- 关注
原创 synchronized的底层实现原理及锁升级机制
关键字解决的是多线程之间并发访问的问题,又称为同步锁,保证在同一时刻只有一个线程访问被修饰的代码块或方法,从而达到并发安全的目的。
2025-03-06 17:22:08
1056
原创 java多线程顺序打印1--100的实现方案
通过acquire()/release()形成信号量传递链。通过ThreadUtil.sleep()降低CPU空转消耗。ReentrantLock替代内置锁提供更灵活的锁控制。notifyAll()唤醒所有线程重新竞争锁。每个线程绑定独立的Condition等待队列。AtomicInteger保证计数器的原子性。volatile保证标记为flag的可见性。使用wait()让不满足条件的线程等待。通过signal()实现精准线程唤醒。每个线程需要获取自己的信号量才能执行。初始化信号量数组[1,0,0]
2025-03-06 10:17:25
297
原创 ElasticSearch使用详解
一、搜索引擎介绍在互联网项目中,涉及到检索的业务需求很多,我们可以通过对数据库的模糊查询实现检索功能,但是针对大数据量的操作,基于数据库的检索就显得力不从心了(查询效率很低)。所需我们要寻求一种高效的数据检索解决方案。所谓搜索引擎,就是根据用户需求与一定算法,运用特定策略从互联网检索出指定的信息反馈给用户的一门检索技术。搜索引擎依托于多种技术,如网络爬虫技术、检索排序技术、网页处理技术、大数据处理技术、自然语言处理技术等,为信息检索用户提供快速、高相关性的信息服务。搜索引擎技术的核心模块
2022-03-29 17:19:53
3306
原创 idea配置方法注释
idea配置方法注释到了这一步可以点击右上角 +可以直接选择1.Live Template 创建一个模板,但是选择这一步时需要在右边选中分类。也可以选择 2.Template Group 创建一个分组 ,然后在选择这个分组在进行1.Live Template 创建一个模板1...
2022-03-07 13:55:00
152
原创 idea拉取并编译启动spring源码
本机环境win10 idea2021.1 jdk 1.8 spring 5.2.x gradle-5.6.41.下载spring源码https://github.com/spring-projects/spring-framework/tree/5.2.x这里我选择5.2.x版本当然也可以选择其他版本2.下载gradlehttps://services.gradle.org/distributions/https://services.gradle.org/distri
2022-03-02 14:45:26
1230
原创 springboot定时任务
在平常的开发中很多时候我们都有用到定时任务,而springboot也为我们提供了注解式定时任务1.启动类@EnableScheduling //开启定时任务扫描 让springboot找到有定时任务注解的方法@SpringBootApplicationpublic class ATestDemo1Application { public static void main(String[] args) { SpringApplication.run(ATestDemo1
2022-02-21 10:41:12
218
原创 nginx使用入门
Nginx 的配置系统由一个主配置文件和其他一些辅助的配置文件构成。这些配置文件均是纯文本文件,全部位于 Nginx 安装目录下的 conf 目录下配置文件中以 # 开始的行,或者是前面有若干空格或者 TAB,然后再跟 # 的行,都被认为是注释;配置文件中可以包含若干配置项,每个配置项由 “配置指令” 和 “指令参数” 2个部分构成,并以 ; 结尾,指令参数也就是配置指令对应的配置值。举个例子:# 这一行是注释,下一行中的 error_page 为 “配置指令”,其后跟着的是对应的 “指令参数
2022-01-24 10:19:54
2412
原创 Linux系统安装mysql详细教程
1.下载安装包1.1未安装wget的同学执行以下命令安装sudo yum install wget1.2下载安装包wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm2.rpm安装mysqlrpm -ivh mysql57-community-release-el7-10.noarch.rpm3.安装sudo yum install mysql-server4.加入开机启
2021-12-01 15:53:27
224
原创 linux操作指令
linux·查看当前网络配置ifconfig·切换用户su username## 输入密码 (低级权限用户切换到高级权限用户是需要输入密码的)·重启Linuxreboot·查看当前路径pwd·文件编辑vi #文件编辑vim #增强文件编辑vim +行号 文件名 #进入到当前文件编辑器,光标指向指定的行号:q #退出文件:q! #强制不保存退出:w #写入:w! ..
2021-12-01 13:53:38
2879
原创 项目上线简单流程
正式环境代码发布流程1.前期准备1.1数据库脚本将所需数据库全部转存为脚本文件若是项目升级 尽量为增量更新数据库,尽量保证正式环境数据安全在测试环境修改数据 表结构的时候 尽量以文档的形式记录 在项目更新的时候统一执行1.2后端jar包1.项目上线前在测试环境应该做好相应的测试保证接口的正确性2.检查好上正式环境pro配置文件的环境配置,确保其正确性3.多环境配置,在打包时一定要注意切换为正式环境配置1.3前端dist包具体以前端为准,保证代码正确以及
2021-12-01 13:43:23
5879
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人