自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 资源 (12)
  • 收藏
  • 关注

原创 spring项目获取类路径地址值

【代码】spring项目获取类路径地址值。

2024-03-08 15:44:56 416

原创 Spring文件上传下载代码

spring实现文件上传与下载代码

2024-03-07 17:08:07 439

原创 Spring Cloud Hystrix 参数配置、简单使用、DashBoard

Spring Cloud Hystrix 是一款优秀的服务容错与保护组件,也是 Spring Cloud 中最重要的组件之一。Spring Cloud Hystrix 是基于 Netflix 公司的开源组件 Hystrix 实现的,它提供了熔断器功能,能够有效地阻止分布式微服务系统中出现联动故障,以提高微服务系统的弹性。Spring Cloud Hystrix 具有服务降级、服务熔断、线程隔离、请求缓存、请求合并以及实时故障监控等强大功能。

2024-02-07 16:18:55 1716

原创 Java注解语法

java注解语法;自定义注解格式;注解解析

2023-08-22 23:09:15 274

原创 Restful架构简单了解

如果按照HTTP方法的语义来暴露资源,那么接口将会拥有安全性和幂等性的特性,例如GET和HEAD请求都是安全的, 无论请求多少次,都不会改变服务器状态。RESTful架构应该遵循统一接口原则,统一接口包含了一组受限的预定义的操作,不论什么样的资源,都是通过使用相同的接口进行资源的访问。资源在外界的具体呈现,可以有多种表述(或成为表现、表示)形式,在客户端和服务端之间传送的也是资源的表述,而不是资源本身。状态应该区分应用状态和资源状态,客户端负责维护应用状态,而服务端维护资源状态。

2023-08-21 16:19:42 1027 1

原创 BIO、NIO、IO多路复用(select/poll/epoll)、信号驱动IO、异步IO

BIO、NIO、IO多路复用(select/poll/epoll)、信号驱动IO、异步IO

2022-09-03 23:22:17 717 2

原创 Java自定义线程池详解及代码实现(非直接调用ThreadPoolExecutor)

Java从头开始自定义线程池详解及代码实现(非直接调用ThreadPoolExecutor)-生产者消费者模式1.定义阻塞队列,使用双端队列,和可重入锁以及条件变量。2.定义线程池。

2022-08-08 13:29:00 2317

原创 并发编程-生产者消费者模式Java代码实现

并发编程-生产者消费者模式代码实现1. 生产者仅负责产生结果数据,不关心数据该如何处理,而消费者专心处理结果数据。2. 消息队列是有容量限制的,满时不会再加入数据,空时不会再消耗数据具体实现:1. 使用双向链表和Synchronized锁来实现消息队列。2. 使用Excutors中的创建线程池的方法模拟生产者和消费者线程。...

2022-08-07 19:53:46 1865

原创 Java多线程使用 CountDownLatch等待其他线程执行完成

Java多线程使用 CountDownLatch等待其他线程执行完成

2022-08-06 15:57:44 564

原创 Redis缓存以及存在的问题--缓存穿透、缓存雪崩、缓存击穿及解决方法

Redis缓存以及存在的问题--缓存穿透、缓存雪崩、缓存击穿及解决方法

2022-08-04 16:19:50 269

原创 Redis实现分布式锁-原理-问题详解

Redis实现分布式锁-原理-问题详解通过setnx实现分布式锁,并通过lua脚本解决释放锁所存在的问题。

2022-08-04 00:34:42 756

原创 Spring MVC的执行流程

Spring MVC的执行流程:

2022-08-03 19:39:03 9949 2

原创 CPU、GPU、NPU的区别

CPU、GPU、NPU的区别

2022-07-23 20:26:00 24363 14

原创 JAVA经典垃圾收集器的优点缺点简单总结

JAVA经典垃圾收集器的优点缺点简单总结Serial、ParNew、Parallel Scavenge、Serial Old、CMS、Parallel Old、G1

