会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
|旧市拾荒|
三年工作经验,任职于某银行科技部门,从事后端开发与数据开发。
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
···
27
下一页
2023年6月15日
Java并发(十)----线程之守护线程
摘要: 默认情况下,Java 进程需要等待所有线程都运行结束,才会结束。有一种特殊的线程叫做守护线程,只要其它非守护线程运行结束了,即使守护线程的代码没有执行完,也会强制结束。 例: log.debug("开始运行..."); Thread t1 = new Thread(() -> { log.debug
阅读全文
posted @ 2023-06-15 20:04 |旧市拾荒|
阅读(47)
评论(0)
推荐(0)
2023年6月1日
Java并发(九)----线程join、interrupt
摘要: 1、join 方法详解 1.1 为什么需要 join? 下面的代码执行,打印 r 是什么? static int r = 0; public static void main(String[] args) throws InterruptedException { test1(); } privat
阅读全文
posted @ 2023-06-01 22:43 |旧市拾荒|
阅读(283)
评论(0)
推荐(0)
Java并发(八)----使用线程避免cpu占用100%
摘要: 1、sleep 实现 在没有利用 cpu 来计算时,不要让 while(true) 空转浪费 cpu,这时可以使用 yield 或 sleep 来让出 cpu 的使用权给其他程序 while(true) { try { Thread.sleep(50); } catch (InterruptedEx
阅读全文
posted @ 2023-06-01 22:39 |旧市拾荒|
阅读(173)
评论(0)
推荐(0)
2023年5月30日
Java并发(七)----线程sleep、yield、线程优先级
摘要: 1、sleep 与 yield sleep 调用 sleep 会让当前线程从 Running 进入 Timed Waiting 状态(阻塞) 其它线程可以使用 interrupt 方法打断正在睡眠的线程,这时 sleep 方法会抛出 InterruptedException 睡眠结束后的线程未必会立
阅读全文
posted @ 2023-05-30 22:00 |旧市拾荒|
阅读(102)
评论(0)
推荐(0)
2023年5月15日
Java并发(六)----线程start、run、state方法
摘要: 1、start 与 run 调用 run public static void main(String[] args) { Thread t1 = new Thread("t1") { @Override public void run() { log.debug(Thread.currentThr
阅读全文
posted @ 2023-05-15 19:27 |旧市拾荒|
阅读(53)
评论(0)
推荐(0)
Java并发(五)----线程常见方法总结
摘要: 常见方法 方法名 static 功能说明 注意 start() 启动一个新线程,在新的线程运行 run 方法中的代码 start 方法只是让线程进入就绪,里面代码不一定立刻运行(CPU 的时间片还没分给它)。每个线程对象的start方法只能调用一次,如果调用了多次会出现 IllegalThreadS
阅读全文
posted @ 2023-05-15 19:24 |旧市拾荒|
阅读(78)
评论(0)
推荐(0)
2023年5月5日
Java并发(四)----线程运行原理
摘要: 1、线程运行原理 1.1 栈与栈帧 Java Virtual Machine Stacks (Java 虚拟机栈 JVM) 我们都知道 JVM 中由堆、栈、方法区所组成,其中栈内存是给谁用的呢?其实就是线程,每个线程启动后,虚拟机就会为其分配一块栈内存。 每个栈由多个栈帧(Frame)组成,对应着每
阅读全文
posted @ 2023-05-05 22:14 |旧市拾荒|
阅读(408)
评论(2)
推荐(0)
2023年4月24日
Java并发(三)----创建线程的三种方式及查看进程线程
摘要: 一、直接使用 Thread // 创建线程对象 Thread t = new Thread() { public void run() { // 要执行的任务 } }; // 启动线程 t.start(); 例如: // 构造方法的参数是给线程指定名字,推荐 Thread t1 = new Thre
阅读全文
posted @ 2023-04-24 22:07 |旧市拾荒|
阅读(346)
评论(0)
推荐(0)
2023年4月13日
Java并发(二)----初次使用多线程并行提高效率
摘要: 1、并行 并行代表充分利用多核 cpu 的优势,提高运行效率。 想象下面的场景,执行 3 个计算,最后将计算结果汇总。 计算 1 花费 10 ms 计算 2 花费 11 ms 计算 3 花费 9 ms 汇总需要 1 ms 如果是串行执行,那么总共花费的时间是 10 + 11 + 9 +
阅读全文
posted @ 2023-04-13 21:56 |旧市拾荒|
阅读(314)
评论(0)
推荐(0)
2023年4月10日
Java并发(一)----进程、线程、并行、并发
摘要: 一、进程与线程 进程 程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO 的 当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。 进程就可以视为程
阅读全文
posted @ 2023-04-10 20:42 |旧市拾荒|
阅读(438)
评论(0)
推荐(0)
2023年4月5日
设计模式(三十二)----综合应用-自定义Spring框架-自定义Spring IOC-自定义Spring IOC总结
摘要: 1 自定义Spring IOC总结 1.1 使用到的设计模式 工厂模式。这个使用工厂模式 + 配置文件的方式。 单例模式。Spring IOC管理的bean对象都是单例的,此处的单例不是通过构造器进行单例的控制的,而是spring框架对每一个bean只创建了一个对象。 模板方法模式。Abstract
阅读全文
posted @ 2023-04-05 20:19 |旧市拾荒|
阅读(46)
评论(0)
推荐(0)
2023年4月3日
设计模式(三十一)----综合应用-自定义Spring框架-自定义Spring IOC-定义解析器、IOC容器相关类
摘要: 3 定义解析器相关类 3.1 BeanDefinitionReader接口 BeanDefinitionReader是用来解析配置文件并在注册表中注册bean的信息。定义了两个规范: 获取注册表的功能,让外界可以通过该对象获取注册表对象。 加载配置文件,并注册bean数据。 /** * @versi
阅读全文
posted @ 2023-04-03 19:50 |旧市拾荒|
阅读(138)
评论(0)
推荐(0)
2023年3月30日
设计模式(三十)----综合应用-自定义Spring框架-自定义Spring IOC-定义bean、注册表相关类
摘要: 现要对下面的配置文件进行解析,并自定义Spring框架的IOC对涉及到的对象进行管理。 <?xml version="1.0" encoding="UTF-8"?> <beans> <bean id="userService" class="com.itheima.service.impl.User
阅读全文
posted @ 2023-03-30 20:51 |旧市拾荒|
阅读(67)
评论(0)
推荐(0)
2023年3月27日
设计模式(二十九)----综合应用-自定义Spring框架-Spring IOC相关接口分析
摘要: 1 BeanFactory解析 Spring中Bean的创建是典型的工厂模式,这一系列的Bean工厂,即IoC容器,为开发者管理对象之间的依赖关系提供了很多便利和基础服务,在Spring中有许多IoC容器的实现供用户选择,其相互关系如下图所示。 其中,BeanFactory作为最顶层的一个接口,定义
阅读全文
posted @ 2023-03-27 19:51 |旧市拾荒|
阅读(197)
评论(0)
推荐(1)
2023年3月23日
设计模式(二十八)----综合应用-自定义Spring框架-Spring简单回顾
摘要: 1 spring使用回顾 自定义spring框架前,先回顾一下spring框架的使用,从而分析spring的核心,并对核心功能进行模拟。 数据访问层。定义UserDao接口及其子实现类 public interface UserDao { public void add(); } public
阅读全文
posted @ 2023-03-23 20:39 |旧市拾荒|
阅读(79)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
···
27
下一页
公告