自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 Mybatis——Mapper代理开发(2)

22

2023-02-27 21:28:43 80

原创 Mybatis-替换数据库入门

11

2023-02-26 16:57:51 737

原创 关于.HuaweiMesssagingException: Error while calling HCM backend service问题

华为push服务问题

2023-02-11 16:18:10 354

转载 Java中的Comparable和Comparator接口

java中Comparable接口和Comparator接口介绍

2022-12-16 11:42:11 67

原创 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关注的人

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