2022-07-17 19:36:57 969

原创 数据库InnoDB-MVCC-多版本并发控制

数据库InnoDB-MVCC-多版本并发控制介绍;MVCC的具体实现有三个隐藏字段DB_TRX_ID(最近修改事务ID),DB_ROLL_PTR回滚指针,不同事务或者相同事务对同一数据进行修改是,会形成undo log版本链,以便在读取的时候回滚。在RC隔离级别,为了保证读已提交,则每次读都会生成ReadView,然后与版本链中的记录进行对比,选择符合版本链规则的数据进行读。......

2022-07-13 10:41:42 824

原创 Mysql事务详解-[数据库的隔离级别、脏读、不可重复读、幻读以及ACID性质与redo log与undo log]

Mysql事务详解-[数据库的隔离级别、脏读、不可重复度、幻读以及ACID性质与redo log与undo log]数据库的隔离级别:读未提交、读已提交、可重复读、序列化。数据库并发事务问题及解决:脏读、可重读读、幻读。事务的性质:原子性、一致性、隔离性、持久性以及底层对四个性质的保证的介绍。..................

2022-07-12 22:05:57 367 1

原创 【MySQL存储引擎 InnoDB、MyISAM、Memory区别与特点】

MySQL存储引擎 Innodb、MyISAM、Memory区别与特点Innodb支持事务、支持外键、支持行级锁和表锁。MyISAM不支持事务、不支持外键,支持表锁。

2022-07-11 15:40:38 1957

原创 数据库索引使用的注意事项以及索引失效的情况【Mysql】

数据库索引使用的注意事项以及索引失效的情况1.最左前缀法则。2.范围查询。索引失效的集中情况:包括:索引列上进行运算、模糊查询、or连接条件,字符串不加引号,数据分布情况。

2022-07-11 14:48:12 1424

原创 Java Socket编程简单案例【TCP与UDP】

Java Socket编程案例【TCP与UDP】

2022-06-22 12:04:04 413

原创 JAVA设计模式--桥接模式【结构型模式】

设计模式--桥接模式-结构型设计模式将抽象与实现分离,使他们可以独立变化。它使用组合关系代替继承关系来实现的,从而降低了抽象与现实这两个维度的耦合度,也体现了设计原则中的【合成复用】与【依赖倒转】原则,还包括【开闭原则】。...

2022-06-22 10:55:49 197

转载 UTC、GMT、CST

UTC GMT CST

2022-06-21 21:23:17 5568

原创 JAVA设计模式--享元模式【结构型模式】

享元模式即运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似对象的开销,从而提高系统资源的利用率。

2022-06-21 16:25:46 136

原创 JAVA设计模式--适配器模式

JAVA设计模式--适配器模式

2022-06-03 22:09:37 2593

原创 JAVA设计模式--装饰者模式详解

JAVA装饰者模式详解--代码案例、使用方式

2022-06-03 12:06:26 1084

原创 面向对象软件设计原则【JAVA】(开闭原则、里氏代换、依赖倒转、接口隔离、迪米特法则、合成复用原则)

软件设计原则【JAVA】(开闭原则、里氏代换、依赖倒转、接口隔离、迪米特法则、合成复用原则)1.开闭原则2.里氏代换原则3.依赖倒转原则4.接口隔离原则5.迪米特法则6.合成复用原则1.开闭原则对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要遵守开闭原则,那么在设计类时就需要使用抽象类和接口。因为抽象灵活性好,适应性广,只要抽象的合理,可以基本保持软件架构的稳定。而软件中易变的细节可以从抽象派生来的实

2022-05-30 11:43:59 494

原创 Java类与类之间的关系(关联、组合、聚合、依赖、继承、实现)

