摘要:
今天碰到个java参数传递的问题,记录一下 下面为测试代码: 如果不太了解java是值传递还是引用传递,可能会觉得main方法中的logMsg输出的结果为ab,但其实真实输出的为b;究其原因,就是java是通过值传递而不是引用传递的,这里调用test方法,传递的为logMsg的地址值,而不是logM 阅读全文
摘要:
无论是foreach,还是iterator,在遍历时,修改实体对象的引用地址都是无效的 foreach: List<User> userList = new ArrayList<>(); userList.add(new User("ming", 11)); for (User user : use 阅读全文
摘要:
https://www.cnblogs.com/qq931399960/p/15555152.html中的实现,无论是join还是futuretask都会阻塞主线程,影响效率 JDK8出现了一个新的类CompletableFuture,可以很容易的实现异步回调,使用该类实现订餐外卖 private 阅读全文
摘要:
在如下笔记中提到,无论是join还是FutureTask都会阻塞主线程,无法实现真正的异步处理 https://www.cnblogs.com/qq931399960/p/15555152.html Guava可提供了一种异步回调方案,不会阻塞主线程,Guava中添加了几个相关接口 FutureCa 阅读全文
摘要:
假设有如下逻辑,实现快递员取餐后送餐: 外卖平台发布客户订餐消息,商家开始备货,同时快递员抢单 1、商家:起锅烧油,炒菜,盛饭,打包 2、快递员:抢单,规划路线,赶路,到店 Join实现 Thread merchant = new Thread() { @Override public void r 阅读全文
摘要:
错误日志 10-27 07:02:10.948 [QuartzScheduler_quartzScheduler-NON_CLUSTERED_MisfireHandler] INFO - Handling 1 trigger(s) that missed their scheduled fire-t 阅读全文
摘要:
Java NIO类库的三个核心组件 ChannelBufferSelector 1、OIO(旧的IO)面向流,NIO面向缓冲区,面向字节流或者字符流的IO操作总是以流的方式顺序的从一个流程读取一个或者多个字节,不能随意改变读取指针的位置。在面向缓冲区的NIO中,读取和写入只需要从通道中读取数据到缓冲 阅读全文
摘要:
IO读写依赖于底层的read和write两大系统的调用。 read系统调用是把数据从内核缓冲区复制到进程缓冲区,write系统调用是把数据从进程缓冲区复制到内核缓冲区。内核缓冲区的数据写入到磁盘是由操作系统内核完成,底层操作系统会对内核缓冲区进行监控,等待缓冲区达到一定数量的时候,在进行IO设备的中 阅读全文
摘要:
现网有7个定时任务,其中一个定时任务经常会执行一段时间后停止,重启多次依然如此,quartz默认线程数为10,使用了@DisallowConcurrentExecution注解,问题依旧。 经观察,发现出现问题的任务设定的每个小时执行一次,但每次执行时间都很长,一般会有七八个小时,其他正常的任务都在 阅读全文
摘要:
1、鼠标右键点击任务栏 2、选择启动任务管理器 3、在打开的Windows任务管理器的进程tab页,找到wps进程 4、右键选择wps进程,点击结束进程 5、再次打开WPS对应文档,可以正常修改。 阅读全文