自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java线程同步之synchronized笔记

Java SE 1.6对synchronized进行了优化,为了减少获得锁和释放锁的性能消耗,引入了偏向锁和轻量级锁。synchronized的基本语法synchronized有三种方式加锁:1.修饰实例方法。作用于当前实例对象加锁2.修饰静态方法。作用于当前类对象加锁3.修饰代码块。需指定加锁的对象。那么锁是如何存储的?对象在内存中的布局在Hotspot虚拟机中,对象在内存中的存储布局可以分为3个区域:对象头、实例数据、对象填充。Mark word记录了对象和锁相关

2021-04-10 18:59:08 86

原创 JavaNIO

一、NIO与传统IO的区别与传统的IO相比,NIO有“面向缓存”和“非阻塞”两大特点,NIO还通过选择器(Selector)管理多个读写通道。NIO是面向缓存的,而不是面向流操作,因此可以跳跃性读取或反复读取;传统IO是面向流的,只能顺序地从流中读取数据。 NIO的读写操作是非阻塞的,例如当从某个通道读取数据,有多少读多少,如当前没有数据,就什么都不会获取,代码能继续执行;传统IO是阻塞的,如调用InputStream.read()方法时,它会一直等待数据到来(或超时)才会继续执行后续代码。 N

2021-03-22 21:16:42 261

原创 redis

redis是一个非关系型的数据库,它的数据存储在内存中,所以读写速度很快。一、redis的数据结构stringhashlistsetsortedset二、redis的线程模型redis采用单线程的线程模型,是由于它的文件事件处理器为单线程的。文件事件处理器使用 I/O 多路复用程序来同时监听多个套接字, 并根据套接字目前执行的任务来为套接字关联不同的事件处理器。问:redis为什么那么快?(1)纯内存访问(2)单线程模型避免了线程切换和竞争的消耗(3)

2021-03-18 23:11:37 120

原创 Java线程常用方法

