
笔记
华农DrLai
华南师范大学在读研究生
展开
-
简易版的微信聊天存储方式
微信的聊天是一种什么模式呢?原创 2022-02-21 12:28:53 · 1999 阅读 · 12 评论 -
Zookeeper的使用记录
问题描述:1.作者在打开zk客户端时报了以下错误:java.net.ConnectException: Connection refused: no further information在显示了Welcome to Zookeeper后报了以下错误2.解决方法:原来是zk的服务端不能使用双击打开,需要在文件目录下打开控制台,运行zkserver.cmdcmd中输入zkserver.cmd后双击打开cli即可...原创 2022-02-16 16:51:13 · 2596 阅读 · 7 评论 -
隐藏秋招绝招:微服务架构五个问题
1:我们为什么需要使用微服务架构?或者说微服务能帮助我们解决什么问题?思路:我们可以从微服务的对立面进行考虑,从单体应用存在的问题思考。答:1:随着业务的发展,开发变得越来越复杂。 修改、新增某个功能,需要对整个系统进行测试,重写部署。为了解决上述问题,微服务架构应运而生,简单来说,微服务就是将⼀个单体应⽤拆分成若干个小型服 务,协同完成系统功能的⼀种架构模式,在系统架构层面进行解耦合。 2:各个模块使⽤同⼀种技术框架,局限性太大,很难根据业务选择最适合的技术架构。微服务架...原创 2021-09-15 20:25:54 · 1325 阅读 · 27 评论 -
安全框架Spring Boot 整合 Spring Security
1.工业级安全框架介绍Spring Security基于Spring开发,项目中如果使用Spring作为基础,配合Spring Security做权限更加方便,而Shiro需要和Spring进行整合开发。因此作为spring全家桶中的Spring Security在java领域很常用。2.建议搭建Spring Security环境 2.1在pom.xml中添加相关依赖<?xml version="1.0" encoding="UTF-8"?>&l...原创 2021-09-13 20:55:12 · 1161 阅读 · 14 评论 -
Springboot简述
1.springboot可以干嘛用?通过 Spring Boot 可以快速构建⼀个基于 Spring 框架的 Java Application,简化配置,自动装配。 JavaConfiguration ⽤ Java 类替代 XML 的配置⽅式。 Spring Boot 对常⽤的第三⽅库提供了配置⽅案,可以很好地和 Spring 进⾏整合,⼀键式搭建功能完备 的 Java 企业级应用。 开箱即用是 Spring Boot 的特点。2.Spring Boot 的优势:2.1不需要任何 XML 配置⽂原创 2021-09-01 21:25:07 · 273 阅读 · 0 评论 -
Windows 环境下tomcat8080端口被占用了怎么解决
1.打开cmd命令台,输入netstat -ano查看所有的端口占用情况2.输入netstat -aon|findstr "8080"查看占用8080端口号的PID3.在任务管理器中删除占用8080端口的pid任务,点击结束任务原创 2021-08-31 15:19:25 · 225 阅读 · 1 评论 -
保姆级教程搭建SSM框架,十分钟亲手学会搭建企业级工程
关于Spring + Spring MVC + MyBatis的搭建1.在IDEA界面中创建MavenWeb工程,选中下图maven-archetype-webapp2.在pom.xml中添加如下相关依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-.原创 2021-08-31 10:23:31 · 223 阅读 · 1 评论 -
Java网络编程模型之阻塞与非阻塞
1.阻塞I/O模型阻塞IO模型是常见的IO模型,在读写数据时客户端会发生阻塞。阻塞IO模型的工作流程为: 1.1在用户线程发出IO请求之后,内核会检查数据是否就绪,此时用户线程一直阻塞等待内存数据就绪; 1.2在内存数据就绪后,内核将数据复制到用户线程中,并返回I/O执行结果到用户线程,此时用户线程将解除阻塞状态并开始处理数据。典型的阻塞I/O模型的例子为data=socket.read(),如果内核数据没有就绪,Socket线程就会一直阻塞在...原创 2021-08-20 19:54:03 · 500 阅读 · 0 评论 -
深入剖析MyBatis缓存
什么是 MyBatis 缓存使⽤缓存可以减少 Java 应⽤与数据库的交互次数,从而提升程序的运行效率。⽐如查询出 id = 1 的对象,第⼀次查询出之后会自动将该对象保存到缓存中,当下⼀次查询时,直接从缓存中取出对象即可, 无需再次访问数据库。MyBatis 缓存分类1、⼀级缓存:SqlSession 级别,默认开启,并且不能关闭。(默认开启)操作数据库时需要创建 SqlSession 对象,在对象中有⼀个 HashMap ⽤于存储缓存数据,...原创 2021-08-18 19:15:38 · 143 阅读 · 0 评论 -
高级工程师进阶之MyBatis 延迟加载
什么是延迟加载?延迟加载也叫懒加载、惰性加载,使⽤延迟加载可以提⾼程序的运行效率,针对于数据持久层的操作, 在某些特定的情况下去访问特定的数据库,在其他情况下可以不访问某些表,从⼀定程度上减少了 Java 应⽤与数据库的交互次数。查询学⽣和班级的时,学生和班级是两张不同的表,如果当前需求只需要获取学shengsheng的信息,那么查询学 ⽣单表即可,如果需要通过学⽣获取对应的班级信息,则必须查询两张表。 不同的业务需求,需要查询不同的表,根据具体的业务需求来动态减少数...原创 2021-08-17 13:51:09 · 162 阅读 · 0 评论 -
Java中的4种引用类型
在Java种一切皆对象,对象的操作时通过该对象的引用实现的,Java种引用类型有4种,分别是强引用,软引用,弱引用和虚引用。1.强引用:在java种最常见的是强引用,强引用不会被垃圾回收机制回收 强引用举例:Object obj=new Object();2.软引用: 软引用通过SoftReference类实现,在系统空间内存不足时会被回收 弱引用举例:SoftReference<> sr=new SoftRe...原创 2021-08-16 22:23:19 · 260 阅读 · 0 评论 -
JVM垃圾回收算法——如何确认垃圾
1.引用计数法在java中如果要操作对象,首先需要获取对象引用,在为对象添加一个引用时,引用计数加一,删除一个引用时,引进技数-1,当一个对象引用计数为0,则被清除如Student student=new Student(); student.add();调用时引用数加一。 但引用计数法也有他的缺点缺点:在相互循环引用时,Object1和Object2相互调用,使其计数一直为1,因而无法被回收。...原创 2021-08-14 19:02:56 · 215 阅读 · 0 评论 -
Mybatis 通过 Mapper 代理实现自定义接口
如何实现?主要分为以下两步骤1.通过 Mapper 代理实现⾃定义接口2.编写与方法相对应的 Mapper.xml1.自定义接口AccountRepositorypackage repository;import entity.Account;import java.util.List;public interface AccountRepository { public int save(Account account); public int updat原创 2021-08-13 21:09:17 · 452 阅读 · 0 评论 -
JVM的运行时内存
1.JVM的运行时内存也叫JVM堆,从GC的角度可以将JVM氛围新生代,老年代,永久代。其中新生代默认占1/3的堆内存空间,老年代默认占2/3内存空间,永久代占非常少的堆内存空间方式。 而新生代分为Eden,SurvivorFrom,SurvivorTo区,Eden默认占8/10新生代区域空间,SurviorFrom和SurviorTo则占1/10.2.JVM新创建的对象,除了大对象外都会放在新生代中,由于JVM会频繁创建对象,所以新生代会频繁出发MinorGC进行垃圾回收。3....原创 2021-08-12 12:47:51 · 913 阅读 · 0 评论 -
springmvc数据验证注解简介
校验规则详解: @Null 被注解的元素必须为null@NotNull 被注解的元素不能为null@Min(value) 被注解的元素必须是⼀个数字,其值必须⼤于等于指定的最小值@Max(value) 被注解的元素必须是⼀个数字,其值必须⼩于于等于指定的最⼤值@Email 被注解的元素必须是电⼦邮箱地址@Pattern 被注解的元素必须符合对应的正则表达式@Length 被注解的元素的大小必须在指定的范围内@NotEmpty 被注解的字符串的值必须⾮空 Null 和 Empty原创 2021-08-10 20:11:01 · 486 阅读 · 0 评论 -
Annotation JSR - 303 标准进行springmvc验证
Spring MVC 提供了两种数据校验的方式:1、基于 Validator 接⼝。2、使用 Annotation JSR - 303 标准进行校验。1.maven工程中添加依赖<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.3.6.Final</version原创 2021-08-10 20:08:45 · 205 阅读 · 0 评论 -
基于 Validator 接口的Spring MVC 数据校验
Spring MVC 提供了两种数据校验的方式:1、基于 Validator 接⼝。2、使用 Annotation JSR - 303 标准进行校验。基于 Validator 接口的⽅式需要自定义 Validator 验证器,每⼀条数据的验证规则需要开发者⼿动完成, 使⽤ Annotation JSR - 303 标准则不需要⾃定义验证器,通过注解的方式可以直接在实体类中添加每个属性的验证规则,这种方式更加方便,实际开发中推荐使用。1.定义实体类Account ...原创 2021-08-10 20:03:02 · 375 阅读 · 0 评论 -
Spring MVC 表单标签库Tag
如何使用Tag标签讲前端代码优化?1.在Handler中链接到tag.jsp@GetMapping("/get")public ModelAndView get(){ ModelAndView modelAndView = new ModelAndView("tag"); Student student = new Student(1L,"张三",22); modelAndView.addObject("student",student); return modelAndView;}原创 2021-08-08 13:43:20 · 424 阅读 · 0 评论 -
Spring MVC文件上传
单文件上传 底层是使⽤ Apache fileupload 组件完成上传,Spring MVC 对这种方式进行了封装1.如何使用 1.1在pom.xml中添加common-io依赖和commons-fileupload依赖 <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <ver...原创 2021-08-07 11:46:34 · 164 阅读 · 0 评论 -
Spring MVC REST简介
REST:Representational State Transfer,资源表现层状态转换,是目前⽐较主流的⼀种互联网软件架构,它结构清晰、标准规范、易于理解、便于扩展。1.1资源(Resource) 资源是网络上的⼀个实体,或者说网络中存在的⼀个具体信息,⼀段⽂本、⼀张图片、⼀⾸歌曲、⼀段视频等等,总之就是⼀个具体的存在。可以用⼀个 URI(统⼀资源定位符)指向它,每个资源都有对应的⼀个 特定的 URI,要获取该资源时,只需要访问对应的 URI 即可。1.2表现层(Repr...原创 2021-08-06 16:16:01 · 413 阅读 · 0 评论 -
Spring MVC后端传到前端出现中文乱码问题解决
1.1问题描述:前端显示错误,后端数据已经拿到,可以分析得到,是后端传送到前端的问题2.在springmvc中加入消息转换器即可 <mvc:annotation-driven> <!--消息转换器--> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http..原创 2021-08-03 13:26:13 · 1602 阅读 · 0 评论 -
Spring mvc中文乱码问题解决
<filter> <filter-name>encodingFilter</filter-name> <filterclass>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UT.原创 2021-08-02 19:20:37 · 185 阅读 · 0 评论 -
搭建配置SpringMVC教程
1新建工程,在maven工程中选择create from archetype,选择webapp,注意有很数个webapp,要选择前缀有maven的2.在pom.xml添加依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.9<原创 2021-08-01 20:26:11 · 196 阅读 · 0 评论 -
Spring MVC介绍之干货
1.1Spring MVC概述Spring MVC 是⽬前主流的实现 MVC 设计模式的企业级开发框架,Spring 框架的⼀个⼦模块,⽆需整 合,开发起来更加便捷。1.2什么是 MVC 设计模式?将应⽤程序分为 Controller、Model、View 三层,Controller 接收客户端请求,调⽤ Model ⽣成业务数据,传递给 View。 Spring MVC 就是对这套流程的封装,屏蔽了很多底层代码,开放出接⼝,让开发者可以更加轻松、便捷地完成基于 ...原创 2021-08-01 20:05:49 · 174 阅读 · 0 评论 -
Spring之AOP面向切面编程详细分析
1.1什么是AOPAOP:Aspect Oriented Programming ⾯向切⾯编程。1.2AOP面向切面的优势降低模块之间的耦合度。使系统更容易扩展。 更好的代码复⽤。⾮业务代码更加集中,不分散,便于统⼀管理。业务代码更加简洁存粹,不参杂其他代码的影响。AOP 是对⾯向对象编程的⼀个补充,在运⾏时,动态地将代码切⼊到类的指定⽅法、指定位置上的编程 思想就是⾯向切⾯编程。将不...原创 2021-08-01 11:45:08 · 318 阅读 · 0 评论 -
详解Spring两种工厂方法
1.IOC有两种创建工厂的方法IoC 通过工厂模式创建 bean 的方式有两种: 静态工厂方法 实例工厂方法2.两种方法的不同 2.1静态方法创建就是直接可以通过静态方法来实例化一个对象,采用类名.方法名的方式创建public class HelloFactory { public static HelloWorld getInstance(){ return new Hello(); }}HelloWo...原创 2021-07-24 00:51:03 · 385 阅读 · 2 评论 -
Spring继承与依赖
1.Spring继承 1.1 Spring继承的特性 Spring继承与 Java 的继承不同,Java 是类层⾯的继承,即以class为单位,⼦类可以继承⽗类的内部结构信息;Spring 是对象层⾯的 继承,⼦对象可以继承⽗对象的属性值。<bean id="student2" class="com.southwind.entity.Student"> <property name="id" value="1"></propert...原创 2021-07-23 22:31:53 · 301 阅读 · 0 评论 -
Spring中scope作用域的总结
1.scope 作用域Spring 管理的 bean 是根据 scope 来⽣成的,表示 bean 的作⽤域,共4种,默认值是 singleton。singleton:单例,表示通过 IoC 容器获取的 bean 是唯⼀的。(即可以理解成即时加载)prototype:原型,表示通过 IoC 容器获取的 bean 是不同的。(需要用到的时候去创建)request:请求,表示在⼀次 HTTP 请求内有效。session:回话,表示在⼀个⽤户会话内有效。request 和 session原创 2021-07-22 12:17:05 · 483 阅读 · 3 评论 -
Spring的初体验
0.前言 使用spring有什么优势和为什么我们要使用spring 0.1 Spring 两大特性 IoC(控制反转)/ DI(依赖注⼊) AOP(⾯向切⾯编程) 在学习软件开发基础的时候,我常常不懂老师为什么要强调使用IOC容器,我直接创建他不香吗?1.如何使用IOC 1.1创建maven工程,并添加依赖<dependency> <groupId>org.springframework</gro...原创 2021-07-21 13:51:36 · 229 阅读 · 1 评论 -
Spring boot和Vue概述
前后端分离: 将一个应用的前端和后端代码分开写 传统的javaweb开发中,前端使用jsp开发,jsp不是由后端开发者独立完成 前端—>HTML—>后端—>jsp 这样开发效率低 前后端分离能够完美解决这个问题:前端只需要独立编写客户端代码,后端也只需要独立编写服务端代码即可。前端通过Ajax请求来访问后端的数据接口,将Model展示到View即可将一个单体应用拆成两个独立的应用,前端应用和...原创 2021-07-18 17:44:34 · 5359 阅读 · 0 评论 -
利用maven实现有关Jsoup的简单爬虫
一、Jsoup的简介jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据二、我们可以利用Jsoup做什么 2.1从URL,文件或字符串中刮取并解析HTML查找和提取数据, 2.2使用DOM遍历或CSS选择器操纵HTML元素,属性和文本2.3从而使我们输出我们想要的整洁文本三、利用Jsoup爬...原创 2021-07-17 13:43:26 · 3002 阅读 · 0 评论 -
2020-10-17
大家好~时隔多日,终于又见面了这次带来的是日志系统的更新!更新内容此次2.0更新:①用了资源绑定器代替了properties的集合,使程序更简洁;②修复判断语句避免空指针异常。让我们来对比一下:更新前与更新后 (滑动即可切换)是不是简洁了很多!而且使用功能上也得到了优化希望大家有所收获那我们下次再见啦~作者|皮卡超人 来悲茶编辑|来悲茶...原创 2020-10-17 17:29:48 · 230 阅读 · 1 评论