自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【JVM】a++ 与 ++a 底层运行原理

基础知识回顾-虚拟机栈在java虚拟机中,有内存区域这一块的知识,其中关于虚拟机栈的知识如下:虚拟机栈表示着java程序方法执行的内存模型,当一个方法执行的时候,则对应的jvm会创建一个栈帧存入虚拟机中,其中栈帧用来存储局部变量表,操作数栈,动态链接,方法出口信息等。当一个方法从执行到执行完毕的时候,则对应,也会有一个栈帧从入栈到出栈的过程。其中局部变量表用来作为一组变量值的存储空间,即用来存放执行方法的方法入参和方法内定义的局部变量等信息。操作数栈则是一个栈结构,后入先出,用来执行方法。当方法开始

2021-03-16 15:22:36 1012

原创 【MySQL】关于int(11)的理解

【MySQL】关于int(11)的理解数据类型int不同于varchar,包括tinyint,bigint,smallint,mediumint,int等整型数据类型,他们都是拥有自己的数据范围了int 只占4个字节,32位, 带符号,范围为-2147483648-2147483647,不带符号(unsigned),范围了4,294,967,294,一旦在数据库int类型字段下设置的字超过对应的值,就会报错,数值超过range。int(11),括号内的数值是指的字段的长度,当开启填充零,zerof

2020-12-25 17:00:39 503

原创 【SpringBoot】CommandLineRunner接口和ApplicationRunner接口区别

RunnerCommandLineRunnerApplicationRunner两者作用:能够在容器启动完成的时候执行run()里面的逻辑适用场景:需要在容器启动的时候执行一些内容。比如读取配置文件,数据库连接之类的。实际使用:通过该接口来实现服务刚启动重新加载redis不同之处:这两个接口的不同之处在于:ApplicationRunner中run方法的参数为ApplicationArguments,CommandLineRunner接口中run方法的参数为String数组。Co

2020-12-22 17:33:50 255

原创 【解决思路】Failed to decode downloaded font

前端浏览器页面报错Failed to decode downloaded font:…ttfFailed to decode downloaded font: …woff两个思路:1.maven创建的项目,maven的filter会拦截font文件的二进制形式,因此需要放开对font等文件的拦截 //在pow.xml文件配置插件 <plugin> <artifactId>maven-resources-plugin</

2020-10-24 20:30:16 1577

原创 idea使用tomcat部署ssm项目报错,程序包找不到。

1.使用tomcat+maven简单搭建ssm框架2.使用tomcat部署的时候出现报错,程序包找不到3.使用的ide是idea4.External Libraries 中的确通过maven导入了依赖包主要原因:idea自带一套编译运行脚本,由于项目是maven编译的,已使用maven编译运行,为了避免冲突,打开settings中的runner 勾上 maven编译运行...

2020-10-08 16:39:13 779

原创 关于BIO、NIO、AIO的理解

Java的BIO、NIO、AIO模型与linux的几种IO模型有点像,倒不如确切的说,我们使用的Java的IO模型,是java对os的各种IO模型的封装,我们只是使用的的IO的API,但是底层还是依赖与os层面的IO操作来实现。在linux2.6以后,Java中NIO与AIO都是通过epoll来实现的。在windows上,AIO是通过IOCP来实现的。一次完整的IO操作,是将文件从硬盘中拷贝到用户空间中,或者是从用户空间拷贝到硬盘中,这里用户空间可以看成是缓存,这里涉及到两个阶段,一个是数据准备阶段da

2020-08-21 17:02:36 129

原创 AIO

AIO (Asynchronous I/O)AIO 也就是 NIO 2。在 Java 7 中引入了 NIO 的改进版 NIO 2,它是异步非阻塞的IO模型。异步 IO 是基于事件和回调机制实现的,也就是应用操作之后会直接返回,不会堵塞在那里,当后台处理完成,操作系统会通知相应的线程进行后续的操作。AIO 是异步IO的缩写,虽然 NIO 在网络操作中,提供了非阻塞的方法,但是 NIO 的 IO 行为还是同步的。对于 NIO 来说,我们的业务线程是在 IO 操作准备好时,得到通知,接着就由这个线程自行进

2020-08-21 16:47:31 150

原创 NIO

