自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 死锁的避免之银行家算法

我们都知道在多线程中,死锁是一个很严重的问题。产生死锁的四个必要条件:出现死锁的条件:1、互斥条件: 资源每次只能是一个线程使用------资源2、请求与保持条件:一个线程因请求资源而阻塞时,对已获取的资源保持不释放。------线程3、不可剥夺条件:线程已获取的资源,在未使用之前,不能强行剥夺,只能在使用完时由自己释放。4、循环等待条件:若干线程之间形成一种头尾相连接的循环等待资源关系...

2019-08-30 12:56:03 1684

原创 浅析Java内存模型

本篇文章基本上都是概念性的知识,理解记忆为主:java文件,首先要经过编程成为class文件,然后通过类装载器加载到jvm中去执行。这个jvm(蓝色线框起来的这部分)就是java运行时数据区,意思就是java代码在运行的时候,这些数据要存放在不同的内存空间里面。jvm就是指代这个的。当然了上面的运行时数据区jvm是jdk1.7版本的。也就是说不同的jdk版本,这个jvm的构成是不一样的。如下是...

2019-08-28 15:39:28 281

原创 Java多线程之锁的升级

在Java中,加锁的过程是随着线程竞争的激烈程度而改变的。总体过程如下:偏向锁–》轻量级锁–》重量级锁在这里我们首先要了解Java对象的保存:1、Java对象的保存Java对象保存在内存的时候分三个部分:对象头,示例数据,对齐填充字节而对象头又分为三个部分,其中的MarkWord就是专门用来保存和记录所有与锁有关的信息的可以看到markword共有32个字节用来记录所得信息。同时,...

2019-08-23 21:39:02 272

原创 Java序列化机制——protoStuff

Java的序列化是在文件传输中必不可少的一部分。常用的Java序列化机制有Java默认的序列化机制,谷歌的protobuf等。而Java默认的序列化机制效率太低,protobuf要写protostuff文件,又很麻烦,所以我这篇文章要介绍的就是——protostuff.1、protostuff简介在序列化文件不超过10M的时候最好还是使用Java自带的序列化机制。文件较大的时候用protost...

2019-08-21 13:04:38 1166

转载 【Java】多线程中锁的获取过程

最近在回顾线程中锁的内容,看到哟盼文章总结的很精简易懂,转载给大家看看。本文链接:https://blog.csdn.net/lkforce/article/details/81128115目录一,对象头1,Mark Word2,指向类的指针3,数组长度二,实例数据三,对齐填充字节Java对象保存在内存中时,由以下三部分组成:1,对象头2,实例数据3,对齐填充字节一,对象...

2019-08-19 22:21:55 1231

原创 【Java】常用的设计模式简介

1、单例模式单例模式在我以前的博客中给过六种,有详解,大家可以参考【Java】浅析单例模式(六种单例模式的代码实现及详解)2、代理模式:【真正实现内容的是代理委托类】动态代理是在运行时根据我们在Java代码中的“指示”动态生成的。相比于静态代理,动态代理的优势在于可以很方便的对代理类的函数进行统一的处理,而不用修改每个代理类中的方法。public interface IUser {...

2019-08-15 00:10:13 458

原创 Spring简述三——Spring和JDBCTemplate的整合&& Spring和Mybatis的整合使用

其他Spring相关文章Spring简述一Spring简述二Spring提供了JavaEE的一整套解决方案(展示层 业务层 dao层)jdbCTemplate是dao层的解决方案,mybatis也是dao层的解决方案Spring中JDBCTemplate的使用:创建数据源(实现datasource的接口)创建JDBCTemplate对象通过数据源来实例化JDBCTemplate的使...

2019-08-13 20:51:36 2712

原创 【Java】——java创建对象的过程(内存角度分析)

java对象的创建操作其实我在《JVM系列之类的加载机制》一文曾经提到过,包含两个过程:类的初始化和实例化。为此为了理解的深入,我们还需要再来看一下类的生命周期。一张图表示:...

2019-08-11 22:12:09 425

原创 Spring简述二

帆帆帆帆

2019-08-10 15:52:32 497

原创 Spring简述一

1. Spring是什么Spring:轻量级开源框架核心:IOC(inverse of Control):控制反转  DI:依赖注入AOP(面向切面):给类添加功能而不修改源代码Spring对JavaEE提供了不同层的解决方案展示层:servlet、SpringMVC业务层:Spring IOC数据层:JDBCTemplate、Mybatis2. IOC控制反转将对象的管理(创...

2019-08-09 21:39:59 580

原创 【Java】File类简单概述

file类(与系统无关的类,即任何系统都能使用):文件和目录名的抽象表达形式file 文件;directory:文件夹/目录;path:路径路径分隔符:windows分号 Linux 冒号文件名称分隔符:windows\ Linux /路径:绝对路径:是一个完整的路径(以盘符开始的路径)相对路径:是一个简化的路径(相对是指当前项目的根目录)注意:路径不区分大小写...

2019-08-07 15:02:17 322

原创 Java——IO总结

在Java中,文件的读取分为字节流和字符流(读取方式);imput输入(读取)把硬盘中的数据读取到内存中使用output输出(写入)把内存中的数据写道硬盘中保存1字符=2字节;1字节=8个二进制字节流:(一切皆为字节,可以读取任意文件)——不需要知道文件内容时FileOutputStream:(把内存中的数据写到硬盘文件中)1、创建一个FileOutputStream对象2、会根据构...

2019-08-06 21:53:00 235

原创 浅析Java中的泛型

1、泛型产生的原因:首先,在这里要说明的是在JDK1.5+后才添加的。在这之前,每当我们想在容器里里添加内容时,当手动添加的类型出错(比如想输入String但是却不小心输了int),就会报错。那么泛型在此处就可以规范我们输入的数据类型。HashSet<String> hs = new HashSet<String>();当我们像上面的示例一样使用泛型时,如果输入的数...

2019-08-02 14:26:01 533

空空如也

空空如也

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

TA关注的人

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