阿昌喜欢吃黄桃
码龄4年
  • 333,502
    被访问
  • 809
    原创
  • 1,895
    排名
  • 1,374
    粉丝
关注
提问 私信

个人简介:阿昌喜欢研究计算机问题,快速学习新知识,整理归纳新技术,会主动的钻研技术细节、底层实现,对新技术不排斥,对老技术不抵触。

  • 加入CSDN时间: 2018-09-26
博客简介:

阿昌爱Java

查看详细资料
  • 7
    领奖
    总分 4,281 当月 312
个人成就
  • 获得725次点赞
  • 内容获得542次评论
  • 获得1,082次收藏
创作历程
  • 100篇
    2022年
  • 320篇
    2021年
  • 390篇
    2020年
成就勋章
TA的专栏
  • Juc
    32篇
  • SSM
    64篇
  • RabbitMQ
    2篇
  • 中间件
    6篇
  • Kafka
    7篇
  • 工具
    12篇
  • 阿昌之丑陋代码优化
    2篇
  • python
    5篇
  • Vue
    6篇
  • 面试题
    14篇
  • MySQL
    54篇
  • 学习记录
    14篇
  • Redis
    33篇
  • Docker
    6篇
  • 云原生
    2篇
  • netty
    8篇
  • nio
    5篇
  • MyBatis-Plus
    4篇
  • 谷粒商城
    29篇
  • SpringBoot
    22篇
  • 基本运维及协同开发
    6篇
  • 设计模式
    19篇
  • es
    2篇
  • Spring注解驱动
    15篇
  • Zookeeper
    3篇
  • Shiro
    2篇
  • bug
    2篇
  • JavaWeb
    31篇
  • nginx
    3篇
  • linux
    1篇
  • RocketMQ
    7篇
  • JVM
    24篇
  • 压测
    2篇
  • simple-uploader
    1篇
  • ElementUI
    3篇
  • MySql高级
    6篇
  • 开源项目
    2篇
  • SpringSecurity&OAuth2
    10篇
  • 谷粒学院
    19篇
  • 尚医通
    9篇
  • 微信小程序
    2篇
  • SpringCloud
    11篇
  • ActiveMQ
    8篇
  • Dubbo
    3篇
  • Maven
    4篇
  • JDBC技术
    10篇
  • JavaSE
    128篇
  • 408
    190篇
兴趣领域 设置
  • Java
    tomcatjarmavenintellij-ideajava-ee
  • 开发工具
    githubgitintellij idea
  • 数据结构与算法
    排序算法推荐算法
  • 大数据
    mysqlredis
  • 前端
    javascriptjson正则表达式vue.js
  • 后端
    spring架构
  • 微软技术
    sql
  • 操作系统
    windows
  • 搜索
    elasticsearch全文检索
  • 测试
    postman
  • 服务器
    linuxcentos
  • 职场和发展
    leetcode职场和发展面试程序人生
  • 设计
    交互
  • 其他
    经验分享
  • 最近
  • 文章
  • 帖子
  • 收藏
搜TA的内容
搜索 取消

Day625.线程池常见错误 -Java业务开发常见错误

线程池常见错误Hi,今天阿昌又来了!在程序中,我们会用各种池化技术来缓存创建昂贵的对象,比如线程池、连接池、内存池。一般是预先创建一些对象放入池中,使用的时候直接取出使用,用完归还以便复用,还会通过一定的策略调整池中缓存对象的数量,实现池的动态伸缩。由于线程的创建比较昂贵,随意、没有控制地创建大量线程会造成性能问题,因此短平快的任务一般考虑使用线程池来处理,而不是直接创建线程。以下就是今天学习到的内容的笔记,感谢阅读一、正确的创建线程池Java 中的 Executors 类定义了一些快捷的工具
原创
发布博客 16 小时前 ·
62 阅读 ·
0 点赞 ·
0 评论

Day624.并发编程代码加锁注意点 -Java业务开发常见错误

