- 博客(30)
- 收藏
- 关注
原创 高并发,线程,锁
并发编程的挑战上下文切换即使是单核处理器也是支持多线程的,CPU通过给每个线程分配CPU时间片来实现这个机制。时间片是CPU分配给各个线程的执行时间,因为时间片非常短,所以CPU通过不停的切换线程执行,让我们感觉多个线程是同时执行的,时间片一般是几十毫秒。CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间片后会切换到下一个任务。但是在切换前会保存你上一个任务的状态,以便下次切换回这个任务时,可以在加载这个任务的状态。所以任务从保存到在加载的过程就是一次上下文切换。类似读书,一本英文原著和一
2021-12-22 10:54:15
422
原创 es搜索引擎相关学习二
es相关练习es基于rest风格进行操作,以下是相关的命令第一步创建索引,这里test1是创建索引类似于mysql的库,type1是表的意思在es7版本的时候已经不建议使用,后面8会彻底淘汰,1是文档id,{}中间是请求体。返回的结果随后进行验证一下测试制定字段类型先新增一个索引test2,然后mappings里面是一些映射的规则properties中设置字段和类型执行结果查询是否创建成功后续8版本es把类型的慢慢弃用,默认叫_doc,不写也会叫_doc,类型也会进行
2021-08-16 19:53:29
161
原创 es搜索引擎相关学习一
es搜索引擎es,kibana在win是解压后即可用的,注意版本问题es,kibana,ik分词器版本都要对得上,es对于版本要求极其苛刻第一步配置es在es的config中对es的yml进行配置启动es,去bin目录直接启动bat文件即可第二步安装kibana,解压后配置他的中文配置完成后进入bin目录打开bat即可启动第三步安装ik分词器,在es的插件目录中新建ik目录,解压下载的ik分词器压缩包,重启es第四步进入kibana的开发者工具进行查询测试,ik提供了两个算
2021-08-16 10:17:51
174
原创 超详细的线程理解!!!
java和线程一般谈起并发一定 绕不开多线程线程的实现线程时候比进程更轻量级的调度执行单位,线程的引入可以吧一个进程的资源分配和执行调度分开,各个线程即可以共享进程资源(内存地址,文件I/O等),又可以独立调度,目前线程是java里面进行处理器资源调度的基本单位,不过如果日后Loom项目能成功为JAVA引入纤程的话可能改变这一点进程:是操作系统资源分配的基本单位,比如内存、打开文件、网络IO,分配了独立的内存空间线程:是操作系统资源调度的基本单位,cpu分配的基本单位纤程:是用户态的线程,是
2021-04-07 10:41:25
161
原创 synchronized分析
synchronized使用方式1 同步实例方法,锁是当前实例对象2 同步类方法,锁是当前类对象3 同步代码块,锁是括号里面的对象实现方式synchronized是JVM内置锁,通过内部对象Monitor(监视器锁)实现,基于进入和退出Monitor对象实现方法与代码块同步,监视器锁的实现依赖底层操作系统的Mutex lock(互斥锁)实现...
2021-04-06 08:33:47
103
原创 JAVA线程的上下文切换底层逻辑(图文)
https://www.processon.com/diagraming/606b1a66637689306d4e96ca
2021-04-06 00:39:21
183
原创 自旋锁
自旋锁是相当于一个线程在读取值的时候,如果锁已经被其他线程度获取,那么线程将循环等待,然后不断的判断锁是否能够被成功获取,自旋到或许锁才会退出循环。自旋锁存在的意义与试用场景阻塞与唤醒线程需要操作系统切换cup状态,需要消耗一段时间同步代码块逻辑简单,执行时间很短自旋是为了避免线程的阻塞和唤醒。...
2021-03-22 17:10:52
94
原创 关于悲观锁和乐观锁(偏向理论)
悲观锁:悲观锁认为每次自己在操作资源的时候会有其他线程来修改数据,在获取数据的时候会先加锁,确保自己数据不会被其他线程影响。锁实现:接口Lock的实现类。关键字synchronized试用场景:写操作较多,先加锁保证写数据是数据的正确wait()方法;阻塞notify()方法;不阻塞线程阻塞和不阻塞的区别:阻塞涉及到上下文的切换,不阻塞不会涉及乐观锁:乐观锁认为自己在使用数据的时候不会有其他线程修改数据,所以不会加锁,只是在更新数据的时候来判断之前也没有别的线程修改了这条数据锁实现:CA
2021-03-18 16:38:15
121
原创 关于java关于锁
JAVA主流锁体系全面认知1,乐观锁 悲观锁2,读锁(共享锁),写锁(排它锁)3,自旋锁,非自旋锁4,无锁,偏向锁,轻量级锁,重量级锁5,分布式锁6,区间锁(分段锁) java.util.concurrent下所有的类都需要了然于胸 ConcurrentHashMap以下锁基于AQS:7,重入锁,非重入锁8,公平锁,非公平锁...
2021-03-18 10:14:33
81
原创 maven将jar包交给本地maven管理命令
mvn install:install-file "-Dfile=E:\weixin\WeChat Files\wxid_wpbcibvwqsf622\FileStorage\File\2020-09\ojdbc6-11.2.0.1.0.jar" "-DgroupId=com.oracle" "-DartifactId=ojdbc6" "-Dversion=11.2.0.1.0" "-Dpackaging=jar"命令解释:Dfile:是我要转成的maven依赖的jar包DgroupId: 决定了将
2020-09-23 12:43:46
230
转载 使用maven安装jar包到本地仓库时遇到The goal you specified requires a project to execute but there is no POM in thi
转自 https://www.cnblogs.com/zhexuejun/p/11525623.html
2020-09-23 12:41:50
641
1
原创 IDEA创建父工程
编码支持注解声明这是一个pom文件 <packaging>pom</packaging> <!--统一管理jar包和版本--> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.com...
2020-05-10 03:54:36
223
原创 创建maven项目出错maven-project-info-reports-plugin异常
加入依赖<dependencies> <dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> <version>3.0.0</version> <type>maven-p
2020-05-10 01:34:13
4021
1
原创 关联mysql失败_Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezon'
时区错误,MySQL默认的时区是UTC时区,比北京时间晚8个小时。所以要修改mysql的时长在mysql的命令模式下,输入:set global time_zone=’+8:00’;再次连接成功...
2020-03-18 19:53:28
99
原创 @SuppressWarings注解
作用:用于抑制编译器产生警告信息。 @SuppressWarnings({"rawtypes", "unchecked"}) private Boolean setNX(final String key, final String value, long timeout) { RedisSerializer keySerializer = getRedisTempl...
2020-03-10 20:16:14
254
原创 代码解析(1)
代码`@PostMapping("/initLoanOrder") @ApiOperation("下单") public ResultDTO<Map<String, Object>> initLoanOrder(InitLoanOrderDTO initLoanOrderDTO) { // 如果initLoanOrderDTO为null就返回必传参数为空 if ...
2020-03-06 12:23:16
196
原创 sentinel规则持久化
规则持久化目前支持:file,nacos,zk,redis这五种类型resource:资源名,即限流规则的作用对象count:限流阈值grade:限流阈值类型(QPS或者·线程数)limitApp:流控针对的调用来源,若为default则不区分调用来源strategy:调用关系限流策略controlBehavior:流量控制效果(直接拒绝,WarmUp,匀速排队)server: ...
2020-02-28 14:17:13
735
1
原创 springcloud流量卫士sentinel 入门热点限流
@RestControllerpublic class ParamController { @GetMapping("/param") @SentinelResource(value = "param",blockHandler = "exHandler") public String param(String type){ return "success...
2020-02-28 13:17:54
213
原创 sentinel黑白名单
controller层@RestControllerpublic class DemoController { @GetMapping("/white") public String test(){ return "test sentinel"; } @GetMapping("/black") public String test1(){...
2020-02-28 12:48:57
1330
5
原创 springcloud流量卫士sentinel 入门(2)流量控制
sentine流量控制设置阈值即可超过阈值访问会提示阈值为0为不允许访问自定义失败后的内容其一方法public class DemoUrlBlockHandler implements UrlBlockHandler { //自定义超越流量阈值后的内容 @Override public void blocked(HttpServletRequest http...
2020-02-27 13:37:50
247
原创 springcloud流量卫士sentinel 入门
第一步现在sentinel相关可视化操作jarsentinel-dashboard-1.7.1.jar在cmd黑窗口使用//启动jar包java -jar sentinel-dashboard-1.7.1.jar启动后默认端口号是8080默认用户名密码皆为:sentinel创建项目在pom文件加入 <dependency> &...
2020-02-26 09:07:56
234
转载 SpringCloud alibaba 入门 nacos
什么是 NacosNacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。基本架构及概念服务 (Service)服务是指一个或一组软件功...
2020-02-26 04:05:29
94
原创 git常用命令
git常用命令git初始化将当前目录作为工作目录git initgit提交到暂存区git add 文件名.后缀将git暂存区内容添加到版本仓库git commit -m ‘描述’git commit -am ‘’git查看暂存区的状态git statusgit查看暂存区的改动git status -s更改版本控制器中文件的名字git vn 文件名.后缀名 文件名后缀名g...
2020-02-11 19:52:44
100
原创 github的使用 原理
git的流程图git的概念1.仓库(Repository)仓库就是项目,一个仓库就是一个项目,想在github上面开源一个项目那就必须要重新建立一个Repository,用来存放项目代码。2.收藏(Star)收藏项目方便下次查看3.复制克隆项目(fork)复制对方项目,该fork的项目是独立存在的git概念(2)1.发起请求(pull Request)fork项目以后,该项目...
2020-02-07 17:38:24
461
原创 如何使用Navicat for MySQL导入sql文件生成表(win)
第一步安装好Navicat第二步 打开Navicat,然后右击点击 运行sql文件,选择相应的文件夹中后缀为sql的sql文件即可。
2020-01-02 20:30:33
1168
转载 docker创建容器网络异常
帖子:https://blog.csdn.net/Tilyp/article/details/90700917
2019-12-19 17:00:07
558
原创 Spring简单概述与定义
springspring是一个轻量级开源框架具有Ioc和Aop容器,简化开发涵盖传统开发到移动云端,对大数据也颇有建树。spring除了不能帮我们写代码其他几乎都能帮助我们简化开发。1.spring帮我们低侵入/低耦合的根据配置文件创建及组装对象之间的依赖关系。2.spring面向切面编程能够帮我们无耦合实现日志记录,性能统计,安全控制等3.spring能非常简单的声明事务管理。4.sp...
2019-04-16 11:09:13
265
转载 关于ini文件在idea如何创建
详情博客https://blog.csdn.net/weixin_40797576/article/details/81738788薛思远的csdn
2019-02-17 15:22:41
3926
原创 shiro测试类 shiro入门
Shiro入门第一步创建maven项目2.导入jar<dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.3</version><
2019-02-17 15:17:54
269
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人