Java类与类之间的关系(关联、组合、聚合、依赖、继承、实现)1.关联关系1.1 单向关联1.2 双向关联1.3 自关联2.聚合关系3.组合关系4.依赖关系5.继承关系6.实现关系1.关联关系关联关系是对象之间的一种引用关系,用于表示一类对象与另一类对象之间的联系,如老师和学生、师傅和徒弟、丈夫和妻子等。关联关系是类与类之间最常用的一种关系,分为一般关联关系、聚合关系和组合关系。关联又可以分为单向关联,双向关联,自关联。1.1 单向关联在UML类图中单向关联用一个带箭头的实线表示。上图表示每个顾

2022-05-28 21:26:57 1783

原创 Linux编写定时任务

Linux编写定时任务Linux系统的计划性的工作是由cron( crond)服务来控制的,这个服务是默认启动的。Linux提供了用户控制计划任务的命令: crontab 命令。一、crondcrond 是linux下,用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。Linux下的任务调度分为

2022-05-26 21:48:20 4049

原创 华为云maven安装包下载加速地址

华为云maven安装包下载加速地址apache-maven-3.6.1-bin安装包加速地址:https://repo.huaweicloud.com/apache/maven/maven-3/很nice,不用去csdn浪费积分下载了。点进入如下所示:选择需要的版本下载即可。

2022-05-22 17:10:09 596

原创 Java生成随机数(利用Random类和Math.random()方法)

Java生成随机数(利用Random类和Math.random()方法)Random 类(java.util.Random)常用构造方法:Random():该构造方法使用一个和当前系统时间对应的数字作为种子数,然后使用这个种子数构造 Random 对象。- Random(long seed):使用单个 long 类型的参数创建一个新的随机数生成器。Random 类提供的所有方法生成的随机数字都是均匀分布的,也就是说区间内部的数字生成的概率是均等的。使用:boolean nextBoole

2022-05-11 15:20:00 1023

原创 AttributeError:module ‘distutils‘ has no attribute ‘version

AttributeError:module ‘distutils’ has no attribute 'version在使用torch.utils.tensorboard时,出现错误:出错语句from torch.utils.tensorboard import SummaryWriter报错信息:在执行LooseVersion = distutils.version.LooseVersion 的时候,出现AttributeError:module 'distutils' has no attrib

2022-05-10 10:57:25 22289 11

原创 Java使用JUnit进行单元测试

Java使用JUnit进行单元测试单元测试JUnit测试工具的优点JUnit测试工具的使用1.将JUnit的jar包导入到项目中。2.具体使用流程3.简单案例演示1. 编写待测试类2. 编写测试类(类名随意)3. 运行方式4.JUnit中的除`@Test`之外的其他注解单元测试单元测试就是针对最小的功能单元编写测试代码,Java程序最小的功能单元是方法,因此,单元测试就是针对Java方法的测试,进而检查方法的正确性。JUnit测试工具的优点Junit可以灵活的选择执行哪些测试方法,可以一件执行全部

2022-05-05 19:20:50 1852

原创 指令重排序遵循的as-if-serial与happens-before原则

指令重排序遵循的as-if-serial与happens-before原则as-if-serial语义 as-if

2022-05-05 16:05:55 408

原创 JAVA代理模式-三种代理模式的对比(四)

JAVA代理模式-三种代理模式的对比(四)JAVA代理模式-静态代理的实现(一)JAVA代理模式-JDK动态代理的实现(二)JAVA代理模式-cglib动态代理的实现(三)jdk代理 和 CGLIB代理使用CGLib实现动态代理,CGLib底层采用ASM字节码生成框架,使用字节码技术生成代理类,在JDK1.6之前比使用Java反射效率要高。唯一需要注意的是,CGLib不能对声明为final的类或者方法进行代理,因为CGLib原理是动态生成被代理类的子类。在JDK1.6、JDK1.7、JDK1

2022-04-28 17:25:57 165

原创 JAVA代理模式-cglib动态代理的实现(三)

