自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yuiezt的专栏

回归Coding

  • 博客(73)
  • 资源 (10)
  • 收藏
  • 关注

原创 Linux 最常用命令【建议收藏】

告别冗长的命令手册,Linux 最常用命令一览。

2023-02-23 16:47:48 54

原创 IDEA 快捷键(超全建议收藏)

IDEA快捷键大全

2023-02-19 20:17:56 5688 3

原创 设计原则之壹——开闭原则

开闭原则是总纲,它告诉我们要对扩展开放,对修改关闭

2023-02-10 23:36:04 219

原创 10分钟学会编写 springboot jar包 启动脚本

高颜值启动脚本

2023-02-10 22:23:59 1330

原创 微信小程序 发送消息 Token校验失败,请检查确认

开发者通过检验 signature 对请求进行校验(下面有校验方式)。若确认此次 GET 请求来自微信服务器,请原样返回 echostr 参数内容,则接入生效,成为开发者成功,否则接入失败。如果使用的是springboot,则返回的string总是这样带引号这样的。以上即为本文全部内容,完。如上图,文档中说的是。搞了一阵子,可以了。

2024-04-15 01:11:28 201 1

原创 使用VNP时 本地服务/Dbeaver 无法连接数据库

在家使用VPN连接,启动本地Eclipse 的springboot 服务时,无法正常连接数据库。解决方法: 在启动项配置中增加。

2024-04-01 09:11:05 201 1

原创 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

新建项目时,出现报错:Communications link failure

2023-11-05 12:27:37 157

原创 Could not find acceptable representation (406 Not Acceptable)

controller 返回对象没有加 @Data 注解。也就是没有get、set 方法。

2023-07-26 16:56:16 288

原创 桥接模式——连接抽象维度和实现维度

桥接模式,是将抽象部分与它的具体实现部分分离,使它们都可以独立地变化。它是将两个不同的维度建立联系。这两个维度通常是指:抽象维度和实现维度。

2023-07-18 16:54:24 271

原创 spring(不是springboot)集成apllo方案

现在到处都是基于 springboot 的微服务项目。不巧手头碰到了一个 spring 的项目,打war包直接放到tomcat中启动的。现在要将apollo集成进来,要求 Access Key 不可以放在properties 配置文件中,要统一使用apollo来管理。其中为apollo相关配置内容。① 在src/main/resource 下新建 META-INF 文件夹,在其中添加 app.properties 文件。文件内容为:app.id=对应的appid即可。

2023-05-24 11:03:57 1136

原创 Dubbo 的 类似curl 调用

cURL支持的通信协议有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP。我们都知道,在服务器端,可以使用 curl 来进行接口的调用,以判断接口是否连通、是否响应正常。那有什么办法,可以使得调用dubbo协议接口的时候,像使用cURL一样容易吗?假如的你服务器是linux,ip是10.188.12.10;可是,如果我使用的是dubb协议,cURL 就不支持了。

2023-04-27 11:14:41 926

原创 java.lang.TypeNotPresentException: Type org.springframework.boot.maven.RepackageMojo not present

org.codehaus.plexus.component.repository.exception.ComponentLookupException:org/springframework/boot/maven/RepackageMojo是由最新版本的Java Runtime编译的(类文件版本61.0),此版本的Java Runtime只识别52.0以下的类文件版本。我的pom.xml中 spring-boot-maven-plugin并没有设置version。一种是把JDK换成17,这个不考虑了。

2023-04-12 15:10:11 5287

原创 4个步骤实现Java版的TTS(文字转语音)

TTS是Text To Speech的缩写,即“从文本到语音”,让机器能够说话。微软自带TTS(Text To Speech) 语音引擎,可以将文本转换成语音播报。现在通过Java程序(jacob包),利用Windows自带的TTS实现语言的播报。

2023-04-07 14:28:51 5749 1

原创 Java线程基础(创建、停止、状态切换、基本操作、守护线程、上下文切换)

