![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 82
PEACEFIRE
展翅高飞
展开
-
ThreadPoolTaskExecutor不得不说的坑
ThreadPoolTaskExecutor创建,ThreadPoolTaskExecutor决绝策略,ThreadPoolTaskExecutor的坑,ThreadPoolTaskExecutor死锁问题,ThreadPoolTaskExecutor原理,ThreadPoolTaskExecutor Springboot配置类ThreadPoolTaskExecutor配置类,ThreadPoolTaskExecutor使用...原创 2022-07-29 12:18:11 · 8419 阅读 · 9 评论 -
JVM原理
什么是JVM,JVM结构,JVM内存分配,JVM垃圾检测与回收算法,JVM参数,JVM性能监控工具原创 2021-05-21 18:16:23 · 293 阅读 · 2 评论 -
一些常见切入点表达式的例子
spring切入点表达式例子,@PointCut,execution原创 2020-06-10 16:03:05 · 363 阅读 · 0 评论 -
idea项目启动很慢的问题
idea项目启动很慢的问题,spring项目启动很慢,springboot项目启动很慢原创 2020-06-10 15:57:36 · 1033 阅读 · 0 评论 -
使用fastjson时,null值在转JSONObject时丢失的问题
在使用fastjson时遇到了一个问题,在value是null时parseObject会自动把该键值对“去掉“。但后来发现虽然打印不出来,但是对象里边的键值对仍然是存在的,可见是JSONObject的toString()方法没有对value为null的键值对进行打印而已。可以设置toJSONString()的参数,就可以把null值打印出来了。 测试如图: ...原创 2018-04-25 18:21:30 · 15083 阅读 · 1 评论 -
feign接口使用JSONObject作为参数遇到的问题
首先有几个小知识点需要强调一下:当方法的参数是对象时,参数其实是对象引用的拷贝对象的hashCode是两个对象equals的依据,但hashCode相等不代表他们是同一个对象。验证两个对象是否是同一个对象,可以使用“==“。先上出现问题的代码 feign接口import com.alibaba.fastjson.JSONObject;import org.springfra...原创 2018-05-08 17:57:20 · 13868 阅读 · 0 评论 -
如何设计redis分布式锁
文章目录分布式锁的实现有哪些?1.Memcached分布式锁2.Redis分布式锁3.Zookeeper分布式锁4.Chubby如何用Redis实现分布式锁?1.加锁2.解锁3.锁超时4.综合分析1. setnx和expire的非原子性2. del 导致误删3. 出现并发的可能性本文转自程序员小灰-漫画:什么是分布式锁?,主要为了方便自己复习去掉了很多很有意思但是有点占篇幅的漫画,首次学习可以去...转载 2018-10-09 17:46:09 · 1557 阅读 · 0 评论 -
实现基于redis的分布式锁并集成spring-boot-starter
Introduction基于redis的分布式锁Features分布式锁锁降级(支持锁重试)Quick Start环境准备本地安装好redis,启动redis服务(默认端口)下载代码从github克隆代码到本地,导入项目运行测试用例运行redislock-spring-boot-starter-test里的RedislockTest测试用例Documentation...原创 2018-10-25 12:06:15 · 2278 阅读 · 6 评论 -
Log4j使用
1.日志文件按天分割<?xml version="1.0" encoding="UTF-8"?><Configuration packages="..."> <Appenders> <RollingFile name="RollingFile" fileName="XXX.log"原创 2018-04-02 11:12:58 · 188 阅读 · 0 评论 -
groovy用途
1.groovy基础知识,groovy的实际应用,groovy对于java的扩展参考教程 gradle导包:compile “org.codehaus.groovy:groovy-all:${groovyVersion}”2.groovy对java的拓展1.动态性 单纯的java语言是不具有动态性的,groovy恰恰弥补了这一缺憾,有了groovy你可以在程序运行时任意修改代码逻辑,不需要重新发布,groovy的弱类型让你不用再面对各种...............原创 2018-03-30 10:28:12 · 14539 阅读 · 1 评论 -
使用 JSR 356 API 构建 Java WebSocket 应用
HTTP与WEBSOCKET大家都知道这样一个事实,那就是HTTP(Hypertext Transfer Protocol)是一个无状态的请求-响应式协议。HTTP协议的这种简单设计使它颇具扩展性却不够高效,并且不适合于频繁交互的实时网络应用。HTTP被设计用来进行文档共享而不是用来建立频繁交互的网络应用。HTTP天生就不太正规,对每一个http请求/响应,都要通过线路传输许多头信息。在HTTP 1转载 2017-08-09 17:03:25 · 583 阅读 · 0 评论 -
记一些好的博客,方便以后学习
java多线程,tomcat,jvm ,高并发 http://zhanjindong.com/blog/原创 2017-08-09 20:03:07 · 188 阅读 · 0 评论 -
证明StringBuffer线程安全,StringBuilder线程不安全
证明StringBuffer线程安全,StringBuilder线程不安全证明StringBuffer线程安全StringBuilder线程不安全不多说直接列代码解释结果源码分析不多说直接列代码 @Test public void testStringBuilderAndStringBuffer(){ //证明StringBuffer线程安全,StringBui原创 2017-08-07 22:40:51 · 6225 阅读 · 4 评论 -
Video.js参考
http://www.cnblogs.com/afrog/p/4115377.html http://www.cnblogs.com/afrog/p/6689179.html原创 2017-08-25 10:15:20 · 175 阅读 · 0 评论 -
spring轻松实现Mysql数据源动态切换
一 java代码1.自定义注解实现具体方法和数据源别名对应。@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface DataSource { String value(); }2.自定义Constant保存当前线程的数据源的别名。public class DataSourc原创 2017-09-22 17:06:37 · 475 阅读 · 0 评论 -
使用idea远程debug java应用
切忌在生产环境开启使用调试,调试时候最好通知其他人,否则应用会被阻塞。 开发过程中,有些情况需要在测试环境才能复现,需要在远程服务器上调试。这时可以使用JMX远程调试 调试工具为Intellij IDEA.1.首先修改应用启动项假如之前jmx_message为:START_OPTS="$START_OPTS -Dcom.sun.management.jmxremote -Dc原创 2018-01-17 10:16:06 · 532 阅读 · 0 评论 -
tiny-spring学习记录
最近想深入研究一下spring的内部实现原理,但是spring的源码有很多功能,如果直接看很可能会深入到各种功能逻辑无法自拔,刚刚开始看可以只关注spring的主干,其他枝节可以先不加考虑,碰巧发现了一个很好的项目,也就是tiny-spring。 之后会画出类图和sequence图,帮助理清逻辑。1.step-1-container-register-and-get定义BeanFac...原创 2018-02-12 11:50:28 · 364 阅读 · 0 评论 -
仿照SpringMVC实现字符串与方法映射
预备知识:注解,反射,spring基础,SpringContextAware,SpringMVC实现原理需求输入一个字符串(称因子名)数组,数组的长度不固定,每个字符串代表一个业务单元(称因子),因子是高度可扩展的。 输出所有因子名与因子输出的键值对。 输入参数示例:{ “input” : [ “element1”, “element...原创 2018-03-09 17:40:06 · 903 阅读 · 0 评论 -
RuntimeException和Exception区别
1.java将所有的错误封装为一个对象,其根本父类为Throwable, Throwable有两个子类:Error和Exception。 2.Error是Throwable 的子类,用于指示合理的应用程序不应该试图捕获的严重问题。大多数这样的错误都是异常条件。虽然 ThreadDeath 错误是一个“正规”的条件,但它也是 Error 的子类,因为大多数应用程序都不应该试图捕获它。在执行该转载 2017-08-08 20:36:27 · 321 阅读 · 0 评论