自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (4)
  • 收藏
  • 关注

原创 使用JOL观测默认偏向锁

目录一、对象头二、使用Maven导入JOL相关Jar包三、观察分析1. 对象头格式2. 测试观察一、对象头对象头有2个部分构成,一个是MarkWord,一个是KlassPoint。MarkWord记录对象的锁状态、分代年龄等对象信息。以下为64bitJVM的对象头MarkWord信息:具体关于对象内存布局信息的知识,可以参见:Java对象的内存布局本文主要介绍如何使用JOL去观察二、使用Maven导入JOL相关Jar包pom.xml <dependency>

2021-01-28 11:28:58 772

原创 批量删除修改文件名

前言有时候在bilibili上看网课,网速有那么点不给力,就想先下载下来再看。用了github上的you-get快速批量下载之后发现了两个问题:一是存在一些无用的xml后缀文件(弹幕),二是文件名太长了,很不好区分。所以就想批量删除某种后缀和改名打开cmd:1、删除xml后缀格式的文件 del /a /f /s /q "*.xml"3、将文件名输出到txt文件中 dir > fileName.txt我用notepad++进行打开,然后就能批量修改前缀,按住alt,然后鼠标.

2021-01-20 09:20:18 840

原创 类与类之间的关系

目录一、依赖关系(Dependence)1、简介2、代码3、小结二、泛化关系(generalization)1、简介三、实现关系(Implementation)1、简介四、关联关系(Association)1、简介五、聚合关系(Aggregation)1、简介2、代码六、组合关系(Composition)1、简介2、代码类之间的关系:依赖、泛化(继承)、实现、关联、聚合与组合。一、依赖关系(Dependence)1、简介只要是在类中用到了对方,那么他们之间就存在依赖关系。如果没有对方,连编绎都通过不

2021-01-19 00:19:29 1207

原创 七大设计原则

