- 博客(30)
- 资源 (1)
- 收藏
- 关注
原创 复习之 JMM
分三步 1 申请内存空间,2 实例化单例对象,3 属性赋值,实例化的单例对象赋值给instance ,2跟3 在jvm 优化后不保证顺序,如果多线程情况下,第一个线程正在创建实例,先执行3 ,给instance 赋值了空,第二个线程发现instance!cpu 跟 主内存交互的时候会统一经过消息总线,当线程对共享数据修改完成同步到主内存中,其他cpu 会通过cpu总线嗅探机制,丢弃之前读取的数据。volatile规则 volatile变量的写,先发生于读,这保证了volatile变量的可见性,简。
2024-08-16 15:19:54
866
原创 复习之 java 锁
2 当再有第二个线程t2过来尝试加锁,发现已经被加锁了,检查加锁的是否是自己,不是t2 则尝试修改对象头偏向id 为自己,修改失败,当t1 运行到安全点时,判断是否t1 已经退出代码块,如果是则t1 释放锁,t2 添加偏向锁,如果t1没有执行完,则升级为轻量级锁。2 如果期望值跟内存之不相等,则获取共享变量判断是否等0 如果等于,则说明没有加锁,通过cas 继续加锁,如果不能与获取设置的线程,跟当前线程比对是否相等,如果相等则说明相同线程加锁,可以继续加锁,重入锁。// 30秒没加上锁,自动释放。
2024-08-16 08:03:33
1336
原创 复习之 JVM【类加载机制,内存模型,GC 】
先加载项目1 ,再加载项目2的时候开始加载spring5 发现相同包下相同的类都已经被加载了,就不会再去加载了,但是实际上spring5 没有被加载,加载的时spring4 就会出现问题,所以tomcat 通过自定义类加载器的方式去打破双亲委派,每个项目自己加载自己的。Java中的所有类,必须被装载到JVM中才能运行,这个装载工作是由jvm中的类装载器完成的,.class文件可以在虚拟机运行,但不是直接和操作系统交互,需要jvm解释给操作系统,解释的时候需要java类库,这样就能和操作系统交互。
2024-08-15 12:10:24
1139
原创 mysql json 数组 查询,更新 json 属性记录
SELECT Json_extract(showObj, "$.skues[0].shopPrice","$.skues[0].goodNumber") from baseSearch where JSON_CONTAINS(catIds, "2097") and isOnSale =1update baseSearch set showObj = json_set(showObj, "$.skues[0].shopPrice",0,"$.skues[0].goodNumber",0,"$.s...
2021-03-20 11:06:05
1276
转载 2020-11-26
我喜欢先有思路再说实现,大家都知道java可以画图的,但效率不是很高,我们又不用它写ps软件,哈哈啊哈。。。。。转载留下出处哈:http://blog.csdn.net/zengshunyao/article/details/44758297首先。涉及到文件就要用到文件操作,但我们这是操作图片1、我们首先需要一个容器来存放图片ps:图片原来在磁盘(File)—-》内存(image)2、我们要在原来的图片上加水印,就相当于要在纸上画画。。。所以我们的画纸应该是原图的一的副本,我们我们需要得到副本并
2020-11-26 11:22:21
208
原创 Spring cloud Alibaba 之 分布式链路追踪 sleuth
什么是链路追踪:微服务之间相互调用,每一个请求过来可能调用多个服务,比如:一个请求调用A 服务,A 又依赖B 服务,B又依赖C 服务。这样形成一个调用链,当我们查询日志的时候都需要知道一个请求的完整路径,这个时候链路追踪就产生作用,A 调用B 的时候会长生traceid ,传递B ,B 调用C 的时候同样会把 这个traceid 传递给C ,这样下来一个请求,对应每个服务都会有一个唯一的trace...
2019-11-29 11:12:38
4313
原创 spring Cloud Alibaba Nacos
Nacos 官网地址https://nacos.io/作用:注册中心 ,配置中心 ,支持多环境部署版本 :目前采用最新1.1.4 版本下载地址 :https://github.com/alibaba/nacos/releases/tag/1.1.4下载完直接到bin 目录启动就好。启动命令(standalone代表着单机模式运行,非集群模式):sh startup.sh...
2019-11-28 17:15:52
240
1
原创 手机app 支付宝支付流程
看图说话支付宝支付流程1 用户选择支付宝,点击去支付,请求商户客户端2 商户客户端请求商户服务端(服务端 调用阿里sdk 请求支付接口,返回支付宝交易流水号(也就是签名后的信息))3 商户服务端返回支付宝交易流水号给商户客户端4-7 商户客户端端拿到交易流水号,请求拉起支付宝,用户支付,支付宝服务端返回支付结果给支付宝前端8 支付宝同步返回支付结果给商户(如果此时 商户客户端挂掉...
2019-09-29 15:12:13
1132
原创 es6.2.2 if you have a new license,please update it
一定要看官网 ,各种博客各种坑1 去官网注册,https://register.elastic.co/2 邮件接收证书注册成功 回收到邮件3 json 文件上传到服务器,然后执行命令。https://www.elastic.co/guide/en/elasticsearch/reference/6.2/update-license.html 官网最后一行,如...
2019-08-02 10:38:04
458
原创 ELK 配置部署
这篇文章主要讲elk日志服务搭建,各个组件之间的相互调用配置。组建安装可自行百度,我这后面博客也会有说明主要涉及的组建包括:beat (Filebeat) :主要收集当前服务器,日志,发送到logstash (也可以直接发送到es)logstash:对日志进行过滤,发送到eselasticsearch: 日志服务器kibnan:查看日志1 废话不多说直接先上图2 详...
2019-07-28 16:01:18
300
原创 Mac 客户端登陆 阿里云服务器
入职新公司 ,配了台苹果电脑,突然不会用了,先链接下自己的阿里云吧,以前都是用xshell,但是突然发现mac 没有登陆阿里云服务器,使用密钥方式1 把密钥拷贝到文稿目录下2chmod 600 XXX.pem 对密钥执行该操作 ,如果不执行 会报权限错误3。ssh -i 密钥文件路径/***.pem root@IP地址例如 :ssh -i /Users/lijinlong/...
2019-07-12 16:17:15
708
原创 FTP 服务器文件上传
@Value('${ftp.hostname}')String hostname@Value('${ftp.port}')int port@Value('${ftp.httpPort}')int httpPort@Value('${ftp.username}')String username@Value('${ftp.password}')String password@Va...
2019-05-24 11:32:07
232
原创 登录验证码功能
描述1,首先验证码是一张图片,页面登录页面要以图片的形式来接受 即 <img> 标签2,图片生成 是通过A-Z a-z 1-9 这些字母数字组成,以4位数的验证码来说,要先生成随机四位A-Z a-z 1-9编码,并且把编码放到session 里,主要是用于跟用户输入的验证码进行比较3,根据随机编码,设置宽 高 ,指定图片输出流 来完成堆图片4,点击图片 调用生成图片的c...
2019-05-24 10:59:45
1633
转载 验证码生成器
参考文章https://www.cnblogs.com/sjshare/p/5477521.htmlpackage com.cindata;import javax.imageio.ImageIO;import java.awt.*;import java.awt.geom.AffineTransform;import java.awt.image.BufferedImage;im...
2019-05-24 10:43:00
1552
原创 多线程实现demo
多线程应用场景:报表导出,大批量数据同步等等吧。同步100万条数据,单个线程假如需要2.5个小时,如果5个线程一起跑可能只需要0.5小时,10个线程一起跑可能只需要十五分钟。这样就大大提高了效率。那么我们如果让多个线程同时跑,而且又跑的是不重复的数据呢,可以按照id ,时间段进行分割。每一个线程跑20万条,或者按照时间顺序进行跑。我下面的例子是按照时间分割,进行多线程处理。使用Execut...
2019-02-15 10:12:42
1993
原创 linux 命令都不好使了解决办法
由于linux 配置环境变量修改,修改etc/profile 配置文件出现错误,导致很多linux 命令不好使,ls /ll /vim 等命令不好使,最重要的是vim 都不好使了,想修改profile都没办法,在网上搜了半天,解决办法如下: 1,在命令行中输入:export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin ...
2019-01-01 10:33:24
1580
翻译 Elasticsearch 6.2.2 主副片查询
es 在查询中遇到一个问题,反复刷新一个搜索的时候,顺序会变,这个时候通过es-head查看的时候发现 es匹配度评分反复查询会变,导致搜索结果不稳定,同一个商品每次查询评分不一样。原因是因为es 主副分片同步评分不一致导致的通过preference 可以指定在某分片上搜索这preference是一个查询字符串参数,可以设置为 _primary ...
2018-12-05 14:41:59
369
转载 Elasticsearch 6.2.2 常用查询
原文地址:http://www.cnblogs.com/yjf512/p/4897294.html es中的查询请求有两种方式,一种是简易版的查询,另外一种是使用JSON完整的请求体,叫做结构化查询(DSL)。由于DSL查询更为直观也更为简易,所以大都使用这种方式。DSL查询是POST过去一个json,由于post的请求是json格式的,所以存在很多灵活性,也有很多形式。这里有...
2018-11-20 15:15:53
573
原创 Elasticsearch 6.2.2 项目应用及操作 (项目实战)————整体概述
1 需求 商品搜索,通过关键词进行商品搜索,关键词指定商品主标题,副标题,商品类目,商品品牌关键词从es搜索出商品。如果是默认词,热词,如果有跳转连接直接跳转对应连接,如果没有从es中查询。2 es 搜索,后台默认词,热词暂且不说从es搜索商品首先要从数据库 把商品同步到es 里,然后才能在es中搜索2 同步方案:概述:主要把数据库里商品数据同步到es 里,查询的时...
2018-11-20 11:31:26
5917
2
原创 elasticsearch-analysis-ik-6.2.2 分词
进入es bin 目录下 执行./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.2.2/elasticsearch-analysis-ik-6.2.2.zip可以根据版本进行 修改安装完成,重启es 服务安装成功分...
2018-11-10 22:20:35
727
原创 es-head 安装
因为head是一个用于管理Elasticsearch的web前端插件,该插件在es5版本以后采用独立服务的形式进行安装使用(之前的版本可以直接在es安装目录中直接安装),因为需要安装nodejs、npmyum -y install nodejs npm 千万不要用yum 安装版本太低,官网下载node-v8.11.3-linux-x64上传node 到服务器解压 tar -xvf...
2018-11-10 16:45:27
437
转载 linux rz sz安装
很多时候我们需要到官网下载一些工具,安装到linux 上,比如去官网下载jdk,然后上传到linux服务器,或者从服务器下载写文件到本地,这时候就会用到 rz(上传) sz(下载) 了,下面是安装rzsz 步骤:wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gztar zxvf lrzsz-0.12.20.tar.gzcd ...
2018-11-10 11:25:10
344
原创 spring boot AOP 日志日志记录,管理
<!--aop 日志管理--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId></dependency><!-
2018-10-31 17:24:04
172
原创 spring boot maven install 打包问题
maven 正常打包配置但是这样打出来的jar 多一层BOOT-INF这样导致,其他项目依赖此jar 找不到符号,找不到类,一位外面多了一层解决办法 加一个<configuration> <skip>true</skip></configuration>打出来的包这样OK...
2018-10-25 16:17:48
440
原创 maven 私服应用
现在我们企业级开发基本上都是maven 项目,很多时候项目都是架构师搭建好的,pom.xml文件项目里直接配好,settings.xml文件都是复制粘贴过来直接用,也只是过来用,maven clean,install,deploy 等命令也直接能用,但是为什么这样用,如果自己搭建一个私服,自己配置pom,settings 就不会了,下面就是根据自己搭建私服,配置私服的一些总结参考文章...
2018-10-25 13:45:34
224
转载 mysql 命名规则
1,数据库命名规则1,表明小写,order2,多个单词用“_” 分割,order_detail3,尽量用全名,如果太长则,用缩写 information > info4,同一数据库 不同的业务模块要有统一的命名前缀一个比较复杂的系统,数据库表往往很多,要快速定位自己需要的表,不太容易。因此,可以在同一个模块 中的表,加上一个统一的前缀。比如用户相关表u_u...
2018-10-02 14:37:15
2669
原创 elasticsearch 6.2.2 阿里云服务器集群搭建
前提:安装好单点服务,不会的看上一篇文章三台阿里云机器修改es config文件夹下 elasticsearch.yml 文件cluster.name: product #集群名称node.name: node-1 #节点名称node.master: true #是否可以变成主节点node.data: true # 是否存数据...
2018-09-25 16:50:22
909
1
原创 阿里云linux CentOS6.9系统 elasticsearch6.2.2安装教程
前沿阿里云 linux CentOS 6.9 系统 内存1g(es 安装默认内存大小需要1g 内存不够安装遇到问题,后面再说)安装步骤1,下载安装包 我的下载目录是 cd /usr/local/src/wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.2.tar.gz2,创建...
2018-09-23 11:38:24
464
原创 redis linux 环境集群安装
redis 集群安装1,安装背景,已经安装完成单机redis 的基础上,如果没有安装请看上篇文章 redis 4.0.10 安装https://blog.csdn.net/lijinlong1989/article/details/827017902环境版本centos 6.9redis 4.0.2rvm 1.29.4ruby 2.3.3gem 2.7.7redis-trib.r...
2018-09-16 14:04:15
167
原创 redis 4.0.10 安装
redis 安装redis 中文网站http://www.redis.cn/download.html安装准备如果新的linux系统 一定先安装 gcc ,系统是CentOS6.9yum install gcc安装完成之后 gcc 命令看是否安装成功,安装成功之后进行redis安装安装步骤1,选择安装目录,我安装的是 cd /usr/local/src/2,下载安装包wget...
2018-09-14 13:55:50
251
jodconverter-2.2.2.zip
2020-11-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人