- 博客(32)
- 资源 (29)
- 收藏
- 关注
原创 JAVA中加密解密那点事
本文主要是讲解加密解密的分类,基本概念,基本用法,使用场景,底层代码原理剖析。JAVA SE 8官方密码规范文档加密算法名称:简单说一下加密算法模式,不要把它与加密算法混淆起来,加密算法就是使用何种方式加密,比如:DES、AES、RSA,而加密算法模式,是用来描述加密算法(此处特指分组密码,不包括流密码)在加密时对明文分组的模式,它代表了不同的分组方式,如常见的:ECB模式:电子密码本模式CBC模式:密码分组连接模式CFB模式:密文反馈模式OFB模式:输出反馈模式。...
2022-08-18 14:17:58
239
1
原创 java多线程学习之【线程创建使用】
本文主要是讲解创建线程的方式,包括基本的创建,和使用不同的线程池进行创建,基本用法,使用场景,底层代码原理剖析等。线程池提供了一种限制和管理资源(包括执行一个任务)。每个线程池还维护一些基本统计信息,例如已完成任务的数量。继承Thread类,重写run方法。2.2 实现Runnable接口注意,2.1继承Thread类,本质上就是实现Runnable,因为Thread实现了Runnable。2.3 实现Callable接口具体任务的方法,一个是run方法,一个call方法,call方法有返回值,
2022-07-05 17:37:54
249
原创 java多线程学习之【atomic】
本文主要是讲解atomic的概念,基本用法,使用场景,底层代码原理剖析。在java.util.concurrent.atomic包下atomic一般指原子操作类,主要分为四种类型的原子更新类:原子更新基本类型、原子更新数组类型、原子更新引用和原子更新属性。原子更新基本类型:使用原子方式更新基本类型;原子更新数组:通过原子更新数组里的某个元素;原子更新引用类型:需要更新引用类型往往涉及多个变量;原子更新字段类:需要原子更新某个类的某个字段。...
2022-07-01 15:00:41
1772
原创 java多线程学习之【Exchanger】
本文主要是讲解Exchanger的概念,基本用法,使用场景,底层代码原理剖析。按照源码注释,翻译成中文,就是以下内容:Exchanger 提供了一些方法:Exchanger应用在遗传算法和管道的设计。四、源码剖析Exchanger 的源码在JUC并发工具中,相对简单:exchange及关联代码五、和其他工具比较Exchanger,Semaphore,CountDownLatch与CyclicBarrier区别总结主要讲解Exchanger,后面重点讲AQS。...
2022-06-20 17:52:41
594
原创 java多线程学习之【Semaphore】
本文主要是讲解Semaphore的概念,基本用法,使用场景,底层代码原理剖析。按照源码注释,翻译成中文,就是以下内容:Semaphore 提供了一些方法:信号量就是一个计数器,应用很广泛。我们构建一个有界队列,在队列满的时候希望阻塞而不是中断。那么信号量的大小就是队列的边界。代码如下3.2资源池四、源码剖析Semaphore 的源码在JUC并发工具中,相对复杂点:Semaphore 构造函数中包含指定许可的数量和是否是公平锁;acquire()release五、和其他工
2022-06-17 15:17:17
329
原创 java多线程学习之【CyclicBarrier】
本文主要是讲解CyclicBarrier的概念,基本用法,使用场景,底层代码原理剖析。按照源码注释,翻译成中文,就是以下内容:CyclicBarrier 提供了一些方法:主要用于多线程等待,Runnable命令执行后,多线程执行直到释放。代码如下四、源码剖析CyclicBarrier 的源码在JUC并发工具中,相对复杂点:CyclicBarrier 构造函数中指定的count和可选的Runnable命令;await(),等待直到其他线程都到达栅栏,并且每执行一次会将全局变量count减去1
2022-06-16 18:11:43
257
原创 java多线程学习之【CountDownLatch】
本文主要是讲解CountdownLatch的概念,基本用法,使用场景,底层代码原理剖析。按照源码注释,翻译成中文,就是以下内容:CountDownLatch 提供了一些方法:倒计时门栓是一个多用途的同步工具,可以用于许多目的。初始化作为一个门或者门栓的开关。当所有线程调用await在门口等待,直到一个线程调用countDown且count等于0而被打开。计数初始化为N,可以用来使一个线程等待N线程完成了一些行动,或一些行动已经完成N次。线程调用wait时,不需要计数达到零,它只是阻止任何线程继续运行aw
2022-06-15 18:04:29
395
原创 Nginx安装及创建安全高效的应用
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、Nginx是什么?二、使用步骤1.安装部署2.添加组件3.反向代理4.负载均衡5.HTTPS加密传输总结前言本文主要是基于Mac环境安装及使用nginx,供大家学习。一、Nginx是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.安装部署代码如下(示例):2.添加组件3.反向代理4.负载均衡5.HTTPS加密传输总结提示:这里对.
2022-05-30 17:48:22
364
原创 Vue入门之企业站点开发实践
系列文章目录第一章 Vue 入门之搭建vue脚手架第二章 Vue入门之项目框架介绍第三章 Vue入门之基本语法第四章 Vue入门之企业站点开发实践第五章 Vue入门之前端部署文章目录系列文章目录前言一、和ElementUI集成二、站点开发官方文档前言vue现在是比较流行的前端框架,花一些时间学习下,特将学习过程分享出来,供大家一起学习。通过上章的学习我们可以看到Vue是一个MVVM框架,主要作用就是将前台页面和数据绑定起来。为了做出漂亮的视觉效果,我们还需要和其他视图框架进行集成。这
2022-05-17 16:44:58
623
原创 Vue入门之基本语法
系列文章目录第一章 Vue 入门之搭建vue脚手架第二章 Vue入门之项目框架介绍第三章 Vue入门之基本语法第四章 Vue入门之企业站点开发实践第五章 Vue入门之前端部署文章目录系列文章目录前言一babel.config.js二、基本使用Project setupLints and fixes files总结前言vue现在是比较流行的前端框架,花一些时间学习下,特将学习过程分享出来,供大家一起学习。一vue的默认页面是index.html,index中的挂载了App.vue这
2022-05-17 16:14:24
233
原创 Vue入门之项目结构介绍
系列文章目录第一章 Vue 入门之搭建vue脚手架第二章 Vue入门之项目框架介绍第三章 Vue入门之基本语法第四章 Vue入门之企业站点开发实践第五章 Vue入门之前端部署文章目录系列文章目录前言一、项目结构babel.config.js二、使用步骤前言vue现在是比较流行的前端框架,花一些时间学习下,特将学习过程分享出来,供大家一起学习。一、项目结构babel.config.jspresets下的值有啥区别?Babel是一个JS编译器,主要作用是将ECMAScript 2
2022-05-16 11:24:30
441
原创 Vue 入门之搭建vue脚手架
系列文章目录第一章 Vue 入门之搭建vue脚手架第二章 Vue入门之项目框架介绍第三章 Vue入门之基本语法第四章 Vue入门之企业站点开发实践第五章 Vue入门之前端部署文章目录系列文章目录前言一、Vue介绍二、使用步骤1.准备环境2.创建工程目录3.创建项目4.启动项目5.浏览器访问前言vue现在是比较流行的前端框架,花一些时间学习下,特将学习过程分享出来,供大家一起学习。一、Vue介绍官网:https://vuejs.org/Vue(读作 /vjuː/,类似view)是一
2022-05-13 16:18:48
952
原创 技术人如何在元宇宙中获取红利
后疫情时代,全球游戏市场规模持续扩大,行业态势良好。据 Newzoo 发布的《2021 全球游戏市场报告》,2021 年的游戏市场将产生 1803 亿美元的总收入,比 2020 年增长 1.4%。Newzoo 预测,在 2024 年,全球游戏市场将产生 2188 亿美元的收入,其中仅移动游戏一项就将通过消费者支出产生 1164 亿美元的收入。元宇宙是 2021 年最热门的话题之一,元宇宙为我们构建了一个虚实结合的宏伟框架,商业产业、社交娱乐和生活方式等场景都能够在新的框架下被重新构建。目前,虚实结合的产.
2022-05-13 12:06:51
85
原创 代码混淆工具-Allatori-8.1使用
在工作中,我们写的代码需要开源和需要给团队中的人使用,为了防止代码被轻松反编译,可以通过混淆工具,降低代码的可读性。文章目录前言一、Allatori介绍二、使用步骤1.引入jar和配置文件2.配置allatori文件3.配置pom.xml总结前言本文主要讲解allatori在Java maven工程中的使用方法。一、Allatori介绍官方地址: http://www.allatori.comAllatori 是第二代 Java 混淆器,可为您的知识产权提供全方位的保护。尽.
2022-05-07 15:56:13
4709
原创 redis多实例常见部署方法和使用
文章目录前言一、主从复制1.一主多从架构1.1应用场景1.2安装步骤1.3客户端使用方法1.4故障处理2、主从从架构2.1应用场景2.2安装步骤2.3客户端使用方法2.4故障处理二、哨兵1.1 单个哨兵的架构1.1.1应用场景1.1.2配置哨兵1.1.3故障处理1.2多个哨兵的架构1.3客户端调用三、切片(分片)集群(采用hash槽)1.应用场景2.集群配置3.故障恢复3.1主节点宕掉3.2某一段插槽的主从节点都宕掉4.客户端clijava 端总结前言之前讲过Redis的基本操作和应用场景,里面的Re
2022-05-01 23:17:51
2718
原创 maven私服搭建
本文在macbook pro 环境下搭建maven私服,将基础代码打包部署,供团队成员临时下载使用(长期的话可以向公司申请一台服务器安装部署),增加代码的复用性和团队成员的代码规范。文章目录前言一、Nexus二、安装nexus2.1在Mac终端输入(如果提示没有brew命令,请先安装brew)2.2启动nexus2.3访问web管理系统三、nexus的配置3.1登录后开始设置操作3.1.1设置新密码3.1.2配置匿名访问3.2设置 proxy 代理仓库3.3获取私服地址四、maven使用私服jar4.1
2022-04-25 17:25:43
2263
原创 curl 输出接口请求响应时间
文章目录前言一、curl介绍二、具体使用1.当前目录新建文件2.执行命令3.结果总结前言系统需求中需要请求第三方数据接口获取数据,那线上请求第三方接口耗时多少?今天给大家分享一个干货编程小技巧, 得此利器,事半功倍,它就是curl。一、curl介绍一般线上系统默认安装curl -Vcurl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.53.1 zlib/1.2.7 libidn/1.28 libssh2/1.8.0Pro
2022-04-22 15:49:49
2776
2
原创 mysql分组排序功能在高低版本的用法
项目场景:在MySQL 8.0.28使用row_number() over(partition by ) 没有问题,但是在线上使用发现问题。问题描述线上MySQL 版本我的SQLselect t.* from (select *, row_number() over (partition by client_name,client_source,salesman order by reg_date desc) rw from ws_develop_clue) twhere t.
2022-04-19 11:06:07
1562
原创 MySql在命令行中格式化查看数据
1.打开命令行/usr/local/mysql-8.0.22/bin/mysql -h localserver -uvalley -p -P 63062.show 数据库名show databases;3.切换数据库名 show 数据表use adx_log_db;show tables;4.使用 \Gshow create table dsp_request_log \Gselect * from dsp_request_log where request_id='test100
2022-04-18 17:40:17
2435
原创 Error parsing HTTP request header...java.lang.IllegalArgumentException: Invalid character found in m
问题描述http请求,偶尔出现该问题。2022-04-09 09:28:36,247 INFO [][scheduling-1] c.w.w.task.ApiRequestTask - refresh ADX config2022-04-09 09:31:14,873 INFO [][http-nio-6310-exec-10] o.a.coyote.http11.Http11Processor - Error parsing HTTP request header Note: further
2022-04-12 15:17:14
2518
原创 几种spootboot配置参数线上修改方法
项目场景:Java程序打包后,需要快速的在线修改应用端口或其他参数,不想重复打包。解决方案:方法一 配置文件准备配置文件 application.properties或者application.ymlapplication.yml示例server: port: 8888修改启动方式java -jar ws-dsp-api-service.jar --spring.config.location=application.yml方法二 java启动命令以应用参数的方式ja
2022-03-31 12:46:56
2466
原创 如何优雅高效的合并HTTP并发请求的结果
文章目录前言一、方案调研选择1.一种是自己造轮子2.一种选择开源框架来解决问题二、业务流程图三、基础代码1.OkHttp客户端配置,主要是配置连接池和Dispatcher。2.异步请求3.实现回调接口4.等待通知机制四、配置优化连接池参数分发器dispatcher参数超时时间参数总结前言最近做到一个项目,涉及到一个应用场景:对外提供一个接口,接口的内部逻辑是要调用多次第三方接口的返回数据进行组装处理,接口的响应时间100ms以内。对于这个问题,会涉及到异步调用请求,处理回调,等待-通知机制等过程。对
2022-03-30 15:15:03
2722
原创 redis基本操作及应用场景
文章目录前言一、jedis使用介绍二、数据类型如何选择1.常用2.其他三、API基本操作常用API其他总结前言redis基本操作讲解,redis命令的封装比较原生的是jedis,所以程序使用它来讲解,后面会讲解不同的客户端操作工具包(Jedis、Lettuce、Redisson)的使用区别和应用场景。一、jedis使用介绍java工程maven配置<dependency> <groupId>redis.clients</groupId>
2022-03-29 19:34:46
953
原创 你好,我的程序之路
文章目录前言一、你来自哪里?来CSDN想收获什么?二、你的昵称/头像有什么特殊意义吗?三、你在技术学习中遇到的最大的问题是什么?怎么解决的?四、你用过哪些开源项目让你忍不住推荐给朋友?五、有什么事情想做很久了?还没去做的原因是什么?六、你和朋友讨论过的哪些有趣的技术问题?七、最近你印象最深刻的技术热点事件是什么?八、如果你可以向CSDN产品/运营提问,你想问什么?九、如果你可以向CSDN的任意一位用户提问,你想问什么?总结前言以前在网易写文章,觉得自己是个文艺青年,后来自己年纪啊大了,网易博客也关了。
2022-03-26 19:58:45
361
原创 RocketMQ单机环境
RocketMQ单机环境安装https://rocketmq.apache.org/dowloading/releases/Binary: rocketmq-all-4.9.1-bin-release.zip启动nameserver# 启动NameServer> nohup sh bin/mqnamesrv &# 查看日志,确认是否成功> tail -f ~/logs/rocketmqlogs/namesrv.log2019-9-27 21:04:10 I
2022-03-21 17:08:04
1920
原创 java垃圾回收文件分析
文章目录前言一、GC常用日志参数配置及分析工具说明二、性能指标1.吞吐量,GC负荷,暂停时间,GC频率,反应速度2.Minor GC和Full GC区别3.Full gc触发条件4.JVM的永久代(方法区)中会发生垃圾回收三、JVM调优方案1.避免用户线程暂停时间STW比较短2.合理设定堆的初始大小和选择合理的垃圾收集器必填参数优化参数总结前言线上系统产生了GC文件,本文主要是思考如何分析这些文件(采用GCViewer分析),优化JVM参数。一、GC常用日志参数配置及分析工具说明日志详细信息-
2022-03-15 17:31:57
737
原创 Jmeter安装部署及压力测试- QPS量化方法
文章目录前言一、Jmeter是什么?二、下载安装1.macbook pro 本地安装1.1采用homebrew安装1.2采用压缩包直接安装2.Linux 线上安装2.1采用压缩包直接安装三、创建测试计划实现并发压力测试1.创建线程组2.创建请求2.1创建请求头2.2创建View Results Tree2.3创建Summary Report2.4创建Aggregate Report2.5创建Graph Results2.6创建Constant Throughput Timer2.7创建JSON Assert
2022-03-15 13:09:03
3091
原创 minio(RELEASE.2021-04) 和s3cmd(2.1.0_2 )部署
文章目录前言一、minio安装1.文件下载2.安装文件3.启动停止服务二、s3cmd安装1.下载安装包2.安装配置3.使用3.1 minio web端3.2s3cmd上传下载文件总结前言分布式文件存储,支持java API,选用minio,当然也可以使用阿里的OSS,azure S3等其他技术;本地文件上传,下载文件可以使用s3cmd,所以本地安装下s3cmd.提示:以下是本篇文章正文内容,下面案例可供参考一、minio安装对于中小型企业,如果不选择存储上云,那么 Minio 是个不错的选
2021-04-21 15:49:30
2025
原创 Jenkins 2.277.1部署
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、Jenkins部署1.1安装jenkins前置条件1.2参照官网部署(https://pkg.jenkins.io/redhat-stable/)1.3rpm安装1.4修改jenkins配置1.4.1修改端口1.4.2修改jdk配置目录1.4.3修改默认登陆密码1.5jenkins服务操作二、使用步骤2.1登录jenkins2.2安装插件总结前言Jenkins用Java语言编写,是一个开源的、提供友好操作界面的持续集成
2021-04-01 11:43:03
666
移动互联网广告标准-API 监测规范-1.6
2022-07-01
saiku源码,Saiku是一个模块化分析套件
2018-08-03
python基础教程第二版中文
2016-10-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人