并发编程加锁注意点Hi!这里是achang,这次记录聊的还是并发编程。只要聊到并发编程,必然就会想到加锁的注意事项,如下就记录提供几点可能在我们代码编程中会出现的问题。一、判断操作共享资源的代码是否需要加锁在一个类里有两个 int 类型的字段 a 和 b,有一个 add 方法循环 1 万次对 a 和 b 进行 ++ 操作,有另一个 compare 方法,同样循环 1 万次判断 a 是否小于 b,条件成立就打印 a 和 b 的值,并判断 a>b 是否成立。@Slf4jpublic clas
原创
发布博客 前天 22:35 ·
83 阅读 ·
1 点赞 ·
0 评论

Day623.并发编程工具类库使用错误问题 -Java业务开发常见错误

并发编程工具类库使用错误问题多线程想必大家都知道,且JDK也为我们提供了很多并发编程的工具类库,接下来就是记录对应在业务开发中,可能会出现的并发编程工具类库使用错误的问题一、线程复用导致信息错乱我们知道,ThreadLocal 适用于变量在线程间隔离,而在方法或类间共享的场景。如果用户信息的获取比较昂贵(比如从数据库查询用户信息),那么在 ThreadLocal 中缓存数据是比较合适的做法。但,这么做为什么会出现用户信息错乱的 Bug 呢?使用 Spring Boot 创建一个 Web 应用程序
原创
发布博客 前天 01:16 ·
83 阅读 ·
0 点赞 ·
0 评论

Day622.Spring编程错误根源 -Spring编程常见错误

Spring编程错误根源我们使用Spring中会出现很多很多的问题,梳理下关于 Spring 使用中常见的一些错误根源。一、隐式规则的存在要想使用好 Spring,你就一定要了解它的一些潜规则,例如默认扫描 Bean 的范围、自动装配构造器等等。如果我们不了解这些规则,大多情况下虽然也能工作,但是稍微变化,则可能完全失效,例如在之前的博客 中,我们使用 Spring Boot 来快速构建了一个简易的 Web 版 HelloWorld:其中,负责启动程序的 Application 类定义如下://
原创
发布博客 2022.05.19 ·
114 阅读 ·
0 点赞 ·
0 评论

Day621.Spring Test 常见错误 -Spring编程常见错误

