- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 SpringBoot启动后,如何动态修改bean的信息(类似ZooKeeper,Apollo等远程配置中心)
【代码】SpringBoot启动后,如何动态修改bean的信息(类似ZooKeeper,Apollo等远程配置中心)
2023-09-05 15:19:04 834
原创 HashMap和ConcurrentHashMap的一些总结(基于jdk1.8)
HashMap和ConcurrentHashMap的一些总结(基于jdk1.8)
2022-08-18 16:28:09 157 1
原创 两个实体字段不一致,但是字段的值相同 最好的解决办法,不用注解反射哈
直接用sql查询的时候带上as 例如 select datasrc as datasource, datasrcName as datasourceName, status from t_ydd_datasrc
2021-06-01 14:34:49 650
原创 Spring启动流程解析,基于ClassPathXmlApplicationContext
长文警告!此文章仅仅讲述主方法以及主方法里面方法的解释,不会贴太多代码,要仔细了解还得读者自己去看源码哈.基于Spring5.1.3RELEASE一.基础代码1.基础的项目目录截图如下2.bean.xml <bean class="com.lixiao.stydy.spring.domain.Student" id="lixiao"> <property name="name" value="李校"></property>
2021-06-01 14:19:09 414
原创 两个实体字段不一致,但是字段的值相同 使用注解和反射进行转换 可以避免get和set方法
一个公司两个系统,创建的实体含义一样,但是字段不一致,用get和set方法转换太恶心,而且容易空指针,所以使用注解和反射来写,特地记录一下,有要用的同学可以拿去用哈。上代码:package com.yunda.cross.util;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java
2021-05-24 17:13:13 2349
原创 java为什么要使用反射
一.提出问题new一个对象的速度要比反射的newInstance快,为什么还要使用反射进行生成对象?解答1:1.举例:假设有一个场景:一共有50个Excel模板,每一个Excel模板的字段不同、格式不同、填写的内容也不同,后台需要根据用户上传的模板来读取里面的内容再进行后台逻辑的处理。2.解决方案:①.常规的根据用户上传的模板做不同的判断,对不同字段进行不同的处理,例如: if(excel1){ new Excel1() }if(excel2){ new Excel2() }.....
2020-10-26 15:55:54 998 5
原创 Mybatis 逆向生成 1.3.6版本复制粘贴即可使用 可以生成数据库备注
资源来源于百度pom文件 <!--mybatis逆向工程--> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.6</version> </dependency>
2020-08-27 15:51:26 151
转载 ②Spring学习——资源加载
一.作用为Spring加载各种外部资源提供服务学习资料来源:https://mp.weixin.qq.com/s/Ozc18IOsZnYERxrL1bfJVA二.结构详解Resource 根据资源的不同类型提供不同的具体实现,如下:1.FileSystemResource:对 java.io.File 类型资源的封装,只要是跟 File 打交道的,基本上与 FileSystemResource 也可以打交道。支持文件和 URL 的形式,实现 WritableResource 接口,且从 Spri
2020-08-21 10:55:06 122
原创 ①Spring学习—IOC
一、IOC控制反转1.参考文章: https://blog.csdn.net/it_man/article/details/4402245 https://www.cnblogs.com/xdp-gacl/p/4249939.html https://mp.weixin.qq.com/s/nCvZ9NbNQeD_FtJyho4owg2.自己的总结: 控制反转是一种编码设计思想,目的是为了应用解耦 其实现方式是DI(依赖注入) 控制:对象的生命周期(通过依赖注入把对象放到IOC容器中,IOC
2020-08-21 10:30:57 94
原创 常量的大坑
LeetCode上面的两数之和package com.lixiao.demo.leetcode;import com.alibaba.fastjson.JSONObject;import java.util.HashMap;import java.util.Map;/** * @Author: lixiao * @Date: 2020/8/11 9:12 * @Description: */public class Demo1两数之和 { public static
2020-08-11 10:35:36 90
原创 Mybatis 批量插入数据
int insertBatch(List<PreferProductProfitresultDetailPo> records); <insert id="insertBatch" parameterType="java.util.List" > insert into t_cmc_calculation_result_detail_info (result_id, create_time, last_update_time, create_user_i..
2020-08-07 10:50:57 130
原创 ③单例模式——如何防止反射破坏单例
一.在构造器中做判断,如果对象已经被创建那么再次创建则不允许创建思路:不管是反射还是常规创建对象都需要调用构造器弊端:如果在常规调用之前就已经使用反射创建则不能阻止 private volatile static SingleLazy instance; private SingleLazy(){ synchronized (this){ if(instance != null){ throw new Runtim
2020-08-05 14:47:16 2025
原创 ②单例模式——使用反射破坏单例
一.破坏懒汉式单例package com.lixiao.demo.annorefle.practice.single;import java.lang.reflect.Constructor;import java.lang.reflect.InvocationTargetException;/** * @Author: lixiao * @Date: 2020/8/5 8:48 * @Description: */public class SingleTest { publi
2020-08-05 11:00:17 178
原创 ①单例模式——常用的单例写法
一.懒汉式(调用才创建)package com.lixiao.demo.annorefle.practice.single;/** * @Author: lixiao * @Date: 2020/8/5 8:20 * @Description: 懒汉式单例模式 */public class SingleLazy { /* * * 懒汉式 */ private static SingleLazy instance; private SingleLazy
2020-08-05 10:24:38 140
原创 注解&反射的学习
一、理论1、学习资料来源:https://www.runoob.com/w3cnote/java-annotation.html 理论知识可以在这里看,非常详细。二、自我实践1、项目目录结构2.第一阶段学习代码package com.lixiao.demo.annotation;import java.lang.annotation.*;/** * @Author: lixiao * @Date: 2020/8/4 10:41 */@Target({ElementType.FI
2020-08-04 17:46:39 83
原创 获取枚举类所有值的骚操作static
public enum ProductStatus { disagree("disagree","不同意"), measurement_agreement("measurement_agreement","测算同意"), approval("approval","审批中"), to_be_activation("to_be_activation","待激活"), to_be_effective("to_be_effective","待启用"), valid("valid","有效"), i
2020-08-01 11:04:34 1911
原创 excel 生成sql语句
=CONCATENATE(“insert into cmcdb.t_cmc_try_bury (customer_code,customer_name,dept_code,dept_name,standard_code,status,active)values (’”,A2,"’,’",B2,"’,’",C2,"’,’",D2,"’,’",E2,"’,’",F2,"’,’",G2,"’);")效果:insert into cmcdb.t_cmc_try_bury (customer_code,cust
2020-07-30 17:04:29 197
原创 吐血的@value注解使用
废话不多说 直接贴结果取porpties里面的mapcmc.rmq.topic={key1:“value1”,key2:“value2”,key3:“value3”}取值:@Value("#{${cmc.rmq.topic}}")private Map<String, String> namesrvAddrMap;
2020-07-07 21:12:13 218
原创 serialVersionUID 序列化ID
1.含义定义程序序列化ID2.描述java中数据在网络中传输的时候需要将对象变为指定的二进制数据 将对象变成指定二进制数据叫序列化,而把二进制数据转化成对象成为反序列化。3.为什么这么写对象在序列化的时候编译器会自动生成一个serialVersionUID且类型为Long,如果不按照这个方法去写会存在转译情况,影响效率。...
2020-06-15 15:53:38 130
原创 聊聊java优化问题
一、什么是java优化我们的java程序运行在计算机上面,影响计算机性能的主要因素有:硬盘,内存,cpu,网络,而如何高效的运用这些关键性因素就是java程序优化的方向。二、关键性因素在技术工具上的应用1、硬盘——>mysql索引,mysql调优mysql索引本质上是通过硬盘io快速查找到我们需要的值的一种数据结构,其底层是b+树,详细文章2、内存——>redis特性,jvm调优redis是于内存上面运行的一种缓存中间件,其目的就是减少对mysql的查找,也就是减少磁盘io,一般存储
2020-05-29 18:32:47 180
原创 关于eureka 集群搭建的时候 服务提供者添加了多个注册中心但是只有第一个生效
关于eureka 集群搭建的时候 服务提供者添加了多个注册中心但是只有第一个生效 需要再服务提供者的启动类上加上@EnableDiscoveryClient 注解即可
2020-04-20 16:42:02 3206
java复习.xmind
2020-05-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人