目录一、单一职责原则二、接口隔离原则三、依赖倒置原则四、开闭原则五、里式替换原则六、迪米特法则七、合成复用原则一、单一职责原则单一职责原则(SRP:Single Responsibility principle)又称为单一功能原则核心:解耦和增强内聚性(高内聚,低耦合)描述:类被修改的几率很大,因此应该专注于单一的功能。如果你把多个功能放在同一个类中,功能之间就形成了关联,改变其中一个功能,有可能中止另一个功能,这时就需要新一轮的测试来避免可能出现的问题。二、接口隔离原则接口隔离原则(IS

2021-01-17 09:52:42 517

原创 依赖倒置原则

目录一、什么是依赖倒置原则(Dependency Inversion Principle)二、不符合示例1.UML图2. 代码3.分析三、改进1.UML图2.代码3、分析一、什么是依赖倒置原则(Dependency Inversion Principle)高层模块不应该依赖低层模块,二者都应该依赖其抽象抽象不应该依赖细节,细节应该依赖抽象依赖倒置的中心思想是面向接口编程依赖倒置原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建的架构比以细节为基础的架构要稳定的多

2021-01-17 08:40:59 5165 4

原创 接口隔离原则

目录一、什么是接口隔离原则(Interface Segregation Principle)二、不符合示例1. UML图2.代码3.分析三、改进1. UML图2. 代码3. 分析一、什么是接口隔离原则(Interface Segregation Principle)定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。概括的说就是:建立单一接口,不要建立臃肿庞大的接口。(接口尽量细化,同时接口中的方法尽量少。)提供给每个模块的都应该是单一接口,提供给几个模块就应

2021-01-17 00:32:23 4487 1

原创 开闭原则

目录一、什么是开闭原则二、不符合示例1.UML图2.代码3.分析三、改进1. UML图2. 代码3. 分析四. 作用1. 对软件测试的影响2. 可以提高代码的可复用性3. 可以提高软件的可维护性一、什么是开闭原则开闭原则(Open Closed Principle,OCP)由勃兰特·梅耶(Bertrand Meyer)提出,他在 1988 年的著作《面向对象软件构造》(Object Oriented Software Construction)中提出:软件实体应当对扩展开放,对修改关闭(Software

2021-01-16 23:52:39 1323

原创 将java工程打包成exe文件

文章目录一、将Java工程打包成jar包二、将.jar文件转化为.exe文件一、将Java工程打包成jar包1、若使用eclipse,则直接在项目处右键,export为Runnable JAR Files。2、导出成功之后,可以先使用cmd进行测试一下成功运行!二、将.jar文件转化为.exe文件1、这里我们需要用到launch4j的工具2、填写输出的exe文件位置,输入的jar,还有icon。这里的icon注意一下,可以考虑用格式工厂去转化,而不是直接改后缀。3、可以考虑将jre复

2020-12-21 15:07:13 376

原创 Eclipse 安装 AmaterasUML插件

文章目录前言二、安装步骤1.安装2.加入jar包3. 使用前言 在Eclipse使用 AmaterasUML插件 可以比较方便的画各种UML类图时序图等。二、安装步骤1.安装安装GEF - http://download.eclipse.org/tools/gef/updates/releases/出现的选项全选如下(示例):2.加入jar包将AmaterasUML的3个jar包拷到Eclpise的plugins文件下如下(示例):3. 使用重启Eclipse,结果在file-n

2020-12-07 11:41:02 495 1

原创 JasperReport+iReport导出pdf中文失效

文章前言一、iReport二、JasperReport前言数据库实验要求要打印报表,使用了JasperReport+iReport,一开始想着应该不难,没有用maven,遭受了一晚上jar依赖的毒打,只好配上了maven。终于导出之后,又被中文无法显示一顿暴揍,我是弟弟。。。一、iReport设计好报表之后(还没设计好,推荐看这一篇文章:Java报表小记之 JasperReports & iReport),需要设置一下字体和编码方式:(可能为中文的文本框可以多选之后一起设置)设置

2020-11-04 11:29:10 434

原创 Mysql创建数据库,用户和授权

目录前言一、操作:前言 对于mysql创建数据库,创建用户,和授权的简单介绍。一、操作:使用root用户进行登录 mysql -u root -p创建用户CREATE USER 'cloudmusic'@'%' IDENTIFIED BY 'cloud123!!!';这里创建用户cloudmusic用户,密码为“cloud123!!!”,并且不限制ip登录。如果想要限制为本地登录,可以使用一下命令(修改%为localhost)。CREATE USER 'cloudmusic'@

2020-10-31 16:04:21 970

原创 JDK8中HashMap的comparableClassFor方法

JDK8中HashMap的comparableClassFor方法作用:Returns x’s Class if it is of the form “class C implements Comparable”, else null.翻译过来,大概的意思是:如果类C实现了Comparable ,即返回对象x的类C的Class。例如:String实现了Comparable< String >,那么则返回String.class。若没有,则返回null。public final clas.

2020-10-29 14:11:35 253

原创 java中的Type

目录前言一、Type是什么?二、Type接口二、ParameterizedType(参数化类型)总结前言 Java 编程语言从Java 5以后就引入Type体系,大大方便了我们代码的编写和优化,但是当泛型擦除时,擦除类型变量,并替换为限定类型,此时我们在运行时期便无法获取泛型类原本所带的泛型。所以java引入了Type这一概念。Type也主要是为在运行时期获取泛型而服务。一、Type是什么?Type是一个空接口,所有类型的公共接口,其意义表示Java所有类型,这里的类型是从Java整个语言角度来看

2020-10-29 14:10:39 970

原创 JDK8中HashMap的put、putVal方法

文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport.

2020-10-27 14:22:44 390

原创 BadBoy 和 Jmeter

目录前言一、BadBoy和Jmeter?二、使用步骤1.在BadBoy录制并导出2.在Jmeter中Open前言软测课要算分,被迫学了一下哭唧唧一、BadBoy和Jmeter?Badboy是用C++开发的,被用于测试和开发复杂的动态应用。它提供了强大的屏幕录制和回放功能,同时也提供了丰富的图形结果分析功能。只要不用于商业目的就可以免费使用。因此这两工具的结合,就成为了绝配。我们可以用Badboy录制脚本,然后将录制的脚本导出为JMeter格式的脚本,最后将该脚本导入到JMeter,借助于JMet.

2020-10-22 18:45:34 446

原创 java中的虚拟方法和非虚拟方法

目录一、方法调用1、普通调用指令:2、动态调用指令二、案例一、方法调用java程序进行各种方法调用,虚拟机提供了不同的字节码指令进行方法调用。1、普通调用指令:非虚方法:invokespecial:调用< init >方法、私有以及父类方法invokestatic:调用静态方法,解析阶段确定唯一方法虚方法:invokevirtual:调用所有虚方法invokeinterface:调用接口方法注意:被final修饰的方法,虽然是invokevirtual指令调用,但依然为非

2020-09-29 21:37:51 1842

原创 JVM设置栈大小(idea)

目录一、虚拟机栈?二、文档介绍三、在idea中修改四、验证一、虚拟机栈?Java虚拟机栈(Java Virtual Machine Stack)也是线程私有的,它的生命周期与线程相同。虚拟机栈描述的是Java方法执行的线程内存模型:每个方法被执行的时候,Java虚拟机都会同步创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态连接、方法出口等信息。每一个方法被调用直至执行完毕的过程,就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。二、文档介绍-Xss sizeSets the

2020-09-27 22:41:38 11838

原创 LeetCode之501:二叉搜索树中的众数

目录一、题目描述二、解题思路1.最初思路2.读入数据总结一、题目描述给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)。假定 BST 有如下定义:结点左子树中所含结点的值小于等于当前结点的值结点右子树中所含结点的值大于等于当前结点的值左子树和右子树都是二叉搜索树例如:给定 BST [1,null,2,2], 1 \ 2 / 2返回[2].提示:如果众数超过1个,不需考虑输出顺序进阶:你可以不使用额外的空间吗

2020-09-26 16:27:59 188

原创 LeetCode之134:加油站

目录一、题目描述?二、自己的题解三、官方题解一、题目描述?在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:如果题目有解,该答案即为唯一答案。输入数组均为非空数组,且长度相同。输入数组中的元素均为非负数。来源:力扣(LeetCode)链接:.

2020-09-17 16:41:40 868

原创 java之List及其实现类(ArrayList、LinkedList)分析

文章目录前言一、List是什么?二、常用方法三、ArrayList1.简介2.ArrayList构造器3.添加元素(扩容机制)LinkedList1、简介2、添加元素前言刷LeetCode的时候用了List,用得少已经有些恍惚了。所以今天整理一下List接口还有它的一些实现类,加深理解。(以下内容基于JDK1.8)一、List是什么?List接口是Collection的子接口,实现一种线性表的数据结构。存放在List中的所有元素都有一个下标(从0开始),可以通过下标访问List中的元素。同时,L

2020-09-04 17:13:45 324

原创 JDBC之PreparedStatement对象使用

文章目录前言一、为什么选择PreparedStatement?二、创建PreparedStatement对象三、带参数的SQL语句2.读入数据总结前言这里大概整理一下对于PreparedStatement的理解一、为什么选择PreparedStatement?Statement对象在每次执行SQL语句时都将该语句传给数据库。这样,多次执行同一个语句时效率较低。为了提高语句的执行效率,可以使用PreparedStatement接口对象。二、创建PreparedStatement对象使用Prepa

2020-09-02 10:06:49 1458

原创 JDBC 的基础使用(MySql)

文章目录前言JDBC介绍数据库访问步骤装载相应数据库的JDBC驱动加载驱动程序建立连接对象1、DriverManager类2、创建语句对象3、ResultSet对象4、关闭所有对象前言今天开始整理之前学过的东西。从JDBC开始吧。JDBC介绍java程序通过JDBC(Java DataBase Connectivity)访问数据库,它是java程序访问数据库的标准接口,由一组java语言编写的类和接口组成,这些类和接口成为JDBC API。JDBC API为java语言提供一种通用的数据访问接口。

2020-09-01 20:34:17 456

原创 Docker中使用tomcat

Docker中使用tomcatdocker容器中为tomcat镜像直接创建的容器是不能通过链接访问的(docker run --name mytomcat -d Tomcat)可以停止运行的容器:docker stop + 容器id然后使用docker ps 或者docker ps -a查看是否已经退出使用:docker rm +容器id (扩展:rmi是用来删除镜像的)正确的创建方法:...

2020-03-17 16:24:07 251

原创 Description: Failed to bind properties under 'spring.datasource' to javax.sql.DataSource: Prop

整合springboot和druid出现错误整合时,引入application.yml的数据源之后出现错误Description:***************************APPLICATION FAILED TO START***************************Description:Failed to bind properties under ...

2020-03-12 11:51:34 796

change.xlsx

批量修改文件名命令,参见https://blog.csdn.net/weixin_44594041/article/details/109366532

2021-01-20

将.jar转化为.exe文件的工具

launch4j-3.8-win32.exe ,将.jar转化为.exe文件的工具

2020-12-21

AmaterasUML_1.3.4

eclipse安装AmaterasUML_1.3.4所需jar包,参照:https://blog.csdn.net/weixin_44594041/article/details/110802695

2020-12-07

JasperReport+iReport 所需jar包

ireport+jasperReport报表所需jar包,参照:https://blog.csdn.net/weixin_44594041/article/details/109486154

2020-11-04

空空如也

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

TA关注的人

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