自定义博客皮肤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)
  • 收藏
  • 关注

原创 JSON介绍

JSON介绍一、定义是一种轻量级的数据交换格式二、语法对象格式一个对象, 由一个大括号表示.​ 括号中 描述对象的属性 . 通过键值对来描述对象的属性​ (可以理解为, 大括号中, 包含的是一个个的键值对.)格式:​ 键与值之间使用冒号连接, 多个键值对之间使用逗号分隔.​ 键值对的键:应使用引号引住 (通常Java解析时, 键不使用引号会报错. 而JS能正确解析.)​ 键值对的值: 可以是JS中的任意类型的数据数组格式在JSON格式中可以与对象互相嵌套[元素1,元素2…]

2021-08-13 19:16:44 118

原创 XML介绍

XML介绍一、定义介绍1.1 XML定义可扩展标记语言(eXtensible Markup Language)。特性:xml具有平台无关性, 是一门独立的标记语言;xml具有自我描述性 。1.2 用途网络数据传输.(xml慢,一般用json)数据存储配置文件1.3 xml文件.XML文件是保存XML数据的一种方式XML数据也可以以其他的方式存在(如在内存中构建XML数据)。不要将XML语言狭隘的理解成XML文件二、XML语法三、X

2021-08-13 19:11:59 226

原创 多线程介绍-Java

多线程一、进程与线程进程:资源调度的最小单元;一个内存中的运行的应用程序,每个进程都有独立的内存空间;线程:CPU调度的最小单元;线程是进程的一个执行路径,共享一个内存空间,线程之间可以自由切换;线程是在进程的基础上的进一步划分,一个线程启动后,里面的若干执行路径可以划分为若干线程;二、进程的生命周期进程可以分为以下三种状态:运行(running):进程正在处理器上运行;就绪(ready):进程已经准备好运行,但操作系统选择不在此时刻运行;阻

2021-08-07 20:36:32 192

原创 序列化和反序列化

序列化和反序列化一、概念把对象转换为字节序列的过程称为对象的序列化。把字节序列恢复为对象的过程称为对象的反序列化。对象的序列化主要有两种用途:1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;2) 在网络上传送对象的字节序列。二、Serializable实现Java序列化1.编写实体类package com.text0804.obj;import java.io.Serializable;import java.util.ArrayList;// Seriali

2021-08-04 15:17:18 131

原创 Java内存区域与内存溢出异常

Java深入理解虚拟机-第二部分第二章-Java内存区域与内存溢出异常java虚拟机所管理的内存可以划分为 线程共享 和 线程私有(线程隔离)的区域:一、线程私有区域1.程序计数器PC当前线程所执行的字节码的行号指示器;字节码解释器:通过改变PC的值来选取下一条需要执行的字节码指令;为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器;各条线程之间的计数器互不影响,独立存储,所以是线程私有的区域。如果线程正在执行的是java方法,PC记录的是正在执行的虚拟机字节码指

2021-08-03 15:01:30 100

原创 JDK14中Vector类的动态扩容简单介绍

JDK14中Vector类的动态扩容Vector类的动态扩容Vector与ArrayList一样,也是长度可变的动态数组。当集合中的元素数量大于当前集合的长度时,Vector会扩容为原来的2倍,而ArrayList只会扩容为原来的1.5倍。源码分析初始化后调用add()添加元素,前面的处理都和ArrayList动态扩容的方法相同,具体分析可以看这篇博客,直到grow()方法。/** * Appends the specified element to the end of this V

2021-07-30 16:20:48 272

原创 Java 实现单链表的基本操作

Java 实现单链表的基本操作具体实现Nodepackage com.mylist0729;public class Node<T> { private T data; private Node next; public Node() { } public Node(T data) { this.data = data; this.next = null; } public Node(T data

2021-07-29 22:13:47 79

原创 JDK14 中ArrayList的动态扩容简单介绍

JDK14 中ArrayList的动态扩容简单介绍一、简介1.1集合集合与数组的区别:数组集合长度固定可变存储内容同一类型的元素,可以存储基本数据类型值。存储的都是对象,而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行存储。集合按照其存储结构可以分为两大类单列集合 java.util.Collection双列集合 java.util.Map1.2Colleciton接口Collection是所有单列集合的父接口,

2021-07-29 21:10:01 227

原创 日期时间相关类

日期时间相关类Date,SimpleDateFormat,CalendarDate类构造函数public Date()分配 Date 对象并初始化此对象,以表示分配它系统的时间(精确到毫秒)。Date(long millisec)该参数是从1970年1月1日起的毫秒数。常用方法public long getTime()返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。public String toString()

2021-07-28 17:56:14 682

原创 BigDecimal类简单介绍

BigDecimal类概述对于那些不需要准确计算精度的数字,可以直接使用Float和Double处理,但是Double.valueOf(String) 和Float.valueOf(String)会丢失精度。如果我们需要精确计算的结果,则必须使用BigDecimal类来操作。构造函数常用构造函数BigDecimal(int)创建一个具有参数所指定整数值的对象BigDecimal(double)创建一个具有参数所指定双精度值的对象BigDecimal(long)创建一个具有参

2021-07-28 13:29:31 265

原创 Arrays类简单介绍

Arrays类方法toString / deepToString将一维/多维数组转换成字符串使用toString方法遍历输出数组,可以替代自己编写的for循环 public static String toString(int[] a) { if (a == null) return "null"; int iMax = a.length - 1; if (iMax == -1) retu

2021-07-27 14:54:40 534

原创 算法分治复习

分治法2.6棋盘覆盖2.7合并排序2.8快速排序2.6棋盘覆盖2.7合并排序1、基本思想将待排序元素分成大小大致相同的两个子集合,分别对两个子集合进行排序,最终将排好序的子集合合并成所要求的排好序的集合。2、算法步骤① 分解:将待排的元素数组一分为二,直到子序列中只有一个元素。② 求解:只有一个元素的序列就是有序序列。③ 合并:将两两子序列合并,并按照增序或降序统一排序,直到得到原序列的有序序列。3、举例4、伪代码4、复杂度可以用主定理2求解2.8快速排序1、基本思想3

2020-06-14 16:37:48 482

原创 安装Ubuntu 12和Ubuntu 18后我做的几件事

Ubuntu 12安装VMware tools解压安装后窗口会适应屏幕大小,如果没有反应可以在设置里调整分辨率,重启虚拟机或者重新安装VMware tools。调整字体大小(高分辨率下)来源链接: link解决Windows和Ubuntu系统之间相互复制粘贴问题安装 vmware tools第一步: sudo apt-get autoremove open-vm-tools第二步: sudo apt-get install open-vm-tools-desktop然后重启

2020-06-10 20:06:52 184

空空如也

空空如也

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

TA关注的人

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