一、interrupted()、isInterrupted()interrupted():判断线程是否已是中断状态,执行后清除状态标志为falseisInterrupted():判断线程是否已是中断状态,但不清除状态标志二、interrupt()interrupt():设置线程的状态为中断状态。1.如何使用interrupt()停止线程?(1)异常法:try{ for(int i = 0;i < 10000;i++){ if(this.interr

2021-03-17 22:15:04 85

原创 Java-var

从Java10开始,支持使用var定义局部变量,var定义的局部变量的类型由编译器自动推断。Java的var与JavaScript的var不同,JavaScript是弱类型语言,而Java是强类型语言。因此Java使用var定义的变量仍然有明确的类型——在为局部变量赋初值时,就确定了下来。...

2021-03-16 22:46:57 177

原创 Java初始化块

一个类中可以有多个初始化块,相同类型的初始化块间有顺序:前面定义的初始化块先执行。使用static修饰的初始化块称为静态初始化块,没有static修饰的称为实例初始化块。[static]{ //初始化块的可执行代码 ...}实例初始化块:当Java创建一个对象时,首先为该对象的所有实例变量分配内存(前提是该类已经加载),接着对这些实例变量执行初始化,初始化顺序为:先执行实例初始化块或声明实例变量时的初始值(执行顺序与它们排列的顺序相同),再执行构造器里指定的初始值。实例初始化

2021-03-16 22:40:17 97

原创 操作系统内存管理常见面试题

操作系统的内存管理负责内存的分配与回收,以及地址映射(逻辑地址到物理地址的转换)一、内存管理机制连续分配内存管理:为用户程序分配连续的内存空间 不连续分配内存管理:为用户程序分配不连续、离散的内存空间不连续分配的内存管理又包括页式管理:把内存分为大小相等且固定的页。页表对应逻辑地址和物理地址。 段式管理:把内存分为一段段的,每个段都有逻辑信息。使用段表对应逻辑地址和物理地址。 段页式管理:结合了段氏管理和页式管理。先把主存分为若干段,再把每个段分页。段与段间以及段内都是离散的。1.问:

2021-03-15 23:13:04 926

原创 TCP协议

TCP在不可靠的IP层之上实现的可靠的数据传输协议。TCP提供面向连接的、可靠的数据传输服务。TCP连接是点对点的,TCP提供全双工通信(双方的应用进程在任何时候都能发送数据)。TCP是面向字节流的。TCP适用于远程登录、邮件发送接收、文件传输等应用场景。

2021-03-14 20:48:43 221

原创 Java接口和抽象类的区别

一 接口和抽象类都具有如下特征接口和抽象类都不能被实例化 接口和抽象类中都可以包含抽象方法二 接口和抽象类的区别二者的区别主要体现在设计目的上。接口体现的是一种规范,规定了实现者必须向外提供哪些服务,以及如何调用这些服务。抽象类体现的则是一种模板式设计。抽象类作为多个子类的共同父类,就像是一个中间产品,它已经实现了系统的部分功能,但是必须要进一步完善。 除此之外,他们在用法上的区别如下:接口中不能为普通方法提供方法实现,但是抽象类中可以包含普通方法。 接口只能定义静态变量,不能定义普通成员

2021-03-14 12:08:19 71

原创 Java异常

一、Java异常机制1.主要依赖于5个关键字:try/catch/finally/throw/throws。2.异常机制使代码拥有更好的容错性。当程序运行出现意外情况时,系统会自动生成一个Exception对象来通知程序,从而实现“业务逻辑代码”和“错误处理代码”分离。二、try、catch、finally代码块//异常处理语法结构中,只有try块是必须的try{ //业务实现代码 ...}catch(Exception e){ //处理对应异常 ...

2021-03-14 11:50:25 49

原创 Java对象序列化的简单实现

一、序列化     一个对象可以被序列化为一个字节序列。该字节序列包括该对象的数据、对象类型的信息、存储在对象中数据的类型。     将序列化对象写入文件之后,可以从文件中读取出来,并且对它进行反序列化。可以用来在内存中新建对象。     一个类的对象要想序列化成功,必须满足两个条件:该类必须实现 java.io.Serializable 接口。该类的所有属性必须是可序列化的。如果有一个属性不是可序列化的,则该属性必须注明是短暂的。二、ObjectOutputStream 类和ObjectI

2020-08-31 17:01:55 296

原创 [:unexpected operator in shell script以及bash/sh/dash之间的关系

解决方法参考自https://stackoverflow.com/questions/3411048/unexpected-operator-in-shell-programming#鸟哥私房菜基础版第三版383页的脚本: 运行:sh sh06.sh出错 出错信息:[:unexpected operator解决方式: 原因: bash syntax is a superset ...

2018-09-05 14:38:45 228

原创 鸟哥私房菜_RE_note

正则表达式regular expression是字符串处理的标准依据,而不是工具程序 注意:正则表达式!=通配符,通配符(wildcard)是bash接口的一个功能基础正则表达式^$——空白行.*——0个或任意多个字符 注意:^在[]里([^])代表反向选择,而在[]外(^)代表定位在行首支持正则表达式的工具程序grepsed工具将数据进行替换...

2018-08-31 16:21:51 97

转载 ubuntu下sudo cd以及sudo ls /root/*报错的问题

参考至https://blog.csdn.net/xiaotengyi2012/article/details/6953494问题描述:~# sudo cd /root sudo:cd:command not found :~# sudo ls /root/* no such file of directory :~# sudo ls /root (成功运行)原因解释...

2018-08-21 20:40:37 1721

转载 使用APUE源码找不到apue.h

使用APUE源码找不到apue.h参考自https://blog.csdn.net/yeyiliang/article/details/52770857在编译该书的源码时,错误显示无apue.h这个文件。原来作者为了减少书中示例代码的长度,将很多包含头文件的代码封装到了apue.h这个文件。下载源码到官网http://www.apuebook.com/ 下载源码:apue.3...

2018-08-17 15:54:29 126

空空如也

空空如也

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

TA关注的人

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