自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yuanfengqiao的博客

我要一步一步往上爬,等待阳光静静的看着它的脸

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

原创 java线程并发基础

1、wait()函数当一个线程调用共享变量的wait()方法时,该线程就会被阻塞挂起,直到发生下面几件事之一才会返回:1、其他线程调用该共享对象的的notify()或者notifyAll()方法;2、其他线程调用该线程的interrupt()方法,该线程抛出InterruptedException()异常返回。需要注意的是一个线程如果要调用wait()方法,则该线程必须事先获得对象的监视器...

2019-03-22 18:40:28 156

转载 我见过讲NIO最好的文章

https://www.cnblogs.com/geason/p/5774096.html

2019-09-21 16:39:24 148

原创 java中的按位与(&),按位或(|),异或(^),非(!)

1、按位“与”操作,如果两个数的二进制,相同位数上都是1,则位结果是1,否则为0,例如5&4,5的二进制位0101,4的二进制是0100,则与操作的结果是0100,即转为十个进制是4。2、“或”、“位或”(|) 按位“或”操作符,如果两个数的二进制,相同位数有一个是1,则该位结果是1,否则是03、“异或、“位异或”(^) 按位“异或”操作符,如果两个数的二...

2019-09-21 10:36:53 1076

原创 线程阻塞的代价

在看多线程的时候,为了解决多线程下的对数据操作的原子性问题,往往采用synchronized同步锁,但是synchronized是通过加锁来实现的,对于未获得锁的线程,对数据进行读操作时,会被阻塞挂起,阻塞和唤醒是非常消耗资源的,那时候不明白线程阻塞挂起以及唤醒是如何消耗系统资源的,网上大多数是说线程的上下文切换和线程的调度消耗系统资源,还是讲的不够清楚,这几天一直在研究这个问题,今天写一下自己的...

2019-09-03 17:22:43 765

原创 代理类

前几天有人问我了解Spring AOP的实现原理吗?我说Spring AOP的底层实现是基于动态代理的,是采用cglib来实现的,我视乎只是大致的知道是基于代理类的,但是具体是怎么实现的我貌似也是一知半解,今天有空上网看了下,将自己的思路写出来,谈谈自己的想法。一、代理类主要分为1、静态代理2、动态代理二、代理的主要作用大致可以总结如下:1、保证了目标类的安全性:使用代理模式,...

2019-08-16 16:26:21 756

原创 SpringBoot采坑

1、IDEA版本的maven编译不支持对xml文件的编译在做springboot和mybatis整合时,一直在报错找不到方法,这表明已经找到了mapper接口类类只是找不到mapper.xml文件而已,仔细检查了下,mapper的接口和对应的xml文件是放在同一个包下,且同名,并且在application.properties中也指定了xml的位置,后来去项目中的target中发现只有ma...

2019-07-04 22:14:13 183

原创 突破算法66

第一题:给定一个只包括'(',')','{','}','[',']'的字符串,判断该字符串是否有效。有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 比如 "()"、"()[]{}"、"{[]}" 都是有效字符串,而 "(]" 、"([)]" 则不是 解题思路:第一步:将字符串转换成字符数组,便于对字符串进行遍历;第二步...

2019-06-13 21:45:33 177

原创 后端面试之java基础

