- 博客(32)
- 资源 (1)
- 收藏
- 关注
原创 方法的调用(虚方法和非虚方法)
1、子类对象的多样性体现在虚方法上,虚方法的前提:类的继承关系、方法被重写。2、父类方法:指子类使用super调用父类方法。
2024-06-25 07:35:58
193
原创 在Java虚拟机(JVM)规范中,程序计数器(Program Counter Register,PC寄存器)设置为线程私有主要是出于以下几个原因:
2、栈帧管理:程序计数器指向当前线程所执行的字节码的地址,这对于栈帧管理和方法调用跟踪至关重要。每个线程的PC寄存器更新能准确追踪其执行流程。1、线程独立性:每个线程都有自己的程序计数器,这样它们可以在不同的代码位置上并行执行,互不影响。这保证了每个线程执行流的独立性。3、线程安全:由于PC是私有的,不需要同步,这有利于提高性能,特别是在多线程环境下,避免了额外的锁竞争。4、内存安全性:线程私有的PC不会让一个线程看到另一个线程的执行状态,防止了潜在的数据竞争和并发问题。
2024-06-19 07:21:22
107
1
原创 开发中,用MapStract遇到问题的解决方案
例如:下面需要integralDetailPo的 integralNumber , operationIntegralActivityType两个字段进行处理,最终映射 integralNumber。1、使用注解@Mapper(componentModel = "spring"),将Convert注册成为bean。2、需要处理源多个字段,最终结果映射目标单个字段。3、源字段需要转换成目标字段。
2023-06-07 16:44:02
389
转载 环境相关概念
环境bean、系统环境bean、系统属性beanhttps://blog.csdn.net/topdeveloperr/article/details/88063828?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2.pc_relevant_paycolumn_v3&depth_1-utm_source=distribute.
2022-04-18 06:53:27
151
原创 容器中涉及到的成员变量
1、bean定义层次 自动和手动 自动: beanDefinitionMap:bean定义,还没有进行后置处理器操作 (Map:key->name value->beanDefinition) beanDefinitionNames:beanName (List:name) 手动: manualSingletonNames:手动注册的beanName (List:name)!!!!注意:手动注册bean只有beanName,没有bean定义 beanDefinitio.
2022-04-18 06:50:49
149
原创 getSingleton() 过程总结
在DefaultSingletonBeanRegistry中有三个getSingleton()方法其中一个重写,两个重载getSingleton() 重载方法的区别:1、访问修饰符:public protected2、方法签名:方法重载,第一个入参类型相同,第二个入参类型不同3、方法逻辑:public Object getSingleton(String beanName)调用getSingleton(String beanName, boolean allowEarlyReferen.
2022-04-18 06:40:18
468
原创 BeanDefinitionReader解析
在XmlBeanDefinitionReader类中查看UML图1、BeanDefinitionReader:接口loadBeanDefinitions()抽象方法2、AbstractBeanDefinitionReader:抽象类 实现loadBeanDefinitions()方法:通过 绝对路径 获取资源对象3、XmlBeanDefinitionReader:子类实现loadBeanDefinition():从资源对象中获取输入流,为下面调用doLoadBeanDefinition(.
2022-04-18 06:13:11
184
原创 Stream流flatMap的使用
用流白摆脱双层for循环,实现setRecord。当然转换流还可以生成新的类型的流对象。package Test;import java.util.ArrayList;import java.util.List;import java.util.stream.Collectors;/** * @description: * @author: yq * @time: 2022/3/13 8:17 */public class StreamTest { private.
2022-03-13 16:16:33
1070
1
原创 idea快捷键
Ctrl+/或Ctrl+Shift+/ 注释(//或者/**/)Ctrl+Alt+O 优化导入的类和包Ctrl+Alt+V 可以引入变量。例如:new String(); 自动导入变量定义。Ctrl+Alt+T,可以把代码包在一个块内,例如:try/catch。Ctrl + O 选择可重写的方法Ctrl + I 选择可继承的方法Ctrl + Enter 智能分隔行Ctrl + H 查看类的继承体系Ctrl + G 跳到指定行Ctrl .
2022-03-04 07:00:31
162
原创 Spring源码 编译或者运行测试类或测试方法出现程序包不存在或者找不到符号
Spring源码 编译或者运行测试类或测试方法出现程序包不存在或者找不到符号1、可以先定位缺包或者找不到符号(类)所属于哪个Spring子项目记住子项目名2、然后在编译失败那个子项目的grandle文件,找到dependencies中缺包所属子项目名,看是否是optional修饰,这边突然联想到Java Optional API,可能是做了某种引用。。。把optional 改为 compile然后点击gradle文件的编译按钮...
2021-12-18 22:07:12
1980
原创 项目部署到服务器
1.本地开发jdk和服务器jdk版本必须一致。2.数据库地址问题(URL),数据问题。3.本地tomcat,服务器tomcat (版本影响不大)4.将本地编译之后的项目字节码上传到服务器tomcat/webapp5.启动服务器tomcat6.访问服务器的项目。...
2021-07-08 20:13:01
81
原创 jdk和Tomcat 配置在liunx
用xftp5上传.tar.gz压缩包Jdk配置-1).上传jdk压缩包 -2).解压包 tar -zxvf jdk-7u79-linux-x64.tar.gz -3).重命名 mv jdk1.7.0_79 jdk -4).配置环境变量#前提root权限vi /etc/profile:wq!-5).刷新内存source /etc/profile-6).测试javac...
2021-07-08 20:12:19
69
原创 设置防火墙
设置防火墙设置防火墙firewall-cmd --state #查看防火墙状态systemctl stop firewalld.service #停止防火墙systemctl start firewalld.service #打开防火墙systemctl disable firewalld.service #弃用防火墙systemctl enable firewalld.service #启用用防火墙--zone #作...
2021-07-08 20:11:04
99
原创 mysql安装
1.安装mysql数据库#安装前,我们可以检测系统是否自带安装 MySQL:rpm -qa | grep mysql#如果你系统有安装,那可以选择进行卸载:rpm -e mysql // 普通删除模式rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除#安装 MySQl:(不建议先执行)yum -y install wget #安装wget命令wget http://re..
2021-07-08 20:06:24
108
原创 linux命令
安装 (版本centos7)VirtualBox安装CentOS7https://www.linuxidc.com/Linux/2016-09/135593.htmredhat:https://www.anchang.org/post/43.html1.Linux centos重启命令:1、reboot 普通重启2、shutdown -h now 立刻重启(root用户使用)3、shutdown -r 10 过10分钟自动重启(root用户使用)4、shut...
2021-07-08 20:04:28
135
原创 svn安装
svn项目管理:1.工程师安装svn服务器,并配置项目管理目录且设置好conf文件夹的相关权限启动服务器2.工程师在window安装svn客户端,并设置连接服务器的地址。3.工程师打开IDEA创建maven web项目,并上传到服务器。4.程序员在自己电脑安装svn客户端,并设置连接svn服务器的地址。5.创建workspace并在其中创建项目文件夹例如:webTest16.使用svn本地工具,导出svn服务器项目到本地。7.打开IDEA并import本地workspace中的项
2021-07-08 20:03:40
1849
原创 springboot配置
#SPRING CONFIG(ConfigFileApplicationListener) spring.config.name =#配置文件名(默认 为 'application' ) spring.config.location =#配置文件的位置 # 多环境配置文件激活属性spring.profiles.active=dev #加载application-dev.properties配置文件内容application-dev.proper...
2021-07-01 16:31:50
659
原创 <collection>标签的其他用法
<collection property="htAuthorityDTO" ofType="com.sailod.shiro.dto.HtAuthorityDT" select="selectAuthority" column="{htAuthorityId2 = htAuthorityId ,currentUserId2 = currentUserId}" ></collection>
2021-06-22 17:11:38
484
原创 Hashtable与Hashmap的区别
不同点:1、底层:1.7之前都是数组+链表实现,1.8之后加入红黑树2、线程安全:hashtable是线程安全的,hashmap不是线程安全的,但是hashmap子类concurrenthashmap是线程安全的3、遍历方式:hashmap支持iterator遍历,hashtable支持iterator和enumaretion两种遍历方式 4、null值:hashmap支持键和值都是null,其中只能有一个键是null,但是值可以有多个null;hashtable不允许空键值5、hashc...
2021-06-21 15:18:37
72
原创 union与union all实现全外连接
SELECT s.sid, s.sname, s.sage FROM student s LEFT JOIN sc ON s.sid = sc.sid UNIONSELECT s.sid, s.sname, s.sage, sc.cid FROM student s RIGHT JOIN sc ON s.sid = sc.sid
2021-06-06 07:58:06
669
原创 spring-setter注入(属性和构造器注入)
<!--setter注入: 不关注类是否存在这个属性,只关注是否存在这个setter方法,setter方法名称为set拼上property的name首字母大写,并将后面的值赋给setter方法中的形参--> <!-- bean下面property的ID首字母大写,前面拼上set,形成setter方法,在该bean中必须存在。--> <!-- value是后面形参变量的值--> <bean id="student" class=".
2021-05-23 07:33:22
705
原创 Aspectj-aop注解式实现
`Aspectj-aop实现1、添加aspectj依赖2、编写Aspect代理类,重点注意:在代理类方法的注解里,有需要代理的目标对象或目标对象的方法3、配置文件必须添加:aop:aspectj-autoproxy/,让spring知道你使用aspectj动态代理1)如使用xml方式实现动态代理,就在配置文件中声明目标对象和代理对象的bean2)如使用注解方式实现动态代理,就在配置文件中添加包扫描标签 <context:component-scan base-package=“com.*”/
2021-05-13 07:51:50
135
原创 spring bean的Setter注入(手动、自动)和构造器注入
<!--手动赋值--> <bean id="student1" class="com.yq.shoudong.Student"> <property name="name" value="yq"/> <property name="age" value="10"/> </bean> <bean id="school1" class="com.yq.shoudong.School">
2021-05-10 07:51:24
562
原创 @Autowired和@Qualifier(“school“)以及@Resources用法总结
@Autowired和@Qualifier(“school”)用法总结// @Autowired/*按类型注入:1、直接按类型注入2、按父类型注入3、按接口类型注入有缺陷:当父类的子类出现多个或者接口的实现类出现多个时,按类型注入会产生冲突*/@Autowired@Qualifier(“school”)/*按名称注入:注意当父类的子类出现多个或者接口的实现 类出现多个时,运用@Qualifier能解决存在的冲突*/...
2021-05-10 07:39:36
183
原创 ssm框架mapper代理
pom.xml<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <
2020-06-11 09:17:21
139
原创 js请求controller
<script type="text/javascript">function on_delete() {var uId = $("#uId").val();location.href="/GraduationProject/admainController/deleteRecord.do?uId="+uId;}
2020-05-21 10:56:25
1457
原创 ajax检验用户名是否合法
登录页面```javascript<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %><!...
2020-05-02 22:42:16
160
原创 tomcat启动start.up一闪而过解决方案
我们来具体来分析一下问题出现的原因及解决办法:进入tomcat的安装目录(即解压后放置的地方):看到圈出红色的3个bat文件,一般通过startup.bat启动tomcat时流程是:startup->catalina->setclasspath->catalina如果这3个bat文件里面有一个出现错误的话就是启动失败。为了找到一闪而过的原因得需要我们来看看这3个文件里面到底...
2020-04-25 11:38:31
1013
原创 jdbc结合Service和Dao案例
package com.you.test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;...
2020-01-05 14:51:17
373
原创 jdbc的增删改查
package com.you.test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;...
2020-01-05 12:50:21
69
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人