自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (6)
  • 问答 (1)
  • 收藏
  • 关注

原创 java使用geotools导出shp文件

java使用geotools导出shp文件

2023-11-12 15:45:33 1527 8

原创 java使用geotools解析矢量数据kml、geojson、shp文件

java使用geotools解析常见三种格式(kml、geojson、shp)的矢量数据。

2023-11-11 22:18:02 3524

原创 微服务网关、SpringBoot、Nginx、tomcat8配置跨域

为什么会有跨域情况,主要是因为浏览器的同源策略,浏览器对javascript施加的一种安全限制。所谓同源策略,可以看成是一种约定,它是浏览器最核心也是最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能都可能会受到影响。三者之间任意一个不同,A端向B端发送请求就会导致跨域。跨域是A端向B端发送请求,A端与B端的地址。

2023-06-03 12:37:28 784

原创 java使用geotools读取shp文件

GeoTools是一个开源的Java GIS工具包,可利用它来开发符合标准的地理信息系统。GeoTools提供了OGC(Open Geospatial Consortium)规范的一个实现来作为他们的开发。一份完整的shp文件应该至少具备这三个文件:dbf(存储矢量数据的属性信息)、shp(存储矢量数据的空间信息的)、shx(保留要素几何学特征的索引文件)。下面直接具体解析的代码。

2023-01-03 15:22:03 3214 3

原创 websocket+定时任务实现实时推送

有时候业务要求websocket连接后,服务端实时每隔一段时间就将数据推送给客户端进行响应,这时就需要websocket+定时任务一起来实现实时推送数据给客户端了。实现的业务需求如下:客户端连上来以后就每隔3秒向客户端实时推送消息。有关websocket的实现见文章。使用的定时任务方式为spring的TaskScheduler对象实现任务调度。效果就是每个3秒执行一次。

2022-12-28 16:30:41 4771 7

原创 websocket简单实现

websocket是HTML5下一种新的协议,本质上websocket是一个基于tcp的协议。它实现了浏览器与服务器之间的双向通信,能更好的节省服务器资源和宽带并实现实时的通信。afterConnectionClosed:连接关闭后调用。2、实时性更强:服务端可以通过连接主动向客户端推送消息。下面介绍spring集成的websocket的使用方法。3、有状态:开启连接之后可以不用每次都携带状态信息。handleMessage:处理发送来的消息。1、使用的资源少,因为它的头更小。

2022-12-28 15:41:48 1066

原创 springboot动态数据源切换

实际业务需求中,往往可能有一些业务需求需要连接多个库,这时就需要一个项目配置多个数据库的情况,本文讲解实现数据源的动态切换的其中一种方式。1、就是将多个数据源全部注入到bean中,根据需要实现多数据源之间的切换。2、使用baomidou的@DS注解。

2022-12-27 16:48:43 2302 1

原创 @DS注解实现动态数据源切换

当注解添加到方法上时,意味着此方法上使用的数据源优先级高于其他一切配置;当注解添加到类上,意味着此类里的方法都使用此数据源;执行此方法时使用的就是从库数据源配置。@DS注解可以作用于方法、类上。

2022-12-27 16:42:25 5224

原创 java根据模板导出word poi-tl使用Word模板和数据创建Word文档

java根据模板导出wordpoi-tl(poi template language)是Word模板引擎,使用Word模板和数据创建很棒的Word文档。poi-tl官方文档创建word模板模板是Docx格式的Word文档,所有的标签都是以{{开头,以}}结尾,标签可以出现在任何位置,包括页眉,页脚,表格内部,文本框等,表格布局可以设计出很多优秀专业的文档,推荐使用表格布局。poi-tl模板遵循“所见即所得”的设计,模板和标签的样式会被完全保留。下面是一个简单的word模板,包括了文本、

2022-05-09 17:28:21 7021 1

原创 hutool ExcelUtil导出excel、读取excel内容