NIO 简介NIO是一种同步非阻塞的I/O模型,在Java 1.4 中引入了 NIO 框架,对应 java.nio 包,提供了 Channel , Selector,Buffer等3个核心的组件。NIO中的N可以理解为Non-blocking,不单纯是New。它支持面向缓冲的,基于通道的I/O操作方法。NIO提供了与传统BIO模型中的 Socket 和 ServerSocket 相对应的 SocketChannel 和 ServerSocketChannel 两种不同的套接字通道实现。这两种通道都

2020-08-21 16:42:36 117

原创 BIO

BIO (Blocking I/O)同步阻塞I/O模式,数据的读取写入必须阻塞在一个线程内等待其完成。这种IO方式即我们一开始学习java时接触到的IO方式。传统 BIOBIO通信(一请求一应答)采用BIO来进行通信的模型,我们通常是在服务端设置一个独立的 Acceptor 线程负责监听客户端的连接。在while(true) 循环中服务端会调用 accept() 方法等待接收客户端的连接的方式监听请求,请求一旦接收到一个连接请求,就可以建立通信套接字.在这个通信套接字上进行读写操作,此时不能再接

2020-08-21 15:13:47 92

原创 正则:\b 匹配出一个单词的小天使

引用自网上\b 是正则表达式规定的一个特殊代码(也有人称为元字符,metacharacter),代表着单词的开头或结尾,也就是单词的分界处。虽然通常英文的单词是由空格,标点符号或者换行来分隔的,但是 \b 并不匹配这些单词分隔字符中的任何一个,它只匹配一个位置。更精确的说法是:\b 匹配这样的位置:它的前一个字符和后一个字符不全是(一个是,一个不是或不存在) \w。注:\w 匹配字母或数字或下划线简单来说,使用\b是为了匹配一个单词的开头是在哪里开始,结尾是在哪里结束。在这里不得不提到两个位

2020-08-21 11:04:25 1879

原创 Git使用命令

GitGit分为了工作区,版本区,远程仓库区。本地仓库是对于远程仓库而言的。本地仓库 = 工作区 + 版本区。工作区即磁盘上的文件集合。版本区(版本库)即.git文件。版本库 = 暂存区(stage) + 分支(master) + 指针Head。HEAD commit版本,严格来说是指向当前分支操作流程如果没有加入团队,那么就fork仓库,自己改好后,如果觉得自己改的比较好,想要原版也拥有,可以向原版发生pull请求,原版觉得ok就会同意pull,并pull到原版的仓库中,这样就算是参与到了

2020-08-20 18:33:53 140

原创 闹笑话:idea开启debug报错,进入不了debug模式。

error:IDEA Debug模式控制台 Disconnected from the target VM, address: ‘127.0.0.1:63568‘, transport:‘socket‘字面解释目标虚拟机无法连接。解决方法开启debug的代码处没有设置断点,在代码需要设置断点处设置断点再开启debug模式...

2020-08-20 18:26:04 480

原创 Java中equals与==的区别

“==”强调栈中的比较,比较强调的是地址的比较equals比较强调的是对象的内容比较例子String a = "hello";String b= "hello";string c = new String("hello");System.out.println(a==b);//trueSystem.out.println(a==c);//falseSystem.out.prin...

2019-12-25 16:16:38 73

原创 JSP

JSP只对网页中的要动态产生的内容采用Java代码来编写,能够在页面上写java代码。JSP本质上是一个servlet,继承了HttpServlet。JSP的9个隐含对象request、response、session、application、config、page、out、pageContext、exceptionpageContext;属性的作用范围极限于当前JSP页面requ...

2019-12-25 16:04:57 147

原创 设计模式之Prototype模式

Prototype模式​ 根据实例原型,实例模型来生成新的实例 ,通过复制来生成实例不指定类名的前提下生成实例根据现有的实例来生成新的实例clone Cloneable出场角色Prototype(原型)定义用于复制现有实例来生成新实例的方法ConcretePrototype(具体的原型)实现复制现有实例并生成新实例的方法Client(使用者)使用复制...

2019-12-23 20:13:33 95

原创 设计模式之Singleton模式

Singleton模式又称为单例模式,只含有一个元素的集合。只能生成一个实例。对象的实例已经在类中做了。定义个static字段的成员变量singleton,将其初始化为Singleton的实例。将Singleton类的构造函数设置为private,能够确保在任何情况下都能生成一个实例。外部无法调用构造函数new singleton() ,一旦调用,就会出现编译错误。需要一个方法getI...

