Posts

多线程(三)线程的并发工具类

2019-09-01

1. Fork/Join框架 1.什么是分而治之? 规模为N的问题,N<阈值,直接解决,N>阈值,将N分解为K个小规模子问题,子问题互相对立,与原问题形式相同,将子问题的解合并得到原问题的解 1.2 Fork/Join使用的标准范式 MyTask类需要继承RecursiveTa

0 条评论
159 热度

多线程(二)线程基础、线程之间的共享和协作

2019-08-31

1.线程间协作 如果要完成一个系统功能,同样需要各个线程的配合,这样就少不了线程之间的通信与协作。 1.1 等待和通知 wait()和notify/notifyAll()都是对象上的方法 1.1.1 等待和通知的标准范式 等待方: 获取对象的锁; 循环里判断条件是否满足,不满足调用wait方法。

0 条评论
155 热度

多线程(一)线程基础、线程之间的共享和协作

2019-07-20

1.基础概念 CPU核心数和线程数的关系 核心数:线程数=1:1 ;使用了超线程技术后---> 1:2 CPU时间片轮转机制 又称RR调度,会导致上下文切换 什么是进程和线程 进程:程序运行资源分配的最小单位,进程内部有多个线程,会共享这个进程的资源 线程:CPU调度的最小单位,必须依赖进程

0 条评论
282 热度

使用栈结构计算表达式的值

2019-12-01

1.现在给定一个中缀表达式(infixExpression) 使用栈结构计算它的值 package pers.amos.learn.review.stack; /** * @author amos wong * @create 2019-12-01 19:29 */ public cla

0 条评论
18 热度

JVM(一)字节码文件

2019-10-24

第一节课 Java字节码文件 1.是不是只有Java编译器才能完成Java到class字节码文件的编译过程? 不是的。Jython/Scala/Groovy/JRuby都是可以编译成字节码文件的 2.class文件的组成 Class文件是一组以8字节为基础单位的二进制流, 各个数据项目严格按照

0 条评论
92 热度

多线程(九)并发安全

2019-10-17

1.CompletionService 1.1为什么要提出 如果任务有返回值 我们会使用Future包装获取其返回值,当有多个返回值时我们就需要一个容器来存储这些Future 并且更重要的是CompletionService可以先拿到先执行完成任务返回的结果。 //工作线程 public class

0 条评论
54 热度

Spring源码解读(二)

2019-09-30

1. @Conditional条件注册bean 实现功能:当用户使用的OS是windows时,向容器中注入amos这个bean;当用户使用linux时向容器中注入amosWong这个bean。 配置类 @Configuration public class Cap5MainConfig {

0 条评论
94 热度

spring源码解读(一)

2019-09-29

1.1 从XML配置开始 我们在resources目录下创建beans.xml文件 用于注入bean 先创建实体类User @Data @NoArgsConstructor @AllArgsConstructor public class User { private Long i

0 条评论
61 热度

Java基础之字符流与字节流

2019-09-28

第一章 IO概述 1.1 什么是IO 生活中,你肯定经历过这样的场景。当你编辑一个文本文件,忘记了ctrl+s ,可能文件就白白编辑了。当你电脑上插入一个U盘,可以把一个视频,拷贝到你的电脑硬盘里。那么数据都是在哪些设备上的呢?键盘、内存、硬盘、外接设备等等。 我们把这种数据的传输,可以看做是一种数

0 条评论
59 热度