
java
小苗已长大
这个作者很懒,什么都没留下…
展开
-
logback.xml 配置
根据阿里云开发规范,日志的记录最好分成error, debug,info. 分开记录。按天生成。这样就比较方便问题定位查找。下面附上配置<?xml version="1.0" encoding="UTF-8"?><configuration> <!-- 应用名称:和统一配置中的项目代码保持一致(小写) --> <property name="APP_NAME" value="app"/> <contextName>原创 2022-04-12 10:43:36 · 1231 阅读 · 0 评论 -
年轻代和年老代分配过大 或 过小
我们都知道 堆内存被分为年轻代 和 年老代 ,默认比例是1:2. 年轻代占1/3.年轻代 gc使用的算法是 copy算法(速度快,但是会浪费一个survivor内存),年老代使用的是 标记整理算法(速度慢)。基于此,来了解一下年轻代和年老代分配过大 或 过小会有哪些影响。年轻代过大:1:会导致生命周期长的对象 长时间在年轻代,在s0和s1之间来回复制,增加复制开销。2:年轻代过大,那么年老大就会很小,就会频繁出发fullGC. 由于年老代使用的是标记整理算法,本来就会很慢,就导致stw的原创 2022-02-14 11:58:27 · 1161 阅读 · 0 评论 -
分布式锁的使用
1:定义一个注解,例如:@Documented@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface RedisLock { // 60s int timeOut() default 60;}:2:将该注解使用到需要考虑分布式的方法上3:切面/** * 环绕通知:灵活自由的在目标方法中切入代码 */@Around("aspect()")public v原创 2022-01-04 11:42:23 · 194 阅读 · 0 评论 -
微信开发对接
首先,本地开发调试 微信接口1: 服务器配置2:代码里必须有一个 checkSign 的get请求。(这个方法是微信自动调用的)/** * 响应get请求,微信默认token校验时使用get请求 */@GetMapping(value = "checkSign")protected void checkSign(HttpServletRequest req, HttpServletResponse resp) { //接收微信用来校验信息的内置规定参数 Stri.原创 2021-12-01 14:42:22 · 791 阅读 · 0 评论 -
单例设计模式
设计模式是一种思想,适合于任何一门面向对象的语言。共有23种设计模式。一、【单例模式详解】单例设计模式所解决的问题就是:保证类的对象在内存中唯一。作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类成为单例类。单例模式的特点:单例类只能有一个实例;单例类必须自己创建自己的唯一实例;单例类必须给所有其他对象提供这里实例。A、B类都...转载 2020-01-14 11:27:53 · 117 阅读 · 0 评论 -
java中没有引用传递验证
public class TransferParamTest { static class Demo { int a; public Demo(int a) { this.a = a; } } private static void function1(Demo d1, Demo d2) {...原创 2019-12-16 16:25:37 · 118 阅读 · 0 评论 -
售票系统模拟
多个线程同时抢票public class TestDemo{ @Test public void test9() throws Exception { CountDownLatch count = new CountDownLatch(1); for (int i = 0; i < 5; i++) { new T...原创 2019-12-16 15:11:45 · 338 阅读 · 0 评论 -
关于feign超时问题解决必杀技
1,配置中添加:feign: hystrix: enabled: false2,添加:hystrix: command: default: execution: timeout: enabled: false3,添加:ribbon: ReadTimeout: 10000 ConnectTimeo...原创 2019-10-16 10:59:00 · 425 阅读 · 0 评论 -
springboot 整合 aop
第一步:添加依赖 (这里我去除了spring-boot-starter-logging,因为项目中可能引入了其他日志,为了避免冲突,就直接去除了)<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop...原创 2019-09-23 11:12:47 · 313 阅读 · 0 评论 -
File 转 MultipartFile
File pdfFile = new File("D//pic//cat.jpg");FileInputStream fileInputStream = new FileInputStream(pdfFile);MultipartFile multipartFile = new MockMultipartFile(pdfFile.getName(), pdfFile.getName(),...原创 2019-08-16 15:49:46 · 383 阅读 · 0 评论 -
上万条数据的Excel导入,存库历程
1. 需求:页面上传16万条数据的excel, 后台一些过滤操作后存表 一开始我想,就用就从常用的JavaPOI导出Excel有三种形式选一个:HSSFworkbook,XSSFworkbook,SXSSFworkbook 但是 实践过程中发现,事实并不是想象的那么随意,实践结果是 这三个都不能使用HSSFworkbook ,XSSFworkbook : 太小,解析导入...原创 2019-06-05 16:28:45 · 2332 阅读 · 0 评论 -
设计模式二:动态代理和静态代理
静态代理静态代理示例:接口是必须的public interface PursueAction { void giveFlowers();}代理类:(代理追求者)public class ProxyPursuer implements PursueAction{ Pursuer pursuer; public ProxyPursuer(String ...原创 2019-05-07 17:11:13 · 134 阅读 · 0 评论 -
设计模式 一:简单工厂模式
目标:实现一个计算器(利用封装,继承,多态的思想实现一个扩展性强的计算器) 工厂类: public class OperatorFactory { Operator operator; public Operator getOperator(String type) { switch (type) { case "+": ...原创 2019-05-07 11:21:16 · 115 阅读 · 0 评论 -
设计模式五:策略模式
定义算法家族abstract class OperateStrategy { public abstract double operate(double num1,double num2) throws Exception;}加法public class OperateAdd extends OperateStrategy { @Override pub...原创 2019-05-09 16:40:32 · 137 阅读 · 0 评论