自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小轩的博客

记录也是一种学习

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

原创 Java序列化详解

Serializable接口序列化与反序列化网络IO和磁盘IO都是靠二进制数据进行传输和持久化到硬盘的,我们的对象无法直接进行传输和持久化到硬盘,想要做到就必须将对象的所有数据按照一定规则转化为二进制表示的数据,这样才能进行传输和持久化到硬盘,而这个转化过程就叫序列化。序列化之后我们想要重新获取到这个对象就只需要按照之前的规则反过来把二进制数据转化为我们对应的对象即可,这就是反序列化。实现Serializable接口的作用一个对象实现了这个接口后在进行传输或持久化到硬盘时Java就会用它自己

2021-05-11 17:26:07 237

原创 intern方法详解,看完彻底理解字符串对象创建

1、字符串常量池与intern方法字符串常量池jdk6中字符串常量池在永久代,从jdk7开始放到了堆空间中(是堆中又划分了一块区域,注意这个细节!)。字符串对象创建方式1、直接使用双引号声明出来的String对象会去字符串常量池中找(通过equals)是否已存在该对象或者它的引用(保存了引用的情况),不存在直接创建在常量池中,存在就指向存在的。String s1 = "abc";//去字符串常量池中找“abc”,没有找到然后在字符串常量池创建了一个字符串对象String s2 = "a

2021-04-26 22:53:13 464

转载 SSM整合

Spring狂神说Spring01:概述及IOC理论推导 https://mp.weixin.qq.com/s/VM6INdNB_hNfXCMq3UZgTQ狂神说Spring02:快速上手Spring https://mp.weixin.qq.com/s/Sa39ulmHpNFJ9u48rwCG7A狂神说Spring03:依赖注入(DI)https://mp.weixin.qq.com/s/Nf-cYENenoZpXqDjv574ig狂神说Spring04:自动装配 https://mp.weixi

2021-04-10 12:38:08 175

转载 Spring MVC入门

1、回顾MVC1.1、什么是MVCMVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑间的双向偶合。MVC不是一种设计模式,MVC是一种架构模式。当然不同的MVC存在差异。**Model(模型):**数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据

2021-04-10 12:36:20 142

转载 Mybatis入门

参考自MyBatis狂神笔记简介自学的【狂神JAVA】MyBatisGitHub源码: https://github.com/Donkequan/Mybatis-Study分享自写源码和笔记配置用的jdk13.0.2 (jdk1.7以上均可)Maven 3.6.3MySQL 5.7 (mysql5.6以上均可)1. 配置官网文档: https://mybatis.org/mybatis-3/zh/getting-started.htmlpom.xml<?xml versio

2021-04-10 12:34:43 88

原创 MySQL常问的基础理论知识

1、事务四个特性ACID1、原子性事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。2、一致性执行事务后,数据库从一个正确的状态变化到另一个正确的状态;比如两个人转账,两个人总的钱500,不管两个人怎么转账,最后数据库两个人总的钱还是500.3、隔离性发访问数据库时,一个用户的事务不被其他事务所干扰,各并发事务之间数据库是独立的;4、持久性一个事务被提交之后。它对数据库中数据的改变是持久的,即使数据库发生故障也不应该对其有任何影响。事务隔离级别以上介绍完事务的四大特

2021-04-10 12:32:14 96

原创 剑指offer

