自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 SpringBoot @Autowired 类,导入yml设置参数类,但导入了 null 解决

读取application.yml中配置的参数

2022-08-23 09:47:18 363 1

原创 Java NIO Socket

当官当大官,收礼不受累。一、收礼初级版商人给小吏送礼,偷偷摸摸,小吏拿到礼品后,走人;下一个商人到后,再送礼到下一个小吏。小吏必须到位,必须拿到礼品。(server开辟一个线程处理一个client的请求)二、收礼升级版商人(client) 给大官(server) 送礼,先到官邸(ServerSocketChannel) 送礼到管家(selector),管家再拿礼品给大官一 一过目。...

2022-01-21 17:25:14 206

原创 JAVA NIO Reactor

单干 ——> 单接单+工坊 ——>大老板+工头+作坊

2022-01-20 13:55:36 237

原创 java BlockingQueue 阻塞队列,起来干活,排队唤醒

以 ArrayBlockingQueue为例:队列满或空后,条件阻塞:Conditionput 1、满后,notFull await(), 作为 firstWaiter 加入条件队列,线程阻塞 park 。 4、unpark后, firstWaiter作为 同步队列 头结点后第一个节点开始执行。 take 2、取后,signal,将 firstWaiter 转移到 同步队列。 3、空后,notEmpty await(), 唤醒 unpark 同步队列中...

2022-01-05 10:30:37 302

原创 ReentrantReadWriteLock 读写分家,读等写;写等写;多个一起读

读写分别计数c000000000000000000000000000000001、writeLock: c && 65536 代表EXCLUSIVE(独占)2、readLock: c >>16 代表 share(共享)以上计算结果为 w, 只要 w > 0,表明有写锁。/*** 一、writeLock*/ 1、 /** Returns the number of exclusive holds represen...

2021-12-21 16:03:11 78

原创 ReentrantLock 老三先歇会,等早到的老二先开动

多个线程同时 请求 lock时, 第二个一直自旋,尝试获取。其余的park,等老大完事,unpark老二,老二开动,老三再自旋等。 //一、加锁 public final void acquire(int arg) { if (!tryAcquire(arg) && acquireQueued(addWaiter(Node.EXCLUSIVE), arg)) selfInterrupt();

2021-12-21 15:59:06 156

原创 CyclicBarrier 先给我等着,到时一起上

1、线程先塞到 condition 队列中,然后 最后一个线程到达时,同步到 AQS 队列中,逐一唤醒。加入 AQS的队列后,队列中第二个节点一直自旋尝试唤醒后续节点。 1、 public CyclicBarrier(int parties, Runnable barrierAction) { if (parties <= 0) throw new IllegalArgumentException(); this.p...

2021-12-17 15:58:53 74

原创 悟了 CountDownLatch 这样唤醒队列中线程

CountDownLatch2、node设置 preNode的 ws为 -1 ;然后 唤醒队列中线程,清除队列节点。后人把前人的 ws 改为 -1 ,就是为了到时候 前人能把 后人叫醒!(自己付出努力,只为自己能醒过来!)1、唤醒队列中线程,清除队列节点。2、node设置 preNode的 ws为 -1...

2021-12-16 15:11:43 537

原创 matlab 2015 升级 log4j2详细步骤

一、java jar包如下:disruptor-3.3.4.jargeronimo-j2ee-management_1.1_spec-1.0.1.jargeronimo-jms_1.1_spec-1.1.1.jarhawtbuf-1.11.jarlog4j-api-2.13.0.jarlog4j-core-2.13.0.jarlog4j-over-slf4j-1.7.26.jarlog4j-slf4j-impl-2.13.0.jarslf4j-api-1.7.26.jar二、编写Lo

2020-06-29 15:12:04 295

原创 接口多实现,通过调用默认实现类,执行真正实现类方法。

1、接口A,默认实现类D,真正调用类T。初始化接口A, 实例化D,执行T。2、接口A:public interface Human { public void act() throws Exception; }默认实现类D:public class GeneralHuman implements Human{ ...

2019-09-06 10:25:36 978

原创 红黑二叉树左转、右转

简易记法:1、左转:转P,P的右子Y带其右子R插入到P和其父PP间,Y的左子LR变成P的右子2、右转:转P,P的左子Y带其左子L插入到P和其父PP间,Y的右子RL变成P的左子就像女子转嫁,带走一个。另一个留给另一半。

2017-03-01 10:40:26 491

原创 红黑二叉树性质口诀

红黑二叉树性质口诀父红子黑 如果一个结点是红的,那么它的俩个儿子都是黑的。  一路黑同子 对于任一结点而言,其到叶结点树尾端NIL指针的每一条路径都包含相同数目的黑结点上下一般黑 根结点是黑的;每个叶结点(叶结点即指树尾端NIL指针或NULL结点)是黑的。  中间可红可黑 每个结点要么是红的,要么是黑的。  1)每个结点要么是红的,要么是黑的。

2017-03-01 10:20:18 800

原创 js获取当前日期

Date.prototype.pattern=function(fmt) {             var o = {  "h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12+12, //小时             "H+" : this.getHours(), //小时             "m+" : this

2016-03-22 16:22:55 221

原创 SVN 提交文件相关

1、删除本地SVN项目内容后,将本地文件复制到原目录——不要复制".svn"目录。2、"目录+locked"——svn check out——>clean up...3、提交:out of date——先更新下,打开多版本文件,查看取舍,再提交。

2015-11-09 15:54:56 288

原创 安装新jdk后,resin服务器项目不能启动问题

1、jdk配置:JAVA_HOME——D:\java\jdk1.6.0_13;classpath——.%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;path——%JAVA_HOME%\bin2、将jdk——>bin——>下的tools.jar复制,加入resin——>bin中。完美解

2015-07-21 11:14:16 460

原创 ORA-02287: sequence number not allowed here解决

脚本中插入数据:ORA-02287: sequence number not allowed here问题的解决思路:通过临时表“转移”数据。解决方法:1、新建临时表,将数据插入临时表中create table table1_tmp();insert into table1_tmp select * from *;2、新建序列,将临时表数据插入正式表中--drop

2015-07-21 11:06:48 2289

Intellij IDEA 快捷键整理.txt

Intellij IDEA 快捷键整理

2015-12-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除