目录1、简单聊一聊hashCode()方法以及它的作用2、hashCode()和equals()方法3、简述下线程的状态4、final的用法1、简单聊一聊hashCode()方法以及它的作用hashCode()的作用是用来获取哈希码的,也就是散列码,哈希码是一个int型的整数值,它的作用是用来确定对象在哈希表中索引的位置,在java中每个对象都可使用hashCode(...

2019-06-13 20:57:17 99

原创 HashMap为什么会发生线程不安全?如何在多线程的情况下安全的使用HashMap?

我们知道HashMap底层的数据结构是数组+链表/红黑树,默认初始容量是16,当数组中的元素大于hashMap的初始容量乘以加载因子时(加载因子默认是0.75),HashMap就会进行扩容,容量变为原来的2倍,然后将原来的数据重新映射到新的桶里面,然后将原来的桶逐个置为null,使得引用失效。也就是在hashMap进行扩容的时候容易发生HashMap线程不安全。HashMap线程不安全主要会产生以...

2019-05-24 17:04:58 2013

原创 Java中的几种线程池

转载自(https://www.cnblogs.com/fengzheng/p/9297602.html)使用线程池的目的就是为了提高性能,线程池和数据库连接池是同样的道理,数据库是为了减少连接的建立和释放带来的性能开销比如说,web开发中,客户端发来一个请求,有两种方式:方式一:服务端就创建一个线程来处理请求,请求完毕后就销毁线程。方式二:每次来一个请求,服务端就从线程池中拿一个...

2019-05-24 16:59:10 85

原创 Mysql数据库

数据库的事务参考文章(https://www.cnblogs.com/takumicx/p/9998844.html)数据库的事务主要是指原子性,一致性,隔离性,持久性。原子性指的是事务中所包含的操作要么全部都执行要么全部都不执行。一致性指的是一个事务中,事务前后数据的完整性必须保持一致隔离性指的是多个用户并发访问数据库时,一个用户的事务不受其他用户的影响,多个并发事务之间的数...

2019-04-18 11:35:19 79

原创 java之计算机网络

OSI七层网络模型自下向上分别是:物理层、数据链路层、网络层、传输层、表示层、会话层、应用层。物理层:物理层的作用就是传输比特流以及数模转换和模数转换(将0101的二进制数据转换为电流的强弱进行传输,等到达目的地后0101的机器码,网卡就是工作在这一层);物理层主要是来定义物理设备的标准,如网线的类型,光纤的接口类型,各种传输介质的传输速率等(网卡属于物理层)数据链路层:数据链路层的作用是...

2019-04-16 21:11:26 450

原创 Spring之IOC

Sping中IOC中文是控制反转,简单的讲就是没有使用使用Spring ioc之前我们创建对象通常使用new关键字来创建,而通过spring ioc,我们可以通过配置文件来创建对象。即把各个对象封装起来,然后通过IOC容器来关联这些对象,使得对象之间的联系是通过IOC建立起来的,但是对象之间并没有之间的联系。IOC最大用处就是实现对象之间的解耦。IOC底层原理锁采用的技术有:1、xml配置文件...

2019-04-11 22:50:41 64

原创 java基础之NIO

IO与NIO的区别IO是面向流的而NIO是面向缓冲区的,IO是阻塞的NIO是非阻塞的,NIO有选择器,IO没有。其中NIO的非阻塞和选择器是对于网络传输而言的。NIO的核心java的NIO的核心在于通道(Channel)和缓冲区(Buffer)。通道表示在打开到IO设备(例如文件,套接字)的连接,若要使用java NIO系统,需要获取用于连接IO设备的通道以及用于容纳数据的缓冲区。然后...

2019-04-09 21:33:18 88

原创 java并发基础之死锁

1、什么是线程死锁?两个或者两个以上的线程在执行的过程中,因抢夺资源而造成相互等待的现象,在没有外界干扰的情况下,这些线程会一直处于等待状态,例如线程A已经占用了资源1,同时还在申请资源2,线程B已经占用了资源2,但同时还在申请资源1,因此线程A和线程B因相互等对方已占有的资源而处于相互等待而进入死锁状态。2、产生死锁的条件产生死锁有四个跳进:1、互斥条件,即线程对已获得的资源进行排他...

2019-03-28 14:17:26 172

原创 java常用排序算法

1、冒泡排序:冒泡排序思想:1、对相邻的位置的两个元素进行比较,如果前面的元素大于后面的元素,则交换两者的位置;2、对每一对相邻的元素重复步骤1的操作,从第一对开始一直到结尾的最后一对,这样下来,最后的元素就是最大的;3、除最后一个元素外,对所有元素重复以上步骤4、重复上述步骤,直到排序完成package com.sxt.maopao;import java.util.Ar...

2019-03-25 11:37:48 104

空空如也

空空如也

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

TA关注的人

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