
Java
文章平均质量分 85
CrazyDragon_King
纸上得来终觉浅,绝知此事要躬行。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JDK多版本共存
前言: 最近因为学习一些东西,需要使用一个低版本的 JDK。我现在安装的是JDK17,但是我的工具只支持 JDK8,所以我就需要同时存在多个 JDK 环境了。网络上的教程,大多是使用的时候在环境变量中进行切换 jdk 的版本,我不喜欢这种方式。所以我用了另一种方式。修改 java.exe 和 javac.exe这里我把 jdk8 bin 目录下的 java.exe 和 javac.exe 备份之后,重命名为 j8.exe 和 j8c.exe。添加到环境变量中这里不多说了,直接上图吧,跟着箭头走就行原创 2022-03-20 16:01:09 · 1791 阅读 · 0 评论 -
HTTP协议实现视频效果
前言: 前端时间给树莓派配了一个摄像头,然后玩了一下motion,感觉是一个很有意思的东西。特别是它实现视频监控的方式,感觉很有趣,前端访问的只是一个静态的图片,但是用户看到的是一个连续的监控画面,并且页面显示一直在加载中,也是很让人好奇。后来经过探究,发现了原来它是通过不停的返回连续的图片数据,浏览器不停加载不同的图片,给人一种视频的感觉。这是一个很有趣的知识点,所以就准备和大家分享一下吧。HTTP首部的秘密先来一睹为快吧,这是当时获取的motion的HTTP响应报文的报头数据。HTTP/1.0 2原创 2021-05-30 00:14:24 · 2788 阅读 · 3 评论 -
内网穿透实现基于树莓派的网络摄像头
前言: 上一篇博客已经提到了我自己买了一个树莓派摄像头,搭建了一个局域网监控系统。但是这个东西不能在外网访问的话,它是实际应用价值就很低了。因为当时选择的钉钉内网穿透方式不能使用(指令集不兼容),所以我就暂时放弃了,转而思考了使用自己的网络编程知识来模拟实现一下内网穿透的效果。然后,我的同学给我提出了建议,要是可以使用流媒体就更好了(实际上我也不会流媒体,不过我倒是有一点兴趣)。我于是在当时的代码基础上,又进行了改进,专门针对motion实现的局域网监控方式,重新写了一个代码,希望可以实现外网访问motio原创 2021-05-19 02:03:41 · 1288 阅读 · 0 评论 -
黑盒方式模拟实现内网穿透
前言:最近准备使用树莓派搭建一个内网监控系统,然后在外网访问。因此选择了钉钉内网穿透的方式,因为这种方式最为简单,但是由于树莓派的架构是ARM指令集,所以无法运行成功,钉钉内网穿透只能在我的X86笔记本上面运行了。但是我倒是对内网穿透这个概念特别感兴趣了,所以就想着能不能利用自己所学习的知识,自己来模拟实现一个内网穿透工具。1. 内网穿透简介从黑盒的角度理解: 通常个人电脑无论是连接WIFI上网还是用网线上网,都是属于局域网里边的,外网无法直接访问到你的电脑,内网穿透可以让你的局域网中的电脑实现外网访原创 2021-05-12 16:48:04 · 783 阅读 · 3 评论 -
(1)从服务器下载文件
前言最近发现我自己运行在阿里云服务器上面的一个小服务,无法正常访问了。通过浏览器访问或者postman就是一直处于发送请求的状态,但是不会报超时也不会停止。所以,我就想把日志文件nohup.out拿下来查看一下,因为在服务器上面查看很不方便。但是,我由于对于Linux的了解还是不够,居然不知道怎么把文件下载到本地。我以前只用过scp向服务器上传文件,但是下载文件我是真的没有搞过。后来发现反过来用scp就行了,但是当局者迷,旁观者清,当时不知怎么的,就没反应过来!需求但是我是一定要看看这个日志的,所以我原创 2021-01-30 02:15:40 · 1803 阅读 · 2 评论 -
网络分层之TCP和HTTP
这里是一个B站的视频:计算机网络是分层的,URL的简单介绍URL即统一资源定位符,它是一个由多部分组成的字符串,最多可以有9部分组成。但是有些部分是很少见的,这里我们就只需要知道最常见的几部分就行了。这里以一个具体的图片的url访问为例来介绍网络的分层的概念:安徽师范大学的图标(https://www.ahnu.edu.cn/images/xiaobiao/201909160850436754JR.png)按照从前往后的顺序:protocol 协议:httpshost 主机:www.ahnu原创 2021-01-04 17:04:13 · 707 阅读 · 6 评论 -
WebSocket入门介绍及编程实战
前言:最近看了几天的WebSocket,从以前的只闻其名,到现在也算是有一点点的了解了。所以就准备用博客记录一下自己的学习过程,希望也能帮助其它学习的人,因为我本人学习的过程中也是参考了很多其它人的博文。 这里主要是想了解一下WebSocket传输的协议帧,并使用java来模拟一个WebSocket客户端向服务端发送、接收数据。注:对于网络协议的学习,通过自己编程实现一些简单的功能是一种很有效的方式。例如使用Socket去下载网络图片或者访问接口等,你会遇到很多问题,解决它们之后,也会收获很多东西!We原创 2021-01-01 15:35:42 · 7245 阅读 · 3 评论 -
synchronized、Lock和ReadWriteLock快速认识
前言: 这里只是我自己对于synchronized、Lock和ReadWriteLock的一个简单认识,想要学习一样东西,先有一个大概的认识,以后再慢慢深入学习相关的知识。所以,这里就只是一个代码的展示和一些个人的理解。线程安全和同步为了提高CPU的利用效率,引入了多线程。但是为了线程的安全问题,又回到了同步(单线程一定是同步的)。这里使用一个简单的示例代码,来展示synchronized、Lock和ReadWriteLock的作用。首先提供一个简单的模型类:抽象投票类说明:一个抽象的模型类,用于原创 2020-12-15 00:10:15 · 268 阅读 · 3 评论 -
@Value注解给静态变量赋值的解决办法及原理探究
最近尝试通过读取配置文件中的配置,给某个类的静态变量赋值,发现居然没有成功,然后才知道原来是不支持给静态变量赋值的,解决办法就是将这个注解标注到实例方法上面,但是我们不仅要知道怎么做,还要知道为什么才行!案例复现配置文件内容注: 我这个eclipseSE版本的,对springboot支持不够好,这个yml需要下载插件能变色,不过eclipse的下载插件也不太方便,就没搞了,不过这里不影响我使用。配置类package org.dragon.config;import org.springfra原创 2020-12-10 21:13:10 · 1715 阅读 · 0 评论 -
利用纯真ip库搭建ip查询服务
前言: 前段时间听过了纯真ip数据库,只知道是一个qqwry.dat文件,里面有一些网友收集的数据,可以用来查询ip的大致位置,即ip定位。正好,我最近在一个项目里面看到了这个数据库,它就是将qqwry.dat集成到springboot项目里面,做成一个查询服务来使用的。所以,我也想来试试,但是我不是直接使用qqwry.dat这个文件。我换一种方式,我才用将qqwry.dat中的ip数据导入mysql数据库中,通过数据库的查询来提供ip位置查询功能。gitee代码地址: 纯真ip库服务搭建数据准备首先原创 2020-12-10 00:53:22 · 5151 阅读 · 9 评论 -
百度翻译api和SpringBoot集成
前言 因为最近经常使用百度翻译,点击去了好几次它的那个翻译api介绍页面,居然还有免费版本的,那咱不得体验体验嘛!百度在这点上做得就挺好的,其它的同类翻译api,我似乎没有看见对个人免费的(虽然有限制吧,当时总归是满足可用性的。)这里我就是把百度翻译的api集成到SpringBoot中,作为一个翻译服务来提供。注:这里吐槽一下,官方提供的Java代码示例,似乎无法编译通过!因为有一句代码:byte[] inputByteArray = input.getBytes("UTF-8");这里这个方法会抛原创 2020-12-03 00:17:25 · 2525 阅读 · 8 评论 -
基于SpringBoot的简易图片廊langdemo
前言 最近在学习SpringBoot,发现了很多有趣的知识。学习上面也有了新的理解,例如在SpringBoot中简单的文件上传和下载其实都已经很简单了,没必要像以前Servlet中那么复杂了,但是很多教程还在使用原来那些古老的api来处理(HttpServletRequest、HttpServletResponse或其之类),就显得有些不合时宜了。这里我准备了一个简单的图片廊demo,用来演示文件的上传和下载这一块,它的功能很简单,基本没有什么实际使用价值,但是作为一个小玩具来练手还是很好的。声明: 我原创 2020-12-01 22:54:34 · 551 阅读 · 10 评论 -
MultipartFile的transferTo方法的坑
前言 最近用SpringBoot写文件上传功能,使用参数绑定之后确实是非常的方便了。但是,项目部署就出现了问题,搞得我一脸懵逼。后来,才发现是因为我使用了相对路径导致的,这个绝对是一个坑人的地方,不过也说明需要学习的东西还有很多!案例再现@PostMapping("/uploadFile")public String uploadImg(@RequestParam("file") MultipartFile file, @RequestParam("equipmentId") String equip原创 2020-11-27 22:56:18 · 19418 阅读 · 11 评论 -
SpringBoot前后端分离参数传递方式总结
因为总是需要使用不同的参数传递方式,所以特地来总结一下SpringBoot中常用的传递参数的方式。SpringBoot参数传递注意:虽然Restful风格很流行,但是大部分还是主要是GET和POST的内容,所以这里只是列举GET和POST请求为例。GET请求方式01.单个键值对参数/** * GET 方式传递参数 单个参数 * */@GetMapping("/get01")public String get01(String comment) { return comment == n原创 2020-11-26 21:39:50 · 15223 阅读 · 14 评论 -
自定义404页面并打包docker部署项目
前言最近看了docker的用法,对于容器的理解感觉还行,当是自我感觉总是不靠谱的。所以现在就来使用docker容器实际部署一下项目,检验自己对于知识的掌握。SpringBoot项目和docker的简单实战结合自定义404页面因为这篇博客只是简单演示docker的用法,所以就使用一个简单的SpringBoot应用即可。并且我最近阅读了一篇关于大厂自定义404页面的文章,感觉非常有趣,也很有特点。所以,就拿我自己自定义404页面的demo作为演示的例子了。项目结构注:因为功能很简单,所以只是导入了原创 2020-11-18 22:50:06 · 571 阅读 · 2 评论 -
Redis缓存第一次尝试
前言看了几天Redis的理论知识,发现还是不知为何物。对于没有什么概念的事物,最好的方式就是直接用一用。所以,我就决定创建一个demo来实际使用一下Redis,这样先建立一个对于Redis的直观感受。这样就有了一个比较明确的目标:使用Redis。演示项目项目结构简要介绍:编写一个单表查询接口,根据id来查询数据。在此基础上引入Redis,作为缓存使用,体验Redis作为缓存来使用的好处。MySQL模式这里忽略了响应的部分,只看请求部分即可。客户端发起一个请求,经过服务器,然后从数据库查询数原创 2020-11-08 01:38:27 · 454 阅读 · 0 评论 -
MySQL乱码问题探究
前言客户端和数据库表使用同一种字符集,但是插入中文的时候,仍然出现乱码了!自从使用了mysql之后,就一直会遇到乱码的问题,以前也没有想过为什么。但是,这次又遇到了所以就来探究一下,到底是哪里出了问题呢?先来看一个具体的例子:实验探究建立一张简单的表注意我这里使用的字符集是utf8mb4,它就是我们所熟知的utf-8,因为mysql本身的utf-8有问题,所以官方增加的一个字符集(支持存储emoji表情包)。CREATE TABLE `login` ( `id` bigint(20) NO原创 2020-11-02 20:32:04 · 342 阅读 · 0 评论 -
VSCode不支持Java8的解决办法
因为最近想要写一些单个的java文件,使用IDE这种重量级的工具就有点杀鸡焉用牛刀的感觉了。所以,决定使用VsCode这种轻量级的工具,但是发现它居然不支持使用Java8。但是我发现网上的方法都挺麻烦的,总结了几个人的方法之后,现在给出一个简单一点的方法。这个方法的好处在于,只需要下载一个jdk11就行了,而且它和系统中配置的jdk也不会产生冲突,非常方便。下载OpenJDK11http://jdk.java.net/java-se-ri/11下载openjdk11,然后解压到任意一个盘,但是不用配原创 2020-10-25 21:24:32 · 8178 阅读 · 2 评论 -
Java网络编程之爬虫——计算机网络、应用层协议的综合应用
前言:前几天在B站上面,看到了一个使用C/C++实现的网络爬虫,我没有看视频,只是看了评论,这位up主应该就是只使用语言本身提供的包实现的爬虫。但是,我对这种方式很有兴趣,所以我就来实现一个Java版本的,正好也是综合运用自己学习的知识。具体效果:注意:爬取过程中,出现了几个time out,但是也不影响整个爬虫的工作(出现异常的图片,可能会损坏,但是几百张失败一两次还是可以接受的),所以这里也就不处理它了,我测试了一下,把超时时间调高一点,并且当前网络通畅的话,也就不会遇到这个问题了。推荐阅读原创 2020-10-25 01:14:05 · 1119 阅读 · 6 评论 -
WebMagic官方文档
前言:因为学习需要,有时候需要查看WebMagic的官方的文档,但是官方的文档是搭建在GitBook上面的,它的服务器在国外,有时候访问不是太顺畅,因此萌生了把GitBook上面的网页保存到本地的想法,这样就可以离线查看了文档了,不用受制于网络的问题。思路思路:我大致查看了gitbook上面的网页结构,左右是目录,右边是内容,这种方式阅读确实是挺方便的。然后抓取的思路也就是首先一次性把左右所有目录的url加入调度队列,然后依次下载每一页的html,然后将html转成markdown文本的形式。文档原创 2020-10-10 22:59:05 · 1819 阅读 · 2 评论 -
java仿前端开发工具HBuilder
前言最近在看一些前端的知识,但是只是看了一些标签的用法,真正到了使用的时候,却又写不出来,学习的效率很低,但是我也发现了一个有意思的点,当我在HBuilder中启动项目时,我就可以在浏览器中访问它了——这说明HBuilder本身启动了一个静态web服务器。所以,本着对这个的兴趣,我准备来自己模仿实现一个简单的HBuilder——这里只是实现可以在浏览器中访问这个特性。浏览器实现效果demo的目录结构说明:src目录下面是模拟的简单静态服务器的代码,然后提供了一个404.html页面,下面的re原创 2020-09-14 22:35:25 · 940 阅读 · 1 评论 -
AJAX和跨域——从Java程序员的角度理解
前言:最近遇到了ajax的跨域问题,让我觉得很是棘手。跨域,对我来说是一个熟悉又陌生的问题,熟悉是因为我听过几种解决方法,陌生是因为我自己从来没有主动处理过跨域的情况。而且,我其实并不会前端知识,只是了解一个大概,所以也就没什么机会尝试。即使遇到了,也因为不会前端的知识而放弃了。不过,因为学习了计算机网络的知识、HTTP的知识、Java网络编程,我觉得我可以站在我自己的角度深入探究一下这个问题了。跨域问题所谓的域指的是当前页面所处的URL,通常包括:protocol、host/ip、端口。只要这三个有原创 2020-09-12 11:02:32 · 440 阅读 · 1 评论 -
ArrayList的size、内部数组的length和序列化及反序列化
前言:抽时间看了一下ArrayList的代码,主要关注了它的序列化和反序列化这一块,因为这里有一个很有意思的点——用于保存数据的内部数组是使用transient修饰的。了解序列化知识的人都知道,如果一个变量被transient修饰的话,那么在序列化的时候它就会被忽略(当然了这里是针对Serialization这个接口),通常我们使用它来修饰一些我们不希望被序列化的数据,以达到保护的目的。但是,这里就会产生一个疑问,为什么ArrayList用于存储数据的内部数组elementData要使用transient原创 2020-08-29 15:48:50 · 2719 阅读 · 0 评论 -
HTTP首部——分块传输和持久连接
前言:最近写了几篇博客,讲解了几个HTTP首部,感觉自己对于知识的理解还行。现在让我们来了解以下分块传输和持久连接的概念吧。本来,我是不准备写关于持久连接的部分的,因为我都是使用socket模拟的短连接,基本用不上持久连接。但是当我使用分块传输的时候,它有一个特点。因为不适用分块连接的话,默认是有一个Content-Length首部的,但是使用了分块传输的话,就没有这个首部了。这样我的程序就很难终止了(但是也是有方法的)。所以,索性就一起都写入博客了!分块传输分块编码是属于传输编码这个范围的,不过我也原创 2020-08-17 20:56:41 · 5743 阅读 · 4 评论 -
HTTP首部——Content-Type的作用
前言对于我们习以为常的东西,却没有仔细思考它的作用。 HTTP的首部都各有个的价值,最近看到这个Content-Type,忽然让我想起来以前自己的一个小小的失误,而产生了一个bug。但是当时却搞得我焦头烂额,我在网络上查找了一圈也没有发现什么解决方案。最后,还是自己发现了写错的地方,而这个错误就是由于Content-Type所引起的。作为一名应用软件程序员,从计算机网络的角度来看,我们是工作在应用层的。所以对于应用层使用广泛的HTTP协议,还是要多了解一些。这样也有助于我们更好的理解应用,当出现我上面的这原创 2020-08-15 20:00:51 · 4346 阅读 · 0 评论 -
HTTP报文的内容编码——压缩报文实体
前言: 目前在看HTTP关于实体部分的内容编码部分,是一个很有趣的东西。在这里简单记录一下,学习到的概念,并通过两个程序来实际测试一下内容编码在传输上的效率。原创 2020-08-11 21:41:17 · 1820 阅读 · 0 评论 -
字节码文件的版本和UnsupportedClassVersionError
前言: 我们都知道JDK的不同版本编译的程序是有标识的,如果直接复制别人的class文件,在自己的机器上可能会遇到兼容性问题。如果对方的JDK版本太高了,自己无法运行他的字节码文件。但是,我这里有两个疑问:1.到底是什么决定了class文件的版本?2.低版本的jdk或者jre真的就无法运行高版本jdk编译出的class文件了吗?注意:class文件或字节码文件指的都是Java源文件经过javac编码后产生的.class后缀文件。...原创 2020-08-10 22:05:27 · 670 阅读 · 0 评论 -
Http的范围请求与断点下载的原理
前言: 我最近在看**《HTTP权威指南》**,学习到了范围请求的概念。它也解开了我一直以来的疑惑,当初使用学习《疯狂Java讲义》的时候,曾经实现了书上的那个多线程下载,但是当时其实也是不太理解,只是知道对于一个网络上的文件,可以跳过前面的某一部分,然后读取另一部分。不过当时也没有学习计算机网络,确实对于这方面没有什么清晰的概念。参考博文:多线程断点复制Java多线程和IO流的应用这个对于输入流调用这个skip方法,跳过前面不需要读取的字节数,其实是很高级的用法了,至少隐藏了一些HTTP的实现细节原创 2020-08-09 15:11:43 · 838 阅读 · 0 评论 -
webmagic初次尝试——写给女生看的爬虫
前言: 最近简单学习了一下一个比较知名的Java爬虫框架——webmagic。虽然还是不太理解它的整体结构,但是用来爬取数据,应该是没有问题了。而且,我发现它和我使用HttpClient和Jsoup这两个框架(类库)的时候,思考不太一样。使用上面两种工具,对网络数据进行爬取,还是比较原始的。因为爬虫其实涉及了到了很多知识,并不是简单的发起请求和接收响应,例如:URL调度、URL去重。这些东西以前都没有考虑到,对于URL调度来说,基本上没有调度,看到就爬了。这种对于小型网站或者单独的页面似乎是没有问题,但是对原创 2020-08-03 23:48:05 · 507 阅读 · 0 评论 -
TCP长连接和短连接代码及其比较
前言: 最近又看到了关于TCP长连接和短连接的概念,以前也看过Http长连接和短连接的概念,因为Http是建立在TCP协议之上的,所以它其实是依赖TCP的长连接和短连接。所以,我就萌生了一个想法,看看这两种方式的传输效率上到底有多大差别——实践出真知!或者 Takl is cheap, show me your code!TCP长连接和短连接长连接是指可以实现服务端和客户端之间连续的传输数据,在传输的过程中,连接保持开启,并不中断,数据传输完成后连接不关闭。短连接是指当服务器端和客户端连接成功后开始传原创 2020-08-02 13:49:43 · 2465 阅读 · 0 评论 -
简单的Socket爬虫
前言今天早上在睡懒觉的时候在考虑了一个问题,我可以使用socket下载网络资源吗? 仔细考虑过之后发现这是一个很有意思的问题,它要运用到的知识都是我已经学习过了的或者是掌握了的。所以,简单思考之后就开始了工作,但是还是有许多考虑不周的地方,发现自己对于问题的理解还是过于简单化了,中间踩了不少坑!其实爬虫就是针对网络数据的采集和整理工作,我这里把它称为Socket爬虫应该也是合理的,但是这里使用Socket下载网络资源反而是次要问题,主要的问题是如何解决那些细节性的问题,从中你也可以看出网络分层的好处。 例原创 2020-07-19 21:33:20 · 1335 阅读 · 1 评论 -
文件路径和类路径
前言在初学Java的时候,路径就是一个很有意思的话题。例如安装JDK的时候需要配置JAVA_HOME、CLASSPATH(现在可以不配置CLASSPATH了)。学习IO编程的时候,不可避免需要对文件的进行操作,例如读写文件、读取配置文件等等,每一个都是一个问题。作为一个新手,我基本上都踩了坑!哈哈!因为最近又遇到一些路径上的困扰,所以来总结一下!文件中的路径这里想来说一下文件中的路径,当初刚学Java的IO流的时候,对于文件的路径一直都很迷惑,不过最初的目的也很简单,只是为了让程序运行起来,只是去查资原创 2020-07-16 23:32:59 · 1760 阅读 · 3 评论 -
类加载器的双亲委派模型和代码热部署
前言最近看了《深入理解JVM》,发现它的内容确实在某些方面是很深入的,学习到了很多有趣的知识。但是限于自己的能力,有些地方看着也不是很理解,掌握的知识层次还是不够,可能还是要多动手实践、多看书了解相关的概念。今天看了类加载器相关的知识,因为它提到了代码的热更新(热部署),以前学习jsp的时候经常使用,所以就感觉很好奇,想来探究一下它的实现过程。所以就萌生了一个想法,结合自己学习过的知识,使用类加载器的知识来尝试写了一个简单的demo——关于代码的热部署。这里需要读者先了解:1.类加载器的概念2.类加原创 2020-07-12 00:22:12 · 1349 阅读 · 6 评论 -
对牛客网的一个Java练习题的理解
前言 Preface马上大四了,就快准备校招了。我身边的同学都开始投简历了,但是我不是很了解这方便。主要我的室友都是考研的,没有想过就业。所以平时对于这方面的了解也是比较少的。所以,现在就有点慌张了。今天下载了牛客网,先做了几个Java的小练习。发现,自己对于知识点的理解还是比较欠缺的。很多东西理解的不是很透彻,或者就没有深入理解过。所以,特地来记录一下自己的理解。如果遗漏、错误之处,欢迎指出。题目描述如果一个list初始化为{5, 3, 1},执行一下代码后,其结果为()?nums.add(6)原创 2020-07-10 23:13:09 · 353 阅读 · 0 评论 -
Javaer搞对象的多种方式
前言 Preface上次在soul上面看到一个问题,是关于创建对象(搞对象,哈哈!)的,我当时现出来了 new、反射、克隆、序列化这四种方式,但是当时激发了兴趣,所以就来总结一下,我目前掌握的几种方式吧。提供一个用来测试的类:package dragon.obj;import java.io.Serializable;public class Girl implements Cloneable, Serializable { /** * 默认的序列化id */ private st原创 2020-07-09 23:37:17 · 462 阅读 · 0 评论 -
get请求方式可以带方法体吗?
前言: 前几天有同学在postman中发送get请求时,把请求参数放入了请求体中。然后后端使用了@RequestBody来接收请求参数,它确实是可以这样用的!postman测试API的响应也是正常的。但是前端使用get方式传递参数,却报 400 错误。所以最终还是把@RequestBody换成了@RequestParam。或者也可以把请求方法改成post。不过第一次见到get请求方式这样使用,我感觉很古怪。因为按照我以前的学习来看,它是不行的,至少不符合规范。如果使用html的表单,是无法做到的,所以前面的原创 2020-07-01 20:31:07 · 29390 阅读 · 4 评论 -
如何在Java代码中保留注释?
前言: 这学期学习了编译原理,了解了代码中的注释是在编译的时候会被过滤——因为它是给人读的,不是给机器读的。所以,就自然想到了如何才能在代码中保留注释,但是又不影响到程序的执行?虽然,这个想法其实没有多大的作用,但是感觉很有趣,就简单的实现了一下。这里我们借助Java语言的一个功能——Annotation注解来实现。注:关于注解,因为平常很少自己定义,主要就是使用。所以我对于它也只是有一点了解。但是对于这篇博客,需要的知识也不多,主要在优快云上看几篇相关的博客就行了。定义注解说明:该注解的作用范围是原创 2020-06-29 01:18:14 · 2315 阅读 · 1 评论 -
SpringBoot部署SSL出现Address alread in use问题
package com.item;import org.apache.catalina.Context;import org.apache.catalina.connector.Connector;import org.apache.tomcat.util.descriptor.web.SecurityCollection;import org.apache.tomcat.util.descriptor.web.SecurityConstraint;import org.mybatis.spri原创 2020-06-20 01:41:54 · 510 阅读 · 0 评论 -
基于Java的简易Http服务器--你瞅啥
上次看了一个基于Java的http服务器代码,功能很简单,但是却用到了很多学到的知识,感觉很有意思,就模仿着写了一个,一开始遇到一点儿问题(这个问题感觉比这个代码要难多了),现在基本上问题都解决了。部署到服务器上,感觉很不错,特地拿来和大家分享一下。项目演示地址:你瞅啥...原创 2020-06-19 09:44:26 · 359 阅读 · 0 评论 -
文本文件转换编码
前言 preface因为编程的原因,经成会遇到字符编码的问题。如开发工具使用的是UTF-8编码(推荐使用),然后需要导入一个从其它地方获取的工程项目,但是这个工程使用了GBK编码方式。这就导致了一个常见的问题——乱码。虽然这里的代码是不影响,但是中文注释全部都乱码了,这可不好玩了,很影响对于代码的阅读,尤其是那种比较多源文件的项目。通常,我的处理方式就是,对于每一个文件,使用记事本依次另存为另一种编码或者使用Notepad++的编码转换。这里推荐一下Notepad++,编码转换使用还是比较方便的。但是原创 2020-06-06 03:17:03 · 2906 阅读 · 0 评论