- 博客(164)
- 资源 (1)
- 收藏
- 关注
原创 wait notify正确使用方式
假设:当线程(Thread03)在1-100中找出77并输出后,(Thread01)输出所有1-100中的奇数,当线程(Thread03)在1-100中找出88并输出后,(Thread02)输出所有1-100中的偶数。
2023-03-07 11:14:03
467
原创 两台设备连接同一个手机热点无法通信(已经解决)
我在电脑上跑了一个项目,在手机上查看连接项目,无法连接成功。电脑ping手机是可以ping通的,但是手机就是无法查看到电脑上的项目。注意:为了安全起见,操作完之后按原步骤将防火墙关闭。:大概率是电脑端的防火墙原因。这样子手机和电脑就可以通信了。右击无线网图标点击转到设置。点击配置防火墙和安全设置。
2023-03-04 15:38:23
3897
原创 Android上传手机图片到服务器(这篇你要是看不懂,全网没你可以看懂的了!!!)
Android上传手机图片到服务器,通过okhttp传输到后端,附前后端代码,详细教程
2023-03-04 11:24:09
8927
16
原创 Android动态获取权限(详细教程附代码)
如果是android6.0以下的版本,只需要在manifest声明对应的权限即可。但是这样会大大降低系统的安全性。所以在android6.0及其以后,app获取权限需要得到用户的反馈才可以。
2023-03-02 20:09:27
7860
原创 Android连接服务器异常
Caused by: java.net.ConnectException: failed to connect to localhost/127.0.0.1 (port 8080) from /127.0.0.1 (port 53568) after 10000ms: isConnected failed: ECONNREFUSED (Connection refused)Caused by: android.system.ErrnoException: isConnected failed: ECONN
2023-03-01 16:43:46
1552
原创 Docker安装redis
将redis.conf做以下修改(可选)1、requirepass abc.123(设置密码)(必须)2、#bind 127.0.0.1(注释掉bind 127.0.0.1允许redis远程连接)(必须)3、daemonize no(将daemonize yes注释起来或者daemonize no设置,因为该配置和docker run中-d参数冲突,会导致容器一直启动失败)(可选)4、appendonly yes(更改为yes开启redis持久化)(可选)
2023-02-20 09:05:29
703
原创 SpringBoot使用Swagger2
ApiResponses的value值是@ApiResponse的集合,多个@ApiResponse用逗号分隔。如果需要设置响应头,就将@ResponseHeader设置到@ApiResponse的responseHeaders参数中。使用在API请求方法上,@ApiImplicitParams的子集是@ApiImplicitParam注解,其中@ApiImplicitParam注解常用参数。ApiParam用于方法的参数,其中包含以下几个常用属性。设置API响应实体的属性,其中常用参数。
2023-01-18 11:12:22
2666
原创 java使用JSch连接服务器实现命令交互
创建UserInfo类,实现UserInfo接口(必须)、UIKeyboardInteractive接口(可选)。将public boolean promptYesNo(String s)方法的返回值更改为true。当main函数启动后,就可以将控制台当成shell进行linux命令交互。这里通过jsch远程连接linux服务器,并在控制台实现命令的交互。启动前确保linux服务器22端口开启。
2023-01-17 08:53:39
2387
1
原创 Could not autowire. No beans of ‘RedisConnectionFactory‘ type found.已解决
先把boot项目的简单架子搭起来(比如只有一个controller的项目),让项目先跑起来,验证前后端是通的,然后再把redisTemplate方法加进去试试,因为可能是一些基础的依赖或配置我们没有注意到,所以导致idea的编译器检测报错。,所以idea编译器检测不到这是一个springboot项目,所以无法通过形参注入成功。在创建redisTemplate时,形参列表爆出了如下错误。
2022-12-14 16:42:15
7445
1
原创 springboot整合redis
redis的序列化器和redis的配置类均放在config包下。需要引入commons-pool2依赖(配置连接池需要)无需创建FastJsonRedisSerializer类。方式二:不使用fastjson做序列化的方式。方式一:使用fastjson做序列化的方式。无需引入commons-pool2依赖。需要引入fastjson依赖。无需引入fastjson。
2022-12-14 12:52:25
723
1
原创 Java使用FileChannel进行文件拷贝(提升拷贝效率)
FileChannel属于nio,FileChannel底层会利用操作系统的零拷贝进行优化,效率较io高。代码说明解决掉异常,以及流关闭的完整封装2.所拷贝内容大于2G解决掉异常,以及流关闭的完整封装
2022-12-04 16:38:27
2110
3
原创 c语言小病毒01之撑爆d盘
1、用c语言在windows系统上创建批处理文件,也就是bat文件。你可以编译该代码,但是请在虚拟机上运行或在别人电脑上运行。2、用c语言把所需要的操作写入这个文件。可以看到虚拟机上的d盘有29.9G。双击上面编译好的exe文件后。3、用c语言执行这个文件。
2022-11-27 20:15:22
590
原创 SpringBoot自定义参数解析器HandlerMethodArgumentResolver(解析ip)
RequestMappingHandlerAdapter 初始化时,会准备 HandlerMethod 调用时需要的各个组件,如: HandlerMethodArgumentResolver 解析控制器方法参数 HandlerMethodReturnValueHandler 处理控制器方法返回值
2022-11-16 16:12:04
653
原创 FileInputStream的int read()、int read(byte[] b)、int read(byte[] b, int off, int len)
int read() :int read(byte[] b) :int read(byte[] b, int off, int len) :
2022-11-14 09:46:05
1573
原创 一、程序、进程、线程
程序本身是没有生命周期的,它只是存在磁盘上面的一些指令(也可能是一些静态数据)。是操作系统让这些字节运行起来,让程序发挥作用。(将程序从磁盘读取到内存,然后cpu逐条执行这些程序中的指令)Java 中,线程作为最小调度单位,进程作为资源分配的最小单位。一个线程就是一个指令流,将指令流中的一条条指令以一定的顺序交给 CPU 执行。进程是分配资源最小单位,而线程是分配cpu的最小单位。一个进程只是一个正在运行的程序。它是静态的,存储在磁盘或一些其它存储器上的。它是存在生命周期的,如被创建、被销毁等。
2022-11-03 10:45:49
497
原创 【登录界面】vue、element-ui登录界面模板
这里总结一个用vue、element-ui写的登录界面,为以后复制粘贴备用。/*布局容器样式 main header fotter*///点击登录按钮后发送ajax请求给后端进行账号密码比对。/*放账号密码input的div*//* 输入框样式*/
2022-10-15 17:23:07
12229
2
原创 文件暂存系统
因为鄙人上课不喜欢带手机,有时候又忘带优盘。在一些上机课的时候会产生一些资料。我需要一个简单、便捷的方式将该资料暂时存储起来。便于课后整理。于是我脑袋里就冒出了“文件暂存系统”这个玩意。(1)用户通过文件暂存系统上传文件,上传成功后文件暂存系统将返回一段8位提取码,用户可在24小时内通过提取码对该文件进行提取。(2)如果用户为了安全起见可以在上传的时候输入密钥对文件进行加密存储。(3)系统会在24小时后删除文件。演示截图上传页面提取页面。
2022-10-12 08:49:39
500
原创 ajax上传文件(前端代码)
/formData.append:将文件添加到formdata对象中。//$("#file")[0].files[0]:获取上传的文件。//说明:$("#file"):获取的是input对象。//$("#file")[0]:获取标签。//创建一个新的FormData对象。// 不设置内容类型。
2022-10-08 09:44:29
470
原创 内网穿透工具natapp的注册、下载、安装与使用(详细教程)
ok,现在不光自己本机可以访问了,其它人也可以访问了。购买成功后,可以在“我的隧道”查看已购买隧道的信息。(1)点击右侧菜单的“购买隧道”–>“免费隧道”(2)选择对应的版本(以windows为例)扫码登录后点击“授权”,即可认证成功。自己的token就在,“我的隧道处”(2)填写好信息后点击“免费购买”(1)双击“natapp.exe”(4)可以看到“我的隧道显示”在线。(1)点击上方的“客户端下载”(2)填写手机号,发送验证码。我们点击“立即进行实名认证”点击“配置”可进行信息的修改。
2022-09-26 16:51:55
10576
1
原创 js实现一个弹窗div
想实现一个这样的功能,点击一个删除按钮后,在当前页面弹出一个对话框,提示确定或取消,如果点击确定,则删除成功,如果点击取消则取消删除。
2022-09-08 15:36:15
4189
原创 VMware安装Kali操作系统(全网最详细不接受任何反驳)
到此已经全部安装完毕,建议做快照防止以后搞坏,至于会不会用那就看你linux学的怎么样了。注:鼠标移出虚拟机按左边的ctrl+Alt就可以,鼠标进去直接点进去就可以。(22)输入之前设置的账号密码—》点击登录。它会自动重启不要乱点,等待出现登录界面。(21)安装完成点击继续。(23)安装完毕登录成功。已经完成了硬件的虚拟了。下载好后的iso文件。...............
2022-08-27 11:14:44
9446
8
原创 DefaultListableBeanFactory容器
DefaultListableBeanFactory,是 BeanFactory 最重要的实现,像和功能,都是它来实现。
2022-08-26 08:26:04
388
原创 AOP的点点滴滴
相应的横切关注点以Aspect形式实现之后,会通过特定的编译器,将实现后的Aspect编译并织入到系统的静态类中。优点:Aspect直接以Java字节码的形式编译到Java类中,Java虚拟机可以像通常一样加载Java类运行(因为编译完成的Aspect是完全符合Java类规范的),不会对整个系统的运行造成任何的性能损失。:AOP的织入过程在系统运行开始后进行,而且织入信息与系统模块分开,可以在调整织入点以及织入逻辑单元的同时,不必变更系统其它模块,甚至在系统运行的时候,可以动态更改织入逻辑。........
2022-08-18 16:15:45
412
原创 AOP(JDK动态代理实现)
(1)采用JDK动态代理实现AOP必须要使代理类和被代理类实现同一个接口。(2)代理类实现接口的方式是通过反射在内存中形成,然后在通过类加载器加载到方法区的。所以和我们平时通过implement进行实现的编写方式不一样,但底层原理一样。(3)我们最后调用方法时是调用代理类实现的方法,而代理类中的方法又调用了被代理类的方法。(1)定义一个接口名称为TaergetInterface,里面有一个方法f(int x,int y),该方法用于计算两数之和并输出。(2)编写一个类实现这个接口,并实现这个方法f(i
2022-08-13 10:01:31
886
1
原创 理解C语言指针
比如:地址1[0]:就是访问地址1所代表的空间中的数据,那么地址1[1]:就是访问地址1所代表的空间的下一个空间中的数据。怎么将存储20的内存空间的地址给p呢,好的,p只能存储地址,那就给它地址,怎么给?&a就是,对应上图,a是20,&a就是001。指针就是存储上图紫色编号的(也就是地址),这就是为什么指针是面向内存层面的,只要把它(指针)指向的空间中的东西一改,内存中的数据不就改了。2、其实地址也可以做加减运算,比如p中存储了一个地址,那么(p+1)就表示p的下一个地址,(p-1)就表示p的前一个地址。.
2022-08-09 08:32:07
753
2
原创 使用Java缓冲流(BufferedInputStream、BufferedOutputStream)实现文件的复制
步骤:1、创建源文件、目标文件2、创建输入节点流、输出节点流3、创建输入缓冲流、输出缓冲流4、将文件读入到内存然后写出到目的地址5、关闭流(关闭流的顺序是先关闭外层再关闭内层流,但是关闭外层流的同时内层流会自动关闭,所以只需要关闭外层流即可)最后加上异常处理,并将其抽取到工具类中,代码如下测试复制后...
2022-08-02 09:40:52
2585
原创 java创建线程的两种方式
众所周知java是单继承的,当该类继承了其它父类时就没办法再通过继承Thread类的方法去创建线程了,只能通过实现Runnable的方式创建线程。(1)编写Animal类实现Runnable接口,并重写run方法(将我们的业务功能写在run方法中)(1)编写Animal类继承Thread类,并重写run方法(将我们的业务功能写在run方法中)演示编写一个动物类,构造器传参为动物的名字,run方法中输出该动物的名字100遍。(2)在主方法中创建动物对象,并启动该线程(调用start方法)...
2022-07-16 08:19:43
1115
原创 linux安装Tomcat
进入到/usr/local目录下,可以看到解压后的tomcat进入apache-tomcat-7.0.57/bin目录在bin目录下执行sh startup.sh命令启动服务执行成功看日志文件中是否有异常linux的防火墙默认是开启的,要想可以访问到tomcat需要关闭防火墙查看防火墙的状态可以看到防火墙是开启的状态可以通过 systemctl stop firewalld暂时关闭防火墙这时通过ip+端口,可以在浏览器访问到tomcat如果需要永久关闭防火墙可以执行建议选择指定端口开放指
2022-07-02 16:14:16
430
原创 linux安装jdk
采用文件传输工具将下载好的jdk传输到linux上进到/usr/local目录下可以看到已经解压在/etc/profile中进行环境变量的配置在命令行输入vim /etc/profile进入配置文件按G到profile的底端,输入i进入插入模式,添加配置按下esc键进入命令模式,然后输入:wq回车,保存退出重新加载配置文件,使刚才配置生效输入java -version命令查看jdk版本...
2022-07-02 11:14:33
1569
原创 在idea中如何每次创建java文件时候显示一些固定的注释信息
在idea中如何每次创建java文件时候显示一些固定的注释信息,如下1、点击File—>Settings2、选择Editor3、选择Editor下的File and Code Templates4、按下面步骤写好需要的注释内容5、以后每次创建类的时候就会自动携带这些信息了...
2022-06-22 14:44:08
1044
原创 Java的main方法
1、main方法的调用者是java虚拟机。2、因为调用者是java虚拟机,java虚拟机不在该类中也不在该类所在的包中更不是该类的子类,所以main函数的权限只能设置为最大的public,便于java虚拟机的调用。3、java虚拟机在执行main方法时不必创建对象,所以方法必须是static,也就是在类加载进内存时该方法就可以使用。4、该方法接收String类型的数组参数,该数据中保存执行java命令时传递给所运行的类的参数。...
2022-06-17 17:11:47
16969
2
原创 SpringBoot发送邮件(SpringBoot整合JavaMail)
导入JavaMail都maven坐标。进入自己(发送邮件方)QQ邮箱找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务区域,如下点击开启POP3/SMTP服务,并按要求发送短信发送成功后,点击“我已发送”会得到如下授权码(保存好密码配置application.yml时会用),然后点击确定在application中做如下配置接口的实现测试发送复杂邮件发送图片与链接发送附件在上面基础上设置如下.........
2022-06-14 11:13:47
2227
Cisco Packet Tracer 5.3 思科路由器交换机模拟软件
2022-08-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人