hutool导出excel、读取excel内容导出读取excel内容ExcelUtil为操作Excel的工具类,包括封装的excel读取的ExcelReader对象,excel生成的ExcelWriter对象。

2021-12-29 17:01:37 10042

原创 docker安装kafka、kafka管理端kafka-manager

由于kafka需要依赖于zookeeper,安装kafka分为以下三步:1、安装zookeeper集群。2、安装kafka。3、安装kafka-manager管理端。

2021-12-28 17:09:12 4545

原创 docker安装rocketMQ和安装过程中出现问题的解决

docker安装rocketMQ拉取rocketmq镜像创建namesrv创建单个broker节点rocketMQ-console服务本文主要介绍安装rocketMQ4.4.0,主要分为四步,分别为:1、拉取rocketmq镜像。2、创建namesrv。3、创建broker节点,我在这里介绍的是创建单个broker的。4、rocketMQ-console服务,用于管理rocketMQ的管理界面。拉取rocketmq镜像docker命令如下docker pull rocketmqinc/r

2021-12-26 17:18:49 1266

原创 java调用第三方接口的三种方式+接口需要登录验证问题的解决

java调用第三方接口HttpClientHttpURLConnection推荐 : hutool工具类HttpRequest总结HttpClient public void httpClientTest(){ //创建HttpClient对象 CloseableHttpClient httpClient = HttpClients.createDefault(); //创建get请求 //HttpGet httpGet = new HttpGet("

2021-01-19 09:53:59 6567 4

原创 解决:解决BeanNotOfRequiredTypeException: Bean named ‘xxx‘ must be of type xxx, but was actually of typ问题

BeanNotOfRequiredTypeException: Bean named 'xxx' must be of type xxx, but was actually of typ问题问题描述:BeanNotOfRequiredTypeException原因分析:项目中同时使用定时任务+websocket冲突解决方案:创建ThreadPoolTaskScheduler问题描述:BeanNotOfRequiredTypeExceptionspringboot项目启动时报错,如下:Error sta

2021-01-18 10:08:24 2127 1

原创 Guava.common.base.Strings---方法的使用

Guava---Strings将null转化为空字符串--->nullToEmpty将空字符串转化为null--->emptyToNull判断字符串是否为null/""--->isNullOrEmpty在string前追加到自定长度--->padStart在string后追加到自定长度--->padEnd复制string--->repeat最长公共前缀--->commonPrefix最长公共后缀--->commonSuffix根据模板参数格式化输出---&gt

2021-01-18 09:44:35 513

原创 使用Goole Guava中的Preconditions类,让你的代码更加优雅简洁!!!

Preconditions类,让你的代码更加优雅简洁!!!checkArgument(boolean expression)检查表达式是否为空最近发现一个非常好用的类库,那就是Java的Google核心库Guava。其中包括新的集合类型(例如多图和多集),不可变的集合,图形库以及用于并发,I / O,哈希,缓存,基元,字符串等的实用程序。今天先来说说guava.common.base下的Preconditions类,让我们的代码变得更加的优雅简洁。我们为什么说Preconditions类让我们的代

2021-01-12 10:23:57 892 1

原创 DatabaseMetaData类的getTable()、getColumns()方法使用,以及参数的传递问题,针对oracle、mysql、postgres三种数据库进行举例

DatabaseMetaData类DatabaseMetaData实例的获取获取数据库属性的方法getTable()方法getColumns()方法DatabaseMetaData类是java.sql包中的类,利用它可以获取我们连接到的数据库的结构、存储等很多信息。如:1、数据库与用户,数据库标识符以及函数与存储过程。2、数据库限制。3、数据库支持不支持的功能。4、架构、编目、表、列和视图等。通过调用DatabaseMetaData的各种方法,程序可以动态的了解一个数据库。Database

2020-12-14 15:47:34 7064 3

原创 Oracle、MySql、PostgreSql获取数据库表的字段长度类型注释以及数据库表的注释

Oracle、MySql、PostgreSql获取数据库表的字段长度类型注释以及数据库表的注释OracleMySqlPostgreSql总结Oracle查询表结构select u.table_name as "表名", u.column_name as "列名", u.comments as "列注释", us.data_type as "数据类型", us.data_length as "数据长度"from user_col_comments u left join user_t

2020-12-11 17:17:58 1255

原创 ArrayList和LinkedList区别

ArrayList和LinkedList区别ArrayList 继承自AbstractList,实现了List、RandomAccess、Cloneable、Serializable接口LinkedList继承自AbstractSequentialList,实现了List、Deque、Cloneable、Serializable接口ArrayList底层是数组,LinkedList底层是双向链表。因为ArrayList底层是数组,查询会非常快,可以通过索引下标直接查询,查询的时间复杂

2020-07-07 18:17:23 250

原创 JVM内存模型详解

JVM内存模型图解程序计数器虚拟机栈本地方法栈堆方法区(元空间)图解JVM内存模型主要由运行时数据区、类加载子系统、执行引擎组成。类加载子系统将硬盘上的.class文件加载到运行时数据区,由执行引擎来执行刚刚加载的数据。这就是jvm运行java运行程序的一个基础。程序计数器程序计数器:程序计数器是指虚拟机字节码指令的地址,它是一块很小的内存空间,也是运行速度最快的存储区域。那么jvm内存模型中为什么需要程序计数器呢?因为处理器要执行的程序都是以二进制代码序列方式预存储在计算机的

2020-07-06 15:21:04 266

原创 线程/进程(一)

初学线程进程并发、并行线程与进程进程线程线程调度分时调度抢占式调度线程的创建继承Thread类实现Runnable接口Thread和Runnable的区别注意并发、并行并发:指两个或多个事件在同一个时间段内发生。并行:指两个或多个事件在同一时刻发生(同时发生)。线程与进程进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程。进程也是程序的一次执行过程,是系统运行程序的基本单位。系统运行一个程序即是一个进程从创建、运行到消亡的过程。线程:线程

2020-07-04 21:46:27 271

原创 快速排序的原理,图解,代码实现,时间复杂度分析

冒泡排序、插入排序、选择排序希尔排序归并排序快速排序排序原理图解排序过程代码的实现代码实现的API分组原理拆分原理图解代码实现时间复杂度分析快速排序是对冒泡排序的一种改进,他的思路是:通过一趟将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。排序原理首先设定一个分界值(一般将待排序数字的第一个作为分界值)通过该分界值将数组分成左右两部分。将大于或等于

2020-07-02 12:22:56 935

原创 归并排序的原理、图解、代码实现、时间复杂度分析

归并排序归并排序概述排序原理排序图解代码实现具体实现合并的图解代码实现时间复杂度分析归并排序概述归并排序是建立在归并操作上一种有效的排序算法,该算法采用分治法的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。排序原理排序原理:尽可能的将一组数据拆分成两个元素相等的子组,并对每一个子组继续拆分,直到拆分后的每个子组 的元素个数是1为止。将相邻的两个子组进行合并成一个有序的大组。不断的重复

2020-07-01 22:10:38 529

原创 希尔排序的原理,图解,java代码实现

希尔排序希尔排序就是一种插入排序,又称“缩小增量排序”,是插入排序算法的一种更高效的改进版本。排序原理排序原理:选定一个增长量h,按照曾长亮h作为分组的依据,对数据进行分组。对分好组的每一组数据完成插入排序。减少增长量,最小减为1,重复第二步操作。举例排序过程对{9,1,2,5,7,4,8,6,3,5}进行排序。如下图代码实现成员方法:public static boolean greater( int a,int b) 判断a是否大于b,返回true/falsep

2020-07-01 18:23:25 420

原创 三种简单排序算法的原理及实现---冒泡排序、选择排序、插入排序

三种简单排序冒泡排序举例子:4,5,6,3,2,1的整个排序过程代码实现时间复杂度分析冒泡排序排序原理:比较相邻的元素,如果前一个元素比后一个元素大,就交换这两个元素的位置。对每一对相邻元素做同样的工作,从开始第一对元素到结尾的最后一对元素,最终最后位置的元素就是最大值。举例子:4,5,6,3,2,1的整个排序过程代码实现确定排序的次数,有多少个元素即为排序多少次。每一排序就是比较相邻元素,所以使用for循环嵌套。每一次排序结束后,待排序的数的数量减1.具体代码时间

2020-06-29 21:46:52 939 1

原创 Redis连接池的配置与使用

Redis连接池jedis连接资源的创建与销毁是很消耗程序性能,所以jedis为我们提供了jedis的池化技术,jedisPool在创建时初始化一些连接资源存储到连接池中,使用jedis连接资源时不需要创建,而是从连接池中获取一个资源进行redis的操作,使用完毕后,不需要销毁该jedis连接资源,而是将该资源归还给连接池,供其他请求使用。下面给出 jedis详细配置的一些项#最大总连接数 redis.pool.maxTotal=1000 #最大能够保持idel状态的对象数(最

2020-06-09 18:08:39 4391

原创 Java实现手机验证码----阿里云

Java对接阿里云短信验证码接口 之前尝试了挺多的验证码服务平台,不过数字签名一直不能通过, 需要什么证书之类的, 不过现在发现阿里云这个平台的短信验证操作简单, 而且使用起来也比较方便。 那现在就来详细的说说吧。首先去阿里云的官网注册一下,用支付宝扫码注册认证很快。阿里云官网登录成功后,在搜索框直接搜索 短信服务—>进入到管理控制台,他会出现让你立即开通,点击立即开通就可以了。然后找到右上角点击头像—>AccessKey管理---->点击创建AccessKe

2020-06-09 09:54:54 527

原创 第一次搭建mybatis环境

搭建mybatis环境什么是MyBatis?MyBatis是一流的持久性框架,支持自定义SQL,存储过程和高级映射。MyBatis消除了几乎所有的JDBC代码以及参数的手动设置和结果检索。MyBatis可以使用简单的XML或注释进行配置,并将图元,映射接口和Java POJO(普通的旧Java对象)映射到数据库记录。导入mybatis的jar包(1)Maven导包:<dependency> <groupId>org.mybatis</groupId>

2020-05-19 16:00:49 315

原创 java基础面试题

java基础面试题访问控制修饰符defaultprivatepublicprotected非访问修饰符static修饰符static修饰变量:static修饰方法:final修饰符abstract 修饰符修饰类---抽象类修饰类---抽象方法final修饰类final修饰方法final修饰成员变量运算时数据类型的转换doublefloatlongintjava的8大数据类型,各占字符个数访问控制修饰符Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。分别有default(默认,即

2020-05-17 16:13:03 418

原创 使用Cookie实现记住密码,并且密码加密

Cookie实现记住密码做项目的时候,会有登录功能,就会有一个记住我的功能,我们常常选择使用Cookie来存信息。为什么用Cookie呢?1.HTTP协议是无状态的,服务器无法记录用户上一次的操作,这样就造成了交互上的阻碍。而Cookie就可以做到绕开HTTP的无状态。服务器借由从Cookie中读取包含的信息,借以维护用户和服务器会话中的状态。2.Cookie缓存的信息是存到你的硬盘上的...

2020-05-07 15:49:29 1799

原创 jquery解析XML实现省市区级联

使用jquery解析xml实现省市区级联首先要先准备好全国省市区级联的XML文件。areas.xml文件这里只给一部分作为测试<?xml version="1.0" encoding="UTF-8"?><china> <province name="北京市" code="110000"> <city name="北京市" code="11...

2020-05-05 10:45:02 213

原创 java实现支付宝接口---支付

java实现实现支付宝接口蚂蚁沙箱环境 (Beta) 是协助开发者进行接口功能开发及主要功能联调的辅助环境。可以模拟实现支付宝的支付功能。接下的实现技术是运用到springmvc注解方法实现的支付。文章目录java实现实现支付宝接口准备工作java代码实现支付支付宝沙箱支付的官方文档准备工作去支付宝开放平台,用你的支付登录开通沙箱支付的服务。支付宝开放平台点击右上角的立即入...

2020-05-04 14:55:58 5031 3

原创 第一次创建maven项目

第一次创建maven项目关于maven项目的安装与配置可以看这边文章---->maven的安装与配置第一次使用eclipse创建maven项目:打开eclipse–>点击Window --> Preferences --> Maven --> User Setting...

2020-03-25 16:42:10 730

原创 Maven安装与配置

Maven安装与配置Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确...

2020-03-25 15:44:57 491

原创 java导入excel文件的数据

java导入excel文件的数据实现java批量导入excel文件能让我们在处理数据方面带来了很多方便之处。Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。注意:POI是对Microsoft Office格式档案读和写的功能,所以你要用的必须是Microsoft Office的excel...

2020-03-22 14:06:44 427

原创 java-springmvc 邮箱发送验证码

springmvc 邮箱发送验证码这是基于mave项目,springmvc的邮箱发送验证码。要实现发送验证码,无论你是使用网易邮箱还是qq邮箱,都要开启POP3/SMTP服务 ,获取一个授权码。项目部署如下图:1. 创建web的maven项目,导入一下包,pom.xml文件的配置如下: <!-- spring的依赖包 --> <dependency>...

2020-03-20 15:19:15 1066 1

原创 Tomcat启动时报错:Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds.

Tomcat启动时报启动时间没有在45秒内,解决办法最近启动Tomcat时,经常出现如下错误:Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds.If the server requires more time, try increasing the timeout in the serve...

2020-03-19 13:43:07 667

原创 HttpClient

HttpClientHttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。主要提供一下功能:(1)实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等)(2)支持自动转向(3)支持 HTTPS 协议(4)支持代理服务器等...

2020-03-17 15:36:22 131

原创 jquerty获取input,radio,checkbox,select标签的值

jquerty获取input,radio,checkbox,select标签的值在使用jquert时,要先导入jquerty的文件1.input的type="text"输入框 <body> uname:<input type="text" id="name"/> </body> <script src="js/jquery-1.8.3.m...

2020-03-06 16:30:07 287

原创 线程实现自动播放图片

线程实现自动播放图片只要运用到线程实现每隔5秒钟让swt的背景图片更换一张,就相当于实现自动播放图片。具体代码如下: //启动线程每隔5秒就更换主界面的背景 new Thread(new Runnable(){ //将要设置的图片的路径存放到数组中 String[] str=new String[]{"F:/center.jpg","F:/timg.jpg","F:/ti...

2020-02-27 15:05:58 528

pakage.zip

这里面主要包含了用阿里云做短信接收验证码,所需要的的所有架包,欢迎大家下载!包含了所需要的的所有的架包

2020-06-08

md5加密解密js文件.zip

运用js来使用md5加密和解密库!运用js来使用md5加密和解密库!运用js来使用md5加密和解密库!运用js来使用md5加密和解密库!

2020-05-07

省市区级联的XML文件

里面包含中国所有的省,省包含的所有市,市包含的所有区的xml文件,内容完整。用来xml解析做省市级联区的工具包,节点之间存在相应的联系

2020-05-05

swt-jdbc-orcal数据库实现酒店管理系统

主要运用swt绘制界面,orcal数据库对数据进行管理,运用jdbc对数据进行操作,有些功能还运用到多线程技术。主要分为客户预定酒店端和酒店管理人员对客户预定的房间的一个处理和客户资料,房间管理等功能。

2020-03-18

HitChess.zip

主要运用Socket,SeverSocket和线程实现网络版对战五子棋,有基本的登录进去,然后下棋的功能

2020-03-17

MySql连接数据库---DBHelper封装.zip

对连接MySql数据库进行增删查改的封装,压缩包中带有mysql的驱动 代码易懂,有详细的注解供参考

2019-12-11

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

TA关注的人

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