Tomcat
Tomcat官网:http://tomcat.apache.org/
本次学习过程中使用 Tomcat8.xxx
配置系统环境
在系统环境中添加:CATALINA_BASE == D:tomcat8 ; CATALINA_HOME == D:tomcat8 ;
配置好后在path环境
可以手动从一个 Maven 项目进行搭建,后期也可以利用 Idea 工具直接从阿里云官网进行快捷搭建,网址为Aliyun Java Initializr,类似于 SpringBoot 的初始化向导 Spring Initializr。我们逐层进行演示
一、分布式环境搭建
1. 创建父级 Spr
背景
在测试环境上遇到一个诡异的问题,部分业务逻辑会记录用户ID到数据库,但记录的数据会串,比如当前用户的操作记录会被其他用户覆盖, 而且这个现象是每次重启后一小段时间内就正常
问题
在线程池内部使用了InheritableThreadLocal获取用户信息由于没有及时remove,线程复
当:
1、成员方法或构造方法中的形参是接口(Interface)
2、该接口为函数式接口,即抽象方法只有一个
在方法实现的时候可以采用的方式有:
1、传统的方式实现(也适用于非函数式接口)
创建该接口的匿名内部类并重写接口方法 //方式一
Thread lambd
day1
Spring
IOC 和 AOP 为内核
IOC inverse of control 控制反转
AOP aspect oriented programing 面向切面编程
展现层 WEB
SpringMVC
持久层 DAO
Spring JDBCTemplate
业务层 S
问题
Mybatis四大对象的创建顺序?
Mybatis插件的执行顺序?
工程创建
环境:Mybatis(3.5.9)
mybatis-demo,参考官方文档
简单示例
这里只放出main方法的示例,其余类请看demo工程。
public static void main(String[] arg
背景
基于elasticsearch-5.6.0
机器配置:3个云ecs节点,16G,4核,机械硬盘
优化前,写入速度平均3000条/s,一遇到压测,写入速度骤降,甚至es直接频率gc、oom等;优化后,写入速度平均8000条/s,遇到压测,能在压测结束后30分钟内消化完数据,各项指标回归正常。
鉴于本届诸多同学在一开始接触到软件构造课程时出现了对于Github的使用以及对于文件目录的设置等诸多问题,本人虽然很菜,但是愿意写本篇博客以记录一些前置内容的操作方法,如有谬误,敬请指正!谢谢!
目录
一、Github的使用
1、Github账户建立
2、Git的下载与使用
二、文件目
本文紧接上文的AQS源码,如果对于ReentrantLock没有基础可以先阅读我的上一篇文章学习ReentrantLock的源码
ReentrantLock锁重入原理
重入加锁其实就是将AQS的state进行加一操作
然后释放锁资源将AQS的state进行减一操作
当state为0时才会彻底的释放
转自:
http://www.java265.com/JavaJingYan/202205/16523679023357.html
JVM拥有很多参数,如下所示
-XX:+PrintCommandLineFlags 打印出JVM运行时的各种的各项配置参数
-verbose:gc 发生GC时
介绍:本文用的经典的前后端分离开源项目ruoyi
Gitee链接地址:https://gitee.com/y_project/RuoYi
一、拉取项目:
利用Git把项目拉取到本地,也可以直接利用idea工具拉取,如图点击Get from VCS
填入远程仓库地址url,点击clonde
package com.exception.demo01;public class demo01 { public static void main(String[] args) { try{new demo01().a();}//StackOverflowError异常
转自: http://www.java265.com/JavaProblem/202110/1361.html
下文笔者将讲述java代码生成UUID的方法分享,如下所示:
UUID简介
UUID(Universally Unique Identifier)英文单词的缩写,UUID产生的目的:让
到目前为止,我们知道Spring创建Bean对象有5中方法,分别是:
使用FactoryBean的getObject方法创建
使用BeanPostProcessor的子接口InstantiationAwareBeanPostProcessor的postProcessBeforeInstantiat
一、协调生产/消费的需求
本文内容主要想向大家介绍一下Lock结合Condition的使用方法,为了更好的理解Lock锁与Condition锁信号,我们来手写一个ArrayBlockingQueue。 JDK实际上已经有这个类,基于Lock锁与Condition锁信号实现的,当然JDK实现代码很
多线程笔记(三)
1. 同步容器与并发容器
同步容器
通过synchronized关键字实现线程安全的容器;或通过Collections这个工具类的synchronizedXXX方法创建的容器,都称为同步容器
例如Vector, Stack, Hashtable
Vector是list接口的线程安
一、分页查询(引用了element框架)
思路:
Sql语句:select * from <表名> limit <从第几条开始查询>,<查询多少条数据>
例子:select * from user limit 2,10;
前端:传递两个数据给后
开发环境:
SpringBoot: 2.6.5
SpringCloud: 2021.0.0
SpringCloudAlibaba: 2021.0.1.0
Nacos: 2.1.0
代码:
@Slf4j
@Component
public class MyInMemoryRouteDefiniti
类型转换
由于java是强类型语言,所以在进行某些运算的时候,需要用到类型转换。
低-->高指的是字节大小,从小到大。
小数的优先级大于整数
数值进行类型转换时不要让数据溢出
由低到高可以直接转换,无需额外代码。注意点:
1 不能对布尔值进行转换
2 不能把对象类型转换为不相干的类型
3 在
mybatis层编写完毕后的项目目录
1.右键SpringMVC2项目-》new-》Modual-》选择maven项目(我的项目名为Study09_ssm),输入模块名,点击Finish
2.第二部的操作就是将idea的基本运行环境搞定,包括:添加web支持,配置tomcat,配置project