java
eleven_4u
路漫漫其修远兮,吾将上下而求索、
展开
-
高并发Disruptor
原创 2022-04-11 15:34:42 · 340 阅读 · 0 评论 -
自定义Springboot starter
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/mav原创 2022-04-01 21:09:44 · 566 阅读 · 0 评论 -
设计模式之观察者模式
public class WeatherSubject extends Observable { private String content; public String getContent() { return content; } public void setContent(String content) { this.content = content; super.setChanged(); /原创 2022-03-30 09:40:27 · 355 阅读 · 0 评论 -
高并发异步编程
Demoprivate static boolean asyncPay() { CompletableFuture<Boolean> isVaild = CompletableFuture.supplyAsync(() -> CheckService.isVaild()); CompletableFuture<Integer> orderSum = CompletableFuture.supplyAsync(() -> OrderServ原创 2022-03-27 15:19:42 · 2667 阅读 · 0 评论 -
NIO不是蔚来
select、poll、epoll原创 2022-03-27 10:33:54 · 685 阅读 · 0 评论 -
Servlet3.0异步解决吞吐量
代码@GetMapping("/sync") public Callable<Object> test(@RequestParam Long userId) { long tomcatStart = System.currentTimeMillis(); Callable<Object> callable = new Callable<Object>() { @Override p原创 2022-03-26 20:47:58 · 776 阅读 · 0 评论 -
Tomcat架构热部署
整体架构热加载org.apache.catalina.loader.WebappLoader#backgroundProcessorg.apache.catalina.core.StandardContext#reload<Contenxt path ="xxxx" docBase="/home/testDemo" reloadable ="true"></Contenxt>热部署 <Host name="localhost" appBase="webap原创 2022-03-26 14:32:15 · 453 阅读 · 0 评论 -
其他文章~~~~~~
https://www.zhihu.com/people/kimmking/columns原创 2022-02-23 20:39:10 · 144 阅读 · 0 评论 -
设计模式之策略模式(结合Spring)
工厂定义@Componentpublic class StrategyFactory implements InitializingBean, ApplicationContextAware { private ApplicationContext applicationContext; private static final Map<String, AbstractsHandler> handlerMap = new HashMap<>();原创 2022-01-20 12:29:56 · 452 阅读 · 0 评论 -
线程的状态
转载 2022-01-19 18:37:13 · 88 阅读 · 0 评论 -
Tomcat vs Jetty vs Undertow 对比
Tomcat vs Jetty vs UndertowTomcat vs Jetty vs Undertow原创 2021-11-14 08:28:14 · 417 阅读 · 0 评论 -
Java多线程并发
知识点响应时间原创 2020-07-12 17:12:46 · 124 阅读 · 0 评论 -
volatile的用途
volatile的用途1.线程可见性package com.gemini.testvolatile;public class T01_ThreadVisibility { private static volatile boolean flag = true; public static void main(String[] args) throws InterruptedException { new Thread(()-> { wh原创 2020-07-12 16:43:27 · 157 阅读 · 0 评论 -
synchronized和Lock孰优孰劣
synchronized的横切面详解synchronized原理.升级过程汇编实现vs reentrantLock的区别java源码层级synchronized(o)字节码层级monitorenter moniterexitJVM层级(Hotspot)package com.mashibing.insidesync;import org.openjdk.jol.info.ClassLayout;public class T01_Sync1 { public stati原创 2020-07-12 16:38:19 · 304 阅读 · 0 评论 -
程序幂等性设计
前端按钮只可操一次token机制使用post/Redirect/Get模式在session中存放特殊标志后端使用唯一索引防止幂等性Token+ Redis幂等状态机幂等乐观锁实现幂等防重表实现幂等性select + insert (单机)分布式锁保证幂等性缓冲队列全局唯一号...原创 2020-07-10 18:59:23 · 146 阅读 · 0 评论 -
JVM堆大小设置
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xms3550m -Xmn2g -Xss128k-Xmx3550m:设置JVM最大可用内存为3550M。-Xms3550m**:原创 2020-07-09 15:50:15 · 1779 阅读 · 0 评论 -
GC和GC Tuning
GC和GC TuningGC的基础知识1.什么是垃圾C语言申请内存:malloc freeC++: new deleteJava: new ?自动内存回收,编程上简单,系统不容易出错,手动释放内存,容易出两种类型的问题:忘记回收多次回收没有任何引用指向的一个对象或者多个对象(循环引用)2.如何定位垃圾引用计数根可达算法3.常见的垃圾回收算法标记清除 - 位置不连续 产生碎片拷贝算法 - 没有碎片,浪费空间标记压缩 - 没有碎片,效率偏低4.JVM内存分代模型原创 2020-07-07 17:00:28 · 633 阅读 · 0 评论 -
Spring AOP实现原理与CGLIB 应用
转发:https://www.ibm.com/developerworks/cn/java/j-lo-springaopcglib/index.html转载 2019-06-09 21:30:20 · 171 阅读 · 0 评论 -
Java List 分组
如题:public class ListGroupDemo { static class Product { private long id; // 商品Id private String name;// 商品名称 private byte type;// 商品类型 public Product(long id, Str...原创 2019-06-10 09:42:53 · 931 阅读 · 0 评论 -
Redis分布式锁
获得锁@Autowired @Qualifier("redisTemplate") private RedisTemplate redisTemplate; /** * 获得锁 * @param lockKey * @param requestId * @param expireTime * @return */ public boolean tryGetDis...原创 2019-07-29 15:40:01 · 125 阅读 · 0 评论 -
使用 Reactor 进行反应式编程
使用 Reactor 进行反应式编程https://www.ibm.com/developerworks/cn/java/j-cn-with-reactor-response-encode/index.html转载 2019-07-25 11:57:41 · 221 阅读 · 0 评论 -
使用 Spring 5 的 WebFlux 开发反应式 Web 应用
https://www.ibm.com/developerworks/cn/java/spring5-webflux-reactive/index.html转载 2019-07-25 11:58:39 · 294 阅读 · 0 评论 -
元素遍历以逗号拼接
原来写法 public static void join(){ ArrayList<Integer> integerList = Lists.newArrayList(1, 9, 4, 5, 3, 6, 7, 8); StringBuffer stringBuffer = new StringBuffer(); for (Intege...原创 2019-07-28 11:04:06 · 1445 阅读 · 1 评论 -
几种Java8 Lambda表达式的使用
最近在工作中,使用到了两种lambda表达,列举一下1、求和 /** * 获取总数 * * @return */ private static Long getTotalCoin() { ArrayList<Person> personList = Lists.newArrayList(); per...原创 2019-07-28 12:06:40 · 239 阅读 · 0 评论 -
Coroutine in Java - Quasar Fiber实现
Coroutine in Java - Quasar Fiber实现转载 2019-08-09 11:01:55 · 155 阅读 · 0 评论 -
各种Java相关规范文档
各种Java相关规范文档原创 2019-08-16 15:37:07 · 171 阅读 · 0 评论 -
XSS过滤JAVA过滤器filter 防止常见SQL注入
XSS过滤转载 2019-08-18 11:27:50 · 735 阅读 · 0 评论 -
如何保证线程的执行顺序
如题,如何保证线程的执行顺序?12Thread1Thread1Thread3原创 2019-06-07 17:16:37 · 1102 阅读 · 0 评论