Java 进程中每一个线程对应着一个Thread实例。线程的描述信息在Thread的实例属性中得到保存,供JVM进行线程管理和调度时使用。虽然一个进程可以有很多个线程,但是在一个CPU内核上,同一时刻只能有一个线程是正在执行的,该线程被叫做当前线程。

2023-04-01 14:51:25 281

原创 并发编程中的一些常见概念(进程vs线程,并发vs并行,同步vs异步 等等)

并发编程中的一些常见易混淆概念

2023-03-29 00:25:18 152

原创 抽象工厂模式

抽象工厂(AbstractFactory)模式的定义:是一种为访问类提供一个创建一组关联或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产一个等级的产品,而抽象工厂模式可生产多个等级的产品。使用抽象工厂模式除了具有工厂方法模式的优点外,其他主要优点如下:▷ 可以在类的内部对产品族中相关联的多等级产品共同管理,而不必专门引入多个新的类来进行管理。

2023-03-08 21:28:30 291

原创 工厂方法模式

工厂方法(Factory Method )模式的定义:定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子类当中。这满足创建型模式中所要求的“创建与使用相分离”的特点。我们把被创建的对象成为“产品”,把创建产品的对象称为“工厂”。如果要创建的产品不多,只要一个工厂类就可以完成,这种模式叫“简单工厂模式”,它不属于GoF的23中经典设计模式,它的缺点是增加新产品时会违背“开闭原则”。

2023-03-07 23:19:55 109

原创 ReentrantLock 实现原理

ReentrantLock 中定义了一个Sync的同步类,它有两个实现,一个是FairSync(公平同步),一个是NonfairSync(非公平同步),两者分别代表 ReentrantLock 中锁竞争的公平和非公平特性。此后,其他线程再调用tryAcquire()方法时就会失败,直到t1线程调用unlock()方法且 state=0之后,其他线程才有机会获得锁。如果线程t1调用lock()方法,则实际上会调用tryAcquire()方法将 state通过CAS修改为1。

2023-03-06 23:55:07 87

原创 Java多线程中的CAS

CASCompareAndSwap,或者 CompareAndSet,是一个能够比较和替换的方法。这个方法能够在多线程环境下保证对一个共享变量进行修改时的原子性不变。通常,CAS方法会传递三个参数,● 第一个参数V表示要更新的变量;● 第二个参数E表示期望值;● 第三个参数U表示更新后的值。更新的方式是:如果V==E ,表示预期值和实际值相等,则将 V修改成U 并返回 true,否则修改失败返回false。开始V==E?更新变量V并设置值为U返回true。

2023-03-05 23:33:57 651

原创 java.util.concurrent 包中的三把锁(ReentrantLock、ReentrantReadWriteLock、StampedLock)

如果某个线程已经获得了锁资源,该线程后续再去抢占相同的锁时,不需要再加锁,只需要记录重入次数。上述代码中,ReentrantLockDemo 有一个add()方法,对 非原子性的 num++ 操作加了锁,能够保证 num++ 的线程安全。其实我们想做的是:允许多个线程同时调用查询方法,但是如果有一个线程在调用写入方法,那么这时其他线程不论是调用查询还是写入方法,都要阻塞。为了解决这个问题,引入来StampedLock,它优化了读锁,写锁的访问,其实它是提供了一种乐观锁策略。

2023-03-04 23:45:00 541

原创 数据结构的一些基础概念

是指一个数学模型及定义在该模型上的一组操作。:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。数据项是数据不可分割的最小单位。:是组成数据的,有一定意义的基本单位,在计算机中通常作为整体处理。是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。:是相互之间存在一种或多种特定关系的数据元素的集合。:是性质相同的数据元素的集合,是数据的子集。是指数据的逻辑结构在计算机中的存储形式。是指数据对象中数据元素之间的相互关系。

2023-03-03 22:50:45 727

