
java学习
文章平均质量分 52
꧁এ悲宸๓₯㎕
不努力一把,你都不知道自己有多牛逼!
展开
-
Mybatis-plus 更新字段 update_by 失败
Mybatis-plus 更新字段失败原创 2024-01-26 14:52:23 · 1664 阅读 · 1 评论 -
Springboot使用EasyExcel导入导出Excel文件
【代码】Springboot使用EasyExcel导入导出Excel文件。原创 2023-11-01 13:47:53 · 923 阅读 · 0 评论 -
关于Redis知识总结
1,redis的五种数据类型及应用场景1,String: 一般做一些复杂的计数功能的缓存2,List: 做简单的消息队列的功能3,Hash: 单点登录4,Set: 做全局去重的功能5,SortedSet: 做排行榜应用,取TopN操作;延时任务;做范围查找2,Redis的事务概念:Redis事务的本质是一组命令的集合,事务支持一次执行多个命令,一个事务中所有的命令都会被序列化。在事务执行过程,会按照串行化执行队列中的命令,其他客户端的命令请求不会插入打我事务执行命令中总结:redis事务原创 2022-03-20 22:01:57 · 2045 阅读 · 0 评论 -
JVM学习笔记
文章目录类加载器:沙箱安全机制:基本组件:1,字节码检验器:2,类装载器(Class Loader)体现3个方面堆,Heap新生区:永久区:GC垃圾回收GC的种类:GC的算法:总结:JMM类加载器:作用:加载Class文件 ~ new Student();1,虚拟机自带的加载器2,启动类(根)加载器3,扩展类加载器4,应用程序加载器public class String{ public String toString(){ return "Hello"; }原创 2021-10-31 23:06:21 · 315 阅读 · 0 评论 -
Web server failed to start. Port 7002 was already in use.
问题:在重启项目是报端口被占用的异常:解决方案:1,打开cmd运行界面,输入netstat -ano,查看端口进程ID2,然后将该ID的进程杀死,输入taskkill /F /pid PID3,再重新启动项目即可。原创 2021-07-14 13:28:31 · 345 阅读 · 0 评论 -
IDEA运行报Command line is too long,Shorten command line for Application or also 解法
报错内容:Error running 'JeecgGeoPracticeCloudApplication': Command line is too long. Shorten command line for JeecgGeoPracticeCloudApplication or also for Spring Boot default configuration?解决方案:在idea中找到.idea.workspace.xml文件打开文件,Ctrl+F在上面输入搜索内容,找到Proper原创 2021-07-12 15:53:40 · 241 阅读 · 0 评论 -
Ribbon的源码解析
Ribbon的源码解析问题:为什么RestTempate加@LoadBalanced就有负载均衡效果?分析源码:图解分析:1,引入Ribbon后,会引入RibbonAutoConfiguration类2,RibbonAutoConfiguration在前面执行LoadBalanceAutoConfiguration配置类3,LoadBalanceAutoConfiguration执行条件是引入RestTemplate类和@LoadBalanced注解4,会在RestTempl原创 2021-05-13 08:34:29 · 90 阅读 · 0 评论 -
三次握手和四次挥手
三次握手和四次挥手用途:TCP协议的可靠性主要基于三次握手和四次挥手机制三次握手:第一次握手:客户端发送标志位SYN=1和随机值seq=J给服务器,客户端进入SYN_SENT状态,等待服务器确定第二次握手:服务端收到SYN=1后,将标志位SYN和ACK都置为1,ack设置为J+1,产生随机值seq=K发送给客户端,服务器状态为SYN_RCVD第三次握手:客户端收到后检查如果ACK为1,ack为J+1,就将ACK标志位设置为1,ack设置为k+1发送给服务器,服务器检查ACK为1,ack为K+原创 2021-05-11 08:47:58 · 135 阅读 · 0 评论 -
什么是NIO?
1, BIO(Blocking IO)传统的IO流,同步阻塞式IO,效率低,需要大量线程,编程简单2,NIO(NonBlocking IO)java1.4出现的新的IO方式,同步非阻塞式IO,效率高,不需要大量线程,编程复杂3,AIO(Asynchronize IO) 异步非阻塞式IO,效率高,编程复杂举个例子:烧开水BIO 等在旁边什么都不干,直到水烧开NIO 可以做其它事情,需要隔一段时间过来看看AIO 可以做其它事情,水烧开会自动通知他NIO的API:传统的IO面向的.原创 2021-05-10 13:06:38 · 144 阅读 · 0 评论 -
Socket实现文件上传
Socket实现文件上传文件上传的步骤:服务器端步骤:创建ServerSocket调用accept获得客户端Socket定义字节数组创建文件输出流,获得客户端输入流循环读取输入流的字节,写入到文件输出流客户端步骤:创建Socket获得socket对象输出流创建文件输入流循环读取文件输入流字节,写入到输出流代码实现:服务器端:public class FileServer { public static final i原创 2021-05-10 11:47:13 · 262 阅读 · 0 评论 -
java---线程的实现
线程的实现继承Thread类思路:1,继承Thread类2,重写run方法3,创建线程对象,调用start方法代码实现:public class MyThread extends Thread{ @Override public void run() { System.out.println(Thread.currentThread().getName()+" is running..."); } public static void ma原创 2021-05-07 21:00:26 · 138 阅读 · 6 评论 -
报错信息 java.nio.charset.MalformedInputException: Input length = 2
异常信息: java.nio.charset.MalformedInputException: Input length = 2报此异常的原因有两个1:文件编码问题2:文件的格式问题,树状节后,前面的空格数量可能不对,每次应该是为两个空格原创 2021-04-23 15:12:05 · 422 阅读 · 0 评论 -
SpringBoot+element-ui实现模块化上传文件时,报403异常
先看异常:403异常就很难受!!!再看后台,但是后台并没有报错再看html代码: <el-form :model="form"> <el-form-item label="商品图片" :label-width="formLabelWidth"> <!--:with-credentials='false' 身份认证关闭--> <el-upload原创 2021-04-19 21:06:48 · 1218 阅读 · 1 评论 -
SpringBoot整合Nginx+Vsftp,完成文件上传
前面已经发过了Nginx+Vsftp实现Java文件的步骤,这里就不再累述,如需要,可以找上一个博客内容:https://blog.youkuaiyun.com/weixin_44889894/article/details/1157510621,编写UploadController@Controllerpublic class UploadController { @ResponseBody @RequestMapping(value = "/upload",produces = "multip原创 2021-04-16 16:39:10 · 185 阅读 · 0 评论 -
Nginx+Vsftp实现java文件上传
1,安装vsftp1,安装vsftp组件yum -y install vsftpd2,添加ftp用户useradd ftpuser登录后默认的路径为 /home/ftpuser.3,给ftp用户添加密码passwd ftpuser4,修改配置配置文件在/etc/vsftpd/vsftpd.confvi /etc/vsftpd/vsftpd.conf1),关闭匿名访问2),添加端口范围5,重启vsftpservice vsftpd restart6,设置开机启动c原创 2021-04-16 11:08:46 · 191 阅读 · 0 评论 -
SpringBoot整合全局异常处理
在controller层加入自己编写的异常类MyControllerExceptionHandler@ControllerAdvice //全局处理public class MyControllerExceptionHandler { /** * 全局配置异常,所有的异常都讲会由此处理 * @param ex * @return */ @ResponseBody @ExceptionHandler(Exception.class)原创 2021-04-16 08:53:41 · 87 阅读 · 0 评论 -
角色授权---通过添加和删除一级菜单,完成二级菜单的添加和删除
目的:点击一级菜单,完成添加一级菜单,同时,二级菜单也能够同步完成勾选并添加,再次点击完成删除。点击二级菜单,完成添加或删除详细代码1,RoleFunctionsController@RestControllerpublic class RoleFunctionsController { @Autowired private IRoleFunService roleFunService; /** * 添加角色权限 * @param roleFun原创 2021-04-15 08:58:22 · 400 阅读 · 0 评论 -
Docker---Docker安装,Docker上MySQl安装,并将项目部署在Docker上
1,Docker的概念1,Docker是什么Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker很像集装箱的运作系统,集装箱就是容器,里面就是我们需要的程序,这些集装箱彼此隔离,需要它们的时候,就从货轮上运过来,由码头工人装配到汽车、火车上,然后发往每个项目所在地。2,Docker的架构Docker采用C/S模式(客户端/服务器模式),主原创 2021-04-10 11:12:32 · 172 阅读 · 0 评论 -
Spring Security--自定义登录和授权逻辑
Spring Security–自定义登录和授权逻辑概念SpringSecurity是一个强大且高效的安全框架,能够提供用户验证和访问控制服务,能够很好地整合到以Spring为基础的项目中。SpringBoot对SpringSecurity进行了大量的自动配置,使开发者通过少量的代码和配置就能完成很强大的验证和授权功能,下面我们就体验下SpringSecurity的基本使用。1,导入相关依赖<!--spring security--> <dependency>原创 2021-04-10 09:47:12 · 585 阅读 · 0 评论 -
MyBatis两张表级联查询报异常:No serializer found for class org.apache.ibatis.executor.loader
报错信息No serializer found for class org.apache.ibatis.executor.loader.javassist.JavassistProxyFactory$EnhancedResultObjectProxyImpl and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS)原创 2021-04-07 23:26:40 · 363 阅读 · 0 评论 -
Vue快速入门
概念Vue 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。Vue入门安装Vue两种方式安装:下载vue.js到本地,再引入到JavaScript中<script src="/js/vue.js"></script>使用在线版本&原创 2021-04-06 20:50:04 · 97 阅读 · 0 评论 -
MyBatis-plus报错02
报错信息:TemplateInputException: Error resolving template [users], template might not exist or might not be accessible by any of the configured Template Resolvers报错信息翻译:TemplateInputException:解析模板[users]时出错,模板可能不存在,或者任何已配置的模板解析程序都无法访问该模板解决方案:在Controller原创 2021-04-06 20:33:16 · 118 阅读 · 0 评论 -
mybatisplus中报错
报错源代码:Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'ew' in 'class com.baomidou.mybatisplus.extension.plugins.pagination.Page'报错原因:application.properties配置文件中原为配置mybatis,应改为配置mybatis-plus原代码:#配置myb原创 2021-04-06 20:25:04 · 568 阅读 · 0 评论 -
SSM整合
概述:在进行企业级项目开发时,我们需要将Spring、SpringMVC、MyBatis框架整合起来,共同完成开发工作。SSM分工:Spring 作为基础框架,整合其他框架SpringMVC 作为Web开发框架,提供服务器开发支持MyBatis 作为ORM框架,提供数据库开发支持整合配置:1,添加依赖 <dependency> <groupId>mysql</groupId>原创 2021-04-01 21:01:01 · 184 阅读 · 0 评论 -
SpringBoot上传文件报错
报错信息2021-04-01 19:22:11.841 ERROR 8312 --- [nio-8080-exec-5] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springfra原创 2021-04-01 19:29:50 · 401 阅读 · 0 评论 -
MyBatis简介
MyBatis简介1.1,MyBatis简介MyBatis:MyBatis是目前主流的ORM框架MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。ORM:对象关系映射(Object Relationa原创 2021-03-26 13:14:15 · 104 阅读 · 0 评论 -
动态代理
概念:动态代理是在运行时,通过反射机制动态生成代理类。开发者不需要手动编写新的代理类。动态代理的分类1,JDK动态代理2,CGLib动态代理JDK动态代理JDK自带的,前提是:被代理类必须实现过接口。实现步骤1) 实现InvocationHandler接口2)实现invoke方法3)通过Proxy.newProxyInstance方法返回代理对象public class JdkShop implements InvocationHandler { private Object原创 2021-03-21 21:58:53 · 71 阅读 · 0 评论 -
AOP简介
AOP的基本概念AOP(Aspect Oriented Programming)面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容AOP的作用AOP的核心作用是:在程序运行期间,不修改代码的同时为程序增强功能。将必不可少的公共功能做成切面,随着程序运行切入到代码中运行。编写业务时只关注于核心功能 ,不再考虑事务、日志等公共功能,减轻了编码负担,更专注于业务AOP的术语1、切面(Aspe原创 2021-03-21 21:39:31 · 851 阅读 · 0 评论 -
IOC容器
概念IOC容器是 Spring 框架的核心。容器将创建对象,配置对象,并管理对象的整个生命周期。Spring 容器使用依赖注入(DI)来管理组成一个应用程序的组件。容器的分类1,BeanFactory最简单的容器,给 DI 提供了基本的支持,它用 org.springframework.beans.factory.BeanFactory 接口来定义。BeanFactory 或者相关的接口,如 BeanFactoryAware,InitializingBean,DisposableBean,在 Spr原创 2021-03-21 21:19:31 · 118 阅读 · 0 评论 -
java---Maven的使用
什么是MavenMaven是一种项目管理工具,基于POM(项目对象模型),帮助实现管理依赖,以及项目的构建、发布、部署、生成报告等。Maven的安装从官网下载Mavenhttps://maven.apache.org/download.cgi配置环境变量在Path变量中,添加 ;%MAVEN_HOME%\bin命令行中查看是否安装成功Maven常用命令mvn -version 查看版本mvn compile 编译项目mvn test 运行单元测试mvn packa原创 2021-03-21 21:02:03 · 120 阅读 · 0 评论 -
log4j.properties 日志详解
1) 导入log4j依赖这里是我导入的依赖:<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.12</version> </dependency>2) 添加log4j.properties# ROOTERlog4j.r原创 2021-03-18 17:07:27 · 176 阅读 · 0 评论 -
java---无参构造实现反射
首先来看报错信息:java.sql.SQLException: Cannot create com.eshop.entity.SUser: com.eshop.entity.SUser Query: select * from s_user Parameters: [] at org.apache.commons.dbutils.AbstractQueryRunner.rethrow(AbstractQueryRunner.java:392) at org.apache.commons.dbutils原创 2021-03-01 10:47:37 · 284 阅读 · 0 评论 -
java---idea快速生成表结构的实体类
在做项目的时候,必不可少的要接触很多表,但是一个一个建实体类,就比较麻烦,在idea中有快捷方式创建,如下:点击OK就可以了!原创 2021-02-27 16:11:36 · 1027 阅读 · 0 评论 -
java---Filter过滤器,网站统计每个IP地址访问本网站的次数
解题思路:因为一个网站可能有多个页面,无论哪个页面被访问,都要统计访问次数,所以使用过滤器最为方便。因为需要分IP统计,所以可以在过滤器中创建一个Map,使用IP为key,访问次数为value。当有用户访问时,获取请求的IP,如果IP在Map中存在,说明以前访问过,那么在访问次数上加1,即可;IP在Map中不存在,那么设置次数为1。CountFilter过滤器代码:@WebFilter("/*")public class CountFilter implements Filter { pr原创 2021-02-24 09:54:38 · 624 阅读 · 0 评论 -
java---拦截器Filter
java—拦截器FilterAFilter拦截器:第一层拦截,A拦截访问Servlet的请求@WebFilter("/as")public class AFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { System.out.println("A出生了"); } @Override原创 2021-02-23 20:58:29 · 182 阅读 · 0 评论 -
java---验证码连接数据库数据登录
项目需求:1. 访问带有验证码的登录页面login.jsp2. 用户输入用户名,密码以及验证码。 * 如果用户名和密码输入有误,跳转登录页面,提示:用户名或密码错误 * 如果验证码输入有误,跳转登录页面,提示:验证码错误 * 如果全部输入正确,则跳转到主页success.jsp,显示:用户名,欢迎您准备工作:1,数据库:数据库最好不要用关键字哟!create table `users` ( //创建表 `id` int (11), `name` varchar (60),原创 2021-01-28 11:59:55 · 572 阅读 · 1 评论 -
java---Servlet+Druid+JdbcTemplate实现用户登录功能
项目要求:使用Servlet+Druid+JdbcTemplate实现用户登录功能,后台为Mysql数据库1.编写静态登录页面login.html,页面中包含:姓名,密码 2.编写处理登录功能的Servlet,使用注解版或配置版 3.使用MVC三层架构,编写Service层和Dao层,要有接口和实现类4.在Dao层中使用Druid连接池和JdbcTemplate查询Mysql中的Users表数据,判断登录是否成功5.要求编写druid.properties文件存放jdbc参数,编写JDBC工具类原创 2021-01-25 18:57:37 · 448 阅读 · 2 评论 -
Mysql中execute创建表返回值为什么false?
SQL语句中execute创建表后返回值为什么false?先看遇到的问题:这里执行sql语句,创建表,运行并没有报错,表明我们的代码是没有问题的,并且,在数据库中,student表也已经创建成功,更加说明我们的代码没问题,但是控制台输出的却是false,不是true不知道原因是什么,所以我们有必要看下execute的源码。摁住Ctrl,再点击execute看到这里,我们发现,这里是一个借口,并不能看出什么东西因此,我们应该想,他的实现类中会不会有说明我们在摁住Ctrl+H,找到他的实现类原创 2021-01-07 17:33:23 · 1100 阅读 · 2 评论 -
java---将map数据存入到实体类对象中
将map数据寻入到实体类对象中实体类代码:(这里我们创建的User实体类)public class User { //实体类属性 private String name; private String psw; private String email; private String tel; //1,toString方法 @Override public String toString() { return "User{原创 2020-12-30 11:07:39 · 7003 阅读 · 4 评论 -
java---TreeSet集合
TreeSet集合案例:将一系列字符串“hello”,"helloworld","how","do","you","what"存入TreeSet集合,要求按照字符串长度进行排序这里我们用外部比较器: String a1="hello"; String a2="helloworld"; String a3="how"; String a4="do"; String a5="you"; String a6="原创 2020-12-24 14:12:15 · 129 阅读 · 1 评论