- 博客(10)
- 问答 (2)
- 收藏
- 关注
原创 非侵入式AOP实践(一):AspectJ
AOP,面向切面编程,可以不修改原来的代码,增加一些通用的、业务无关的逻辑,例如日志记录性能统计等。但一般都是使用spring框架提供的AOP支持和AspectJ,需要先写好切面逻辑,再在业务方法上加上设计好的注解: /** * 1.定义注解 */ @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface NILogBefore { } @Aspect public class NI
2020-05-17 22:44:41 421
转载 cglib源码分析(四):cglib 动态代理原理分析
本文分下面三个部分来分析cglib动态代理的原理。cglib 动态代理示例代理类分析Fastclass 机制分析一、cglib 动态代理示例public class Target{ public void f(){ System.out.println("Target f()"); } public void g(){ System.out.println("Target g()"); }}public class Inte
2020-05-10 21:13:55 391
原创 浅谈Java线程池原理
多线程可并发处理多个任务,提高计算机资源的利用率和工作效率,那么是不是来一个任务就开一个线程处理就完事呢?当然是不行的,因为创建、切换、销毁线程的开销不小,如果是处理短小任务的话,很有可能得不偿失,甚至造成系统崩溃。为了解决线程开销和,线程池的概念应运而生。...
2020-04-26 23:29:28 406
原创 从ReentrantLock看AQS
前置知识:多线程同步、ReentrantLock、重入的概念谈到Java的多线程,必然少不了传说中的AQS。那么AQS是什么?官方一点的说法来讲,AQS提供了原子值state和同步队列,是旨在实现同步相关功能的一个框架,JUC包的基础类。这样说好像有点抽象,那就从用到它的ReentrantLock入手。画了个不太标准的类图,可以从中看出ReentrantLock里面有三个内部类,其中Sync...
2020-04-19 22:06:12 143
原创 如何实现线程返回值——FutureTask
一、介绍FutureTask位于java.util.concurrent包中,用于处理并返回异步任务结果。二、简单的例子三、源码分析
2020-04-12 19:04:52 924
原创 数据库单表数据量太大的优化方案总结
场景:一个表每天新增几万数据,目前单表总数据量在几百万数据。会查询粒度大的统计数据,也会查询粒度比较小的数据,当天更新的数据查询频率最密,最近几天的数据次之。随着数据越来越多,数据库的性能开始变低。那么应该从哪些角度出发思考优化方案?1.从时间特征出发:看看大约的更新时间点,在这个时间点之前的当天数据查询,直接返回“没有更新”提示,不用查库;2.从数据特征出发:1)热点数据是当天的数据,所...
2020-04-12 13:56:54 4543
原创 浅谈Git分支策略
《Git团队协作》介绍了几种分支策略,结合之前在工作中用到的分支策略,简单总结下。一、主线分支开发这是最基础的分支策略,有且只有一个分支——master,所有人都可以随时提交到master分支,随时可以部署发版。在项目规模小,开发者数量不多并且大家负责的工作比较独立的情况下,这样简洁的分支策略已经可以满足了。但是一旦出现问题之后,代码回退就很困难了。#二、使用分支的主线开发这种分支策略...
2020-04-12 13:55:26 268
原创 从微信授权登录到数据安全性的思考总结
前置知识:微信授权登录过程和相关名词,access_token、code、openid等;微信授权登录,大都是拉起微信授权页面,用户同意授权后,再跳到自己应用的绑定手机页面进行绑定手机的操作,绑定之后自动登录,会话就像不会过期一样,或者是过期以后再次点一次授权按钮即可。不用像以前一样,每次都用密码或验证码登录,让用户再做繁琐的登录操作。如图,第一次微信授权还好,因为没有绑定,所以需要手机验证...
2020-04-12 13:53:26 1819
原创 Spring Boot + MyBatis + MySql项目搭建
一、创建Spring Boot 项目在IntelliJ IDEA新建一个Spring Boot项目:然后在pom.xml可以看到已经有Mybatis和MySql Connector的依赖:<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybat...
2020-04-12 13:50:52 194
空空如也
web.xml中struts2过滤器配置改了导致jsp引入js文件失败
2016-12-09
struts2一个请求获得多个action返回
2016-12-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人