原创 Volatile 解决线程可见性的问题

Synchronized的释放,会将工作内存中的操作同步到主内存。这是因为在hotspot的server端虚拟机中,做了深度优化(client版本就没有这个问题)。加了一个Synchronized的锁,会发现线程开启执行后,会停下来。说明while循环仍在执行,那么stop的值仍为false,说明。而IO操作会涉及到与内存、硬盘的交互,它会阻塞线程。就会发现 while中的stop生效了,线程会停下来。volatile可以禁止JIT的优化过程。执行后,没有任何输出。加了IO操作,也会使线程停下来。

2023-03-02 07:27:14 258 1

原创 如何将类变量在不同线程间进行隔离?

ThreadLocal中的每一个线程,都会存在一个ThreadLocalMap的对象,这个对象是个集合,这个集合里面存储的是key-value形式的数据,key代表的是我们定义的ThreadLocal 对象,value代表的是我要存储在当前线程里的数据。main方法中,我们定义了一个线程数组,每个线程都获取number的值并且+10后打印。② 线程的拿到的值也是相互干扰后的,是被其他线程修改过的;可以看到,每个线程获得的值都是0,设置后都为10。这里返回的值,是每个线程独有的。

2023-03-01 23:35:34 139

原创 thread.join 是干什么的?原理是什么?

加了join,表示join的线程的修改对于join之外的代码是可见的。

2023-02-28 14:01:31 415

原创 真的,MyBatis 核心源码入门看这个就够了(四)

Mybatis核心代码——SQL执行

2023-02-27 23:37:29 79

原创 什么是线程死锁?如何解决死锁问题

死锁,一组互相竞争的资源的线程之间相互等待,导致永久阻塞的现象。它是如何产生的?又该如何避免呢?

2023-02-26 21:19:03 895

原创 线程的通信 ( wait / notify)

下面我们使用生产者/消费者的典型场景,来描述 wait/notify 的通信过程。wait / notify 本质上是线程的通信。

2023-02-25 23:56:29 78

原创 偏向锁、轻量级锁、自旋锁、重量级锁,它们都是什么?有什么关联

加锁会带来性能开销,Java 1.6之前只有重量级锁。上图讲述了两个线程ThreadA和ThreadB两个线程在争抢锁,ThreadA进入来临界区,可以执行资源代码;ThreadB没有抢到锁,进入BLOCKED队列,等待唤醒。当ThreadA执行完后,释放锁,去唤醒ThreadB。这是重量级锁的流程。因为它会带来阻塞和唤醒,会带来开销,所以叫“重量级”锁。Java 1.6 之后做了优化,出现了“轻量级锁 和 偏向锁”,能够减少重量级锁的获得和释放的性能开销。

2023-02-25 03:41:22 742

原创 Java开发都需要哪些工具

研发常用工具,附链接,建议收藏

2023-02-24 21:59:00 41

原创 深入了解Java线程锁(一)

我们多个线程访问一个资源时,我们判断是谁抢占来锁,一定要做出标记,来记录锁的持有者。

2023-02-24 00:15:02 132

原创 SQL中的DML、DDL、DCL分别是什么意思

SQL命令的分类

2023-02-23 16:11:33 884

原创 真的,MyBatis 核心源码入门看这个就够了(三)

Mapper代理对象

2023-02-22 22:01:20 43

原创 如何保证线程的原子性

线程的原子性是指:一个或者一系列指令,它的操作是不可中断的,一旦开始是不允许被其他CPU或线程来中断。

2023-02-22 21:48:48 947

原创 如何终止一个线程

使用thread.stop停止线程会导致它解锁它锁定的所有监视器,这种方法本质上是不安全的。

2023-02-21 23:59:54 1847

原创 ERROR: transport error 202: bind failed: Address already in use

Tomcat关闭时报错:ERROR: transport error 202: bind failed: Address already in use

