- 博客(16)
- 收藏
- 关注
原创 关于.HuaweiMesssagingException: Error while calling HCM backend service问题
华为push服务问题
2023-02-11 16:18:10
354
原创 MarkDown编辑器
欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片
2022-03-30 16:57:18
66
原创 线程池介绍
1传统创建线程的方式带来的弊端?1.创建和销毁线程需要时间,假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间。如果:T1 + T3 远大于 T2,那么会得不偿失。2.其次线程也需要占用内存空间,大量的线程会抢占宝贵的内存资源,可能会导致out of memory异常。3.且大量的线程回收也会给GC带来很大的压力,延长GC的停顿时间。4.最后,大量的线程也会抢占cpu的资源,cpu不停的在各个线程上下文切换中,反而没有时间去处理线程运行的时候该
2020-09-09 16:48:07
121
原创 ReentrantLock
原来刨析过一遍ReentrantLock的源码;但是时间长了;底层原理和实现也记不太清了;所以,再深入看下源码ReentrantLock的原理:AQS介绍ReentrantLock加锁(公平,不公平)ReentrantLock释放锁在创建ReentrantLock的实例的时候;可以传入指定的参数:true或者false;ReentrantLock reelock=new ReentrantLock(true);传入为true表示生成的为公平性锁;传入的为false表示生成的非公平性锁Reent
2020-09-08 20:50:53
170
原创 可重入锁和非重入锁
首先来解释一下什么叫做可重入锁;可重入锁就是可以重入的锁;比如有一个线程访问一个类中的普通方法时;获取到了临界资源,持有锁;那么在执行该方法中时,其内层调用方法也需要获取同样的锁;那么内层方法就会自动获取锁;举一个例子:synchronized void setA () throws Exception{ Thread.sleep(1000); setB();}synchronized void setB () throws Exception{ Thread.sleep(
2020-09-08 13:50:31
279
原创 Synchronized同步锁介绍,自旋锁,偏向锁,轻量级锁介绍以及锁的优化
PART1:synchronized同步锁介绍synchronized实现PART2: java 中的锁 – 偏向锁、轻量级锁、自旋锁、重量级锁连接:https://blog.csdn.net/zqz_zqz/article/details/70233767基础知识1:java线程阻塞的代价java的线程是映射到操作系统原生线程之上的,如果要阻塞或唤醒一个线程就需要操作系统介入,需要在户态与核心态之间切换,这种切换会消耗大量的系统资源,因为用户态与内核态都有各自专用的内存空间,专用的寄存器
2020-06-26 10:33:24
778
原创 三种不同的interrupt方法区别调用
通过类调用的interrupted方法:Thread.interrupted()和对象调用的mythread.isinterrupted() mythread.interrupt()三者的区别首先说明一下多线程之间的调用关系: class MyThread extends Thread { public void run(){ super.run(); System.out.println("子线程开始执行");
2020-06-04 15:20:07
633
转载 java中Thread.sleep()函数使用
我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题:1. 假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2008-4-712:00:01.000 的时候,这个线程会 不会被唤醒?2. 某人的代码中用了一句看似莫明其妙的话:Thread.Sleep(0)。既然是 Sleep 0 毫秒,那么他跟去掉这句代码相比,有啥区别么? 我们先回顾一下操作系统原理。操作
2020-06-04 10:33:59
670
原创 ArryList方法及基本使用
Collection是最顶层的接口,它的三个子接口:1.List2.Set3.QueueArrayList就是List的一个实现类1.List的性质:public class ArrayListDemo { public static void main(String[] args) { //创建ArrayList实例 List<Integer&...
2020-02-26 17:13:02
6115
1
原创 StringReader,StringWriter
String作为数据源1.StringReader 是读, 从一个String中读取,所以需要一个String ,通过构造方法传递2.StringWriter是写, 写入到一个String中去,所以它内部提供了一个StringBuffer中用来保存数据StringReader:1.属性和构造方法private String str;private int length;privat...
2019-11-23 14:14:07
327
转载 方法重写和方法重载
在Java程序中,类的继承关系可以产生一个子类,子类继承父类,它具备了父类所有的特征,继承了父类所有的方法和变量。子类可以定义新的特征,当子类需要修改父类的一些方法进行扩展,增大功能,程序设计者常常把这样的一种操作方法称为重写,也叫称为覆写或覆盖。重写体现了Java优越性,重写是建立在继承关系上,它使语言结构更加丰富。在Java中的继承中,子类既可以隐藏和访问父类的方法,也可以覆盖继承父类的方...
2019-09-17 19:16:48
684
原创 java面向对象(1)
class people{//代表一个类:具有属性和行为String name=“lisi”;int age=10;//称为实例变量或者成员变量//称为成员变量或者成员方法void eat(){System.out.println(“吃饭”)}}这是一个类,但是并没有实现,即没有占内存,不占空间;从类里面抽象出来的东西,是对象,对象占一定的内存。由类变成对象的过程称为实例化。实...
2019-09-17 15:21:27
164
原创 java—课程总结(1)
基础知识java程序要经过先编译后解释两个步骤。java语言编写的程序需要经过编译的步骤,但这个步骤不会生成特定平台(操作系统)的机器码,而是生成一种与平台无关的字节码(.class)文件。这种字节码不可执行,必须通过java解释器来解释执行。java编译器编译程序生成的是与平台无关的字节码,这些字节码不面向任何具体平台,只面向JVM。不同平台上的JVM是不同的,但他们都提供了相同的接口,...
2019-09-05 21:30:24
819
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人