![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 93
景川呀
写博客主要是为了记录自己的学习过程并加深印象
展开
-
一文搞懂:Java项目线上故障处理的基本方法
Java项目的调优和故障处理相关内容记录原创 2024-04-02 17:34:13 · 935 阅读 · 0 评论 -
tomcat的启动过程分析
tomcat的类加载机制和启动过程分析原创 2022-10-31 16:15:19 · 665 阅读 · 0 评论 -
Xxl-job源码解析-调度中心篇
写在前面:本篇讲一下xxl-job调度中心对于任务的调度部分的源码逻辑分析一. xxl-job简介XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用文档地址:https://www.xuxueli.com/xxl-job/git地址:https://github.com/xuxueli/xxl-job二. xxl-job的架构体系三. 调度中心本篇使用的源码是:2.3.0-SNAPSHOT版本调原创 2021-01-27 19:55:16 · 1334 阅读 · 1 评论 -
tomcat的宏观架构
tomcat的宏观架构了解原创 2022-10-27 15:16:20 · 727 阅读 · 0 评论 -
java线程池源码分析
一. 线程池介绍在web开发中,服务器需要接收并处理请求,所以会为一个请求来分配一个线程来进行处理。如果每次请求都新创建一个线程的话实现起来非常简便,但是存在一个问题:如果并发的请求数量非常多,但每个线程执行的时间很短,这样就会频繁的创建和销毁线程,如此一来会大大降低系统的效率。可能出现服务器在为每个请求创建新线程和销毁线程上花费的时间和消耗的系统资源要比处理实际的用户请求的时间和资源更多。那么有没有一种办法使执行完一个任务,并不被销毁,而是可以继续执行其他的任务呢?这就是线程池的目的了。线程池为线原创 2022-03-04 15:11:16 · 1076 阅读 · 0 评论 -
如何高逼格的写java代码
记录一些了解的高逼格、好用的java代码欢迎大家补充,共同学习原创 2020-06-16 16:58:21 · 4576 阅读 · 5 评论 -
红包领取算法
领取的逻辑中心思想逻辑是:每次领取的金额在 0.01和(剩余平均值*2)之间import java.util.Random;public class RedPackageUtil { public static double getRandomMoney(Integer remainSize, Double remainMoney) { // remainSize 剩余的红包数量 // remainMoney 剩余的钱 if (remain原创 2020-06-04 17:48:43 · 524 阅读 · 0 评论 -
深入浅出Disruptor的使用和原理
1. Disruptor简介Disruptor git地址:https://github.com/LMAX-Exchange/disruptorDisruptor定义:线程间的高性能消息框架Disruptor核心思想:把多线程并发写的线程安全问题转化为线程本地写,即:不需要做同步2. Disruptor优点Disruptor非常轻量,整个框架最新版3.4.2也才70多个类,但性能却...原创 2020-04-28 17:18:58 · 1737 阅读 · 1 评论 -
java多线程中的生产者消费者实现
一.wait()和notifyAll()/notify()协作首先定义资源类:public class Resource { private String name; private int age; private boolean flag; //false代表资源为空 true代表资源待消耗 /** * 生产数据 * @param...原创 2019-01-23 16:25:07 · 727 阅读 · 0 评论 -
一个简单的Socket通信demo
首先创建一个普通的maven项目,加入依赖:<dependencies> <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.6.F原创 2019-01-24 18:05:24 · 4407 阅读 · 0 评论 -
Snowflake分布式Id生成器
/** * SnowFlake的结构如下(每部分用-分开):&amp;amp;lt;br&amp;amp;gt; * 0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000 &amp;amp;lt;br&amp;amp;gt; * 1位标识,由于long基本类型在Java中是带符号的,最高位是符号位,正数是0,负数是1,所以id一般是原创 2019-01-02 17:05:45 · 371 阅读 · 0 评论 -
关于事务的基础知识(面试知识)
本篇记录一下关于事务的基础知识一、事务的基本要素(ACID)原子性(Atomicity) 事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。一致性(Consistency) 事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了钱,B却没收到。隔离性(Isol...原创 2018-11-29 15:46:20 · 741 阅读 · 0 评论 -
java根据list中对象的属性找出list重复数据或去除list重复数据
在实际开发中,经常会遇到需要找出(删除)一个list中某些元素的属性相同的元素,或者两个list中某些元素的属性相等的元素,这种方法很多,这里整理列出一些: 废话不说,上代码,有注释掉的你们自己看import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;publ原创 2017-11-17 15:12:50 · 68928 阅读 · 9 评论