2019-12-22 21:41:42 87

原创 设计模式之Template Method模式、Factory Method 模式

Template Method模式将具体处理交给子类带有模板功能的模式。在父类中定义处理流程的框架,在子类中实现具体处理的模式。实际上就是定义一个父类,父类中有着抽象方法和处理流程的模板方法,也就是子类共用的方法,好比人都会伸手,但是伸手做什么,由子类决定。子类继承并实现了父类的抽象方法,但是不重写父类的模板方法。特征父类有抽象和模板方法,模板方法调用了抽象方法;子类实现抽象方法,...

2019-12-22 21:40:48 108

原创 Java之多线程

什么是线程线程是进程的组成部分,线程可以拥有自己的堆栈,自己的程序计数器及自己的局部变量,但是线程不能拥有系统资源,它与其父进程的其他线程共享进程中的全部资源。一个进程中可以包含多个线程,但是至少要包含一个线程,即主线程特点同一进程下的不同线程的调度不由程序控制线程独享自己的堆栈程序计数器和局部变量两个线程将并发执行(本质上是宏观上并行、微观上串行)进程和线程的区别线程是进程...

2019-12-22 16:46:43 123

原创 Maven使用

什么是MavenMaven 是专门用于构建和管理Java相关项目的工具。好处使用Maven管理的Java 项目都有着相同的项目结构有一个pom.xml 用于维护当前项目都用了哪些jar包所有的java代码都放在 src/main/java 下面所有的测试代码都放在src/test/java 下面使用Maven可以实现jar包的共享,对jar包进行统一维护,同时也可以减小项...

2019-12-21 10:46:26 261

原创 java数据结构概述

在面向对象思想里,数据结构被认为是一种容器(container)或者容器对象(container object)是一个能够存储其他对象的对象,这里的其他对象被称为数据或者元素。java集合框架线性表、向量、栈、队列、优先队列、规则集和映射都是java里的数据结构,通常被称为java集合框架(java collections framework)支持以下两种类型的容器一种是为了存储...

2019-12-21 09:17:13 145

原创 java之泛型

优点泛型能够让我们在编译时而不是在运行时检测出错误形式泛型类型,E、T替换泛型类型成为泛型实例化eg://定义一个只能存放String的数组列表ArrayList<String> list = new ArrayList<>();list.add("red");//只能添加字符串list.add(123);//添加其他参数类型会在编译时报错,Java会把1...

2019-12-21 08:56:05 75

原创 java跨平台是什么意思?

JAVA跨平台第一次学习java,老师就说了java是一门能够实现跨平台的语言。但是什么是跨平台,java为什么能够跨平台,我们就不清楚了。什么是跨平台跨平台:是指java语言编写的程序,能够在不同的系统平台上运行为什么java能实现跨平台首先,我们要知道,java程序是通过JVM(java虚拟机)在系统平台上运行的。程序运行时,首先会启动JVM, 由JVM进行解释,执行java 的字...

2019-11-06 12:51:06 4231

原创 File对象相对路径及路径的两种使用

1、创建File对象:File类常用的构造方法:public File(String pathname)pathname可以是绝对路径,或者相对路径绝对路径 ex:"D:works\source\file.txt"相对路径,java.io默认定位到当前用户目录("user.dir")下,即:工程根目录"D:\workspace\工程名"下,因此,若此时的相对路径(以user....

2019-10-22 10:50:36 8104

原创 ADB 端口伪占用解决(adb自己占用自己)

今天打算用eclipse运行下Android程序,可是突然报错The connection to adb is down, and a severe error has occured. You must restart adb and Eclipse. Please ensure that adb is correctly located at或者* daemon not...

2019-10-12 13:33:20 3877

原创 Instant Run is disabled的解决办法

今天用Android Studio编译项目的时候,遇到一个问题,instant run is disbled。All packages are not available for download!The following packages are not available:-Package id platforms;android-16Instant Run...

2019-10-06 11:24:04 1717

原创 JAVA SE/EE/ME

1. Java SE(Java Platform,Standard Edition)。做电脑上运行的软件2. Java EE(Java Platform,Enterprise Edition)。是用来做网站的(我们常见的JSP技术)。3. Java ME(Java Platform,Micro Edition)。做手机软件的。...

2019-08-02 14:39:13 68

空空如也

空空如也

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

TA关注的人

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