
JavaWeb基础
文章平均质量分 79
Java全栈研发大联盟
好记性不如烂笔头,好好学
展开
-
接口性能优化办法
情况一 (各个子业务互不影响的情况)这种情况,一般都循环调用同一段代码,每次循环的逻辑一致,前后不关联。比如说,我们要初始化一个列表,预置 12 个月的数据给前端:List<Model> list = new ArrayList<>();for(int i = 0 ; i < 12 ; i ++) { Model model = calOneMonthData(i); // 计算某个月的数据,逻辑比较复杂,难以批量计算,效率也无法很高 list.add原创 2022-04-29 15:57:17 · 954 阅读 · 0 评论 -
玩转@Async注解异步编程
前言异步调用几乎是处理高并发Web应用性能问题的万金油,那么什么是“异步调用”?“异步调用”对应的是“同步调用”,同步调用指程序按照定义顺序依次执行,每一行程序都必须等待上一行程序执行完成之后才能执行;异步调用指程序在顺序执行时,不等待异步调用的语句返回结果就执行后面的程序。同步: 同步就是整个处理过程顺序执行,当各个过程都执行完毕,并返回结果。异步: 异步调用则是只是发送了调用的指令,调用者无需等待被调用的方法完全执行完毕;而是继续执行下面的流程。那实现异步调用有哪些方式呢?今天我们就来说道说道原创 2022-04-10 14:13:12 · 888 阅读 · 0 评论 -
别再用YYYY-MM-dd了,不然就卷铺盖走人
前言平时我们写时间格式化的代码时,基本上看到YYYY-MM-dd和yyyy-MM-dd,以为都差不多,没啥区别。而实际上区别还是有的。接下来我们就来一探究竟吧!代码演示现场 public static void main(String[] args) { SimpleDateFormat df1 = new SimpleDateFormat("YYYY-MM-dd"); SimpleDateFormat df2 = new SimpleDateFormat("yyyy原创 2022-01-25 09:37:44 · 931 阅读 · 0 评论 -
玩转MapStruct,学习就是了
玩转MapStruct,手把手带你学会!在平时CRUD的工作中,经常需要做PO、VO、DTO之间的转换。简单的对象转换,使用BeanUtils基本上是够了,但是复杂的转换,如果使用它的话又得写一堆Getter、Setter方法了。BeanUtils 就是一个大老粗,只能同属性映射,或者在属性相同的情况下,允许被映射的对象属性少;但当遇到被映射的属性数据类型被修改或者被映射的字段名被修改,则会导致映射失败。而 mapstruct 就是一个巧媳妇儿了,她心思细腻,把我们可能会遇到的情况都给考虑到了,所以今天给原创 2021-11-26 15:00:14 · 5015 阅读 · 5 评论 -
Java中那些让你爱不释手工具库,精炼代码量
Java中那些让你爱不释手工具库,精炼代码量一、JDK1.8 Stream新特性1、Stream流的常见生成方式①Collection体系的集合可以使用默认方法stream()生成流//list转stream流 List<String> list = new ArrayList<>(); Stream<String> listStream = list.stream(); //Set转stream流 Set<String>原创 2021-11-22 12:28:10 · 1923 阅读 · 0 评论 -
“线程池”一点都不难嘛!
大家早上好呀,气温越来越高了,大家的学习耐心也很浮躁,小慕也能理解,不过该学习的地方还是得学,不然你拿什么还你房贷车贷?拿什么娶老婆,对吧?赶紧学习 今天小慕给大家分享的内容是有关线程池的入门知识,先对线程池有个大致的了解,知道怎么个回事就行。 在一个应用程序中,如果我们需要多次使用线程,也就意味着,我们需要多次创建并销毁线程。而创建并销毁线程的过程势必会消耗内存。而在Java中,内存资源是极其宝贵的,所以,我们就提出了线程池的概念,说白了,...原创 2021-06-03 08:46:46 · 493 阅读 · 2 评论 -
为啥Spring事务失效了,你踩坑了吗?
hello,慕仔们,我们又见面了。前段时间小慕做的智慧社区门禁服务的业务中恰好遇上了事务失效的场景,于是就有了今天的这篇文档总结,避免让慕仔们踩坑。今天我们不聊微服务架构下的分布式事务,只谈单体应用系统下的事务,那到底哪些情况下会导致事务失效呢?咱们现在就来唠嗑唠嗑吧! 1. 底层数据库引擎不支持事务以MySQL为例,MyISAM引擎不支持事务操作,InnoDB引擎支持事务,MySQL从5.5.5开始默认的引擎是InnoDB,之前的版本默认的都是MyISAM,所以这个要...原创 2021-05-27 12:38:57 · 434 阅读 · 1 评论 -
跨域问题详解
发生跨域的三个必要条件大白话解释:所谓跨域其实就是浏览器对某些请求进行拦截,不允许访问,所以浏览器就是一个中间桥梁一样,它说让你通过就让你通过。它说不让你通过那就不让你通过。发生跨域的三个必要条件:也许你不假思索的就能回答出 不同协议,不同域名,不同端口。没有问题,但并不准确,我更倾向于把这三个叫 跨域的三要素,那什么是跨域形成的必要条件呢?浏览器限制: 即浏览器对跨域行为进行检测和阻止......原创 2019-08-27 17:19:52 · 1702 阅读 · 0 评论 -
Http请求头详解
host:代表ip+端口Origin:标识请求来源,请求协议+ip+端口 (注意:origin只存在于post请求)referer:referer显示来源页面的完整地址,referer存在于所有请求...原创 2019-08-27 16:58:52 · 805 阅读 · 0 评论 -
监听器
1.先编写自己自定义的listener类(实现ServletContextListener)2.在web.xml里面配置listener即可原创 2018-10-27 21:39:56 · 473 阅读 · 0 评论 -
中文乱码问题解决
parameter = new String(request.getParameter("key").getBytes("ISO-8859-1"), "utf-8");原创 2018-10-21 14:31:13 · 506 阅读 · 0 评论 -
代码生成器案例
package cn.tx.utils;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import org.dom4j.Docume...原创 2018-10-20 14:03:56 · 593 阅读 · 0 评论 -
javaweb常用api
1.//把emp中的所有属性拷贝到emp1中BeanUtils.copyProperties(emp1, emp);原创 2018-10-19 08:11:29 · 1960 阅读 · 0 评论 -
javaweb之ajax学习
原创 2018-10-18 21:38:40 · 645 阅读 · 0 评论 -
Javaweb笔记二
**1.get请求和post请求的区别是什么?**答:1)GET方式提交a)地址栏(URI)会跟上参数数据。以?开头,多个参数之间以&amp;分割。b)GET提交参数数据有限制,不超过1KB。c)GET方式不适合提交敏感密码。d)注意: 浏览器直接访问的请求,默认提交方式是GET方式2)POST方式提交a)参数不会跟着URI后面。参数而是跟在请求的实体内容中。没有?开头,多个参数...原创 2018-09-20 17:08:28 · 638 阅读 · 0 评论 -
Java常用注解
@Target({ElementType.CONSTRUCTOR,ElementType.FIELD,ElementType.METHOD})// Target 注解的作用域 CONSTRUCTOR 构造方法声明,FIELD 字段声明,LOCAL_VARIABLE 局部变量声明 ,METHOD 方法声明,PACKAGE 包声明,PARAMETER 参数声明,TYPE 类接口。@Retent...原创 2018-09-21 08:30:52 · 870 阅读 · 0 评论 -
Web高级知识-跨域&XSS&CSRF解决方案
Web高级知识-跨域&amp;amp;XSS&amp;amp;CSRF解决方案http长连接与短连接HTTP协议与TCP/IP协议的关系HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠的传递数据包,使在网络上的另一端收到发端发出的所有包,并且顺序与发出顺序一致...原创 2018-09-22 07:57:11 · 857 阅读 · 0 评论 -
表单重复提交解决方案(防止Http重复提交
表单重复提交解决方案(防止Http重复提交场景模拟创建一个from.jsp页面&lt;%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%&gt;&lt;!DOCTYPE html PUBLIC "-/原创 2018-09-22 08:06:52 · 1934 阅读 · 0 评论 -
分布式任务调度
什么是定时任务?指定时间去执行任务Java实现定时任务方式1.Threadpublic class Demo01 { static long count = 0; public static void main(String[] args) { Runnable runnable = new Runnable() { @Override public void run(...原创 2018-10-01 22:31:50 · 16763 阅读 · 2 评论 -
tomcat在windows下的启动问题
tomcat在windows下的启动问题问题描述:点击tomcat下的bin目录下的startup.bat会一闪而过解决办法:就是tomcat的环境变量配的有问题,要配置CATALINA_HOME这个环境变量的值(配正确)...原创 2018-10-03 22:17:50 · 610 阅读 · 0 评论 -
反射机制
什么是Java反射就是正在运行,动态获取这个类的所有信息。反射机制的作用1,反编译:.class–&amp;gt;.java2.通过反射机制访问java对象的属性,方法,构造方法等;反射机制的应用场景Jdbc 加载驱动-----Spring IOC框架反射机制获取类有三种方法//第一种方式: Classc1 = Class.forName(&quot;Employee&quot;); //第二...原创 2018-10-08 20:27:54 · 501 阅读 · 0 评论 -
牛客网面试题
解析:ServletContext对象:servlet容器在启动时会加载web应用,并为每个web应用创建唯一的servlet context对象,可以把ServletContext看成是一个Web应用的服务器端组件的共享内存,在ServletContext中可以存放共享数据。ServletContext对象是真正的一个全局对象,凡是web容器中的Servlet都可以访问。整个web应用只有唯...原创 2018-10-10 18:57:07 · 1311 阅读 · 0 评论 -
线程池
线程池的分类ThreadPoolExecutorJava是天生就支持并发的语言,支持并发意味着多线程,线程的频繁创建在高并发及大数据量是非常消耗资源的,因为java提供了线程池。在jdk1.5以前的版本中,线程池的使用是及其简陋的,但是在JDK1.5后,有了很大的改善。JDK1.5之后加入了java.util.concurrent包,java.util.concurrent包的加入给予开发人...原创 2018-10-11 18:53:07 · 527 阅读 · 0 评论 -
自定义注解
实现自定义注解元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解:@Target@Target说明了Annotation所修饰的对象范围:Annotation可被用于 packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方...原创 2018-10-15 20:20:08 · 488 阅读 · 0 评论 -
手写spring事务(注解版本)
1.首先自定义一个事务注解(类似于@Transactional)package com.itmayiedu.annotation;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import j...原创 2018-10-16 10:12:13 · 1382 阅读 · 0 评论 -
Cookie与Session讲解
Java学习笔记1.DNS解析域名的过程使用域名转换成IP地址,先读取本地HOST文件,本地文件没有,那么就从当前电信网管获取对应IP。本地host文件 C:\Windows\System32\drivers\etc2.Servlet重要的四个生命周期方法构造方法: 创建servlet对象的时候调用。默认情况下,第一次访问servlet的时候创建servlet对象只调用1次。证明serv...原创 2018-09-20 16:53:33 · 467 阅读 · 0 评论