Java
文章平均质量分 66
一个天蝎座的程序猿
明月别枝惊鹊,清风半夜鸣蝉。
展开
-
华为云与阿里云简要区别
阿里云华为云SLB.ELB原创 2022-10-12 16:59:54 · 2325 阅读 · 1 评论 -
MySQL - 性能优化
MySQL - 性能优化原创 2022-07-17 17:41:34 · 170 阅读 · 0 评论 -
restcloud:基于docker部署
restcloud:基于docker部署原创 2022-07-17 17:33:14 · 557 阅读 · 0 评论 -
Java获取登录用户的IP地址
java获取用户ip地址原创 2022-07-01 11:26:28 · 4030 阅读 · 0 评论 -
MQ如何保证消息不丢失。rabbitMq、kafka、RocketMq
MQ如何保证消息不丢失。rabbitMq、kafka、RocketMq原创 2022-05-13 09:47:48 · 3471 阅读 · 0 评论 -
线程池ThreadPoolExecutor以及核心参数
线程池ThreadPoolExecutor以及核心参数原创 2022-05-09 15:24:07 · 1511 阅读 · 0 评论 -
Java IO - 源码: OutputStream
Java IO - 源码: OutputStream原创 2022-05-09 14:53:59 · 112 阅读 · 0 评论 -
java使用socket连接4G DTU设备发短信
java使用socket连接4G DTU设备发短信原创 2022-05-09 14:21:31 · 1882 阅读 · 0 评论 -
mybatis 中 foreach collection的三种用法
mybatis 中 foreach collection的三种用法原创 2022-04-14 14:20:58 · 668 阅读 · 0 评论 -
JAVA使用URLEncoder、URLDecoder编码解码
JAVA使用URLEncoder、URLDecoder编码解码原创 2022-04-07 14:34:08 · 14259 阅读 · 2 评论 -
Collection判重,去重,查重简单用法以及CollectionUtils.isEmpty
Collection判重,去重,查重简单用法以及CollectionUtils.isEmpty原创 2022-04-03 13:50:46 · 3092 阅读 · 0 评论 -
常见sql优化策略
面试官:熟悉SQL优化吗?我只知道20种,其实远不止…在面试的时候,面试官很喜欢这么问:熟悉SQL优化吗?「优化策略」1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 WHERE 及 ORDER BY 涉及的列上建立索引。2、应尽量避免在 WHERE 子句中对字段进行 NULL 值判断,创建表时NULL是默认值,但大多数时候应该使用 NOT NULL,或者使用一个特殊的值,如 0,-1 作为默认值。3、应尽量避免在 WHERE 子句中使用 != 或 <> 操作符。MySQL 只有对原创 2022-04-05 07:00:00 · 303 阅读 · 0 评论 -
网络资源下载工具类:java
网络资源下载工具类:java原创 2022-04-04 09:00:00 · 345 阅读 · 0 评论 -
java:获取用户ip工具类
java:获取用户ip工具类原创 2022-04-03 08:30:00 · 395 阅读 · 0 评论 -
远程调用两个微服务接口进行拼接,以及JsonObject、JsonArray的封装、打印及非空判断
远程调用两个微服务接口进行拼接//远程调用两个微服务接口进行拼接 故障停电和计划停电@Controller@RequestMapping("/index")@ResponseBodypublic class FeignController { String URL_PATH_1 = "http://xxxxxxx:30091/g"; String URL_PATH_2 = "http://xxxxxxx.9:30100/"; @PostMapping原创 2022-04-02 15:04:24 · 382 阅读 · 0 评论 -
解决定时任务无法注入的问题,配置类
解决定时任务无法注入的问题,配置类原创 2022-04-01 17:09:20 · 1017 阅读 · 0 评论 -
java中获取json中的数组转化为List<E>
java中获取json中的数组转化为List<E>原创 2022-04-01 16:48:15 · 2198 阅读 · 1 评论 -
redisTemplate封装以及存取数据
redisTemplate封装以及存取数据原创 2022-04-01 16:37:35 · 2239 阅读 · 0 评论 -
JAVA阈值告警字符串解析
json数据解析,阈值告警原创 2022-04-01 16:27:23 · 1518 阅读 · 0 评论 -
Aliyun-OSS海量存储
OSS原创 2022-03-30 11:30:13 · 1338 阅读 · 1 评论 -
TCP的三次握手与四次挥手
简介TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,在发送数据前,通信双方必须在彼此间建立一条连接。所谓的“连接”,其实是客户端和服务端保存的一份关于对方的信息,如ip地址、端口号等。TCP可以看成是一种字节流,它会处理IP层或以下的层的丢包、重复以及错误问题。在连接的建立过程中,双方需要交换一些连接的参数。这些参数可以放在TCP头部。一个TCP连接由一个4元组构成,分别是两个IP地址和两个端口号。一个TCP连接通常分为三个阶段:连接、数据传输、退出(关闭)。通过三次握手建立一个链接,通过四次原创 2022-03-30 10:45:50 · 108 阅读 · 0 评论 -
synchronized原理
synchronized原理原创 2022-03-30 10:13:40 · 105 阅读 · 0 评论 -
with rollup的用法
with rollupMysql中有一个with rollup是用来在分组统计数据的基础上再进行统计汇总,即用来得到group by的汇总信息;表中数据有:没有with rollup的查询没有with rollup的查询 SELECT COALESCE (b.name, '总数') 'name', COUNT(b.name) 'cnt' from device a LEFT JOIN device_type b on a.type_id原创 2022-03-29 17:13:05 · 1338 阅读 · 1 评论 -
MQ 消息队列时如何确保消息不丢失
面试官在面试候选人时,如果发现候选人的简历中写了在项目中使用了MQ 技术(如 Kafka、RabbitMQ、RocketMQ),基本都会抛出一个问题:在使用 MQ 的时候,怎么确保消息 100% 不丢失?这个问题在实际工作中很常见,既能考察候选者对于 MQ 中间件技术的掌握程度,又能很好地区分候选人的能力水平。接下来,我们就从这个问题出发,探讨你应该掌握的基础知识和答题思路,以及延伸的面试考点。案例背景以京东系统为例,用户在购买商品时,通常会选择用京豆抵扣一部分的金额,在这个过程中,交易服务和京原创 2022-03-28 09:49:49 · 2159 阅读 · 6 评论 -
Java8新特性 Stream流常用方法
Java8新特性 Stream流常用方法原创 2022-03-25 17:32:37 · 911 阅读 · 0 评论 -
红黑二叉树原理分析
红黑二叉树原理分析原创 2022-03-25 10:02:30 · 1094 阅读 · 1 评论 -
为何高并发系统中都要使用消息队列?
为何高并发系统中都要使用消息队列?原创 2022-03-24 10:15:00 · 2349 阅读 · 0 评论 -
JAVA 18 拥有 9 个新特性,JDK18
JAVA 18 拥有 9 个新特性,JDK18原创 2022-03-24 10:01:07 · 3707 阅读 · 0 评论 -
ReentrantLock
概述**Java中主要分为两类锁,一类是synchronized修饰的锁,另外一类就是J.U.C中提供的锁。J.U.C中提供的核心锁就是ReentrantLock。ReentrantLock(可重入锁)与synchronized区别:(1)可重入性二者都是同一个线程进入1次,锁的计数器就自增1,需要等到锁的计数器下降为0时,才能释放锁。(2)锁的实现synchronized是基于JVM实现的,而ReentrantLock是JDK实现的。(3)性能的区别*synchronized优化之前性原创 2022-03-24 06:15:00 · 884 阅读 · 0 评论 -
2W字详解20道Redis经典面试题(珍藏版)
给大家整理了20道经典Redis面试题,希望对大家有帮助。1. 什么是Redis?它主要用来什么的?Redis,英文全称是Remote Dictionary Server(远程字典服务),是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。与MySQL数据库不同的是,Redis的数据是存在内存中的。它的读写速度非常快,每秒可以处理超过10万次读写操作。因此redis被广泛应用于缓存,另外,Redis也经常用来做分布式锁。除此原创 2022-03-23 14:59:58 · 295 阅读 · 0 评论 -
Redis 缓存击穿、穿透、雪崩的原因以及解决方案 前因后果
Redis 缓存击穿、穿透、雪崩的原因以及解决方案前因最近搞了个 redis 作为记录一些频发请求以及一些经常访问,但是访问页面的数据量较大的页面。刚开始的时候没有什么问题,但是当运营到一段时间后,发现了些问题,经过查阅资料,解决了问题。所以在这里记录下。缓存穿透原因描述–缓存穿透指查询一个数据库一定不存在的数据。正常的使用缓存流程大致是,数据查询先进行缓存查询,如果 key 不存在或者 key 已经过期,再对数据库进行查询,并把查询到的对象,放进缓存。如果数据库查询对象为空,则不放进缓存。但是原创 2021-04-27 13:53:21 · 436 阅读 · 2 评论 -
为什么使用构造注入而不是Autowired。构造函数注入好处
为什么使用构造注入而不是Autowired。构造函数注入好处原创 2022-03-23 14:11:01 · 2305 阅读 · 2 评论 -
MySQL中索引失效的常见场景与解决IDEA
MySQL索引失效的常见场景在验证下面的场景时,请准备足够多的数据量,因为数据量少时,MySQL的优化器有时会判定全表扫描无伤大雅,就不会命中索引了。1. where语句中包含or时,可能会导致索引失效使用or并不是一定会使索引失效,你需要看or左右两边的查询列是否命中相同的索引。假设USER表中的user_id列有索引,age列没有索引。下面这条语句其实是命中索引的(据说是新版本的MySQL才可以,如果你使用的是老版本的MySQL,可以使用explain验证下)。select * from `原创 2021-04-27 14:23:23 · 766 阅读 · 0 评论 -
Nginx核心架构是怎么支持高并发的
前言Nginx 作为业界知名的高性能服务器,被广泛的应用。它的高性能正是由于其优秀的架构设计,其架构主要包括这几点:模块化设计、事件驱动架构、请求的多阶段异步处理、管理进程与多工作进程设计、内存池的设计,以下内容依次进行说明。模块化设计高度模块化的设计是 Nginx 的架构基础。在 Nginx 中,除了少量的核心代码,其他一切皆为模块。所有模块间是分层次、分类别的,Nginx 官方共有五...原创 2020-01-31 13:12:47 · 240 阅读 · 0 评论 -
Elasticsearch(二)
Elasticsearch(二)一. analysis与analyzer analysis,文本分析是将全文本转换为一系列单词的过程,也叫分词。analysis是通过analyzer(分词器)来实现的,可以使用Elasticsearch内置的分词器,也可以自己去定制一些分词器。除了在数据写入的是词条进行转换,那么在查询的时候也需要使用相同的分析器对语句进行分析。 anaylzer是由三部...原创 2020-01-31 12:20:58 · 201 阅读 · 0 评论 -
乐观锁与悲观锁
何谓悲观锁与乐观锁乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程...原创 2019-12-26 17:30:25 · 127 阅读 · 0 评论 -
并发编程常见面试题Synchronized 相 关 问 题
Synchronized 相 关 问 题问 题 一 : Synchronized 用 过 吗 , 其 原 理 是 什 么 ?这 是 一 道 Java 面 试 中 几 乎 百 分 百 会 问 到 的 问 题 , 因 为 没 有 任 何 写 过 并发 程 序 的 开 发 者 会 没 听 说 或 者 没 接 触 过 Synchronized。Synchronized 是 由 JVM 实 现 的 ...原创 2019-12-26 17:23:07 · 540 阅读 · 0 评论 -
一. 为什么使用spring cloud alibaba
Spring cloud Alibaba一. 为什么使用spring cloud alibaba 很多人可能会问,有了spring cloud这个微服务的框架,为什么又要使用spring cloud alibaba这个框架了?最重要的原因在于spring cloud中的几乎所有的组件都使用Netflix公司的产品,然后在其基础上做了一层封装。然而Netflix的服务发现组件Eureka已经停...原创 2019-12-24 13:18:28 · 602 阅读 · 0 评论 -
Git拉取代吗配置以及常见命令
一 Git介绍Git是一个开源的分布式版本控制系统,是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。工作区:就是你在电脑里能看到的目录。暂存区:英文叫stage, 或index。一般存放在 “.git目录下” 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。版本库:工作区有一个隐藏目录.gi...原创 2019-12-20 12:26:13 · 216 阅读 · 0 评论 -
Docker基础篇
一. 什么是Docker 在docker的官方之什么是docker中提到了一句话:“当今各大组织或者团体的创新都源于软件(例如OA、ERP等),其实很多公司都是软件公司"。用户量的激增导致了并发、指数级增加的数据、应用的可靠性等问题,单体应用已经应对不了这些问题,于是诞生了分布式、集群、微服务、边缘计算等各种名词、架构风格和满足这种架构风格的各种框架,那我们接下来跟大家谈谈这些技术名词。 ...原创 2019-12-11 21:25:26 · 159 阅读 · 0 评论