自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 腾讯云配置防火墙后仍无法访问解决方案(以tomcat举例)

腾讯云配置了防火墙后仍然无法访问tomcat的解决方案

2022-12-31 22:08:49 2049 3

原创 【Java】两张图片垂直、水平拼接实现方式,附代码

【代码】【Java】两张图片垂直、水平拼接实现方式,附代码。

2022-09-25 21:46:28 907 2

原创 【Java】手把手教你写出令人抓狂的代码

本文手把手教你如何写出令人抓狂的代码以及避免那些正确写法,按照本文教程来做,相信你的同事一定会对你印象深刻的。

2022-05-25 01:45:30 504 4

原创 JTS求多边形重合面积

前言通过JTS可以实现多边形求面积以及多个多边形求重合度,本文章只列举几个简单的使用例子。详细的文档使用链接:http://www.tsusiatsoftware.net/jts/main.htmlJTS1.依赖<dependency> <groupId>com.vividsolutions</groupId> <artifactId>jts-core</artifactId> <version>1.14.0</v

2021-11-01 23:37:15 1202

原创 AviatorScript编译生成的字节码为何比Java代码慢?

一、快速了解1.问题实现同样功能的Java代码与AviatorScript代码,两者均会将代码编译成JVM可以执行的字节码,但是两者执行代码所消耗的时间,却有几十倍甚至上百倍的差距。在AS(AviatorScript简称)中,实现相同的功能,更换一种写法,其执行耗时可能也存在极大的差距。2.原因• AS将表达式编译生成的字节码与Java代码编译生成的字节码有较大差异,AS生成的字节码在执行时存在大量的类型转换、条件判断以及为了统一输入输出所做的额外操作,这些都是AS生成的字节码执行速度慢的原因,并且

2021-10-24 16:21:06 3074

原创 AviatorScript之获取动态生成的字节码