JAVA代理模式-cglib动态代理的实现(三)CGLIB动态代理:导包1.使用了Maven管理项目则引入一下坐标即可。2.未使用maven,则可以通过如下方式导包。在完成环境配置之后,进行CGLIB动态代理的实现:1.编写实体类。2.通过cglib动态生成代理类,动态生成的代理类为实体类的子类。3. 客户端从中介买票CGLIB实现动态代理的完整代码:代理模式简介、静态代理、JDK动态代理可以参考以下文章:JAVA代理模式-静态代理的实现(一)JAVA代理模式-JDK动态代理的实现(二)CGLIB动

2022-04-28 17:18:54 790

原创 JAVA代理模式-JDK动态代理的实现(二)

JAVA代理模式-JDK动态代理的实现(二)JDK动态代理的实现:1. 编写电影院售票的接口。2. 编写真实主题类,宁波电影院实现电影院接口,实现真正的售票动作。4. 编写代理工厂类,通过Java中提供的一个动态代理类Proxy,动态生成代理类。6. 客户调用代理类,从中介手中买票。动态代理使用时的细节:JDK动态代理完整代码:代理模式的简介可查看此链接。JAVA代理模式-静态代理的实现(一)JDK动态代理的实现:Java中提供了一个动态代理类Proxy,提供了一个创建代理对象的静态方法(newP

2022-04-28 16:35:29 826

原创 JAVA代理模式-静态代理的实现(一)

JAVA代理模式-静态代理的实现(一)代理模式代理模式的优点代理模式分为三种角色:静态代理的实现:1.定义进校门动作的接口。2.真实主题类,即真正进校门的类要实现该接口。3.代理类,要在原本的类功能上进行增强。代理类也必须实现school接口。4 .客户端调用代理类进校门。静态代理实现的完整代码:代理模式由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。代理模式的优点代理模式在客户端与目标对象之间起到

2022-04-28 15:45:25 922

原创 Exception in thread “main“ java.lang.NoClassDefFoundError: org/objectweb/asm/Type

在使用CGLIB尝试动态代理时,出现了如下错误:Exception in thread "main" java.lang.NoClassDefFoundError: org/objectweb/asm/Type at net.sf.cglib.core.TypeUtils.parseType(TypeUtils.java:184) at net.sf.cglib.core.KeyFactory.<clinit>(KeyFactory.java:72) at net.sf.cglib.pr

2022-04-28 15:01:40 701

原创 JAVA 通过反射获取公共和私有成员变量和成员方法(二)

JAVA 通过反射获取成员变量(二)JAVA通过反射创建对象可以查看以下介绍。JAVA通过反射来创建对象(一)类对象文件package com.csdn;public class Student { private String name; private int age; public String height; protected int num; public Student() { } public void print1(

2022-04-27 14:58:33 2987

原创 JAVA通过反射使用公共构造方法和私有构造方法来创建对象(一)

JAVA通过反射来创建对象JAVA反射机制是指在运行时去获取一个类的变量和信息。然后通过获取到的信息来创建对象,调用方法的一种机制。由于这种动态性,可以极大地增强程序的灵活性,程序不需要在编译期就完成确定,在运行期仍然可以扩展。创建Student类文件Student类包含公共构造方法,也包含私有构造方法。package com.csdn;public class Student { private String name; private int age; public

2022-04-27 11:23:58 3111

原创 JAVA 中HashMap的几种遍历方式

JAVA 中HashMap的几种遍历方式创建HashMap对象 Map<String, Integer> map = new HashMap<>(); map.put("手表", 1000); map.put("手机", 4000); map.put("牙刷", 200); map.put("耳机",1500);1.通过遍历map的键的方式,使用键找值进行遍历。现获取Map集合的全部键的Set集

2022-04-27 10:06:41 4319

西交-自然语言处理-nlp四次作业(代码+报告).zip

文件中包含:(代码+分析) 1.最小编辑距离 2.文本分类 3.文本聚类 4.文本对齐

2021-10-02

(西交研究生)软件测试mooc标准答案.docx

word文件为中国大学MOOC西交软件测试课程(duxiaozhi)课后标准答案整理,包括全部九章课程的所有标准答案。注意标准答案中有一些概念题是表述有误,注意甄别。

2021-10-02

西交-机器学习六次作业-pang.zip

压缩包中为XJTU机器学习(pang teacher)课程作业所需的代码以及公式证明推导报告。压缩包中的文件如下: 1.逻辑回归重要公式证明及上机实践 2.BP证明及上机实践 3.SVM 4.lasso回归与稀疏表示 5.贝叶斯网 6.降维

2021-10-02

texstudio编辑器图形化界面程序【texstudio-3.1.2-win-qt5】

texstudio编辑器图形化界面程序【texstudio-3.1.2-win-qt5】,压缩文件夹中文件为 texstudio-3.1.2-win-qt5.exe

2021-07-13

java实现的简易版网络聊天加密通信程序

先运行safechat包里的greetigserver.class,之后运行greetingclient.class即可。 如遇报错,请参考:https://blog.csdn.net/fengzun_yi/article/details/104497160 实现过程: 1. 采用TCP通信协议完成接收者发送者双方的消息传递。 2. 利用Diffie-Hellman密钥交换协议生成对称加密通信的通信密钥。 3. 为防止中间人攻击,采用RSA非对称加密算法协助DH算法完成密钥交换。具体过程如下: a. 接收者与发送者双方各自利用RSA算法生成自己的公私钥,并生成数字证书,并在一个CA进行认证。 b. 在DH密钥交换阶段,A生成A的DH协商密钥用于发送给B,该密钥与接收方私钥生成最终通信密钥。发送DH密钥时,A先用自己的私钥加密DH协商密钥,再去CA获得一个真实的B的公钥,用B的公钥对加密过的协商密钥再做一次加密,发送给B。(因为是用B的公钥加密过,只有B有B的私钥,所以接收信息只有B自己可以解密查看,又因为是用A的私钥加密过的,只有A有A的私钥,所以只有用A的公钥可以进行解密,所以可以保证协商密钥确实是A发送过来的,而且发送的信息也无法被中间人解密。)B收到信息之后,先用自己的私钥解密,然后去CA获得A的公钥再对消息解密一次,获得A的DH密钥。B发给A的过程同上。 c. 之后双方执行DH生成本地密钥的过程。A利用B发送过来的密钥和A的DH私钥生成通信密钥。B利用A发送过来的密钥和B的DH私钥生成通信密钥。根据DH原理,两者生成的通信密钥是相同的。 4. 利用上一步生成的通信密钥,采用AES对称加密算法进行加密通信。 为了方便起见,并没用对A和B双方进行颁发证书的操作,A的公钥默认B已经从CA获得,B的公钥默认A已经从CA获得。并且采用java控制台交互,仅仅为演示原理及简单效果。

2020-08-17

鸭.zip鸭子数据集300张

vv鸭子类图片收集数据集300张,图片格式为jpg格式,可用于图片分类学习。

2020-08-17

python-geckodriver-win64-v0.24.zip

火狐浏览器驱动geckodriver,适合新版的火狐浏览器,亲测有效,

2020-01-06

BatUTF8Conv.exe 文件批量转换为utf-8格式

压缩包内为BatUTF8Conv.exe--批量将文件格式转换为utf-8, 每次批量转换文件数量大概为200多个

2019-05-06

GeoLiteCity.dat

IP查询地址离线库,配合Python库pygeoip使用.........

2019-05-02

jsoup-jar包

java抓取网页模块JSoup,Jsoup-jar包.

2019-03-09

starUMLv3.0.2破解文件app.asar

下载解压后,将文件app.asar复制替换掉\StarUML\resources下的app.asar即可。

2018-10-31

amtlib.dll

amtlib.dll 和local-policy.jardengededjhbbdjhbajhdbjabj

2018-03-18

空空如也

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

TA关注的人

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