- 博客(9)
- 收藏
- 关注
原创 常见的CSS选择器
又称为后代选择器,是上面的三种选择器的结合,一般在页面特别复杂的情况下使用,可以非常针对性地修改某个元素且不必担心影响到其他部分的元素。相当于把CSS写在一个单独的.css的文件里面,然后在html文件中通过<link>标签来引入。一个html标签的id属性在页面上是唯一的,就可以通过id选择器来把这个指定的元素给获取到。类选择器也是最常用的,在CSS文件里面创建一个类名,这个类名就对应一组CSS属性。也就是说直接把CSS嵌入到HTML文件之中,放到<style>标签里面。直接把CSS属性写到元素里面。
2023-05-09 10:46:22
87
原创 简述线程池
线程池就是开发者根据需求创建多个线程放到一个池中(逻辑意义上),来统一管理这些线程,由池中的任务队列来直接给池中的空闲线程分配任务,大致为这样的一个过程。简而言之就是提前把线程准备好,创建线程不是直接从系统申请而是从线程池里面拿已经创建好的线程,线程使用完毕了就还给线程池。
2023-04-19 17:34:47
95
原创 单例模式的线程安全写法
什么是单例模式?所谓单例模式就是一种经典设计模式,关键要点是借助java语法保证某个类只能够创建出一个实例,而不能再通过构造方法new出多个实例。在java中,单例模式有很多种写法,本文只探讨了经典的“饿汉模式”和“懒汉模式”两种写法。
2023-03-27 14:30:45
140
原创 简述线程安全问题的原因与解决方案
简而言之如果有多个线程之间同时并发进行执行,由于线程的无序调动已经编译器的优化,可能会导致预期结果与实际结果不一致,这就是线程不安全。
2023-03-22 14:02:10
153
原创 线程相关的操作
以上代码的break的含义:如果没有break,代码执行到t.interrupt时此时内部的标志位变成了true,sleep见到了标志位为true,它就会立刻抛出异常,然后将标志位再改为false,那么while循环就会再次继续,这就相当于准备关一扇门,但是门又自动打开了,所以必须要break以跳出次循环才能达到线程中止的效果。要想要线程中断只有一个办法,那就是让该线程的入口方法执行完毕(就是run方法),可以用Thread类内置的标志位来控制run方法的结束(控制run方法的循环)进而使线程中断。
2023-03-16 21:27:11
52
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人