自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (7)
  • 收藏
  • 关注

原创 Bouncy Castle 密钥生成发放证书

Bouncy Castle 生成KeyPair、生成CSR请求文件、生成Certificate证书、签发Certificate证书

2022-08-16 14:24:26 2290 1

原创 ubuntu安装Dbeaver相关

ubuntu安装Dbeaver相关

2022-08-01 16:35:33 2518

原创 SpringBoot-Skywalking分布式链路追踪(二)验证

没关系的,大家都会做错选择,会莫名其妙掉眼泪,走在路上会突然崩溃,但这并不影响我们去看看晚霞,再次爱上这个世界。一.准备1.开发工具验证在Idea开发工具服务配置中VM options 中添加:-javaagent:D:\YlDream\Java\apache-skywalking-apm-bin\agent\skywalking-agent.jar-Dskywalking.agent.service_name=skywalking-mumu-service-Dskywalkin..

2021-11-25 16:51:55 7258

原创 SpringBoot-Skywalking分布式链路追踪(一)环境准备

“你已经做得很好了,我把这句话存在这里,在需要勇气的时候,请替我悄悄说给你自己听”一.概览skywalking是一个优秀的国产开源框架,2015年由个人吴晟(华为开发者)开源 ,2017年加入Apache孵化器。短短两年就被Apache收入麾下,实力可见一斑。skywalking支持dubbo,SpringCloud,SpringBoot集成,代码无侵入,通信方式采用GRPC,性能较好,实现方式是java探针,支持告警,支持JVM监控,支持全局调用统计等等,功能较完善。Skywa...

2021-11-25 14:07:46 1976

原创 Springboot-Sharding-Jdbc-Seata集成(五)分布式事务

只有莲花才能比得上你的圣洁,只有月亮才能比得上你的冰清。一.pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4..

2021-11-18 10:16:16 1823 5

原创 Springboot-Sharding-Jdbc-Seata集成(四)环境准备