在ASMCodeGenerator.class中的getResult方法,会获得bytes数组,最终会根据这个字节数组生成class类,想要知道AS生成的字节码文件,就需要拦截下这个bytes数组。注意:在Aviator初始化instance时也会动态生成字节码,为了防止找到的bytes数组并不是我们自己的,应等其初始化完毕后,再打断点调试该方法。(低版本的Aviator初始化instance时不会生成字节码) /* * (non-Javadoc) * * @see com.goo

2021-10-22 01:03:22 704

原创 表达式引擎Aviator基本介绍及使用以及基于Aviator的规则引擎(附代码详细介绍)

1. Avaitor1.1 什么是Avaitor?Aviator是一门高性能、轻量级的Java语言实现的表达式求值引擎,主要用于表达式的动态求值。1.2 为什么需要Avaitor?Aviator的设计目标是 轻量级 和 高性能 ,相对于Groovy、JRuby的笨重,Aviator非常小,加上依赖包就450K,不算依赖包就70K,不过Aviator的语法受限,它并不是一门完整的语言,只是语言的一小部分集合。1.3 Avaitor的特点Aviator的实现思路与其它轻量级的求值器不同,其它求值器是

2021-07-18 05:30:37 28310 7

原创 【Postman】使用Postman请求带有@RequestBody注解的参数

例如我要请求该参数该参数的内部是这样子的那么我们Postman的请求该参数就可以这样子写例如像fullNames字段,其本身依旧还是一个类,内部还有属性,就参照我请求里fullNames的写法。

2021-01-31 11:51:37 1558

原创 【Java】使用Executors创建线程池的缺点

创建线程池最好不要使用Executors去创建,而是通过ThreadPoolExecutor的方式创建,通过这样子的创建方式,写的人就更加清楚线程池内部的运行规则,可以尽量避免内存溢出的情况。

2020-11-24 18:43:36 2878

原创 【Java】线程池简介(7大参数、4个拒绝策略)

池化技术是一个常用技术,主要目的都是为了避免对象的频繁创建和销毁带来的额外性能损耗。线程池的目的也是为了减少频繁的创建线程和销毁线程带来的性能损耗。通过利用线程池中已存在的线程去接收新的任务,可以减少创建和销毁带来的性能损耗。

2020-11-24 16:44:18 655

原创 Java创建多线程的四种方式(简单介绍+代码)

本文介绍创建多线程的四种方式:①继承Thread类。②实现Runnable接口。③实现Callable<T>接口,该接口需要传入泛型,泛型的类型就是线程执行完毕需要返回的值的类型。④使用线程池(线程池的操作就花里胡哨了,我这里就拿newFixedThreadPool来做例子)

2020-11-24 11:26:27 385 1

原创 Java多线程之生产者-消费者模型的三种写法(Synchronized、ReentrantLock、ArrayBlockingQueue)

通过Java代码来实现多线程的生产者消费者模型

2020-11-23 12:54:26 754 4

原创 Java使用volatile或Condition实现多线程按序交替打印

通过volatile或Condition来实现多线程按序交替打印的代码

2020-11-22 23:04:09 423

原创 Java统计多线程执行完毕后的总耗时(CountDownLatch)

关于计算多线程并发执行的总耗时,可以使用CountDownLatch类的await()方法和countDown()方法来实现

2020-11-22 17:41:58 3815 4

原创 Java CAS算法简介及简单模拟CAS算法

CAS算法的流程是:先读取一个预期值(**A**) → 从内存中读取一个值(**V**),如果A == V,那么就将新的值(**B**)给写入内存,如果A != V,那就不做任何操作。

2020-11-22 15:14:22 622 3

原创 Java(树的前中后序遍历构造二叉树题型整合)前序和中序、中序和后序、前序和后序遍历序列构造二叉树算法整合归纳

二叉树前序和中序、中序和后序、前序和后序遍历序列构造二叉树算法整合归纳

2020-10-24 00:02:33 261

原创 Java迭代法和递归法实现二叉树的前、中、后序遍历(附详细讲解)

递归法实现二叉树的前、中、后序遍历的代码比较容易理解,不过迭代法来实现就比递归法稍微要复杂一点,所以我就将迭代法和递归法实现二叉树的前中后序遍历来做一个总结,将三种遍历的迭代法和递归法放到一起来,方便大家的理解,以及发现其中的共同点

2020-09-29 14:40:49 558

原创 Java有限状态机解力扣题:8. 字符串转换整数 (atoi),代码实现及详细解析

使用Java通过有限状态机解力扣题:8. 字符串转换整数 (atoi),附代码以及详细解析

2020-08-24 12:20:45 436 1

原创 【Java】将二维数组存入txt文件及读取txt文件转换为二维数组(超详细备注)

通过Java语言将二维数组存入txt文件及读取txt文件转换为二维数组

2020-07-25 12:18:11 5619

原创 Java超详细的稀疏数组和二维数组相互转换以及将数据存入磁盘的步骤

Java编程的稀疏数组和二维数组间的相互转换:1.创建一个二维数组 2.将二维数组转换为稀疏数组 3.将稀疏数组保存到磁盘中 4.读取磁盘中的文件,转换为稀疏数组 5.将稀疏数组转换为二维数组

2020-07-25 11:52:48 1002 2

原创 Java连接mysql数据库的详细教程

面向新手,一步一步教你如何通过java连接mySql数据库

2020-07-14 15:28:59 3349

原创 Java中Thread的常用方法介绍及线程的优先级介绍

介绍了1.run()方法2.start()方法3.currrentThread()方法4.getName()方法5.setName()方法6.yield()方法7.join()方法8.sleep()方法9.isAlive()方法。介绍了线程的优先级

2020-06-09 18:48:25 334

原创 Java创建多线程的两种方法的详细步骤介绍

主要介绍通过继承Thread类的方法创建多线程的步骤和实现Runnable接口的方法创建多线程的步骤。比较了Thread和Runnable两者的区别、联系、共同点,解释为什么开发中应该用Runnable来创建多线程。

2020-06-09 07:52:15 630 1

原创 Java大白话介绍~设计模式:模板方法(TemplateMethod)

大白话介绍设计模式:模板方法,尽量让大家都能了解模板方法的意思。

2020-06-04 21:54:13 296 3

原创 Java单例模式(饿汉式和懒汉式)代码

所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。如果我们要让类在一个虚拟机中只能产生一个对象,我们首先必须将类的构造器的访问权限设置为private,这样子,我们就不能用new操作符在类的外部产生类的对象了,但在类的内部仍可以产生该类的对象。因为在类的外部开始还无法得到类的对象,只能调用该类的某个静态方法以返回类内部创建的对象,静态方法只能访问类中的静态成员变量,所以,指向类内部产生的该类对象的变量也必

2020-06-03 21:48:46 2767

原创 Java中instanceof的解析

例:a instanceof A,为判断左边的a是否是右边A的实例,如果a是A的实例,那么返回true,否者返回false,这个判断主要是为了防止a强转为A时报错。

2020-06-03 11:23:17 326

原创 Java面向对象(设计类的重要结构之一:属性)

属性和局部变量之间的相同点和不同点1.相同点:①定义变量的格式:数据类型 变量名 = 变量值②先声明,后使用③变量都有其对应的作用域2.不同点①在类中声明的位置不同属性:直接定义在类的{ }中局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量②关于...

2020-06-03 10:12:10 280

原创 Java递归法解汉诺塔问题,逐步解析

逐步讲解汉诺塔问题,通过递归解汉诺塔,符Java实现代码

2020-06-02 21:33:53 1999 3

原创 Java通过递归法解斐波那契数列(附代码及讲解)

通过java递归法解斐波那契数列,有具体实现代码及递归思想的简单介绍

2020-06-02 17:00:58 2339

原创 Java面向对象(类与对象)解析

面向对象和面向过程的区别1.面向过程:强调的是功能行为,以函数为最小单位,考虑的是怎么做。2.面向对象:强调具备了功能的对象,以类、对象为最小单位,考虑的是谁来做。通过面向对象完成一个项目或者功能的思路1.根据问题的需要,选择问题所针对的现实世界中的实体2.从实体中寻找问题相关的属性和功能,这些属性和功能就形成了概念世界中的类。3.把抽象的实体用计算机语言进行描述,形成计算机世界中类的定义。再借助某种程序语言,把类构造成计算机能够识别和处理的数据结构。4.将类实例化成计算机世界中的对象。对象是

2020-06-02 08:06:22 256

原创 Java 通过代码详细讲述可变个数形参的注意事项及使用方法

Java可变个数形参是jdk 5.0新增的内容,熟练使用可以方便我们的编程下面我来详细介绍一些可变个数形参的注意事项及使用方法。

2020-05-29 20:49:11 299

原创 Java 的main方法中无法调用自身所在类的其他方法的两种解决办法

编程时我们会发现有时main方法中调用自身所在的类的其他方法时,发现无法调用,在这里我列出了两种解决方法,并作解释

2020-05-29 08:13:49 4354

原创 Java 冒泡排序算法(详细过程讲解并附实现代码)

冒泡排序算法是由左向右,按顺序对两个数据比大小(如果是想数据由小到大排列),前一个比后一个大,那么就交换一下位置。每循环一轮,都会将该轮循环所遇到的最大的数排到最后面。假设数组长度是length,那么只要循环length - 1轮就可以把该数组按照由小到大排列好了。

2020-05-28 14:48:55 5483 1

原创 Java 实现二分查找(附代码及简单讲解)

用java通过实际代码演示,及对代码讲解,解释二分查找的逻辑。

2020-05-27 21:54:52 2849

原创 Java 通过switch解决输入年、月、日、求出是该年的第几天(考虑了闰年及非法输入的问题)

该方法主要是java语言通过witch来解决问题,并不是该问题的最优选择,只是该问题的其中一种解法。该解法考虑了年份是不是闰年及判断用户输入的数据是不是不合理的数据,并给出相应的提示。

2020-05-26 08:24:11 914

原创 Java两种不声明第三个变量实现两变量数值交换的优缺点

Java两种不声明第三个变量实现两变量数值交换的优缺点

2020-05-25 11:12:59 281

原创 Java中自增运算符(++)num++ 和算数运算符(+)num = num + 1 和 赋值运算符(+=)num += 1的区别

先声明一个变量int num = 0;假设要对该变量加一,通常有三种方法:num = num + 1;num += 1;num++;上述三种都可以使 num 最终结果等于1;可是上述三种运算它们有什么区别呢?其内部运算性质是一样的吗?答案是否定的。

2020-05-24 22:43:58 2075

原创 DOS命令快速访问某个文件夹的小技巧

DOS命令快速访问某个文件夹的小技巧

2020-05-24 16:15:58 915

原创 Windows计算机常用的DOS命令

记录了常用的DOS命令以及如何打开DOS

2020-05-23 22:55:04 307

原创 Windows文件结束符解释(C++)

对windous文件结束符Ctrl + Z进行解释,此处使用了C++作为例子。

2020-05-23 17:36:25 1623

mysql-connector-java-5.1.7.zip

mysql驱动,用于java连接mysql数据库时需要导入的jar包,通过导入该驱动程序,可以实现java连接mysql数据库,通过java来对mysql进行增删改查的操作。

2020-07-14

HTML5清华大学滚动图效果.zip

用HTML5制作的清华大学滚动图效果:定时滚动、图片索引、点击索引滚动到索引对应的图片,点击左右按钮实现滚动。有问题可以私聊

2020-05-23

HTML5 canvas时钟效果.zip

用HTML5的Canvas制作的时钟显示效果,绘制了表盘,时针,分针,秒针以及数字时间的显示,对该文件有问题可以私聊

2020-05-23

HTML5仿百度制作简单的登录界面.zip

用HTML5制作的仿照百度的简单登录界面,登录验证,登录后进入登录信息显示界面,大学HTML5的登录界面小作业,有问题可以私聊

2020-05-23

空空如也

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

TA关注的人

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