自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java~使用synchronized修饰静态方法带来的问题 与 同步synchronized代码块不使用String作为锁对象的原因

文章目录使用synchronized修饰静态方法带来的问题同步synchronized代码块不使用String作为锁对象的原因使用synchronized修饰静态方法带来的问题直接上代码/** * Created with IntelliJ IDEA. * Description: If you don't work hard, you will a loser. * User: Listen-Y. * Date: 2020-09-29 * Time: 11:39 */public

2020-09-29 20:08:27 794 1

原创 Java~介绍线程的优先级的三大特性和守护线程

文章目录线程的优先级源码分析继承性规则性随机性守护线程线程的优先级在操作系统中, 线程可以划分优先级, 优先级较高的会先得到CPU的资源较多, 也就是会优先执行优先级高的线程中的任务通过设置优先级有助于帮"线程规划期"确定下一次选择哪个线程来优先执行线程中优先级分为1~10这10个等级, 如果你设置的大于10或者小于1, 则JDK会抛出异常throw new IllegalArgumentException()源码分析/** * The minimum priority that

2020-09-29 09:58:00 510 1

原创 Java~在使用isAlive时, 将线程对象已构造参数的形式传递给Thread对象时进行start启动时, 使用this和Thread.currentThread的差异

文章目录currentThread()方法isAlive()方法使用this和Thread.currentThread的差异currentThread()方法该方法可返回代码段正在被哪个线程调用的信息代码示例/** * Created with IntelliJ IDEA. * Description: If you don't work hard, you will a loser. * User: Listen-Y. * Date: 2020-09-28 * Time: 21:54

2020-09-28 22:32:11 398

原创 Java~源码分析为什么ArrayList是线程不安全的, 如何将其变为线程安全的

文章目录ArrayList不是线程安全的,使用一个案例演示结果分析需要线程安全怎么办?源码分析其为何安全?ArrayList不是线程安全的,使用一个案例演示任务类import java.util.List;/** * Created with IntelliJ IDEA. * Description: If you don't work hard, you will a loser. * User: Listen-Y. * Date: 2020-09-27 * Time: 15:42

2020-09-27 16:18:44 1293

原创 Java~集合HashMap中关键点源码剖析: 八个成员变量, 三个构造方法, 六个成员方法

文章目录HashMap简介HashMap继承关系HashMap集合类的成员成员变量构造方法构造一个空的 `HashMap` ,默认初始容量(16)和默认负载因子(0.75)。构造一个具有指定的初始容量和使用默认负载因子(0.75) HashMap。构造一个具有指定的初始容量和负载因子的 HashMap。成员方法hash函数put增加方法将链表转换为红黑树的treeifyBin方法扩容方法_resize删除方法(remove)查找元素方法(get)上述红黑树节点调用的是getTreeNode方法通过树形节点的

2020-09-26 19:59:05 505

原创 算法~回溯思想 (附带4道例题)

文章目录回溯电话号码的字母组合组合总和活字印刷N皇后回溯回溯是一种通过穷举所有可能情况来找到所有解的算法。如果一个候选解最后被发现并不是可行解,回溯算法会舍弃它,并在前面的一些步骤做出一些修改,并重新尝试找到可行解。回溯算法一般会结合在搜索算法中。电话号码的字母组合给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:“23”输出:[“ad”, “ae”, “af”, “bd”, “be”,

2020-09-25 11:29:26 548

原创 算法~广度优先搜索(Breadth First Search)一石激起干层浪(附带6道练习题)

文章目录广度优先搜索模型出迷宫员工的重要性N叉树的遍历腐烂的橘子单词接龙打开转盘锁广度优先搜索模型BFS() {1.建立起始步骤,队列初始化2.遍历队列中的每一种可能,whlie(队列不为空)通过队头元素带出下一步的所有可能,并且依次入队判断当前情况是否达成目标:按照目标要求处理逻辑继续遍历队列中的剩余情况}出迷宫假设有一个迷宫,里面有障碍物,迷宫用二维矩阵表示,标记为O的地方表示可以通过,标记为1的地方表示障碍物,不能通过。现在给一个迷宫出口,让你判断是否可以从入口进来之后,走出迷宫,

2020-09-23 23:52:55 795

原创 算法~深度优先搜索(Depth First Search)一条道走到黑 (附带5道例题)

文章目录深度优先搜索扑克与盒子员工的重要性图像渲染被围绕的区域岛屿的数量深度优先搜索深度优先搜索的方法是,从矩阵中某顶点v出发:(1)访问顶点v;(2)依次从v的未被访问的邻接点出发,对矩阵进行深度优先遍历;直至图中和v有路径相通的顶点都被访问;(3)若此时图中尚有顶点未被访问,则从一个未被访问的顶点出发,重新进行深度优先搜索,直到矩阵中需要被访问的顶点均被访问过为止。扑克与盒子题目描述假如有编号为1 ~ 3的3张扑克牌和编号为1~3的3个盒子,现在需要将3张牌分别放到3个盒子中去,且每个

2020-09-21 22:46:05 781

原创 动态规划(三)背包问题、回文串分割(Palindrome Partitioning)、编辑距离(Edit Distance)、不同子序列(Distinct Subsequences)

文章目录背包问题背包问题

2020-09-14 15:40:32 482

原创 动态规划(二)三角矩阵(Triangle)、路径总数(Unique Paths)、路径总数2(Unique Paths II)、最小路径和(Minimum Path Sum)

文章目录三角矩阵(Triangle)路径总数(Unique Paths)路径总数2(Unique Paths II)最小路径和(Minimum Path Sum)三角矩阵(Triangle)题目描述:链接:https://www.nowcoder.com/questionTerminal/2b7995aa4f7949d99674d975489cb7da来源:牛客网给出一个三角形,计算从三角形顶部到底部的最小路径和,每一步都可以移动到下面一行相邻的数字,例如,给出的三角形如下:[[2],[3

2020-09-12 16:06:08 627 1

原创 Linux~vim的三种模式下命令的基本使用和vim的额外功能(缓存、多文件编辑、多窗口功能、关键词补全)

文章目录三种模式常用命令vim的缓存、恢复与打开时的警告多文件编辑多窗口功能关键字补全三种模式一般命令模式使用vim [filename] 打开一个文件就会进入一般命令模式, 在这个模式下你可以使用上下左右键移动光标进行删除字符和删除整行还可以进行复制和粘贴来处理内容编辑模式由一般命令模式输入i o a r任何一个字符进入, 可以对文件内容进行编辑, 就如同我们Windows上的记事本一样命令行模式由一般命令模式输入: / ?任何一个字符进入, 此时光标在屏幕的最后一

2020-09-11 18:04:52 699

原创 Redis~提高Redis服务的主要三个方式:主从同步、哨兵模式、集群服务

文章目录主从同步主从同步的优点主从同步的缺点哨兵模式哨兵工作原理哨兵模式优缺点集群服务随着业务的不断发展,单机 Redis 的性能已经不能满⾜我们的需求了,此时我们需要将单机 Redis 扩展 为多机服务主从同步主从同步也叫做主从复制, 是提高Redis服务的基础, 也是多机运行中最基础的一个, 主要把存储数据的节点叫做主节点, 把其他通过复制主节点的数据的副本节点叫做从节点在Redis中一个主节点可以拥有多个从节点, 一个从节点也可以是其他服务器的 “主节点” 这也叫做从从同步(其根本

2020-09-11 09:27:57 392

原创 Linux~修改文件属性与权限(chgrp、chown、chmod)的使用

文章目录修改所属用户组chgrp修改文件拥有者chown修改权限chmod数字形式字符类型修改所属用户组chgrp修改用户组的时候你的/etc/group这个文件中必须得有这个用户组, 不然就会出错格式chgrp [- r] filename / dirname -r表示递归进行, 就是如果是一个目录而且下面还有文件的话, 里面所有的文件的用户组都会改变root@listen-virtual-machine:/home/listen/test# ll总用量 12drwxrwxr-x 2

2020-09-10 20:21:53 1775

原创 Redis~五大基础数据类型(字符串, 字典, 列表, 集合, 有序集合)的使用

文章目录字符串字典列表集合有序集合字符串字典列表集合有序集合

2020-09-10 16:58:04 564

原创 Redis~使用Redis出现的常见异常: 缓存雪崩、缓存穿透、缓存击穿、缓存预热

文章目录缓存雪崩缓存穿透缓存击穿缓存预热实现缓存预热的三个思路缓存雪崩缓存雪崩是指带短时间内, 有大量的缓存过期, 从而导致大量的请求直接查询数据库, 从而对数据库造成了巨大的压力, 严重情况下可能导致数据库的宕机, 这种情况称之为缓存雪崩缓存穿透缓存穿透是指在查询数据的时候, 因为数据库是没有数据的所以缓存也是没有数据的, 但是每个请求还是先回去访问缓存, 每一次都不长记性,老是问他你有么有数据, 缓存说了没有, 然后还不死心的去数据库中查询, 这种情况就叫缓存穿透缓存击穿缓存击穿与

2020-09-09 22:17:22 383

原创 Redis~实现持久化的三种方式:快照方式(RDB)、文件追加方式(AOF)、混合持久化方式

文章目录何为持久化快照方式(RDB, Redis Database)优点缺点文件追加方式(AOF, Append Only File)优点缺点混合持久化方式优点缺点何为持久化所谓持久化就是将数据用内存保存到磁盘的工程, 其目的就是防止数据的丢失因为内存中的数据 在服务器重启之后就会丢失,⽽磁盘的数据则不会,因此为了系统的稳定起⻅,我们需要将数据进⾏持久 化。同时持久化功能⼜是 Redis 和 Memcached 最主要的区别之⼀,因为 Redis ⽀持持久化⽽ Memcached 不⽀持快照

2020-09-09 14:59:24 809 2

原创 Java~简单实现弹出式菜单JPopupMenu, 结合鼠标事件处理演示其功能

文章目录JPopupMenu简单演示JPopupMenuJPopupMenu弹出式菜单和下拉式菜单一样,都通过调用add()方法添加JMenuItem菜单项,但它默认是不可见的。如果想要显示出来,则必须调用它的show(Component invoker,int x,int y)方法,该方法中参数invoker表示JPopupMenu菜单显示位置的参考组件,x和y表示invoker组件坐标空间中的一个坐标,显示的是JPopupMenu菜单的左上角坐标。使用这个最重要的就是这个顶级窗口和JPopupM

2020-09-08 20:02:51 3033

原创 Redis~初识缓存, 了解本地缓存(Spring Cache)和分布式缓存(Redis)

文章目录初识缓存缓存的优点缓存的分类本地缓存 如(Spring Cache)演示Spring Cache分布式缓存(Redis)RedisRedis能取代传统数据库吗?Redis的4大特点初识缓存一个实际程序中最影响效率的就是对数据库中数据的操作,为了提高效率就必须引进缓存技术.缓存是一个道速数据交换的存储器, 使用它可以快速访问和操作数据.对于程序来说,当没有缓存时, 每次访问数据都得去数据库中查找, 而有多个数据请求的时候, 如果都去数据库中查找, 那么对数据库的压力也是非常大的, 但当我们

2020-09-08 15:44:44 3852

原创 Java~Swing中最常见的中间容器有两种:JPanel和JScrollPane的使用

文章目录JPanelJScrollPane代码演示在JScrollPane中插入表格JPanelJPanel和AWT中的Panel组件使用方法基本一致,它是一个无边框,不能被移动、放大、缩小或者关闭的面板,它的默认布局管理器是FlowLayout。当然也可以使用JPanel带参数的构造函数JPanel(LayoutManager layout)或者它的setLayout()方法为其制定布局管理器。JScrollPane与JPanel不同的是,JScrollPane是一个带有滚动条的面板容器,而

2020-09-07 22:38:40 1522

原创 Java~Swing中下拉式菜单JMenuBar(菜单栏)、JMenu(菜单)和JMenuItem(菜单项)的使用

文章目录下拉式菜单三个关键组件的介绍代码演示下拉式菜单在GUI程序中,创建下拉式菜单需要使用三个组件:JMenuBar(菜单栏)、JMenu(单)JMenuItem(菜单项),以记事本为例,这三个组件在菜单中对应的位置如图所示。三个关键组件的介绍1)JMenuBar:JMenuBar表示一个水平的菜单栏,它用来管理菜单,不参与同用户的交互式操作。菜单栏可以放在容器的任何位置,但通常情况下会使用顶级窗口(如JFrame、JDialog)的setJMenuBar(JMenuBar menuBar)

2020-09-06 23:12:14 7760

原创 Java~使用URL建立资源连接实现网络图片爬取

文章目录核心API实现演示核心APIInputStreamFileOutputStreamURLPatternMatcher使用url的openStream获取网络资源输入流对象传给inputStream使用Pattern的compile指定我们需要的资源格式使用Matcher匹配器, 将我们获取的所有资源与我们compile指定的格式相匹配将每个资源链接再次使用url获取其inputStream对象最后将inputStream中的资源使用fileoutPutStream传输给电

2020-09-04 22:22:56 686

用java实现操作系统实验银行家算法

银行家算法是一种最有代表性的避免死锁的算法。在避免死锁方法中允许进程动态地申请资源,但系 统在进行资源分配之前,应先计算此次分配资源的安全性,若分配不会导致系统进入不安全状态,则分配,否则等待。为实现银行家算法,系统必须设置若干数据结构。 要解释银行家算法,必须先解释操作系统安全状态和不安全状态。 安全序列是指一个进程序列{P1,…,Pn}是安全的,即对于每一个进程Pi(1≤i≤n),它以后尚需要的资源量不超过系统当前剩余资源量与所有进程Pj (j < i )当前占有资源量之和。

2020-05-26

空空如也

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

TA关注的人

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