对待自己温柔一点。你只不过是宇宙的孩子,与植物、星辰没什么两样。一.概览Seata的分布式事务解决方案是业务层面的解决方案,只依赖于单台数据库的事务能力。 Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的 分布式解决方案。 Seata框架中一个分布式事务包含3中角色:Transaction Coordinator (TC): 事务协调器,维护全局事务的运行状态,负责协调并驱动全局事务的提交或回滚。 Transaction Manager (T..

2021-11-18 10:01:35 1334

原创 Springboot-Sharding-Jdbc集成(三)读写分离+数据分片

天空是蓝色的, 太阳是黄色的 大地是棕色的 海洋是蓝色的 草是绿色的 鲜花是五颜六色的 心跳是红色的❤️ 而你是属于我世界的颜色一.pom.xml文件引入<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocat..

2021-11-18 09:38:22 652

原创 Springboot-Sharding-Jdbc集成(一)环境准备

知道自己是什么年纪 并把这个年纪能做好的事情尽力做好 才可能有下个年纪的随心所欲一.概览ShardingSphere-Jdbc定位为轻量级Java框架,在Java的Jdbc层提供的额外服务。它使用客户端直连数据库,以jar包形式提供服务,可理解为增强版的Jdbc驱动,完全兼容Jdbc和各种ORM框架。文档地址:https://shardingsphere.apache.org/document/current/cn/overview/二.MySQL主从复制原理从库B...

2021-11-18 09:20:16 1444

原创 Springboot-Sharding-Jdbc集成(二)读写分离

我遇见你,我记得你,这座城市天生就适合谈恋爱,你天生就适合我的灵魂。一.pom.xml 引入<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.

2021-11-18 09:06:27 739

原创 Redis实现分布式锁(SetNx+Lua)

鬼魇举臂围城,覆淹星火,你恰是回头 万人中只一眼,却足以救我 ——《不可谖兮 》 伦桑一、SetNx+Lua1.setNxSET key value [EX seconds|PX milliseconds] [NX|XX] [KEEPTTL] 必选参数说明: SET:命令 key:待设置的key value:设置的key的value,最好为随机字符串 可选参数说明: NX:表示key不存在时才设置,如果存在则返回 null XX:表示key存在时才设置,如果不..

2021-11-18 08:28:31 731

原创 Docker部署项目时间错误问题解决

前言SpringBoot 项目打包成Docker镜像部署,时间错误???△发现时间相差八小时1.检查宿主机时间 date命令2.检查容器时间2.1.进入容器docker exec -it 容器ID /bin/bash docker exec -it -u root 容器ID /bin/bash2.2.查询程序运行时间查询最近30分钟的日志 docker logs --since 30m 容器ID△解决问题...

2021-05-14 08:58:53 626

原创 为什么要重写hashcode()方法-(十万个为什么/Java)

十万个为什么之Java为什么要重写hashcode方法提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例

2021-03-11 10:08:24 5004 11

原创 Python 3.8 安装pip3 install chatterbot chatterbot_corpus报错的问题

前言一、pip3 install chatterbot 失败解决方法1.直接下载压缩包 spacy pip setup.py install 失败2.直接去下载开源的文件-chatterbothttps://github.com/gunthercox/ChatterBotpython setup.py install二、pip install chatterbot_corpus 失败解决方法1.直接下载压缩包 PyYaml 解压运行 python setup..

2021-02-10 15:04:51 1512

原创 Python3.8 pip install wxPython 报错解决-XXOO

一、问题二、解决1.下载(Window)地址:https://pypi.org/project/wxPython/#files选择Python环境对接的版本。注:cp38就是Python3.82.安装Cmd到下载文件所在目录,pip install wxPython-4.1.1-cp38-cp38-win_amd64.whl 安装搞定感谢各位大大的耐心阅读~...

2021-02-07 14:11:19 2075 1

原创 Java反编译工具jd-gui下载-XXOO

1.下载地址官网:http://jd.benow.ca/GitHub :https://github.com/java-decompiler/jd-gui2.解压3.双击.exe启动4.选择你要反编译的文件以上感谢各位大大的耐心阅读~

2021-02-03 10:38:30 940

原创 Google 安装Sci-Hub搜索插件异常解决

前言偶人接触到论文Sci-Hub,搜半天不管用,才发现需要安装插件,这里给出“无法加载清“问题解决方案一、安装二、错误三、解决下载Zip打开Sci-Hub文件夹manifest.json文件修改"manifest_version": 10 >>>>"manifest_version": 2 解决以上感谢各位大大的耐心阅读~...

2021-02-01 15:36:14 2733 4

原创 Python3.8 pip install turtle 报错解决-XXOO

前言pip install turtle 报错 如图:解决1.下载turtle-0.0.2.tar.gzhttps://pypi.tuna.tsinghua.edu.cn/packages/ff/f0/21a42e9e424d24bdd0e509d5ed3c7dfb8f47d962d9c044dba903b0b4a26f/turtle-0.0.2.tar.gz2.解压,修改setup.py,将第40行代码修改为except (ValueError, ve):3.运...

2021-01-27 11:03:15 685 3

原创 Python 获取动漫番剧 -XXOO

前言没有什么好说的,就是想起来前些年失恋使劲刷番剧缓解自己糟糕的情绪。纪念下。一、直接上代码1.搜索入口# 搜索动漫名称 列表def get_video_list(name): # 开启代理 # proxy = {'http': 'http://127.0.0.1:8080', 'https': 'https://127.0.0.1:8080' } url = 'http://www.7666.tv/search.php?searchword=' + nam...

2021-01-27 10:26:42 35383 1

原创 Python下载小说 -XXOO

前言作为一个十年老书虫,对于小说来源深有体会,从买实体书到电子书下载。各种不爽,在这里也是满足下自己迫切的心情,来,撸一发代码,找几本小说看看。一、搜索入口这里也是找了一个良心的网站来操作的。其他的下载不是充钱就是会员或者空白。http://www.bookshuku.com/是不是很直白,上代码# name 小说名称def searchTxt(name): url = 'http://www.bookshuku.com/search.html' hea...

2021-01-22 10:16:05 12929 3

原创 Java内存模型之JMM角度分析DCL-XXOO

前言DCL,即Double Check Lock,中卫双重检查锁定。(单例模式)一、单例模式 3 -- 双重加锁(双重检查模式 (DCL))package com.yl.springboottest.consurrency.jmm.dcl;/** * 描述: Java内存模型之从JMM角度分析DCL * * DCL,即Double Check Lock,中卫双重检查锁定。(单例模式) * * @author: yanglin * @Date: 2020-12-07-9...

2020-12-11 16:14:31 584

原创 Java内存模型之重排序-XXOO

前言在执行程序时,为了提供性能,处理器和编译器常常会对指令进行重排序,但是不能随意重排序,不是你想怎么排序就怎么排序,它需要满足以下两个条件:1.在单线程环境下不能改变程序运行的结果;2.存在数据依赖关系的不允许重排序换一句话:无法通过happens-before原则推导出来的,JMM允许任意的排序。一、as-if-serial语义as-if-serial语义的意思是,所有的操作均可以为了优化而被重排序,但是你必须要保证重排序后执行的结果不能被改变,编译器、runtime、

2020-12-11 15:12:43 329

原创 Java内存模型-happens-before-XXOO

一、happens-before在JMM(Java内存模型)中,如果一个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须存在happens-before关系。由于存在线程本地内存和主内存的原因,再加上重排序,会导致多线程环境下存在可见性的问题。那么我们正确使用同步、锁的情况下,线程A修改了变量a何时对线程B可见?我们无法就所有场景来规定某个线程修改的变量何时对其他线程可见,但是我们可以指定某些规则,这规则就是happens-before,从JDK 5 开始,JMM就使用happ.

2020-12-11 15:00:37 508

原创 Java-volatile线程访问共享变量(二)-XXOO

一、volatile的特性1.volatile可见性;对一个volatile的读,总可以看到对这个变量最终的写;2.volatile原子性;volatile对单个读/写具有原子性(32位Long、Double),但是复合操作除外,例如i++;3.JVM底层采用“内存屏障”来实现volatile语义;二、volatile与happens-before示例:class VolatileTest1 { int i = 0; volatile bool

2020-12-11 14:50:11 302

原创 Java-Volatile线程访问共享变量(一)-XXOO

一、Volatile是什么?volatile是轻量级的synchronized。如果一个变量使用volatile,则它比使用synchronized的成本更加低,因为它不会引起线程上下文的切换和调度。Java语言规范对volatile的定义:Java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致地更新,线程应该确保通过排他锁单独获得这个变量。通俗点讲就是说一个变量如果用volatile修饰了,则Java可以确保所有线程看到这个变量的值是一致的,如果某个线程对volatile修

2020-12-11 14:41:05 857

原创 Java同步Synchronized-XXOO

一、Synchronized是什么?synchronized可以保证方法或者代码块在运行时,同一时刻只有一个方法可以进入到临界区,同时它还可以保证共享变量的内存可见性。二、代码实现1.实现方式Java中每一个对象都可以作为锁,这是synchronized实现同步的基础:1.普通同步方法,锁是当前实例对象2.静态同步方法,锁是当前类的class对象3.同步方法块,锁是括号里面的对象public synchronized void synchronizedStart1(

2020-11-27 13:51:12 1141

原创 Java-J.U.C之并发工具类CountDownLatch-XXOO

一、CountDownLatch是什么?CountDownLatch是通过一个计数器来实现的,当我们在new 一个CountDownLatch对象的时候需要带入该计数器值,该值就表示了线程的数量。每当一个线程完成自己的任务后,计数器的值就会减1。当计数器的值变为0时,就表示所有的线程均已经完成了任务,然后就可以恢复等待的线程继续执行。在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。CountDownlatch与CyclicBarrier的区别:1.CountDownL

2020-11-27 13:45:44 396

原创 Java-J.U.C之并发工具类CyclicBarrier-XXOO

一、CyclicBarrier是什么?CyclicBarrier,一个同步辅助类,在API中是这么介绍的:它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待, 此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。 通俗点讲就是:让一组线程到达一个屏障时被阻塞,直到最后一个线程到达屏障时, 屏障才会开门,所有被屏障拦截的线

2020-11-27 13:36:29 495

原创 数据结构之红黑树-XXOO

前言红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。一、红黑树的特性1、每个节点非红即黑2、根节点为黑色3、每个叶子节点为黑色。叶子节点为NIL节点,即空节点4、每个红色节点的两个子节点一定是黑色的5、从一个节点到该节点的子孙节点的所有路径包含相同个数的黑色节点红黑树插入一般是用红色插入,因为黑色插入必定会破坏平衡,但是红色则不一定。红黑树是黑色完美平二、代码示例pa...

2020-11-17 09:51:04 528

原创 多线程任务类型-CPU/I/O-XXOO

一、多线程任务类型多线程任务类型分为CPU 密集型以及I/O 密集型任务CPU 密集型* 这种任务消耗的主要是 CPU 资源,可以将线程数设置为 N(CPU 核心数)+1,* 比 CPU 核心数多出来的一个线程是为了防止线程偶发的缺页中断,或者其它原因导致的任务暂停而带来的影响。* 一旦任务暂停,CPU 就会处于空闲状态,而在这种情况下多出来的一个线程就可以充分利用 CPU 的空闲时间。I/O 密集型任务* 这种任务应用起来,系统会用大部分的时间来处理 I/O 交互,而线程在处

2020-11-16 15:50:45 977

原创 Hutool-Excel大数据生成-XXOO

一、准备对于大量数据输出,采用ExcelWriter容易引起内存溢出,因此有了BigExcelWriter。* ExcelUtil Excel工具类,读取的快捷方法都被封装于此* ExcelReader Excel读取器,Excel读取的封装,可以直接构造后使用。* ExcelWriter Excel生成并写出器,Excel写出的封装(写出到流或者文件),可以直接构造后使用。<!--hutool common 工具包--> <dependency>.

2020-11-16 15:01:30 3621 4

原创 Jacob操作Word文档转换-XXOO

前言JACOB一个Java-COM中间件.通过这个组件你可以在Java应用程序中调用COM组件和Win32程序库。一、准备<!--添加本地的jacob.jar包--> <dependency> <groupId>com.jacob</groupId> <artifactId>jacob</artifactId> <version>1.19</version> <

2020-11-16 14:52:34 477

原创 Java集合之HashMap及扩容机制-XXOO

前言HashMap基于Map接口实现,元素以键值对的方式存储,并且允许使用null 建和null值,因为key不允许重复,因此只能有一个键为null,另外HashMap不能保证放入元素的顺序,它是无序的,和放入的顺序并不能相同。HashMap是线程不安全的。一、HashMap构造方法通过源码的分析,我们可以看到ArrayList有三种构造方法- 空的构造函数- 自定义初始容量-自定义默认初始容量与哈希因子- 通过传入Map元素列表进行生成 /** * C.

2020-11-16 14:21:18 659

原创 Java集合之ArrayList及扩容机制-XXOO

前言ArrayList就是动态数组,其实就是Array的复杂版本,它提供了动态的添加元素和删除元素的方法,其实现了Collection 和 List接口,能够灵活的设置数组的大小。同时还实现了 RandomAccess、Cloneable、Serializable 接口,所以ArrayList 是支持快速访问、复制、序列化的。一、ArrayList构造方法通过源码的分析,我们可以看到ArrayList有三种构造方法- 空的构造函数- 根据传入的数值大小,创建指定长度的数组-

2020-11-16 09:58:47 888

原创 设计模式之状态模式XXOO

文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结一、状态模式是什么?(源于Design Pattern):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。1.要点:1.1、有一个对象,它是有状态的。1.2、这个对象在状态不同的时候,行为不一样。1.3、这些状态是可以切换的,而非毫无关系。2.三个角色:2.1、Context:它就是那个含有状态的对象,它可以处理一些请求,这些请求最终产生.

2020-11-16 09:10:37 743

原创 关于jasperreports 提示 java.lang.ExceptionInInitializerError

前言公司老项目需要添加关于jasperreports打印功能,刚好有一个maven项目有类似的功能,所以做了下代码迁移。本人项目相关环境 JavaWeb项目+struts2,在这其中遇到的一些问题做下汇总。希望对大家有所帮助。总结异常1.java.lang.NoSuchMethodError问题一般这样的都是缺少相关的jar,这里也给出本人使用的相关的jar。commons-collections-3.2.1.jarcommons-digester.jarcommons-b.

2020-11-13 10:00:49 955

原创 Tomcat-Start-XXOO

Tomcat的下载和安装Tomcat 官网下载解压版或者.exe安装版本https://tomcat.apache.org/安装解压后目录如下tomcat根目录在tomcat中叫<CATALINA_HOME><CATALINA_HOME>/bin:存放各种平台下启动和关闭Tomcat的脚本文件.其中 有个档是catalina.bat,打开这个windos配置文件,在非注释行加入JDK路径,例如 : SET JAVA_HOME=C:\j2sdk1.4..

2020-11-03 16:40:20 899

原创 设计模式之策略模式XXOO

一、设计模式一策略模式定义策略模式的目的是封装一系列的算法,它们具有共性,可以相互替换,也就是说让算法独立于使用它的客户端而独立变化,客户端仅仅依赖于策略接口 。汇总:定义一系列的算法,把每一个算法封装起来, 并且使它们可相互替换。 策略模式把对象本身和运算规则区分开来,因此我们整个模式也分为三个部分。1).环境类(Context):用来操作策略的上下文环境。2).抽象策略类(Strategy):策略的抽象。3).具体策略类(ConcreteStrategy):具体的策略实现。例..

2020-11-03 13:59:49 800

原创 二十三种设计模式彩图XXOO

一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。二、设计模式的六大原则总原则:开闭原则(Open Close Principle)开闭原则就是说对扩展开放,.

2020-11-03 11:03:45 2397

原创 Java-深复制|浅复制 (深拷贝|浅拷贝)XXOO

描述1、浅拷贝:对基本数据类型进行值传递,对引用数据类型进行引用传递般的拷贝,此为浅拷贝。2、深拷贝:对基本数据类型进行值传递,对引用数据类型,创建一个新的对象,并复制其内容,此为深拷贝。在 Java 中,所有的 Class 都继承自 Object ,而在 Object 上,存在一个 clone() 方法,它被声明为了 protected ,所以我们可以在其子类中,使用它。而无论是浅拷贝还是深拷贝,都需要实现 clone() 方法,来完成操作。代码实践public static

2020-10-29 11:44:29 388 1

原创 Java-String 字符串XXOO

描述- String:字符串,使用一对 ”” 引起来表示- String s1 = "mogublog" ; // 字面量的定义方式- String s2 = new String("moxi"); // new的定义方式- String声明为final的,不可被继承- String实现了Serializable接口:表示字符串是支持序列化的。实现了Comparable接口:表示string可以比较大小- String在jdk8及以前内部定义了final char[] valu..

2020-10-29 11:24:54 2506 1

Android Apk Sign 工具jar

Android Apk Sign 工具jar 大部分开发者对apk签名还停留在APK v2,对APK v3和APK v4了解很少,而且网上大部分文章讲解的含糊不清,所以根据官网文档重新整理一份。 apk签名从APK v1到APK v2改动很大,是颠覆性的,而APK v3只是对APK v2的一次升级,APK v4则是一个补充。

2023-03-07

反编译工具-jd-gui-windows.7z

反编译工具-jd-gui-windows-1.6.6

2021-02-03

jacob-Java-COM中间件-jar.zip

JACOB一个Java-COM中间件.通过这个组件你可以在Java应用程序中调用COM组件和Win32程序库。

2020-11-16

Itext-pdfa5.0相关jar包.zip

iText是著名的开放项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。

2020-11-13

jasperreports6.0.0相关jar

asperReports是一个非常强大,易用的开源报表引擎,它是用Java编写的。它可以通过各种各样的数据源来生成像素级的文档,这些文档都可以查看,打印以及导出(文档格式包括HTML、PDF、Excel、Word等等)

2020-11-13

Chrome-Better-History-Chrome的历史记录.zip

一款替换chrome历史记录的插件,并提供一个日历可以直接选择日期,再也不用一直往下拖了!当然,如果你就是喜欢往下拖动页面去一天一天的找记录的话,也是可以的。

2020-10-29

apache-jmeter-4.0 性能测试工具

Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。

2020-10-29

hutool-all-4.4.4.jar下载

Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。

2020-10-29

空空如也

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

TA关注的人

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