2023-02-21 12:58:29 970

原创 Java线程的6 种状态

当前线程sleep()方法结束,其他线程join()结束,等待用户输入完毕,某个线程拿到对象锁,这些线程也将进入就绪状态。处于这种状态的线程不会被分配CPU执行时间,不过无须无限期等待被其他线程显示地唤醒,在达到一定时间后它们会自动唤醒。处于这种状态的线程不会被分配CPU执行时间,它们要等待被显式地唤醒,否则会处于无限期等待的状态。当前线程时间片用完了,调用当前线程的yield()方法,当前线程进入就绪状态。调用线程的start()方法,此线程进入就绪状态。锁池里的线程拿到对象锁后,进入就绪状态。

2023-02-20 22:42:58 691

原创 为什么启动一个线程不用run()方法,而是用start()方法

Thread的 start 方法会调用一个native的start0() 方法,start0会调用操作系统底层的指令去创建一个线程,并且启动线程。操作系统会调用JVM的run,最终调回Java Thread的run方法。

2023-02-20 21:58:05 4421

原创 无法将“jps”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

1.jps : 无法将“jps”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。2.‘jps’ 不是内部或外部命令,也不是可运行的程序。

2023-02-20 00:30:39 1831

原创 Java创建线程的三种方式

Java中的线程创建有三种方式

2023-02-19 22:58:46 144

原创 真的,MyBatis 核心源码入门看这个就够了(二)

程序每一次操作数据库,都需要创建一个会话,我们用openSession() 来创建。

2023-02-18 21:32:40 90

桥接模式-连接抽象维度和实现维度

完整代码示例。

2023-07-18

dubbo使用group来实现服务隔离的示例

dubbo通过group来实现服务隔离的示例,注意,zookeeper需要自行搭建。

2023-02-07

文章《Mybatis的最初体验》配套代码

文章《Mybatis的最初体验》配套代码

2023-01-31

解决springboot 中 dubbo配置的报错问题 dubbo XML Schema 文件

解决springboot 中 dubbo配置的报错问题 dubbo XML Schema 文件

2019-03-09

世界经济论坛区块链报告

世界经济论坛区块链报告,一共一百多页,可以读读看。

2018-03-28

应用产品的微服务化之路--拆分与重构

从正视MSA开始 • 业务架构之服务拆分 • 技术架构之迭代重构 • 使用PDCA环持续演化

2017-12-15

springCloud 入门文档(推荐)

spring cloud 最佳入门书籍。 内容不深奥,不晦涩,难易程度刚好,照做一遍收获良多! 服务发现 服务提供者 服务消费者 熔断器 配置中心 API Gateway Docker

2017-12-15

jenkins权威指南

jenkins权威指南。详细讲解的jenkins的使用方法。 对于在考虑使用Jenkins来搭建CI系统的同学非常有用。 jenkins权威指南。详细讲解的jenkins的使用方法。 对于在考虑使用Jenkins来搭建CI系统的同学非常有用。

2017-09-13

FreeMarker 操作手册

目录:1.模版开发指南;2.程序开发指南;3.xml处理指南;4.参考文档 目录:1.模版开发指南;2.程序开发指南;3.xml处理指南;4.参考文档

2017-09-13

使用AngularJS开发下一代WEB应用

AngularJS是Google推出的一款Web应用开发框架。它提供了一系列兼容性良好并且可扩展的服务,包括数据绑定、DOM操作、MVC设计模式和模块加载等。

2017-09-13

Spring 核心技术 学习文档教程

spring 的学习文档,详细讲解了spring的核心技术。

2009-12-10

java源码反编译/.class文件转.java文件

有时候,为了学习源码,我们希望将.java已经编译成.class的文件反编译为.java文件,如何还原为.java文件呢? 此款软件可以帮您将.class文件反编译为.java文件。 —好不好? ——谁用谁知道!

2009-12-08

空空如也

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

TA关注的人

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