- 博客(31)
- 收藏
- 关注
原创 Spring & apache CXF 查找文档学习
Spring:这个页面地址理解为一个文件夹,往上一层 打开:https://docs.spring.io/spring-ws/docs/ 就可以看到所有的版本的文件夹目录了:点击 -> 3.1.7 -> api :
2024-05-07 15:03:57
139
原创 SpringBoot自动装配详解@EnableAutoConfiguration
org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration) 会生成 jdbcTemplate 和 redisTemplate 实现自动装配 开箱即用 不用自己手动配置dataSource 与 templdate。需要实现自动装配,必须引入starter包 例如spring-boot-starter-data-redis spring-boot-starter-jdbc。
2024-04-30 17:38:49
154
原创 this.class.getProtectionDomain().getCodeSource().getLocation()
获取web tomcat 的资源目录?然后从指定目录生成资源到指定目录(webapp):例如webapp下的资源:jsp css等等那些。如果封装在jar包里面执行jar包那么会得到当前jar包的绝对路径。如果直接执行.class文件那么会得到当前class的绝对路径。这句话取到的路径是 服务器 中的发布版本的路径。
2024-04-29 14:15:56
185
原创 jasper学习
例如 先上面的一月 纵向分组 然后再横向医院分组 再sum里面的vaule值或者count 条数。分组顺序:纵向分组后 ,再按名字横向分组后再进行部门横向分组。医院名称 月份 就诊人次。先根据产品纵向分组,再根据名字+部门横向分组。一月 二月 三月。
2024-01-16 15:05:26
437
原创 报错:Consider the following: If you want an embedded database (H2, HSQL or Derby)
https://blog.csdn.net/weixin_53259317/article/details/126760717
2023-09-21 09:55:46
92
原创 java 悲观锁和乐观锁的概念(常见的锁策略) 及乐观锁解决ABA方法
Java中的悲观锁(Pessimistic Locking)和乐观锁(Optimistic Locking)是用于处理多线程并发访问共享资源的两种不同的并发控制策略。它们有不同的工作原理和适用场景。悲观锁适用于需要强制线程互斥访问的情况,而乐观锁适用于高并发情况下希望减少线程竞争的场景。适用场景:乐观锁适用于高度并发的场景,其中冲突发生的概率较低,并且需要尽量减少线程阻塞和上下文切换的情况。适用场景:悲观锁适用于需要确保数据完整性和一致性的场景,但可能会导致性能下降,因为它会导致线程阻塞和上下文切换。
2023-09-08 20:54:03
145
原创 记一次maven不生效问题
这样就可以了,cmd 输入mvn -version就显示出了maven的版本信息了。系统变量也配置了(理应不用配置也可以的,直接配置用户变量?已经配置了MAVEN_HOME.
2023-08-29 15:56:11
210
原创 记一次idea安装lombok不生效问题
idea升级到最新的2019.2版本后,不必向网上很多人说的那样解决不兼容问题,如上配置即可正常使用。(1)按键 Alt+Ctrl+S,打开Settings对话框,安装lombok插件。(2)设置Enable annotation processing。(3)将lombok.jar直接放到源码文件夹下。安装和配置lombok。安装和配置lombok。
2023-08-28 15:41:36
222
原创 mysql避免使用长事务
1.造成大量的阻塞和锁超时(死锁 死锁的两种策略:1.等待锁超时 2.死锁检测)3.undo日志过多占用空间大。5.执行时间长,造成主从延迟。
2023-08-28 09:53:26
115
原创 缓存击穿解决方案
其他线程在获取到锁后,再次检查缓存是否有数据,若有则直接使用缓存,若没有则查询数据库并写入缓存。这样可以减少数据库压力。当缓存中的数据过期或不存在时,如果大量请求同时涌入,就可能导致缓存击穿问题,即某一个键的数据在数据库中不存在,但是多个请求同时查询这个键,导致数据库压力骤增。加互斥锁(Mutex)或分布式锁:在查询缓存前加锁,只允许一个线程去查询数据库并写入缓存,其他线程等待获取缓存结果。缓存预加载:在系统启动或非高峰期,提前将热门数据加载到缓存中,保证缓存中始终有数据可用,避免了缓存击穿问题。
2023-08-24 10:07:35
177
原创 redis 字符串底层实现方式(SDS)
e.惰性空间释放:当对SDS进行截短操作时,程序并不会立即回收缩短后多出来的字节所占用的内存,而是使用free属性记录多出来的字节数,以供将来使用。如果将来要对这个SDS进行增长操作,未使用空间可能就派上用场,并且增长操作也不一定会执行内存重分配。c.空间预分配:当对SDS进行增长操作时,程序不仅会分配修改所必须得空间,还会为SDS分配d.额外的未使用空间。通过预分配策略,减少了连续执行字符串增长操作时内存重分配次数。b.空间分配策略:如果修改增长字符串,会判断空间是否足够,不足够会自动扩展足够空间。
2023-08-24 09:47:06
28
原创 Maven学习—setting.xml & pom.xml 配置文件详解
链接地址:https://blog.csdn.net/weixin_42257984/article/details/123648265。Maven学习—setting.xml & pom.xml 配置文件详解。
2023-08-21 14:26:47
37
原创 maven项目 配置 pom文件 setting文件
仓库优先级为:本地仓库(localRepositories) > profile中的repositories仓库 > POM > mirrors全局仓库?
2023-08-21 14:09:33
646
原创 项目命令行配置
Dcom.sun.management.jmxremote.access.file=/usr/local/jdk/jdk1.8.0_261/jre/lib/management/jmxremote.access \ ## 对访问用户的权限授权的文件的路径,默认路径是${JRE_HOME}/lib/management/jmxremote.access。-XX:+UseCMSCompactAtFullCollection \ ## 年老代使用CMS,默认是不会整理堆碎片的。
2023-08-19 09:35:44
34
原创 记一次创建项目 依赖拉不下来报红报错的问题(版本不对)
这是因为版本不对导致的,然后依赖拉不下来。这样的话就可以拉下依赖包下来了(maven记得要改,要配好)。
2023-08-16 20:43:26
205
原创 记录一次 linux切换jdk版本的一些问题
bash: /www/server/jdk1.8/jdk1.8.0_211/bin/java: Permission denied 则是没有权限。然后输入#source /etc/profile 命令立刻生效 如果不生效则 关掉服务器重新进来.然后再输入 java -version 成功显示java为最新的jdk8 版本。当时linux用的是jdk1.7版本的,所以需要更换为jdk1.8;然后用 java -jar 文件名.jar & 后台启动java项目。然后按esc键 然后按: wq进行保存并退出.
2023-08-14 18:12:32
481
转载 Java | StringBuffer源码分析
前言StringBuffer类表示一个可变的字符序列。StringBuffer的API与StringBuilder互相兼容,但是StringBuffer是线程安全的。在可能的情况下,建议优先使用StringBuilder,因为在大多数实现中它比StringBuffer更快。相关知识String源码分析StringBuilder源码分析StringBuffer源码分析源码分析定义public final class StringBufferextends AbstractStringBuil
2022-02-10 10:10:36
486
1
转载 StringBuilder和StringBuffer的区别
StringBuilder和StringBuffer的区别在哪里?当接触这个问题的时候,我们可能第一反应就是,StringBuilder是线程不安全的,StringBuffer是线程安全的为什么StringBuilder是线程不安全,StringBuffer是线程安全?针对这个问题,大部分的人可能就无言以对了,我们只知道StringBuilder是线程不安全的,StringBuffer是线程安全的,却不知道为什么,所谓知其然,而不知其所以然,针对这个问题,做一次分享分析在分析这个问题之前,我们要知
2022-02-10 10:09:35
94
转载 String源代码解析
一.简介1.关于string设计中的享元模式2.string源码解析3jdk8相对于jdk7的不同4.补充二.String中的享元模式享元模式(Flyweight)可以粗略的理解为缓存(cache),是设计中的一种优化策列。1.常量与常量池在这里需要引入常量池这个简单的概念。常量池(constant pool)指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。它包括了关于类、方法、接口等中的常量,也包括字符串常量。看例1:首先,我们要知结果Java会确保一个字符串
2022-02-10 10:07:02
865
原创 什么是享元模式?
一、什么是享元模式?享元模式(Flyweight pattern)又叫轻量级模式,是对象池的一种标签。类似线程池,线程池可以避免不停的创建和销毁对象,消耗性能。享元模式可以减少对象数量,其宗旨是共享细粒度对象,将多个对同一对象的访问集中起来,属于结构型设计模式二、享元模式的写法极其uml图1.享元模式的uml图:主要的3个角色1.抽象享元角色(IFlyweight): 享元对象抽象基类或接口,同时定义出对象的外部状态和内部状态的接口或实现。2.具体享元角色(ConcreteFlyweight):
2022-02-10 10:02:05
4260
原创 记录String ,StringBuffer 知识点(通过综合网上的加上自己的理解)
String:底层为数组 且 value属性是 final 修饰的 ,所以不能扩容,长度不可变。 String ss = new String("12"); String s1 = "a" +"b"+"c"; //1个对象 String s2 = "a"; //1个对象 String s3= s2 +"bc"; //3个对象 String s4 = new String("你") + s2 + "b"; //5个对象 //下面代码与上面代码没有联系---------
2020-10-29 21:16:21
304
1
原创 Arrays.copyOf 底层调用System.arraycopy arraylist jdk1.6及之前都是扩容1.5倍加1
Arrays.copyOf(original, newLength)说明: 参数:原数组,长度调用了 System.arraycopy(original,0,newArr[newLength],0,original.length)System.arraycopy(src, srcPos, dest, destPos, length); 说明:参数:原数组,起始位置,目标数组,目标数组起始位置,要复制的长度...
2020-07-15 11:51:09
220
原创 视频面试蚂蚁金服,本以为石沉大海,没想到被直接录取了
当前环境,很多公司都采取了远程办公,远程面试。有一说一,第一次远程面试,还是比较紧张的。蚂蚁金服面试(视频一面)Java容器有哪些?哪些是同步容器,哪些是并发容器?为什么 Java 要采用垃圾回收机制,而不采用 C/C++的显式内存管理?一个线程的生命周期有哪几种状态?它们之间如何流转的?什么是活锁、饥饿、无锁、死锁?怎么检测一个线程是否拥有锁?如何解决同时存在的对象创建和对象回收问题说说一致性 Hash 原理新生代分为几个区?使用什么算法进行垃圾回收?为什么使用这个算法?HashMap在
2020-07-03 11:50:19
6224
原创 5 个刁钻的 String 面试题!你都遇到过哪些?
1.判定定义为String类型的st1和st2是否相等,为什么package string;public class Demo2_String { public static void main(String[] args) { String st1 = "abc"; String st2 = "abc"; System.out.println(st1 == st2); System.out.println(st1.equals(st2)); }}输
2020-07-03 09:39:35
104
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人