自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 收藏
  • 关注

原创 Java正则表达式matcher.group()用法

总结:其实group(),start(),end()所带的参数i就是正则表达式中的子表达式索引(第几个子表达式),由于刚开始对Java正则表达式中的组的概念不清晰,导致理解困难。当将“组”的概念与“子表达式”对应起来之后,理解matcher的group,start,end就完全没有障碍了。java中正则匹配 group是针对()来说的,因为你匹配到的结果是一组,group(0)就是指的整个串,group(1) 指的是第一个括号里的东西,group(2)指的第二个括号里的东西。

2022-12-08 17:29:29 4705 1

原创 Java的List集合根据实体类的属性去重数据

Java List集合根据实体类的属性去重数据。

2022-12-08 17:11:42 1564

原创 TortoiseGit安装和配置详细说明

TortoiseGit 是免费开源的。TortoiseGit 支持你执行常规任务,例如 commit、显示日志、区分两个版本、创建分支和标签、创建补丁等。

2022-12-02 20:44:51 2949

原创 Java异步注解@Async详解

再查看一下initializeExecutor抽象方法的具体实现类,其中有一个就是ThreadPoolTaskExecutor类,查看它的initializeExecutor方法,使用的就是ThreadPoolExecutor。在需要异步执行的方法上加入@Async注解,并指定使用的线程池,当然可以不指定,直接写@Async。的名称,也就是不自定义线程池,@Async是有默认线程池的,使用的是Spring默认的线程池SimpleAsyncTaskExecutor。配置文件中的线程池核心线程数为何配置为。

2022-11-10 16:47:26 19072

原创 互联网从业人员周报述职面试必备词汇,史上最全分类集合,技术产品运营通吃~

车联网、物联网、智能联网、泛联网、万物联网、云计算、公有云、私有云、混合云、金融云、资管云、云游戏、全云化、中台、业务中台、技术中台、组织中台、数据中台、战略中台、基础设施即服务、平台即服务、软件即服务、新零售、智能货柜、智能营销、智能家居、智能客服、智能投顾、智能工业、智能法院、智慧物流、智慧农业、智慧园区、智慧城市、人工智能、区块链、数字货币、套现、庞氏骗局。注:本词典体量较大,请根据自己的掌握情况,循序渐进,深度学习,切忌囫囵吞枣,邯郸学步。

2022-11-09 16:23:18 2486

原创 java8中LambdaQueryWrapper的使用

上面这段代码的意思就是,首先新建一个LambdaQueryWrapper对象,类型为PbListBlack对象,也就是你需要查询的实体数据,这两句的意思是PbListBlack对象对应的数据库表中的OPTYPE,BLTYPE字段值要为1。

2022-11-04 15:23:36 2423

原创 Linux常用命令大全(史上最全!)

find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents 从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录。mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd 创建一个目录的iso镜像文件。

2022-11-04 14:42:24 639

原创 Intellij IDEA快捷键大全汇总(二)

1.Ctrl+E,可以显示最近编辑的文件列表2.Shift+Click可以关闭文件3.Ctrl+[或]可以跳到大括号的开头结尾4.Ctrl+Shift+Backspace可以跳转到上次编辑的地方5.Ctrl+F12,可以显示当前文件的结构6.Ctrl+F7可以查询当前元素在当前文件中的引用,然后按F3可以选择7.Ctrl+N,可以快速打开类8.Ctrl+Shift+N,可以快速打开文件9.Alt+Q可以看到当前方法的声明10.Ctrl+W可以选择单词继而语句继而行继而函数。

2022-11-03 14:25:12 2557

原创 Java爬虫详解

我们需要提取图中圈出来的内容及其对应的链接,在提取的过程中,我们会使用两种方式来提取,一种是 Jsoup 的方式,另一种是 httpclient + 正则表达式的方式,这也是 Java 网络爬虫常用的两种方式,你不了解这两种方式没关系,后面会有相应的使用手册。在正式编写提取程序之前,我先交代一下 Java 爬虫系列博文的环境,该系列博文所有的 demo 都是使用 SpringBoot 搭建的,不管你使用哪种环境,只需要正确的导入相应的包即可。

2022-11-03 10:56:49 5127 1

原创 JAVA8 新特性 stream接口 distinct,sorted,peek,limit, skip

jdk8新特性

2022-08-04 16:06:49 368