Spring Test 常见错误在 Spring Test 的应用上,有哪些常见错误呢?以下举例2个错误:一、资源文件扫描不到首先,我们来写一个 HelloWorld 版的 Spring Boot 程序以做测试备用。先来定义一个 Controller:@RestControllerpublic class HelloController { @Autowired HelloWorldService helloWorldService; @RequestMappin
原创
发布博客 2022.05.18 ·
56 阅读 ·
0 点赞 ·
0 评论

Day620.SpringRestTemplate常见错误 -Spring编程常见错误

SpringRestTemplate常见错误微服务之间的通信大多都是使用 HTTP 方式进行的,这自然少不了使用 HttpClient。在不使用 Spring 之前,我们一般都是直接使用 Apache HttpClient 和 Ok HttpClient 等,而一旦你引入 Spring,你就有了一个更好的选择,这就是我们这一讲的主角 RestTemplate。那么在使用它的过程中,会遇到哪些错误呢?一、参数类型是 MultiValueMap@RestControllerpublic class
原创
发布博客 2022.05.17 ·
139 阅读 ·
0 点赞 ·
0 评论

Day619.Spring事务常见错误② -Spring编程常见错误

Spring事务常见错误②继续讨论事务中的另外两个问题,一个是关于事务的传播机制,另一个是关于多数据源的切换问题。一、环境前缀课程表 course,记录课程名称和注册的学生数。CREATE TABLE `course` ( `id` int(11) NOT NULL AUTO_INCREMENT, `course_name` varchar(64) DEFAULT NULL, `number` int(11) DEFAULT NULL, PRIMARY KEY (`id`)) EN
原创
发布博客 2022.05.16 ·
84 阅读 ·
0 点赞 ·
0 评论

Day618.Spring事务常见错误① -Spring编程常见错误

Spring事务常见错误①Spring 事务管理包含两种配置方式第一种是使用XML 进行模糊匹配,绑定事务管理;第二种是使用注解,这种方式可以对每个需要进行事务处理的方法进行单独配置,你只需要添加上 @Transactional,然后在注解内添加属性配置即可。在我们的错误案例示范中,我们统一使用更为方便的注解式方式。一、环境前置我们还需要引入一些配置文件和类,简单列举一下。数据库配置文件 jdbc.properties,配置了数据连接信息。jdbc.driver=com.mysql
原创
发布博客 2022.05.15 ·
245 阅读 ·
0 点赞 ·
0 评论

Day617.SpringData常见错误 -Spring编程常见错误

SpringData常见错误Spring已经为我们继承好了去操作对应数据源的方式:SpringData,如下名:Spring Data CommonsSpring Data JPASpring Data KeyValueSpring Data LDAPSpring Data MongoDBSpring Data RedisSpring Data RESTSpring Data for Apache CassandraSpring Data for Apache GeodeSpring
原创
发布博客 2022.05.14 ·
147 阅读 ·
0 点赞 ·
0 评论

Day616.SpringException常见错误 -Spring常见编程错误

SpringException常见错误Spring针对异常处理也会存在系列的问题,以下举两个SpringException的常见错误。一、小心过滤器异常还是沿用之前在事务处理中用到的学生注册的案例,来讨论异常处理的问题:@Controller@Slf4jpublic class StudentController { public StudentController(){ System.out.println("construct"); } @Post
原创
发布博客 2022.05.13 ·
127 阅读 ·
1 点赞 ·
0 评论

Day615.SpringSecurity常见错误 -Spring编程常见错误

SpringSecurity常见错误针对SpringSecurity,Java程序员都会知道。他是一种Filter链+职责链设计模式的安全框架。那在使用它的时候也会出现一些常见的错误,如下就列举一些开发中可能会出现的常见错误。一、PasswordEncoder匹配不到错误第一次尝试使用 Spring Security 时,我们经常会忘记定义一个 PasswordEncoder。因为这在 Spring Security 旧版本中是允许的。而一旦使用了新版本,则必须要提供一个 PasswordEnc
原创
发布博客 2022.05.12 ·
116 阅读 ·
0 点赞 ·
0 评论

Day614.SpringWebFilter常见错误② -Spring编程常见错误

SpringWebFilter常见错误②继续上节部分,如下依然使用@ServletComponentScan+@WebFilter的方式,同样也照样可能会出现如下的问题。一、@WebFilter 过滤器使用@Order注解失效首先,创建启动程序的代码如下:@SpringBootApplication@ServletComponentScan@Slf4jpublic class Application { public static void main(String[] args) {
原创
发布博客 2022.05.11 ·
74 阅读 ·
1 点赞 ·
1 评论

Day613.SpringWebFilter常见错误① -Spring编程常见错误

SpringWebFilter常见错误①在SpringWeb开发中,Filter必然是一个十分重要的角色。他可以对于一个请求进行鉴权、日志等操作。那如下记录了你可能在Filter编程中会出现的常见错误。一、@WebFilter 过滤器无法被自动注入我们为一个系统定义一个Filter,其功能为了统计接口耗时代码如下:@WebFilter@Slf4jpublic class TimeCostFilter implements Filter { public TimeCostFilter
原创
发布博客 2022.05.10 ·
68 阅读 ·
1 点赞 ·
0 评论

Day612.SpringWeb参数校验常见错误 -Spring编程常见错误

SpringWeb参数校验常见错误针对SpringWeb中,我们对应Controller中,参数校验必然是一大组成的部分。Spring也为我们提供了一些类的参数校验功能。那下面记录一些类在Spring参数校验会出现的一些常见问题。一、入参对象参数校验失效当开发一个系统时,我们会提供了一个 API 接口去添加相关信息,其对象定义参考下面的代码:@Datapublic class Student { @Size(max = 10) private String name;
原创
发布博客 2022.05.09 ·
139 阅读 ·
3 点赞 ·
0 评论

Day611.SpringWebBody转化常见错误 -Spring编程常见错误

SpringWebBody转化常见错误Spring 对于 Body 的处理很多是借助第三方编解码器来完成的。例如常见的 JSON 解析,Spring 都是借助于 Jackson、Gson 等常见工具来完成。所以在 Body 处理中,我们遇到的很多错误都是第三方工具使用中的一些问题。真正对于 Spring 而言,错误并不多,特别是 Spring Boot 的自动包装以及对常见问题的不断完善,让我们能犯的错误已经很少了。不过,毕竟不是每个项目都是直接基于 Spring Boot 的。如下会记录一些常见
原创
发布博客 2022.05.08 ·
399 阅读 ·
0 点赞 ·
0 评论

Day610.SpringWebHeader解析常见错误 -Spring编程常见错误

SpringWebHeader解析常见错误针对SpringWeb开发解析Http请求中的参数有很多,之前的文章写的涉及的是Spring在URI上的参数解析的方案。那这次记录的笔记是Spring针对http请求中Header头上参数解析的一些常见问题。针对Header 往往是不二之举,Header 是介于 URL 和 Body 之外的第二大重要组成,它提供了更多的信息以及围绕这些信息的相关能力,例如 Content-Type 指定了我们的请求或者响应的内容类型,便于我们去做解码。虽然 Spring 对
原创
发布博客 2022.05.07 ·
480 阅读 ·
0 点赞 ·
0 评论

Day609.SpringWebURL解析常见错误 -Spring编程常见错误

SpringWebURL解析常见错误虽然Spring很强大,他有很多很多的功能。但是他最主要大部分的使用领域还是在Web开发领域。针对Web开发,那必然会涉及到Http请求,那请求的URI就十分的重要。Spring是如何对Http请求中URI进行解析的呢???而期间Spring会出现很多哪些常见的问题呢?一、当 @PathVariable 遇到 /在解析一个 URL 时,我们可能会使用到 @PathVariable 这个注解。例如我们会经常见到如下风格的代码:@RestController
原创
发布博客 2022.05.06 ·
556 阅读 ·
1 点赞 ·
1 评论

Day608.Spring事件常见错误 -Spring编程常见错误

Spring事件常见错误针对Spring事件,它是一个相对比较独立的点。或许你从没有在自己的项目中使用过 Spring 事件,但是你一定见过它的相关日志。而且在未来的编程实践中,你会发现,一旦你用上了 Spring 事件,往往完成的都是一些有趣的、强大的功能,例如动态配置。前言Spring 事件就是,监听器设计模式在 Spring 中的一种实现,参考下图:Spring 事件包含以下三大组件。事件(Event):事件本身用来区分和定义不同的事件,在 Spring 中,常见的如 Appl
原创
发布博客 2022.05.05 ·
197 阅读 ·
1 点赞 ·
0 评论

Day607.Aop不同类型增强顺序&同类型增强顺序问题 -Spring编程常见错误

Aop不同类型增强顺序&同类型增强顺序问题在Day606的文章中,咋们聊了记录了一下aop的两个使用错误的问题案例【this 调用的当前类方法无法被拦截、通过代理类访问被代理类的成员属性抛空指针异常】。那这次我们记录讨论,一个当一个系统采用的切面越来越多时,因为执行顺序而导致的问题便会逐步暴露出来,内容如下。前置条件一个系统有一个电费充值模块,它包含了一个负责电费充值的类 ElectricService,还有一个充电方法 charge():@Servicepublic class El
原创
发布博客 2022.05.04 ·
386 阅读 ·
0 点赞 ·
0 评论

Day606.SpringAOP常编程错误案例① -Spring编程常见错误

SpringAOP常编程错误案例①Spring AOP 是 Spring 中除了依赖注入外(DI)最为核心的功能。顾名思义,AOP 即 Aspect Oriented Programming,翻译为面向切面编程。而 Spring AOP 则利用 CGlib 和 JDK 动态代理等方式来实现运行期动态方法增强,其目的是将与业务无关的代码单独抽离出来,使其逻辑不再与业务代码耦合,从而降低系统的耦合性,提高程序的可重用性和开发效率。追根溯源,我们之所以能无感知地在容器对象方法前后任意添加代码片段,那是由于
原创
发布博客 2022.05.03 ·
830 阅读 ·
1 点赞 ·
1 评论
加载更多