- 博客(20)
- 资源 (2)
- 收藏
- 关注
原创 获取服务IP为127.0.0.1
使用上述方法获取当前服务的ip地址时,有时会返回127.0.0.1,当需要返回实际的ip地址时,则不满足。需要设置hostname。在linux环境下,设置hostname为name1:
2022-07-12 16:36:04
840
转载 B树、B+树详解
转载于:B树、B+树详解 - Assassinの - 博客园B树前言 首先,为什么要总结B树、B+树的知识呢?最近在学习数据库索引调优相关知识,数据库系统普遍采用B-/+Tree作为索引结构(例如mysql的InnoDB引擎使用的B+树),理解不透彻B树,则无法理解数据库的索引机制;接下来将用最简洁直白的内容来了解B树、B+树的数据结构 另外,B-树,即为B树。因为B树的原英文名称为B-tree,而国内很多人喜欢把B-tree译作B-树,其实,这是个非常不好的直译,很容易让人产生误解
2021-12-02 14:42:30
296
转载 彻底搞懂系列B-树、B+树、B-树、B*树
转载于:彻底搞懂系列B-树、B+树、B-树、B*树_chai471793的博客-CSDN博客_b+树平衡二叉树概念 平衡二叉树是基于二分法的策略提高数据的查找速度的二叉树的数据结构; 特点 平衡二叉树是采用二分法思维把数据按规则组装成一个树形结构的数据,用这个树形结构的数据减少无关数据的检索,大大的提升了数据检索的速度;平衡二叉树的数据结构组装过程有以下规则:(1)非叶子节点只能允许最多两个子节点存在。(2)每一个非叶子节点数据分布规则为左边的子节点小当前节点的值,右边的子节点大于当前节
2021-12-01 14:18:06
551
转载 B-树(B树)
转载于:B-树(B树)_醉糊涂仙的博客-CSDN博客_b树一,B-树就是B树英文名字叫做B-tree,中间的短线是英文连接符,只是翻译的时候将短线翻译成了减号。全称Balance-tree(平衡多路查找树),平衡的意思是左边和右边分布均匀。多路的意思是相对于二叉树而言的,二叉树就是二路查找树,查找时只有两条路,而B-tree有多条路,即父节点有多个子节点。二,B-树用途使用B-tree结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度。这个数据结构一般用于数据库的索引,综合效率较高
2021-12-01 13:54:03
2065
转载 RestTemplate 微信接口 text/plain HttpMessageConverter
文章转载于:RestTemplate 微信接口 text/plain HttpMessageConverter_kinginblue的专栏-CSDN博客一、背景介绍使用 Spring Boot 写项目,需要用到微信接口获取用户信息。在 Jessey 和 Spring RestTemplate 两个 Rest 客户端中,想到尽量不引入更多的东西,然后就选择了 Spring RestTemplate 作为 网络请求的 Client,然后就被微信接口摆了一道,然后踩了一个 RestTemplate 的
2021-11-09 15:24:45
999
1
转载 Thread详解
转自:https://www.cnblogs.com/waterystone/p/4920007.html具体可参考:Java并发编程:Thread类的使用,这里对线程状态的转换及主要函数做一下补充。一. 线程状态转换图 注意:调用obj.wait()的线程需要先获取obj的monitor,wait()会释放obj的monitor并进入等待态。所以wait()/notify()都要与synchronized联用。详见:JAVA多线程之wait/notify1.1 阻塞与等待的区别
2021-08-15 23:31:37
135
转载 JAVA多线程之Synchronized关键字--对象锁的特点
一,介绍本文介绍JAVA多线程中的synchronized关键字作为对象锁的一些知识点。所谓对象锁,就是就是synchronized 给某个对象 加锁。关于 对象锁 可参考:这篇文章二,分析synchronized可以修饰实例方法,如下形式:1 public class MyObject {2 3 synchronized public void methodA() {4 //do something....5 }这里,syn
2021-08-15 23:25:25
172
转载 JAVA多线程之wait/notify
一,介绍这篇文章主要记录使用 interrupt() 方法中断线程,以及如何对InterruptedException进行处理。感觉对InterruptedException异常进行处理是一件谨慎且有技巧的活儿。由于使用stop()方法停止线程非常的暴力,人家线程运行的好好的,突然就把人家杀死了,线程占用的锁被强制释放,极易导致数据的不一致性。可参考这篇文章对stop()方法的介绍。因此,提出了一种温和的方式:请求另外一个线程不要再执行了,这就是中断方式。二,中断及如何响应中断?如何
2021-08-15 00:12:19
251
转载 JAVA多线程之volatile 与 synchronized 的比较
一,volatile关键字的可见性要想理解volatile关键字,得先了解下JAVA的内存模型,Java内存模型的抽象示意图如下:从图中可以看出:①每个线程都有一个自己的本地内存空间--线程栈空间???线程执行时,先把变量从主内存读取到线程自己的本地内存空间,然后再对该变量进行操作②对该变量操作完后,在某个时间再把变量刷新回主内存关于JAVA内存模型,更详细的可参考:深入理解Java内存模型(一)——基础因此,就存在内存可见性问题,看一个示例程序:(摘自书上) 1 pub.
2021-08-14 23:30:54
95
转载 Thread类的使用
转载于:https://www.cnblogs.com/dolphin0520/p/3920357.html 在前面2篇文章分别讲到了线程和进程的由来、以及如何在Java中怎么创建线程和进程。今天我们来学习一下Thread类,在学习Thread类之前,先介绍与线程相关知识:线程的几种状态、上下文切换,然后接着介绍Thread类中的方法的具体使用。 以下是本文的目录大纲: 一.线程的状态 二.上下文切换 三.Thread类中的方法 若有不正之处,请多多谅解并欢迎批评指正。..
2021-08-09 11:20:47
152
转载 Java 多线程之线程的生命周期 | 图解
转载:https://www.exception.site/java-concurrency/java-concurrency-thread-life-cycle在 Java 初中级面试中,关于线程的生命周期可以说是常客了。本文就针对这个问题,通过图文并茂的方式详细说说。结合上图,线程的生命周期大致可分为以下五种状态:NEW - 新建 RUNNABLE - 等待被CPU调度 RUNNING - 正在运行 BLOCKED - 阻塞 TERMINATED - 结束一、NEW 状态N
2021-08-03 16:43:01
461
转载 Java 多线程之守护 (Daemon) 线程
一、什么是守护线程守护线程相对于正常线程来说,是比较特殊的一类线程,那么它特殊在哪里呢?别急,在了解它之前,我们需要知道一个问题,那就是:JVM 程序在什么情况下能够正常退出?The Java Virtual Machine exits when the only threads running are all daemon threads.上面这句话来自 JDK 官方文档,意思是:当 JVM 中不存在任何一个正在运行的非守护线程时,则 JVM 进程即会退出。理解起来有点拗口,看
2021-08-03 16:41:44
305
转载 Hook钩子线程
Java 多线程之 Hook (钩子) 线程欢迎关注博主公众号「小哈学Java」, 专注于分享Java领域干货文章, 关注回复「资源」, 免费领取全网最热的Java架构师学习PDF, 转载请注明出处 https://www.exception.site/java-concurrency/java-concurrency-hook-thread一、Hook 线程介绍通常情况下,我们可以向应用程序注入一个或多个 Hook (钩子) 线程,这样,在程序即将退出的时候,也就是 JVM 程序即将退出的
2021-08-03 16:40:53
629
转载 线程的5种状态详解
Java中的线程的生命周期大体可分为5种状态。1.新建(NEW):新创建了一个线程对象。2.可运行(RUNNABLE):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu 的使用权 。3.运行(RUNNING):可运行状态(runnable)的线程获得了cpu 时间片(timeslice) ,执行程序代码。4.阻塞(BLOCKED):阻塞状态是指线程因为某种原因放弃了cpu 使用权,也即让出了...
2021-08-03 11:20:46
282
转载 Java并发之AQS详解
转自:https://www.cnblogs.com/waterystone/p/4920797.html一、概述 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch...。 以下是本文的目录大纲
2021-08-03 11:06:17
76
转载 CAS一致性
转载:https://mp.weixin.qq.com/s?__biz=MzIxMjE5MTE1Nw==&mid=2653192736&idx=1&sn=24d4054b062e28db9e54c735aafe2407&chksm=8c99f0fabbee79ecfd9198aa89bc78084e9b7db056078982975d8910c12b5d3dd1d16c2509c3&mpshare=1&scene=23&srcid=020903SQqm
2021-07-27 18:48:03
297
转载 sleep() 和 wait() 的区别
结合synchronized,会更好的理解sleep()和wait()这两个方法,当然也就知道了他们的区别了。这篇博客就一起学习这两个方法sleep()sleep() 方法是线程类(Thread)的静态方法,让调用线程进入睡眠状态,让出执行机会给其他线程,等到休眠时间结束后,线程进入就绪状态和其他线程一起竞争cpu的执行时间。因为sleep() 是static静态的方法,他不能改变对象的机锁,当一个synchronized块中调用了sleep() 方法,线程虽然进入休眠,但是对象的机锁没有被释放.
2021-07-22 17:58:10
242
转载 Java并发编程:volatile关键字解析
本文转载于 https://www.cnblogs.com/dolphin0520/p/3920373.html volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述vo...
2021-07-22 17:20:30
51
转载 rabbitmq学习
目录:1、什么是MQ 2、MQ是干什么用的?3、MQ衡量标准4、主流竞品分析 4.1、ActiveMQ 4.2、Kafka 4.3、RocketMQ5、技术背景知识介绍 5.1、AMQP高级消息队列协议 5.2、Erlang语言6、RabbitMQ 6.1、RabbitMQ的优势: 6.2、RabbitMQ的整体架构 6.3、RabbitMQ的消息流转 6.4、RabbitMQ各组件功能 6.5、RabbitMQ.
2021-04-25 17:28:02
80
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人