自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(160)
  • 资源 (6)
  • 收藏
  • 关注

原创 Apache commons (Java常用工具包)

Apache commons (Java常用工具包)

2023-02-24 11:38:28 2217

转载 Hutool-Java工具类库

Hutool-Java工具类库

2023-02-24 11:28:27 203

转载 IDEA (二)安装与配置

下载https://www.jetbrains.com/products.html#lang=javaStep1Step2step3安装双击安装文件选择安装路径选择相关安装配置向导配置第一次进入,是导入配置还是重新配置界面风格组件选择相应组件安装注册(试用三十天)破解...

2020-11-25 08:56:34 229

原创 java并发编程(四)共享模型之无锁

1.问题提出有如下需求,保证account.withdraw取款方法的线程安全public class TestAccount{ public static void main(String[] args) { Account account = new AccountUnsafa(10000); Account.demo(account); Account account2 = new AccountCas(10000); ..

2020-09-27 00:48:11 256

原创 java并发编程之应用

效率案例1 - 多线程提升效率案例2-防止CPU占用100%统筹案例--烧水泡茶阅读华罗庚《统筹方法》,给出烧水泡茶的多线程解决方案。解法1申明:内容来自网络,仅供学习使用https://www.bilibili.com/video/BV1jE411j7uX...

2020-09-24 00:53:32 129

原创 java并发编程之原理

三. volatile原理1.如何保证可见性2.如何保证有序性3.double-checked locking问题以著名的double-checked locking单例模式为例4.double-checked locking解决申明:内容来自网络,仅供学习使用https://www.bilibili.com/video/BV1jE411j7uX...

2020-09-23 23:17:13 165

原创 java并发编程(三)共享模型之内存

1.java内存模型2.可见性2.1 退不出的循环2.2 解决方案volatile(易变关键字)它可以用来修饰成员变量和静态成员变量,它可以避免线程从自己的工作缓存中查找变量的值,必须到主存中获取它的值,线程操作volatile变量都是直接操作主存。2.3 可见性vs原子性2.4 模式之两阶段终止2.5 模式之Balking3.申明:内容来自网络,仅供学习使用https:/...

2020-09-19 01:02:28 199

原创 java并发编程之模式

1.同步模式之保护性暂停2.异步模式之生产者/消费者

2020-09-17 22:18:58 151

原创 java并发编程(二)共享模型之管程

4.共享模型之管程4.1 共享带来的问题@Slf4j(topic = "c.Test17")public class Test17 { static int count = 0; public static void main(String[] args) throws InterruptedException { Thread t1 = new Thread(()->{ for (int i = 0; i < 5

2020-09-07 19:40:03 265

原创 java并发编程(一)基础知识

1.为什么要使用并发编程充分利用多核CPU的计算能力:通过并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升。 方便进行业务拆分,提升系统并发能力和性能:在特殊的业务场景下,先天的就适合于并发编程。现在的系统动不动就要求百万级甚至千万级的并发量,而多线程并发编程正是开发高并发系统的基础,利用好多线程机制可以大大提高系统整体的并发能力以及性能。面对复杂业务模型,并行程序会比串行程序更适应业务需求,而并发编程更能吻合这种业务拆分 。2.进程与线程2.1 进程与线程2.2 并行与

2020-09-06 20:02:27 199

原创 web基础知识回顾(一)

一.网络的历史1.网络网络:就是把各种终端连在一起,就成了网络。PC,手机,IP电视,,电话 ??2. 网络分类3. 主要功能二. 网络协议1. 网络分层2.1网络层--IP协议IP(网络之间互连的协议)如何获取ip静态ip 动态ip -- DHCP2.2.传输层--TCP/UDP2.1 TCP(传输控制协议)三次握手:2.2 UDP(用户数据报协议)3. 应用层--DNS,DHCP,FTP,HT...

2020-09-03 23:28:39 194

原创 突击训练第二季--互联网Java进阶面试

一.分布式01、互联网大厂面试要求:技术广度、技术深度、系统设计以及项目经验 02、Java工程师面试突击第一季总结:你离一次成功的面试还差多少? 03、《21天互联网Java进阶面试训练营》的课程说明 04、作业:系统分析一下,自己距离大厂offer差在哪里? 05、感受一下BAT面试官对分布式技术的十几个面试连环炮! 06、你们公司用的Dubbo?那你再额外说说Spring Cloud的核心架构原理? 07、基于Dubbo和Spring Cloud分别搭建一个电商系统来快速体验一下!代.

2020-09-03 13:19:33 1329

原创 突击训练第一季(五)分库分表

1.咱们聊一下你们公司怎么玩分库分表的?(1) 什么要分库分表?(设计高并发系统的时候,数据库层面该如何设计?)2.你们当时是如何把系统不停机迁移到分库分表的?3.如何设计可以动态扩容缩容的分库分表方案?步骤:4.分库分表后,全局id咋生成?5.说说mysql读写分离的原理?主从同步延时怎么解决?申明:内容来自网络,仅供学习使用参考:https://apppukyptrl1086.pc.xiaoe-tech.com/.

2020-08-31 22:43:23 132

原创 突击训练第一季(四)分布式

1.体验下分布式单机分布式申明:内容来自网络,仅供学习使用参考:https://www.bilibili.com/video/BV1FE411y79Y

2020-08-29 01:13:56 158

原创 dubbo(一)基础知识

1、分布式基础理论1.1)、什么是分布式系统?《分布式系统原理与范型》定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”分布式系统(distributed system)是建立在网络之上的软件系统。随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。1.2)、发展演变单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起..

2020-08-28 22:14:13 129

原创 redis 高阶(九)企业级解决方案

缓存预热缓存预热就是系统上线后,将相关的缓存数据直接加载到缓存系统。这样就可以避免在用户请求的时候,先查询数据库,然后再将数据缓存的问题!用户直接查询事先被预热的缓存数据!缓存雪崩缓存雪崩是指缓存同一时间大面积的失效,所以,后面的请求都会落到数据库上,造成数据库短时间内承受大量请求而崩掉。缓存数据的过期时间设置随机,防止同一时间大量数据过期现象发生。 一般并发量不是特别多的时候,使用最多的解决方案是加锁排队。 给每一个缓存数据增加相应的缓存标记,记录缓存的是否失效,如果缓

2020-08-28 02:34:15 152

原创 redis 高阶(八)集群

一.集群简介1.现状问题2.集群架构集群就是使用网络将若干台计算机联通起来,并提供统一的管理方式,使其对外呈现单机的服务效果3.集群作用分散单台服务器的访问压力,实现负载均衡 分散单台服务器的存储压力,实现可扩展性 降低单台服务器宕机带来的业务灾难二.redis集群结构设计1.数据存储设计 通过算法设计,计算出key应该保存的位置  将所有的存储空间计划切割成16384份,每台主机保存一部分每份代表的是一个存储空间,不是一个key的保存空间  将ke.

2020-08-25 00:35:44 144

原创 redis 高阶(七)哨兵模式

一.哨兵简介1. 哨兵概念哨兵(sentinel) 是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现故障时通过投票机制选择新的master并将所有slave连接到新的master。2.哨兵的作用监控不断的检查master和slave是否正常运行。 master存活检测、master与slave运行情况检测通知(提醒)当被监控的服务器出现问题时,向其他(哨兵间,客户端)发送通知。自动故障转移断开master与slave连接,选取一个slave作为m

2020-08-24 01:02:58 318

原创 redis 高阶(六)主从复制

一.主从复制简介1.你的“Redis”是否高可用1.1 单机redis的风险与问题问题1.机器故障现象:硬盘故障、系统崩溃 本质:数据丢失,很可能对业务造成灾难性打击 结论:基本上会放弃使用redis.问题2.容量瓶颈现象:内存不足,从16G升级到64G,从64G升级到128G,无限升级内存 本质:穷,硬件条件跟不上 结论:放弃使用redis结论:为了避免单点Redis服务器故障,准备多台服务器,互相连通。将数据复制多个副本保存在不同的服务器上,连接在一起,并保证

2020-08-24 00:44:21 137

原创 redis 高阶(五)高级数据类型

一.Bitmaps1.Bitmaps类型的基础操作获取指定key对应偏移量上的bit值getbit key offset设置指定key对应偏移量上的bit值,value只能是1或0setbit key offset value2.Bitmaps类型的扩展操作2.1 业务场景电影网站统计每天某一部电影是否被点播 统计每天有多少部电影被点播 统计每周/月/年有多少部电影被点播 统计年度哪部电影没有被点播2.2 业务分析2.3 操作指令对指定

2020-08-23 18:27:42 203

原创 redis 高阶(四)删除策略

一.redis中的数据特征Redis是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令获取其状态 XX :具有时效性的数据  -1 :永久有效的数据  -2 :已经过期的数据 或 被删除的数据 或 未定义的数据过期的数据真的删除了吗?倒垃圾cpu执行指令二.数据删除策略定时删除 惰性删除 定期删除时效性数据的存储结构数据删除策略的目标在内存占用与CPU占用之间寻找一种平衡,顾此失彼都会造成整体redis性能的下降,甚至引.

2020-08-23 16:55:27 267

原创 redis 高阶(三)事务

一. 事务简介1.什么是事务redis事务就是一个命令执行的队列,将一系列预定义命令包装成一个整体(一个队列)。当执行时,一次性按照添加顺序依次执行,中间不会被打断或者干扰。二.事务的基本操作1.事务的边界2.开启事务multi作用:设定事务的开启位置,此指令执行后,后续的所有指令均加入到事务中3.执行事务exec作用:设定事务的结束位置,同时执行事务。与multi成对出现,成对使用注意:加入事务的命令暂时进入到任务队列中,并没有立即执行,.

2020-08-16 18:22:05 143

原创 redis 高阶(二)redis持久化(RDB与AOF)

目录一. 持久化简介1.什么是持久化2.为什么要进行持久化3.持久化过程保存什么二. RDB1. RDB启动方式1.1 save指令1.2bgsave指令1.3 save配置2. RDB三种启动方式对比3. rdb特殊启动形式4.RDB优缺点一. 持久化简介意外的断电“自动备份”1.什么是持久化利用永久性存储介质将数据进行保存,在特定的时间将保存的数据进行恢复的工作机制称为持久化。2.为什么要进行持久化防止数据的意外丢失,.

2020-08-15 01:13:45 88

原创 redis 高阶(一)linux环境安装redis

https://www.bilibili.com/video/BV1XV411o7xP1.linux环境下载安装http://www.redis.cn/download.html1.1 下载安装包wget http://download.redis.io/releases/redis-?.?.?.tar.gz1.2 解压tar –xvf 文件名.tar.gz1.3 编译make1.4 安装make install [destdir=/目录]2.安装中常碰

2020-08-04 00:24:46 307

原创 突击训练第一季(三)缓存redis

1.在项目中缓存是如何使用的?缓存如果使用不当会造成什么后果?1.1 项目中缓存是如何使用的?项目场景:1.2为啥在项目里要用缓存呢?用缓存,主要两个用途,高性能和高并发(1)高性能(2)高并发1.3 用了缓存之后会有什么不良后果?2.redis和memcached有什么区别?redis的线程模型是什么?为什么单线程的redis比多线程的memcached效率要高得多(为什么redis是单线程得但是还可以支撑高并发)?2.1.red..

2020-08-02 22:58:04 161

原创 突击训练第一季(二)全文检索之ES

1.es的分布式架构原理能说明一下么(es是如何实现分布式的)?es设计的理念就是分布式搜索引擎,底层其实还是基于lucene的。其核心思想就是在多台机器上启动多个es进程实例,组成一个es集群。接着你搞一个索引,这个索引可以拆分成多个shard,每个shard存储部分数据。2.es写入数据的工作原理是什么啊?es查询数据的工作原理是什么啊?3.es在数据量很大的情况下(数十亿级别)如何提高查询性能啊?4.es生产集群的部署架构是什么?每个索引的数据量大概有多少?每个索引大概

2020-07-21 00:45:43 175

原创 Elasticsearch(三) Java API操作

Java API操作 Elasticsearch的Java客户端非常强大;它可以建立一个嵌入式实例并在必要时运行管理任务。 运行一个Java应用程序和Elasticsearch时,有两种操作模式可供使用。该应用程序可在Elasticsearch集群中扮演更加主动或更加被动的角色。在更加主动的情况下(称为Node Client),应用程序实例将从集群接收请求,确定哪个节点应处理该请求,就像正常节点所做的一样。(应用程序甚至可以托管索引和处理请求。)另一种模式称为Transport Cli...

2020-07-21 00:20:17 334

原创 Elasticsearch(二)安装

快速入门2.1 安装包下载1)Elasticsearch官网: https://www.elastic.co/products/elasticsearch2.2 安装Elasticsearch(单节点Linux环境)2.2.1 在/usr/local下创建目录es上传下载包elasticsearch-7.8.0-linux-x86_64.tar.gz,解压2.2.2 进入elasticsearch-7.8.0目录创建data和logs文件夹2.2.3 ..

2020-07-21 00:14:23 228

转载 Elasticsearch(一)概述

1.1 什么是搜索?百度:我们比如说想找寻任何的信息的时候,就会上百度去搜索一下,比如说找一部自己喜欢的电影,或者说找一本喜欢的书,或者找一条感兴趣的新闻(提到搜索的第一印象)。百度 != 搜索1)互联网的搜索:电商网站,招聘网站,新闻网站,各种app2)IT系统的搜索:OA软件,办公自动化软件,会议管理,日程管理,项目管理。搜索,就是在任何场景下,找寻你想要的信息,这个时候,会输入一段你要搜索的关键字,然后就期望找到这个关键字相关的有些信息1.2 如果用数据库做搜索会怎么样?用

2020-07-07 00:22:23 218

原创 Solr(六)javaAPI之solrj--查询

1. 全查询 @Test public void queryAll() throws Exception { HttpSolrClient httpSolrClient = HttpSolrClientUtils.getHttpSolrClient(); String keywords="*:*"; //创建一个查询条件对象 SolrQuery solrQuery=new SolrQuery(keywords);

2020-06-01 12:19:19 900

原创 Solr(五)javaAPI之solrj

目录1. 准备工作1.1 solrj依赖1.2 工具类2. 添加数据3. 删除数据4.添加自定义字段,并添加数据5.使用注解的方式添加1. 准备工作1.1 solrj依赖<dependencies> <!--solr的javaAPI依赖--> <dependency> <groupId>org.apache.solr</groupId> ..

2020-05-30 01:12:53 304

原创 Solr(四)中文分词及IK库的使用

目录1. 概述1.1 分词:1.2 配置目的1.3 分词器的选择2. 分词器的配置2.1 下载2.2修改managed-sahma2.3 把IK的配置入到solr2.4 重启solr分析2.5存在问题3.中文分词如何使用到属性上3.1 添加一个属性3.2 添加数据3.3 查看分词3.4 查询测试4. 自定义分词1. 概述1.1 分词:指将一个中文词语拆成若干个词,提供搜索引擎进行查找,比如说:北京大学 是一个词那么进行拆分可以...

2020-05-29 21:52:27 1043

原创 Solr(三)控制台

目录1.Solr控制台说明-主面板1.1 Dashboard(仪表盘)1.2 Logging(日志)1.3 Core Admin (core管理)1.4 Java Properties​1.5 Thread Dump2.core操作说明2.1 Overview2.2 Analysis(分析器)2.3 Schema 【/usr/local/solr-7.7.3/server/solr/db2-core/conf】2.3.1 添加一个field2.3.2添加一个.

2020-05-26 23:36:03 761

原创 Solr(二)索引库

目录1. 名词解释1.1 索引库1.2 索引分词1.3 搜索分词1.4 文档1.5 字段1.6 和Mysql的数据库做对比2.配置文件说明2.1 Solr Home2.2Solr 配置文件3. Solr索引库创建3.1 索引库概述3.2 使用solr管理页面创建3.2.1 打开solr的管理页面3.2.2 点击add Core3.2.3 添加异常处理3.3 使用命令创建3.3.1 进入solr的bin目录3.3.2 执行创...

2020-05-21 19:46:08 612

原创 Solr(一)概述与安装

目录1.概述1.1 定义1.2 特点1.3 工作方式1.4 SolrCloud与Solr,lucene关系1.4.1 solr与luence的关系1.4.2 Solr与SolrCloud2. Solr安装2.1 安装前说明2.2 下载2.3 启动solr2.3.1 进入solr目录,目录分析2.3.2 进入bin目录,目录分析2.3.3 启动2.4 测试验证2.5 安装可能存在的问题2.5.1 无法启动2.5.2 启动成功之后无法.

2020-05-17 19:03:40 206

转载 IDEA (一)介绍

IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著...

2020-05-16 01:05:32 950

原创 Lucene(九)拓展2-倒排索引

1. 倒排索引算法1.1 什么是倒排索引?见其名知其意,有倒排索引,对应肯定,有正向索引。正向索引(forward index),反向索引(inverted index)更熟悉的名字是倒排索引。在搜索引擎中每个文件都对应一个文件ID,文件内容被表示为一系列关键词的集合(实际上在搜索引擎索引库中,关键词也已经转换为关键词ID)。例如“文档1”经过分词,提取了20个关键词,每个关键词都会记录它在文档中的出现次数和出现位置。正向索引的结构如下: “文档1”的ID >...

2020-05-16 01:00:37 368

转载 Lucene(八)拓展1-结巴分词(java版) jieba-analysis

GitHub地址:https://github.com/huaban/jieba-analysis结巴分词(java版) jieba-analysis首先感谢jieba分词原作者fxsjy,没有他的无私贡献,我们也不会结识到结巴 分词. 同时也感谢jieba分词java版本的实现团队huaban,他们的努力使得Java也能直接做出效果很棒的分词。不过由于huaban已经没有再对java版进行维护,所以我自己对项目进行了开发。除了结巴分词(java版)所保留的原项目针对搜索引擎分词的功能(cutf

2020-05-15 23:04:06 1011

原创 Lucene(七)总结

1.什么是全文检索 2.全文检索的应用场景 3.什么是lucene 4.lucene实现全文检索的流程 5.入门程序 6.分析器 7.索引库维护 8.索引库查询五.入门程序

2020-05-14 00:56:38 127

原创 Lucene(六)索引库的维护

1. 索引库的添加1.1 Field域的属性是否分析:是否对域的内容进行分词处理。前提是我们要对域的内容进行查询。 是否索引:将Field分析后的词或整个Field值进行索引,只有索引方可搜索到。比如:商品名称、商品简介分析后进行索引,订单号、身份证号不用分析但也要索引,这些将来都要作为查询条件。 是否存储:将Field值存储在文档中,存储在文档中的Field才可以从Document中获取比如:商品名称、订单号,凡是将来要从Document中获取的Field都要存储。是否存储的标准:是否要将内

2020-05-14 00:47:04 262

技术面试题整理.zip

常见技术面试题整理(java,spring全家桶,redis,消息中间件MQ与RabbitMQ,架构设计&分布式&数据结构与算法等)

2020-08-22

redis面试相关问题整理(含答案)

redis面试相关问题整理(含答案) 一.概述 二.持久化 三.过期键的删除策略 四.内存相关 五.事务 六.集群方案 七.分区 八.分布式问题 九.缓存异常 十.其他问题

2020-08-07

Spring.doc

网上跟spring相关常见面试题整理(含答案) Spring概述(10) Spring控制反转(IOC)(13) Spring Beans(19) Spring注解(8) Spring数据访问(15) Spring面向切面编程(AOP)(13)

2020-08-07

文件比较工具

一款文件对比工具,开发工作中,有时候需要对比两个文件的差异,或者两个项目文件的差异,用起来比较方便

2018-09-06

java任务调度工具

java项目中需要自行编辑写入的定时任务太多时,不要管理,这是一个任务调度项目(包含源码),可视化页面操作。

2018-09-06

mybatis代码生成工具

1.代码生成工具列表 1) api 生成接口API文档工具. 2) db2html 生成数据库清单文档工具. 3) jpa 生成jpa代码工具. 4) mybatis 生成mybatis代码工具. 5) maven 生成maven工程代码工具. 6) pom 生成pom文件工具. 7) menu 生成menu工程代码工具. 8) menusql 生成jpa代码工具. 内部附加有使用文档,操作简单,模板可以自行修改配置

2018-09-06

空空如也

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

TA关注的人

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