- 博客(17)
- 收藏
- 关注
原创 8、锁(synchronized、lock、redis实现分布式锁)
记录每一个努力的日子!上一篇:缓存(使用map实现内存缓存、使用ehcache实现磁盘缓存、使用redis实现分布式缓存)参考项目:github 1.6.0分支概述a.锁实现注意点a. redis锁也可以单独调用方法实现原理a.synchronized是JVM提供的锁,通过monitorenter和monitorexit实现。重点是偏向锁、 轻量级锁 、重量级锁理解以及锁膨胀(Mark Word变化)过程理解。b.lock是通过java代码实现锁(更加灵活可控,提供多种中间状态信息和可
2021-01-06 19:47:31
406
原创 7、缓存(使用map实现内存缓存、使用ehcache实现磁盘缓存、使用redis实现分布式缓存)
记录每一个努力的日子!上一篇:mysql多数据源实现参考项目:github 1.5.0分支cache模块概述a.缓存实现b.localcache是基于内存实现的cache、ecache是基于ehcache实现的cache、rediscache是基于redis实现的cache注意点a. spring boot cache其他默认实现参考org.springframework.boot.autoconfigure.cache.CacheTypeb.RedisCacheConfig 36 可以指
2021-01-06 19:31:58
314
原创 6、mysql多数据源实现
记录每一个努力的日子!上一篇:利用spring过滤器来完成请求body解密、验证签名,返回body的加密参考项目:github 1.4.0分支概述a.mysql多数据源实现b.运行OrderParentApplication,请求参考BuyController注意点a. 启动类要排除DataSourceAutoConfiguration,增加自定义DynamicDataSourceConfigb. @Pointcut 不仅支持包,其他比如自定义注解等实现原理都一样c. yml中${}值需
2021-01-06 17:16:34
181
原创 5、利用spring过滤器来完成请求body解密、验证签名,返回body的加密
记录每一个努力的日子!上一篇:制作一个html转pdf的spring boot starter参考项目:github 1.3.0分支 order模块1、原理spring 处理请求的流程是 …->filter->…->controller,所以在未到达controller之前替换掉请求参数即可2、添加Filter自定义一个Filter类实现Filter接口,重写doFilter方法,添加一个FilterRegistrationBean到容器中即可@Beanpublic Fil
2020-11-01 11:03:17
1000
原创 4、制作一个html转pdf的spring boot starter
记录每一个努力的日子!上一篇:使用euereka、zuul、config、feign、ribbon基本组件完成微服务架构参考项目:github 1.2.0分支 tool模块1、依赖软件wkhtmltopdf2、关键代码使用ProcessBuilder来执行可执行脚本public Html2pdf(String command){ this.command = command;}public final void conver(String htmlPath, String pdfP
2020-11-01 10:28:24
479
2
原创 3、maven多module打包
记录每一个努力的日子!上一篇:使用euereka、zuul、config、feign、ribbon基本组件完成微服务架构参考项目:github 1.1.0分支1、优势与劣势优势:各自模块物理隔离,可单独运行单个子模块,也可以运行主模块全部运行。劣势:需要处理好依赖关系,以免发生循环依赖注意点:各模块中不可出现同名bean,会注入失败,建议加模块名前缀2、项目结构多模块的<groupId>需要一致。这样模块a的包结构就是groupId.a,模块b的包结构就是groupId.b。在主
2020-10-31 23:43:25
542
原创 2、使用euereka、zuul、config、feign、ribbon基本组件完成微服务架构
记录每一个努力的日子!上一篇:使用maven多module构建一个web后端项目参考项目:github 1.0.0分支1、工具idea实用功能, 父项目目录/.idea/workspace.xml 中的RunDashboard下增加配置,启用RunDashboard启动方式<option name="configurationTypes"> <set> <option value="SpringBootApplicationConfigurationTy
2020-10-31 22:35:52
199
原创 1、使用maven多module构建一个web后端项目
记录每一个努力的日子!参考项目:github master分支.1、工具idea2、概述多模块相比较单体服务,可以使一个项目更加容易管理,避免来回切换项目3、步骤3.1file->new->project(选择 Spring Initializr、 project SDK 1.8)->next(填写 Group、Artifact、选择 Java Version、其他默认)->next->next->finish3.2删除src文件3.3打开pom.
2020-10-31 21:05:45
199
原创 CPU使用不高,内存使用很大的问题?
进展第一步以下命令重点查找pid、关注内存占用数量和比例 top #使用shift + m 排序内存使用 ps axuf | sort -n -k3第二步csdn、云栖社区、百度中找各种帖子https://blog.youkuaiyun.com/lycyingO/article/details/80854669 #和现有问题相识度很高第三步在自己aliyun服务器上使用gdb,感觉并...
2019-04-30 16:13:10
1463
原创 桥接
public interface BridgeSource<T> { T insert(T t); void delete(T t); T update(T t); T select(T t);}public class BridgeSourceImpl1 implements BridgeSource { @Override ...
2018-08-15 14:59:01
241
原创 java 发布订阅Observer
public class Publish extends Observable{ private String data = ""; public String getData() { return data; } public void setData(String data) { if(!this.data.equals(d...
2018-08-15 09:40:17
224
原创 java策略 Strategy
public interface Animal { void bark();}public class Cat implements Animal{ @Override public void bark() { System.out.println("miao..."); }}public class Dog implements...
2018-08-14 19:33:13
224
原创 annotation
@Documented@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface Value { String value();}public interface IConfig { @Value("db.url") String dbUrl(); ...
2018-08-14 18:31:30
208
原创 java代理 proxy
public interface Person { String sing(String name); String dance(String name);}public class LiuDeHua implements Person{ @Override public String sing(String name) { Syste...
2018-08-14 18:28:19
855
原创 api限流
20180810限流public class TokenBucket { // 默认桶大小个数 即最大瞬间流量是64M private static final int DEFAULT_BUCKET_SIZE = 1024 * 1024 * 64; // 一个桶的单位是1字节 private int everyTokenSize = 1; ...
2018-08-14 17:29:03
369
转载 优快云-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I...
2018-08-14 17:22:54
166
原创 mysql隔离级别、锁机制
隔离级别1、Read Uncommitted 可能出现问题举例:读脏2、Read Committed 可能出现问题举例:不一致3、Repeatable Read 可能出现问题举例:幻读4、Serializable 可能出现问题举例:超时锁机制 1、开启两个会话 2、每个会话开启事务 3、第一个会话中执行update sql(返回结果) 4、第二个会话中执行u...
2018-08-10 13:43:51
211
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人