- 博客(65)
- 资源 (6)
- 收藏
- 关注
原创 并发编程(多线程)带来了哪些问题?
前面我们了解到多线程技术有很多好处,比如说多线程可以充分利用多核 CPU 的计算能力,那多线程难道就没有一点缺点吗?有。多线程很难掌握,稍不注意,就容易使程序崩溃。我们以在路上开车为例:在一个单向行驶的道路上,每辆汽车都遵守交通规则,这时候整体通行是正常的。『单向车道』意味着『一个线程』,『多辆车』意味着『多个 job 任务』。单线程顺利同行如果需要提升车辆的同行效率,一般的做法就是扩展车道,对应程序来说就是『加线程池』,增加线程数。这样在同一时间内,通行的车辆数远远大于单车道。多线程顺利同行。
2024-07-05 17:12:15
76
原创 进程与线程的区别
经过前面几章的学习,我们对线程的基本概念和使用方式已经有了比较充分的了解,那么接下来我们就来分析一下,线程是如何从进程进化而来的,它们之间又有哪些区别,搞清楚两者之间的差别对接下来的学习也是至关重要的,甚至有些公司的面试官也喜欢问这个。
2024-07-03 17:56:35
93
原创 线程组和线程优先级
Java 提供了 ThreadGroup 类来创建一组相关的线程,使线程组管理更方便。每个 Java 线程都有一个优先级,这个优先级会影响到操作系统为这个线程分配处理器时间的顺序。这篇内容将分别来介绍一下线程组和线程优先级。
2024-06-28 11:06:13
75
原创 Java线程的6种状态及切换(透彻讲解)
我们先来看看操作系统中的线程状态转换。在操作系统中,线程被视为轻量级的进程,所以。系统进程/线程转换图。
2024-06-27 18:05:20
224
原创 获取线程的执行结果
我们讲述了创建线程的 3 种方式,一种是直接继承 Thread,一种是实现 Runnable 接口,另外一种是实现 Callable 接口。前 2 种方式都有一个缺陷:在执行完任务之后无法获取执行结果。如果需要获取执行结果,就必须通过共享变量或者线程通信的方式来达到目的,这样使用起来就比较麻烦。Java 1.5 提供了 Callable、Future、FutureTask,它们可以在任务执行完后得到执行结果,今天我们就来详细的了解一下。
2024-06-26 16:01:07
60
原创 java 多线程入门
对于 Java 初学者来说,多线程的很多概念听起来就很难理解。很抽象,对不对?带着这个比喻来理解进程和线程的一些关系,一个进程可以有多个线程就叫多线程。是不是感觉非常好理解了?
2024-06-24 14:45:13
176
2
原创 专业与学校:高考志愿填报的两难抉择
在高考志愿填报的过程中,无论是选择专业优先,还是学校优先,都是一次重要的人生抉择。关键在于了解自己,明确自己的兴趣和职业规划,结合实际情况,做出最适合自己的选择。愿所有的高考生都能在这场抉择中找到属于自己的最佳答案,开启一段精彩的大学生活。
2024-06-24 14:17:52
404
原创 git push -f 的后悔药
如果覆盖小部分代码还可以,但如果覆盖了大量的代码真的会欲哭无泪,分享这个抢救小技巧,希望大家都能在紧要关头派上用场哦!完本地的代码后,在本机检查一下是不是你要的版本,如果一切没问题,再直接用回退回来的版本推到远端就大功告成啦!覆盖了远程的分支,你想要撤销刚才的操作,将分支恢复刚才误操作前的状态。的习惯,工作又时常多线开发,需要多个 branch。,把指令中的 ur_commit_hash。名称,然后把 ur_branch。名字,执行完毕后你会看到。,这时候选择一个你要的。换成你的 branch。
2024-03-06 14:41:13
363
原创 程序员的金三银四求职宝典
金三银四,即三月和四月,被广大程序员视为求职的黄金时期。在这两个月里,各大公司纷纷开放招聘,求职者们则通过一轮又一轮的面试,力争心仪的职位。提示:介绍各大公司的文化特点、工作氛围等,帮助读者更好地了解公司,为选择适合自己的公司提供参考。提示:分享职业规划的方法和建议,帮助读者明确自己的职业目标和发展方向,为未来的职业生涯做好规划。提示:分析当前IT行业的发展趋势和市场需求,帮助读者了解行业动态,为求职和职业规划提供指导。提示:针对常见的面试题,提供解题思路和方法,帮助读者巩固基础知识,提升解决问题的能力。
2024-03-05 11:45:29
152
原创 Java 的七种垃圾收集器
用 C 或 C++ 这样的编程语言写一个应用时,需要编写代码来销毁内存中不再需要的对象。当应用程序扩展得越来越复杂时,未使用对象被忽略释放的可能性就越大。这会导致内存泄露,最终内存耗尽,在某个时刻将没有更多的内存可以分配。结果就是应用程序运行失败并出现 OutOfMemoryError 错误。但在 Java 中,垃圾收集器(Garbage Collection)(GC)会在程序执行过程中自动运行,减轻了手动分配内存和可能的内存泄漏的任务。
2024-03-05 11:43:51
1151
原创 三大组合拳 (索引、锁、事务) 之 重拳--“索引”
索引是一种帮助数据库系统提高查询效率的数据结构。它通过按照特定的规则对数据进行排序和存储,从而加快数据的检索速度。
2024-02-27 16:42:01
343
原创 一文讲清DTO、BO、PO、VO
DTO (Data Transfer Object) 数据传输对象: DTO设计模式用于将数据从服务端传输到客户端,或者在不同的服务之间传递。通常,DTO包含了特定业务场景需要的数据结构,并且不包含任何业务逻辑。它简化了不同服务或模块之间的交互,使得各个层之间的耦合度降低。BO (Business Object) 业务对象: BO代表了业务逻辑层中的对象,封装了与某个业务相关的数据以及针对这些数据的操作逻辑。一个BO可能由多个实体属性组成,并处理涉及多个实体的复杂业务逻辑。
2024-02-26 14:05:59
3811
原创 localhost和127.0.0.1的区别是什么?
localhost和127.0.0.1的区别是什么?前端同学本地调试的时候,应该没少和localhost打交道吧,只需要执行 npm run 就能在浏览器中打开你的页面窗口,地址栏显示的就是这个可能大家只是用,也没有去想过这个问题。联想到我之前合作过的一些开发同学对它们俩的区别也没什么概念,所以我觉得有必要普及下。
2024-02-23 10:10:59
908
原创 效率工具:Hutool 嘎嘎香
Hutool 是一个小而全的 Java 工具类库,通过静态方法封装,降低相关 API 的学习成本,提高工作效率,使 Java 拥有函数式语言般的优雅,让 Java 语言也可以“甜甜的”。Hutool 中的工具方法来自每个用户的精雕细琢,它涵盖了 Java 开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;
2024-02-21 14:56:30
723
原创 SpringBoot项目多数据源配置与MyBatis拦截器生效问题解析
SpringBoot项目多数据源配置与MyBatis拦截器生效问题解析。
2024-01-29 10:07:42
1037
原创 什么情况会发生Full GC?如何避免频繁Full GC?Minor GC、Major GC 和 Full GC区别?
什么情况会发生Full GC?如何避免频繁Full GC?Minor GC、Major GC 和 Full GC区别?
2024-01-28 00:10:37
1151
原创 浅谈Java线程池,Java线程池解析。
掌握线程池是后端程序员的基本要求,相信大家求职面试过程中,几乎都会被问到有关于线程池的问题。我在网上搜集了几道经典的线程池面试题,并以此为切入点,谈谈我对线程池的理解。如果有哪里理解不正确,非常希望大家指出,接下来大家一起分析学习吧。
2024-01-26 10:06:21
733
原创 SpringBoot统一返回和统一异常处理
在 SpringBoot 项目中,统一返回和统一异常处理是非常常用的一环,它们能提高应用的可读性和可维护性,统一返回有助于保持代码一致性和规范性,在前后端联调时更加方便,统一异常处理,减少了代码冗余,对异常处理更加易于管理。
2024-01-25 11:59:21
1344
原创 SpringBoot项目多数据源配置与MyBatis拦截器生效问题解析
SpringBoot项目多数据源配置与MyBatis拦截器生效问题解析。
2024-01-24 14:55:44
1041
原创 彻底搞懂Spring IOC
IOC(Inversion of Control),即控制反转,它是一种设计思想控制(谁控制谁)之前通过new()进行创建对象,主动去创建依赖对象,而现在通过IOC容器负责实例化、配置和组装 bean。反转(反转什么)之前对象主动直接去获取依赖对象,而现在通过Ioc容器查找及注入(DI) 依赖对象。依赖注入DI(Dependency Injection),即依赖注入,是IOC具体的实现,IOC容器动态的将某个依赖注入到对象之中
2024-01-24 14:30:55
790
原创 springboot项目启动时如何排除一个bean?
springboot默认封装了很多的组件,并且把这些组件都进行了自动化配置封装。也就是说,只要是springboot项目,启动类在@SpringBootApplication注解下,在不需要单独配置bean的情况下,本项目所用到的bean在容器启动的时候都会被自动扫描并注入到IOC容器里。这里我所说的bean主要指的是pom文件里面配置的那些starter,以及还有一些springboot默认封装的一些组件,比如数据源,redis等一些组件。
2024-01-23 11:41:45
1104
原创 mysql中出现Specified key was too long; max key length is 767 bytes,需要innodb_large_prefix设置步骤
mysql中出现Specified key was too long; max key length is 767 bytes,需要innodb_large_prefix设置步骤
2022-01-19 10:23:54
1017
原创 安装Docker Desktop报错WSL 2 installation is incomplete,启动docker 出现WSL 2 installation is incomplete。
安装Docker Desktop报错WSL 2 installation is incomplete,启动docker 出现WSL 2 installation is incomplete。
2022-01-18 14:10:35
1405
原创 正则匹配常用表达式
一、校验数字的表达式数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9]*)$ 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(\.[0-9]{1,2})?$ 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})$ 正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$ 有两位小数的正实数:^[0-9]+(\.[0-9]{2})?$
2021-08-12 10:00:12
489
原创 httpd服务,启动,停止,启停。httpd服务启停。
http服务:1、检查http服务:service --status-all | grep httpd2、停止http服务:service httpd stop检查服务是否停止成功:service --status-all | grep httpd3、启动http服务:service httpd start检查服务是否启动成功:service --status-all | grep httpd4、http服务路径cd /var/www/html端口号:一般是ip:80
2021-06-02 18:12:47
4523
原创 用chmod命令给*.sh修改权限,liunx*.sh 权限修改。
部署→配置→授权→运行。总是在运行的时候发现部署服务没有权限,没有权限提示随处可见。这时候用chmod命令修改*.sh的权限,就可以解决了。如:chmod u+x *.sh
2021-06-01 14:27:57
863
原创 Git--log 查看提交历史
注意:以下截图中,Author 表示对代码做出修改的人Date 表示对代码做出修改的时间Commit 表示提交代码的人,CommitDate 表示提交代码的时间实际工作中,Author 并不一定就是Commit另外:在查看提交摘要或者详情等情况下可能会出现 :,这个冒号表示还有没展示完的内容,如果你想继续查看内容,就敲击键盘上的回车键;如果你想退出:,可以敲击键盘上的 q 。如下图:git中查看提交历史的话,使用的是 git log命令,具体命令及含义如下:1. git log查看
2021-04-30 15:56:03
7406
2
java面试指南,学习指南,电子书籍
2024-01-29
oracle+mysql+sql server 数据库字典表生成,生成表字段,注释,索引等数据库表结构数据 支持在线化
2024-01-17
xshell,xftp 工具,你懂得
2022-11-01
水果忍者网页版,js+css+html
2022-10-29
liunx 系统安装 docker环境,完成docker部署,安装docker,docker部署。一键安装docker
2022-05-30
mswinsck.ocx.zip
2021-07-12
web在线酒店管理系统-java+layui
2020-06-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人