原创 @scheduled注解作用

用来开启定时任务fixedRate 任务两次执行时间间隔是任务的开始点,而 fixedDelay 的间隔是前次任务的结束与下次任务的开始。@Scheduled(fixedRate = 5000) 5秒执行一次cron表达式详解一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。按顺序依次为:秒(0~59)分钟(0~59)3 小时(0~23)4 天(0~31)5 月(0~11)6 星期(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)年份(1970-20

2022-08-04 15:32:34 245

原创 SpringBoot 中到底如何解决跨域问题?

同源策略是浏览器的一个重要的安全策略,它用于限制一个源的文档或其加载的脚本如何与另外一个源进行交互,它能够隔绝恶意文档,减少被攻击的媒介。如果两个URL的协议、主机名和端口号都是相同的,那么这两个URL就是同源的,否则不同源,不同源的访问就会出现跨域问题,就会出现上面的错误。下表给出了与 URLURL结果原因同源只有路径不同非同源协议不同非同源端口号不同非同源主机名不同也就是说当在这个网站中向、和三个地址发起AXJX请求都会失败并且会报跨域的错误。...

2022-08-04 15:27:00 738

原创 解决Springboot文件上传报错,java.io.FileNotFoundException: E:\System\Temp\tomcat.819...00.tmp (系统找不到指定的文件。)

但是仍然报错,此刻我单独使用语句方法getInputStream( )上传txt,依然是这个错,指向了Temp临时文件夹里,百思不得其解,最终发现了是没有开启Springboot配置。使用getInputStream( )读取txt文件已经成功了,但当我上传图片时依然报错,此时需要增加上面的文件写入磁盘的阈值。在application.properties配置文件中,开启文件上传选项。然后 方法一和方法二都不会报错了。...

2022-08-04 14:58:44 1262 1

原创 2023保密教育线上培训考试参考答案 05

2023年度保密教育线上培训考试

2022-06-15 17:16:02 23949

原创 2023保密教育线上培训考试参考答案 04

2023年度保密教育线上培训考试

2022-06-15 17:11:31 9775

原创 2023保密教育线上培训考试参考答案 03

1.关于涉外活动保密管理要求,下列说法错误的是()。正确答案:D. 在紧急情况下,利用国(境)外通信设施进行涉密通信联络2.参加涉外活动一般不得携带涉密载体,确需携带机密级、秘密级涉密载体的,要经()批准。正确答案:C. 机关、单位主管领导3.涉密人员离开原涉密单位,调入其他国家机关和涉密单位的,脱密期管理由()负责。正确答案:D. 调入机关、单位4.国家秘密确定的基本程序为:在国家秘密产生的同时,由()对照保密事项范围提出定密的具体意见,再由定密责任人审核批准。正确答案:C. 承办人5.国

2022-06-15 17:08:49 46337

原创 2023保密教育线上培训考试参考答案 02

1.下列关于涉密计算机使用的说法正确的是()。正确答案:D. 涉密计算机及时安装和升级专业“木马”查杀工具2.涉密打印机与涉密计算机之间()。正确答案:D. 不能采用无线连接方式3.下列说法正确的是()。正确答案:D. 淘汰、报废涉密计算机时应将涉密计算机经过专业消磁处理4.定密责任人在职责范围内承担有关国家秘密()工作。正确答案:D. 以上都正确5.涉密人员是指在( )、涉及国家秘密的单位涉密岗位工作的人员。正确答案:D. 以上都正确6.下列关于预防和查杀“木马”间谍程序的措施,表述错

2022-06-15 16:56:49 35913

原创 2023保密教育线上培训考试参考答案 01

1.机关、单位应当严格按照经过批准的范围对外提供涉密资料,并与外方签订(),限定涉密资料的使用和知悉范围。正确答案:B. 保密协议2.按照公职人员政务处分法有关规定,有()行为造成不良后果或者影响的,予以警告、记过或者记大过;情节较重的,予以降级或者撤职;情节严重的,予以开除。正确答案:D. 以上都正确3.下列关于涉密载体销毁的说法错误的是()。正确答案:B. 涉密载体销毁的登记、审批记录无须保存4.保密期限是对国家秘密采取保密措施的时间要求。保密期限包括的形式有()。正确答案:D. 以上都正

2022-06-15 16:49:52 67615 2

原创 协程、同步与异步在java中的实现

前言 最近在学习协程,打算输出几篇文章来介绍一下协程。而协程与异步有很大的关联,所以想先介绍一下异步。异步是一种程序的运行方式,各种编程语言语言或多或少都对它有所支持。异步对于Java后端程序员来说并不是一种特别熟悉的概念,而安卓或者前端的同学可能会对异步这个概念会更熟悉一些。程序同步和异步同步是最简单也是最符合我们人类思维方式的编程方式,所谓同步,就是程序会按照代码一行行执行,执行完一句再执行下一句。同步代码看起来是这样:stepA();stepB();stepC(....

2022-04-13 17:43:44 1255 2

原创 时序数据库详解和使用

时序数据往往是由百万级甚至千万级终端设备产生的,写入并发量比较高,属于海量数据场景。

2022-03-24 15:51:45 4219

原创 [Git]pull遇到错误:error: Your local changes to the following files would be overwritten by merge,解决办法

这种情况下,如何保留本地的修改同时又把远程的合并过来呢?首先取决于你是否想要保存本地修改。(是/否)是我们有如下三个步骤: git stash git pull origin master git stash pop git stash的时候会把你本地快照暂存,然后你可以用代码编辑器重新读取项目文件, 这时执行git pull操作就不会报错了,pull完之后这时你的代码并没有保留你的修改。这时候执行git stash pop,你...

2022-02-23 17:08:11 1575

原创 云安全技术有什么特点?云安全包含哪些方面?

1. 概述 随着云计算逐渐成为主流,云安全也获得了越来越多的关注,传统和新兴的云计算厂商以及安全厂商均推出了大量云安全产品。但是,与有清晰定义的“云计算”(NIST SP 800-145和ISO/IEC 17788)不同,业界对“云安全”从概念、技术到产品都还没有形成明确的共识。从发展的脉络分析,“云安全”相关的技术可以分两类:一类为使用云计算服务提供防护,即使用云服务时的安全(security for using the cloud),也称云计算安全(Cloud Computin...

2022-02-22 10:53:01 13962

原创 高并发之API接口限流

在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流缓存缓存的目的是提升系统访问速度和增大系统处理容量 降级降级是当服务出现问题或者影响到核心流程时,需要暂时屏蔽掉,待高峰或者问题解决后再打开 限流限流的目的是通过对并发访问/请求进行限速,或者对一个时间窗口内的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务、排队或等待、降级等处理问题描述   某天A君突然发现自己的接口请求量突然涨到之前的10倍,没多久该接口几乎不可使用,并引发连锁反应导致整个系统崩溃。如何应对这种情...

2021-12-23 10:57:05 1087

原创 Intellij IDEA快捷键大全汇总(一)

Ctrl快捷键相关快捷键 介绍 Ctrl + F 在当前文件进行文本查找(必备) Ctrl + R 在当前文件进行文本替换(必备) Ctrl + Z 撤销(必备) Ctrl + Y 删除光标所在行 或 删除选中的行(必备) Ctrl + X 剪切光标所在行 或 剪切选择内容 Ctrl + C 复制光标所在行 或 复制选择内容 Ctrl + D 复制光标所在行 或 复制选择内容,并把复制...

2021-12-13 14:35:10 188

原创 推荐算法大致分类

在推荐系统简介中,我们给出了推荐系统的一般框架。很明显,推荐方法是整个推荐系统中最核心、最关键的部分,很大程度上决定了推荐系统性能的优劣。目前,主要的推荐方法包括:基于内容推荐、协同过滤推荐、基于关联规则推荐、基于效用推荐、基于知识推荐和组合推荐。一、基于内容推荐基 于内容的推荐(Content-based Recommendation)是信息过滤技术的延续与发展,它是建立在项目的内容信息上作出推荐的,而不需要依据用户对项目的评价意见,更多地需要用机 器学习的方法从关于内容的特征描述的事例...

2021-12-09 18:13:37 2824

原创 JDK1.8下载、安装和环境配置教程

一、下载安装包 1.如果大家想下载别的版本,可以去官网:www.oracle.com下载,进入官网页面,然后点击Downloads。2.下拉页面,找到下载区域,点击Java。3.点击Java(JDK) for Developers。 4.这时进入了JDK的下载页面,不过这里显示的是JDK的最新版本(目前更新到JDK12),但一般情况下开发人员会选择之前的版本,更稳定。可以根据个人需要进行选择,如果想要下载其他版本的JDK,将页面下拉到底部。...

2021-12-07 16:05:53 919

原创 PB级分析型数据库ClickHouse的应用场景和特性

在百花齐放的交互式分析领域,ClickHouse 绝对是后起之秀,它虽然年轻,却有非常大的发展空间。本文将分享 PB 级分析型数据库ClickHouse 的应用场景、整体架构、众多核心特性等,帮助理解 ClickHouse 如何实现极致性能的存储引擎,希望与大家一起交流。...

2021-11-25 17:54:01 1882

原创 Git分支策略和Git操作规范

一、Git分支策略1. Git分支管理策略Git分支策略主要有三种 1. Git Flow 2. GitHub Flow 3. GitLab Flow 项目使用保守的Git Flow,在此基础上会做一些微调。 Git FLow 1. Git Flow主要有2类分支:常驻分支和临时分支 2.常驻分支:master分支和develop分支 3.临时分支:feature分支、release分支、fixbug分支 一般的Git Flow分支结构如下图: 2. 常驻分支mas..

2021-10-20 11:25:42 594

原创 用redis做游戏内的各种排行榜功能

一、前言年前公司有很多活动要进行定制开发,活动中有游戏可以玩,最后对每个人的游戏分数进行排行展示,最终根据排名发放奖品。乍一看需求确实很简单,直接order by score一下不就完事了?需求确实简单,但是有不少小坑,故在此记录一下。二、需求排行榜展示前100名最佳分数排行榜 如果当前登录人在100名之后,则展示内容有两项 前100名最佳分数排行榜 当前登录人排名以及前后两个用户的排名 数据库表设计user_id:用户ID user_nickname:用户昵称..

2021-08-13 16:43:23 1219

原创 游戏服务器架构设计的一些整理

一、前言没有最好的架构,只有最适合自身业务的架构。首先我们应该确定的是大的架构方向:分布式 / 单应用+负载均衡,这两种架构设计直接影响后续的网络层、缓存层、数据层、业务层的设计。笔者这两种架构的应用都接触过,两种架构各有优劣:分布式架构在业务层设计上更轻巧,更容易迭代,并且将各个业务模块独立开来可以大量减少锁竞争、线程阻塞的情况,可以做到无状态数据通信,天然支持跨服业务,且耦合性低内聚性高……缺点是分布式架构会有进程间调用上的性能损失(但是在现在硬件条件下损失微乎其微),且相对于单应用架构技术

2021-08-05 19:17:00 1245

原创 java.nio.ByteBuffer常用方法详解

一、前言在Java nio中,主要有三大组件:Buffer,Channel和Selector。这三者之间的关系可以按照如下方式进行理解:Buffer提供了一个字节缓冲区,其可以不断的从Channel中读取接收到的数据。Buffer的优点主要在于其提供了一系列的Api,能够让用户更方便的对数据进行读取和写入; Channel简单来说就是一个信道,也就是客户端与服务器的一个连接,而且每个客户端都会对应一个Channel对象; Selector是Java nio能够支持高并发数据处理一个关键,其核心理

2021-08-04 18:17:42 5136

原创 kafka的消息丢失和重复消费解决办法

1、消息发送 Kafka消息发送有两种方式:同步(sync)和异步(async),默认是同步方式,可通过producer.type属性进行配置。Kafka通过配置request.required.acks属性来确认消息的生产:0---表示不进行消息接收是否成功的确认;1---表示当Leader接收成功时确认;-1---表示Leader和Follower都接收成功时确认;综上所述,有几种消息生产的情况,下面分情况来分析消息丢失的场景:(1)acks=0,不和Ka...

2021-05-25 22:45:43 2023

原创 MySql索引为什么使用B+树

前言面试中我们经常碰到面试官问到数据库索引,问到索引就会问你索引的数据结构。类似这种数据结构对于普通程序员来说记住概念几天就忘了,而且概念不是每个人都能很好都理解,所以针对这一原因,我简单通俗都像大家讲解为什么mysql使用都是B+树,而不用其他的树形结构。正文Q1:B+树的查询时间大概多少?A:跟树的高度有关,是O(log n)。Q2:hash查找时间大概多少?A:o(1)。Q3:hash比B+查找时间更短,为什么索引不用hash?A:这和业务场景有关,如果只查找一个值

2021-05-25 13:15:06 190

原创 Java的 BIO,NIO,AIO 总结

熟练掌握 BIO,NIO,AIO 的基本概念以及一些常见问题是你准备面试的过程中不可或缺的一部分,另外这些知识点也是你学习 Netty 的基础。一、同步异步与阻塞非阻塞Java 中的 BIO、NIO和 AIO 理解为是 Java 语言对操作系统的各种 IO 模型的封装。程序员在使用这些 API 的时候,不需要关心操作系统层面的知识,也不需要根据不同操作系统编写不同的代码。只需要使用Java的API就可以了。 在讲 BIO,NIO,AIO 之前先来回顾一下这样几个概念:同步与异步,阻塞与非阻塞。.

2021-05-24 19:35:28 371

原创 Java面试题大全 (下) --2021版

前言: 接着上篇博客《Java面试题大全 (上) --2021版》写,三、Java异常面试题1. Error 和 Exception 区别是什么?Error 类型的错误通常为虚拟机相关错误,如系统崩溃,内存不足,堆栈溢出等,编译器不会对这类错误进行检测,JAVA 应用程序也不应对这类错误进行捕获,一旦这类错误发生,通常应用程序会被终止,仅靠应用程序本身无法恢复;Exception 类的错误是可以在应用程序中进行捕获并处理的,通常遇到这种错误,应对其进行处理,使应用程序可以继续正常运行..

2021-05-16 16:05:42 154

原创 Java面试题大全 (上) --2021版

结合网上的资料以及自身面试经历,花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~一、Java基础知识面试题1、Java概述①. 何为编程编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编程。②. 什么是Java

2021-05-16 15:53:16 250

原创 mysql联合索引的最左前缀匹配原则

目录什么是最左匹配原则?最左匹配原则的原理总结为什么要使用联合索引?使用索引优化查询问题:什么是最左匹配原则?最左匹配原则就是指在联合索引中,如果你的 SQL 语句中用到了联合索引中的最左边的索引,那么这条 SQL 语句就可以利用这个联合索引去进行匹配。例如某表现有索引(a,b,c),现在你有如下语句:select * from t where a=1 and b=1 and c =1; #这样可以利用到定义的索引(a,b,c),用上a,b,cselect.

2021-05-14 20:21:52 597

原创 spring的IOC控制反转和DI依赖注入

目录一、 简单说明二、详细说明1.1、IoC是什么1.2、IoC能做什么1.3、IoC和DI一、 简单说明IOC是一种叫做“控制反转”的设计思想。1、较浅的层次——从名字上解析“控制”就是指对 对象的创建、维护、销毁等生命周期的控制,这个过程一般是由我们的程序去主动控制的,如使用new关键字去创建一个对象(创建),在使用过程中保持引用(维护),在失去全部引用后由GC去回收对象(销毁)。“反转”就是指对 对象的创建、维护、销毁等生命周期的控制由程序控制改为由IOC容器控制,

2021-05-12 21:11:38 135

原创 Redis 缓存穿透 、 缓存雪崩 、 缓存击穿的原因和解决方案

目录一、缓存穿透解决方案:1. 缓存空对象2.布隆过滤器拦截二、缓存雪崩解决方案:三、缓存击穿解决方案:1. 分布式互斥锁2.永不过期在生产环境中,会因为很多的原因造成访问请求绕过了缓存,都需要访问数据库持久层,虽然对Redsi缓存服务器不会造成影响,但是数据库的负载就会增大,使缓存的作用降低一、缓存穿透缓存穿透是指查询一个根本不存在的数据,缓存层和持久层都不会命中。在日常工作中出于容错的考虑,如果从持久层查不到数据则不写入缓存层,缓存...

2021-04-24 18:22:27 149

原创 架构师成长之路之数据库选型指南

目录一、前言二、选型维度三、相关资料:一、前言架构师在工作中经常会遇到数据库存储选型的问题,而市面上数据库产品众多,往往会无从下手,甚至有时候从业务开发到上线运维过程中会多次更换底层数据库,给整个研发中心带来不必要的额外工作。结合业务场景做数据库存储选型的时候,可以综合以下几个维度去考虑:二、选型维度1、业务是否需要保证ACID事务? 事务具有4个特征,分别是原子性、一致性、隔离性和持久性。 YES:主流的关系型数据库:MySQL...

2020-12-29 17:33:03 4649 12

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除