1.数组中重复的数字题目找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。思路:大小不超过数组下标代码class Solution { public int findRepeatNumber(int[] nums) { int len = nums.length; /**

2021-04-10 12:28:50 620

原创

树节点深度:对任意节点x,x节点的深度表示为根节点到x节点的路径长度。所以根节点深度为0,第二层节点深度为1,以此类推树的深度:一棵树中节点的最大深度就是树的深度,也称为高度深度为K的二叉树:最多2k-1个结点,第k层最多2(k-1)个结点。二叉树中,叶子结点数 = 度为2的结点数 + 11、满二叉树:叶子节点都在同一层并且除叶子节点外的所有节点都有两个子节点。2、完全二叉树对于一颗二叉树,假设其深度为d(d>1)。除第d层外的所有节点构成满二叉树,且第d层所有节点从左向右连续地紧

2021-04-10 12:27:21 180

原创 leetcode前200

1、(数组)两数之和-简单题目给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。思路暴力解法时间复杂度O(n^2)使用hashmap,判断目标值-每个值是否存在。定义一个key为数组值,value为对应下标的hashmap,依次遍历数组并在hashmap中找是否含有“遍历值-target”的key,如果含有就说明存在与遍历值之和等于target的数,即可返回遍历值下标与另外一个值下标【ha

2021-04-10 12:26:52 186

原创 栈与队列

关于java栈类:Stack<>:Java堆栈Stack类已经过时,Java官方推荐使用Deque替代Stack使用。Deque堆栈操作方法:push()、pop()、peek()。详细解释Deque<T> stack = new ArrayDeque<>();stack.push(数据);T stack.peek();T stack.pop();队列Queue<T> queue = new Queue<>();boolean

2021-04-10 12:25:44 97

原创 链表

链表类题目(24)两两交换链表中的节点-中等题目给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。思路1:常规迭代代码1/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int

2021-04-10 12:24:43 50

原创 数组

数组类题目双指针(26)删除数组中的重复项-简单题目给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。思路暴力解法遇见重复的直接将后面的元素向前移时间复杂度O(n^2)代码class Solution { public int removeDuplicates(int[] nums) { in

2021-04-09 11:55:37 60

原创 操作系统

1.操作系统操作系统(Operating System,简称 OS)是管理计算机硬件与软件资源的程序,操作系统的内核(Kernel)是操作系统的核心部分,它负责系统的内存管理,硬件设备的管理,文件系统的管理以及应用程序的管理。 内核是连接应用程序和硬件的桥梁,决定着系统的性能和稳定性。2.系统调用、用户态与内核态1、概念我们运行的程序基本都在用户态,用户态的程序只能直接访问用户程序的数据;内核态的程序几乎可以访问计算机的任何资源,例如协调CPU资源,分配内存资源,文件管理。为了使应用程序访问到内核

2021-04-09 11:50:59 475

原创 Servlet详解

概念Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务

2021-04-09 11:48:49 221

原创 07-设计模式

一、设计模式的七大原则1.单一职责原则所谓的单一职责原则就是只负责一个职责示例:有车和船,分别有陆地上跑和水里游的特点,如果只写一个run的方法,在里面判断如果是车就输出在陆地上跑,如果是船在水里游。这时很明显就违反了单一职责原则,解决方法:建立一个在路上跑的类和在水里游的类,new对象的时候根据各个种类传进去,这样一个类只负责一个职责!缺点:类爆炸,造成的类过多2.接口隔离原则就是一个类实现一个接口,但是吧,里面的方法不一定都用得到,违反了该原则,需要把接口拆开。示例:如果有个接口A

2021-04-09 11:47:30 99

原创 06-JVM

1、JVM的含义与历史什么是JVM?JVM是字节码文件与计算机操作系统两者之间的翻译官,是java能实现一次编写多平台运行的关键。JVM的历史最早的Sun Classic:由Sun开发,只能使用纯解释器的方式来执行 Java 代码,如果要使用 JIT 编译器那就必须使用外挂的 。到jdk1.3之前。没有被真正大规模使用过的Sun Exact VM:由Sun开发,解决了 Classic VM 存在的解释器和编译器无法同时工作的问题,还具备了一些现代高性能处理器的特性Longvi

2021-04-09 11:46:58 103

原创 05-反射与注解

反射与注解1、反射含义JAVA 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 java 语言的反射机制。简单说就是:反射可以动态操纵java代码、能在运行时分析类、检查对象、利用Method调用方法。Class类对象照镜子后可以得到的信息:某个类的属性、方法和构造器、某个类到底实现了哪些接口。对于每个类而言,JRE都为其保留一个不变的Cass类型的对象。

2021-04-09 11:46:30 106

原创 04-多线程

1、什么是线程?进程?一个进程代表着一个整体应用程序,一般由操作系统来负责管理;线程是一个进程的一个执行单元或执行场景;比如我们写一个Java的hello world程序运行,这时候就启动了一个JVM进程,而我们的main方法就是这个进程中的一个线程(这是主线程),它负责输出hello world,而同时JVM进程还有其他线程在运行(垃圾回收GC进程),没有其它那些线程运行我们的main方法线程也不能跑起来。2、进程、线程资源使用进程之间的内存不共享线程之间的内存一部分共享一部分独占:

2021-04-09 11:45:55 89

原创 03-IO

1、IO流分类有三种分类方式:1、按流的方向以内存为参照物,往内存中去:输入:Input、Read从内存中出:输出:Output、Write2、按读取数据的方式字节形式读取:一次读取一个字节,即8个二进制位,这种流是万能的,什么文件都能读,包括文本、视频、图片等等。字符形式读取:一次读取一个字节,这种流是为了方便读取普通文本文件而存在的,这种流只能读取纯文本文件,即使word文件也不能读取。用记事本能正常打开的都是普通文本文件“a啊a”:字符流一次读一个字符,第一次读“a”

2021-04-09 11:45:24 91

原创 02-容器

容器1、CollectionCollection整体继承结构[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zetJ14em-1617939659028)(C:\Users\91051\AppData\Roaming\Typora\typora-user-images\image-20210312123733563.png)]Collection各种实现类的底层数据结构实现1、List接口实现类Arraylist: Object[]数组Vector:Ob

2021-04-09 11:43:40 68

原创 01-java基础语法

基础1、Java语言发展史Java语言诞生于1995年。其实在1995年之前SUN公司(太阳微电子公司:该公司目前被Oracle(甲骨文:做数据库的)收购了)为了占领智能电子消费产品市场,派James Gosling领导团队开发了一个Oak(橡树)语言。1996年:JDK1.0诞生什么是JDK?JDK开发工具包做Java开发必须安装的一个工具包,该工具包需要从官网下载。目前SUN被Oracle收购了,所以下载需要去Oracle下载。Java包括三大块:JavaSE(Java标准

2021-04-09 11:40:38 129

原创 计算机网络复习

1、体系结构[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TEiojvH0-1617244740208)(C:\Users\91051\AppData\Roaming\Typora\typora-user-images\image-20210101112230632.png)]1.应用层应⽤层(application-layer)的任务是通过应⽤进程间的交互来完成特定⽹络应⽤。**应⽤层协议定 义的是应⽤进程(进程:主机中正在运⾏的程序)间的通信和交互的规则。**对

2021-04-01 10:42:43 454

空空如也

空空如也

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

TA关注的人

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