![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 64
我自是年少韶华倾负
我会成为一个有资格可以出现在你面前的人
展开
-
Spring实现CAS登录
首选简单说明Session session 就是一种保存上下文信息的机制,它是面向用户的,每一个SessionId 对应着一个用户,并保存在服务端中。session 主要以cookie 或者URL 重写为基础来实现的,默认使用cookie 来实现,系统会创建一个为JSessionID 的变量输出到cookie 中 JSessionID 是存储于浏览器内存中,并不是写到硬盘上的,如果我们把浏览器的cookie 禁止, 则web 服务器会采用URL 重写的方式传递SessionId 。我们就原创 2022-08-07 16:17:19 · 1411 阅读 · 0 评论 -
史上最全的RabbitMq的知识
总结了mq的基本知识以及项目中使用到一些配置,如有不正确,劳烦指出原创 2022-07-30 17:53:39 · 1252 阅读 · 0 评论 -
java 处理大文件
前几天在开发过程中遇到一个需求: 读取一个大约5G的csv文件内容,将其转化为对象然后存储到redis中, 想着直接开大内存直接load 进入到内存中就行了,结果可想而知,5G的文件 ,Xmx 开到10G都没有解决,直接out of Memory 异常 这种处理大文件很容易造成 内存不够的问题 这种 500M的文件,堆内存一般会占用2.5G ,那么如果你去读一个5G的文件,那么内存直接起飞,所以这种不建议使用 这种因为是有按照一行行读取到内存当中, 所以耗时肯定增原创 2022-07-02 18:07:09 · 5264 阅读 · 0 评论 -
Spring实现日志注解
1、目的写项目的时候经常会通过日志来排查原因,一种是通过log4j将日志收集出来,然后使用elk进行数据的分类与统计,这种是针对大量的请求日志进行记录。另一种就是通过自定义注解的方式写入数据库,这种是针对特定接口来处理,将重要的操作信息记录到数据库中。这篇博客就是说的第二种方式。2、思路首先,应该使用自定义注解来标记哪些接口需要记录操作日志。然后, 使用切面来统一拦截参数和返回的结果,并将信息返回到数据库。3、实现过程 4、实现效果5、总结...原创 2022-05-22 15:35:11 · 2432 阅读 · 0 评论 -
java ----多线程题目汇总
1、请问 如何控制多线程顺序执行 1、使用join 控制package com.example.demothread.util;import lombok.extern.slf4j.Slf4j;import org.springframework.web.bind.annotation.PathVariable;/** * @author lenovo * @version 1.0 * @Date 2022/5/3 12:22 * @Description */@Sl...原创 2022-05-03 22:30:00 · 2083 阅读 · 0 评论 -
java---Spring多线程
之前写了关于java 基本使用多线程的一篇博客,由于java开发最经常使用的是Spring框架使用写这一篇博客进行总结一、线程池1、基本概念ava开辟了一个管理线程的概念,这个概念叫做线程池,线程池的好处就是方便的管理线程,从而减少内存的消耗2、参数解析创建线程池可以使用它的子类 ThreadPoolExecutor其参数为 corePoolsizemaxmumPoolSizekeepAliveTime workQueuethrea...原创 2022-05-03 12:19:02 · 2788 阅读 · 0 评论 -
java---基本多线程问题汇总
先说java多线程1、创建多线程的方式有几种?1、 继承Thread 方式2、实现Runnable接口的方式3、实现Callable接口的方式2、使用的方式的优缺点1、继承Thread的方式对于Thread的方式,它的优点就是简单易操作,但是它的缺点是单继承2、实现Runnable 接口它解决了Thread单继承的缺点,并且能够实现多个接口,适合多个相同的程序代码的线程去处理同一个资源,但是它不能拿到线程的返回值。3、实现Callable 使用...原创 2022-05-01 19:40:37 · 687 阅读 · 0 评论 -
Springboot使用shiro
一、什么叫AopAop 作为面向对象编程的一种补充,广泛应用于处理一些具有横切性质的系统级服务器,如事务管理,安全检查,缓存检查,对象池管理等Aop 实现的关键就在于代理的实现,代理分为动态代理与静态代理.动态代理是指在运行时借助JDK动态代理、CGLIB等在内存中“临时”生成Aop动态代理类,被称为运行时增强。...原创 2022-01-28 21:10:10 · 3815 阅读 · 0 评论 -
Nacos启动异常与SpringBoot整合异常记录
1 nacos启动异常 问题描述:Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.web.servlet.FilterRegistrationBean]: Factory method 'authFilterRe.原创 2021-12-12 12:34:18 · 1935 阅读 · 2 评论 -
Spring深入---泛型的理解与使用
注: 应该叫java 泛型一、什么叫泛型 在程序编码中一些包含类型参数的类型,也就是说泛型的参数只可以代表类,不能代表个别对象。(这是当今较常见的定义) 在程序编码中一些包含参数的类。其参数可以代表类或对象等等。(现在人们大多把这称作模板) -----百度百科简单来说就是将参数的类型 也可以在使用的时候变化,不同的情况下使用不同的参数类型,这就好比你用榨汁机榨汁,当你放入西瓜的时候出来的是西瓜汁,放入葡萄的时候出来的是葡萄汁。过程都是一样的---先压碎...原创 2021-10-23 20:34:45 · 1892 阅读 · 0 评论 -
Effective java ---构造者模式
package com.example.demo.model;/** * @ClassName Address * @Description 请zhangyang添加代码注释 * @Author zhangyang * @Date 2021/10/10 10:34 * @Version 1.0 */public class Address { private final int servingSize; private final int servings; .原创 2021-10-10 12:00:26 · 72 阅读 · 0 评论 -
获取邮箱的授权码
1、formail邮箱类型的 先通过网易企业邮箱 - 登录入口 进行登录 点击设置--->邮箱设置 进入邮箱设置界面点击客户端->开启授权码(一般需要手机验证)原创 2021-09-18 11:19:50 · 2978 阅读 · 0 评论 -
springboot+vue简单实现个人博客
一、效果图前台主页博客详情页个人页面文章搜索(由于服务器内存不够(2G),所以没有用ela,而是直接使用mysql)后台登录页编辑页面二、项目架构图三、项目地址https://gitee.com/zyqqcom四、搭建步骤执行blogback下的initsql文件初始化数据库内容五、运行步骤前端 npm run dev后端 直接run...原创 2021-06-27 13:03:25 · 682 阅读 · 0 评论 -
java_nignx学习
nignx用的最多应该就是反向代理了吧(将内网的地址代理到外网)1 反向代理将内部服务器代理外部请求server{ listen 80; server_name localhost; client_max_body_size 1024M; location /{ proxy_pass http://localhost:8080; proxy_set_header Host $host:$server_port; }}2 负载均衡负载均衡配置原创 2021-05-22 17:34:37 · 123 阅读 · 0 评论 -
java多线程总结
1 、创建多线程的方式有几种第一种是继承Thread 方式第二种是实现了Runnable接口的方式第三种 是实现Callable接口的方式2 三种的优缺点是什么对于Thread的方式 它的有点是简单易操作 但是它缺点就是单继承对于实现的Runnable 接口,它放好解决了Thread的缺点并且能够实现多个接口。但是它不能拿到线程的返回值Callable接口太复杂3 线程的状态1 (new)初始状态2 (runnable)运行状态3 (blocked)阻塞状态.原创 2021-05-22 17:16:26 · 270 阅读 · 0 评论 -
使用docker 部署集群
一、 获取镜像 获取最新的镜像docker pull redis如果是获取特定版本的镜像可以使用docker pull redis:5.0.5 二、 创建redis容器这里使用的host网络方式去创建容器 创建了三个容器docker create --name redis-node1 --net host -v /data/redis-data/node1:/data redis:5.0.5 --cluster-enable yes --cluster-config...原创 2021-04-20 21:01:20 · 969 阅读 · 0 评论 -
Docker machine搭建遇到的问题:Error with pre-create check: “VBoxManage not found. Make sure VirtualBox is
问题1:Error with pre-create check: "VBoxManage not found. Make sure VirtualBox is解决: ubuntu 使用sudo apt install virtualboxdocker-machine --driver virutalbox default问题2:This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is ma...原创 2021-04-15 20:30:32 · 2745 阅读 · 1 评论 -
error: “Forbidden“ message: “Forbidden“
错误信息截图:原因:ajax请求中没有添加 csrf token参数解决:1 关闭跨站请求package com.example.demo.Config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.security.config.annotat.原创 2021-02-22 20:32:42 · 5611 阅读 · 0 评论 -
Refused to execute script from ‘http://localhost:8080/login‘ because its MIME type (‘text/html‘) is
最近在学习springsecurity 的创建了动态页面,但是在控件台提示Refused to execute script from 'http://localhost:8080/login' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.前端应用的代码<head> <title>Spring Security Ex原创 2021-02-22 19:31:37 · 3154 阅读 · 0 评论 -
spel 的学习
还差300页(┭┮﹏┭┮)1 作用1 使用bean的id来引用bean2 调用方法和访问对象的属性3 对值进行算术 关系 和逻辑运算4 正则表达式匹配2 使用 1最简单的spel表达式为#{1}或者2#{T{System}.currentTimeMillis()} 它的最终结果是计算表达式的那一刻当前时间的毫秒数.T()表达式会将java.lang.System视为java中对应的类型,因此可以调用其static修改currentTimeMills()...原创 2021-02-14 22:02:12 · 320 阅读 · 2 评论 -
spring学习中遇到的问题之一
问题:org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat原因:在使用aop的时候,书写execution出现错误 @Pointcut("execution(p.原创 2021-02-14 21:53:50 · 291 阅读 · 0 评论 -
spring ---aop解析
1 为什么要使用aop 以前读取数据库的数据一般都是,这样就会造成代码的重复,导致非核心(比如日志操作 读取数据库操作 等等)的代码占用了大量的空间。public static void main(String[] args) { try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); }..原创 2021-02-13 21:48:13 · 88 阅读 · 0 评论 -
springboot 使用Redis
1 StringTemplateRedis和RedisTemplate的区别1 两者关系是StringRedisTemplate继承了RedisTemplate ,但是两者的数据是不共通的也就是说StringRedisTemplate只能管理StringRedisTemplate里面的数据,RedisTemplate只能管理RedisTemplate中的数据2 RedisTemplate 是使用的JdkSerialzationRedisSerializer 存入数据会将数据先序列化字节数组然后.原创 2021-02-09 19:15:20 · 108 阅读 · 0 评论 -
springboot 使用Swagger
1 swagger 说明1 swagger是一个规范的和完整的框架,用于生成 描述 调用 和可视化resturful 风格web 服务。就是接口文档的自动生成功能测试2 使用1 首先在pom.xml文件中引入swagger2<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2&l...原创 2021-02-09 19:11:47 · 137 阅读 · 1 评论 -
springboot 中使用Mybatis Generator
1 为什么要使用Mybatis Generator虽然MyBatis是一个简单易学的框架,但是配置XML文件也是一件相当繁琐的一个过程,而且会出现很多不容易定位的错误。当在工作中需要生成大量对象的时候,有太多的重复劳动,简直是生无可恋。所以,官方开发了 MyBatis Generator。它只需要很少量的简单配置,就可以完成大量的表到Java对象的生成工作,拥有零出错和速度快的优点,让开发人员解放出来更专注于业务逻辑的开发。2 说明MyBatis Generator 生成的文件包含三类...原创 2021-02-09 19:02:12 · 616 阅读 · 0 评论 -
springboot--使用Lombok简化类的方法
1 什么是Lombok官网介绍:Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automa...原创 2021-02-01 22:57:20 · 2836 阅读 · 0 评论 -
ubuntu安装搜狗输入法
1 首先访问搜狗linux安装地址https://pinyin.sogou.com/linux/help.php2 打开语言支持(设置->区域与语言->管理已安装的语言)将键盘输入法设置为fcitx,这里可以使用安装fcitxsudo apt-get install fcitx同时这里的语言需要是 中文简体然后点击 "应用到整个系统"如果安装过程中提示缺少依赖可以使用sudo apt -f install然后重启系统...原创 2021-01-30 11:23:25 · 94 阅读 · 0 评论 -
Ubuntu没有/etc/apt/sources.list
1 首先是同cp命令来备份文件sudo cp /ect/apt/sources.list /ept/apt/sources.list.old2 使用gedit命令打开sources.list文件sudo gedit /etc/apt/sources.list3 访问阿里云的ubuntu 的镜像 https://developer.aliyun.com/mirror/ubuntu 这里检查自己的ubuntu版本lsb_release...原创 2021-01-30 11:12:49 · 3496 阅读 · 6 评论 -
spring实现简单的文件上传
上传文件的jsp代码<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><body><h2>Hello World!</h2><form action="${pageContext.request.contextPath}/uploadImg.form" method="post" enctype="multipart/form-data原创 2020-12-17 20:15:06 · 135 阅读 · 0 评论 -
idea使用tomcat 报404
解决: 1 路径问题: 检查一下路径是否正确(jsp文件不要放到WEB-INF 文件夹下)2 tomcat配置问题 这两个路径需要一致3 实在不行重新部署一下实现效果:如果tomcat 输出的日志乱码了可以修改apache-tomcat-9.0.41\conf\logging.properties 文件中的java.util.logging.ConsoleHandler.encoding = GBK...原创 2020-12-12 15:16:05 · 4500 阅读 · 1 评论 -
java中对数据库中的操作类
1 DatabaseMetaData 数据库信息类DatabaseMetaData是从Connection.getMetaData()函数返回过来的对象,存储这数据库的一些配置信息getUrl 返回一个String字符串,表示对数据库的连接路径 getUserName 返回一个字符串,表示当前连接到数据库中的管理员角色的名称 getDriverName 返回一个字符串,表示当前数据库驱动的名称 getDatabaseProductName 返回当前数据库产品.原创 2020-12-12 10:48:09 · 480 阅读 · 0 评论 -
java查询数据库中表的所有列
1 实现过程通过与数据库建立连接,并且配合ResultSetMetaData resultSetMetaData=resultSet.getMetaData();来查询列的名字2 实现代码import org.junit.jupiter.api.DynamicTest;import org.junit.jupiter.api.Test;import java.sql.*;public class test { @Test public void findC.原创 2020-12-11 19:43:11 · 1678 阅读 · 0 评论 -
zipoutputStream的简单使用
一 原因最近在改bug的时候遇到了一个与zipoutputStream相关的代码,虽然最终不是这处代码的问题,但是自己还是想总结一下zipoutputStream的使用二 zipoutputStream 类图三 zipoutputStream使用 zipoutputStream是fileOutputStream中的一种,它可以将内容直接写入到zip包中。一般创建zipoutputStream通常是封装一个FileOutputStream,然后在每写入一个文件之前,需要先调用一次...原创 2020-11-07 17:51:32 · 20682 阅读 · 4 评论 -
svn的使用
一、 写这篇博客的意图工作中刚刚接触svn用于提交代码,感觉自己掌握对svn的使用还不够熟悉,所以写了一篇博客来梳理一下svn的使用(也是因为周末太无聊了,所以写总结)二、内容一 、什么叫SVN SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。 ------百度百科 二、 为...原创 2020-11-07 16:50:21 · 159 阅读 · 0 评论 -
redis学习过程记录
1 安装redis 下载redis包链接:https://pan.baidu.com/s/1eNtJ51F-wNacwm349NMG5g 提取码:eznw 一般放到C盘下2 启动redisredis-server.exe redis.windows.conf界面效果 然后另起一个窗口redis-cli.exe -h 127.0.0.1 -p 6379实现效果:这里的redis-server.exe redis.windows.conf ...原创 2020-09-24 20:13:46 · 141 阅读 · 0 评论 -
struts2----对对象数据的封装
对对象的数据封装有三种方法一、通过原始的方法package com.tui;import javax.servlet.http.HttpServletRequest;import org.apache.struts2.interceptor.ServletRequestAware;import com.opensymphony.xwork2.ActionSupport;public class Form1DemoAction3 extends ActionSupport implemen原创 2020-07-02 15:57:49 · 202 阅读 · 0 评论 -
Struts2--通过Action来获取表单的三种方式
action获取表单提交的数据主要的三种方式(1)使用 actionContext类(2) 使用ServletActionContext类(3)使用接口注入的方式一、使用actionContext类package com.tui;import java.util.Arrays;import java.util.Map;import java.util.Set;import org.apache.struts2.dispatcher.Parameter;import.原创 2020-07-02 11:28:24 · 200 阅读 · 0 评论 -
Struts2的简单实现
写这篇博客是因为配置这个简单的demo花费了2个小时的时间,经历了如下错误java.util.concurrent.ExecutionException: org.apache.catalina.LiCaused by: java.lang.NoClassDefFoundError: Lorg/apache/logging/log4j/Logger;java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleE原创 2020-06-30 17:04:49 · 152 阅读 · 0 评论 -
ajax的简单实现Demo
首先先声说抱歉,因为在寝室,所以效率低一些,就不写一些关于ajax的知识了,如果想学可以去w3school搜索ajax这里主要实现了通过ajax来判断用户名是否已经被注册,为了实现简单后台的匹配直接使用了admin一、前端实现<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DT.原创 2020-06-28 22:18:59 · 984 阅读 · 0 评论 -
java---文件下载功能demo
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http.原创 2020-06-28 12:24:18 · 355 阅读 · 0 评论