自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 jdk1.7HashMap

JDK7 HashMap 源码分析public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable1、实现的接口从文档中可以看出 HashMap 实现了 Serializable、Cloneable、Map<K,V>三个接口Serializable:序列化接口Cloneable:克隆接口Map<K,V

2022-05-12 15:23:15 251 1

原创 Java 深浅拷贝

分享的地址为:https://note.youdao.com/s/Cd44XHQj

2022-04-12 14:03:58 351

原创 java中float表示范围比long大的原因

float占4个字节,long占8个字节,但是float表示的范围比long大。为什么float的4个字节比long类型的8个字节的范围大?因为整数与小数的底层存储有点不同。相同点:它们都是用二进制存储的不同点:小数先转成二进制,然后处理,然后存储。指数 接下来的E是指数,一共8位,也用二进制来表示。IEEE规定,在float类型中,用来计算指数的偏移量为127(即存贮指数时要在原基础上+127)。尾数 最后的F是小数部分,尾数正是由这23位的小数部分+1位组成的。float实际指数的取

2021-10-19 19:52:58 679

原创 高并发和多线程二

在java中守护线程和本地线程区别?java中的线程分为两种:守护线程(Daemon)和用户线程(User)。任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon(bool on);true则把该线程设置为守护线程,反之则为用户线程。Thread.setDaemon()必须在Thread.start()之前调用,否则运行时会抛出异常。两者的区别:唯一的区别是判断虚拟机(JVM)何时离开,Daemon是为其他线程提供服务,如果全部的User Thread已经撤离,Daemo

2021-08-11 22:05:38 148

原创 高并发和多线程

在java中守护线程和本地线程区别?java中的线程分为两种:守护线程(Daemon)和用户线程(User)。任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon(bool on);true则把该线程设置为守护线程,反之则为用户线程。Thread.setDaemon()必须在Thread.start()之前调用,否则运行时会抛出异常。两者的区别:唯一的区别是判断虚拟机(JVM)何时离开,Daemon是为其他线程提供服务,如果全部的User Thread已经撤离,Daemo

2021-08-10 13:47:58 115

原创 总结多线程(一)

synchronized 和Lock区别Lock是java的一个接口,而synchronized是Java中的关键字,synchronized是由JDK实现的,不需要程序员编写代码去控制加锁和释放;Lock的接口如下:public interface Lock { void lock(); void lockInterruptibly() throws InterruptedException; boolean tryLock(); boolean tryLock(lon

2021-08-08 20:24:45 73

原创 IO流的使用

学习IO流之前先了解一下File类File类封装文件/目录的各种信息,对目录/文件进行操作,但是我们不可以获取到文件/目录中的内容 //将文件封装为一个File类的对象: File f = new File("path+文件名"); //File.separator属性帮我们获取当前操作系统的路径拼接符号 //在windows,dos下,系统默认用“\”作为路径分隔符 ,在unix,url中,使用“/”作为路径分隔符。因为不同的操作系统所以一般建议使用这种方式将文件封装为一个F

2021-08-07 15:22:57 79

原创 Java常见系统类

Math类Math类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。static double E :比任何其他值都更接近 e (即自然对数的底数)的 double 值。static double PI : 比任何其他值都更接近 pi (即圆的周长与直径之比)的 double 值。序号方法与描述1xxxValue()将 Number 对象转换为xxx数据类型的值并返回。2compareTo() 将number对象与参数比较。3equals()

2021-07-28 17:48:01 227

原创 Jjava面试题

JDK和JRE的区别是什么?JRE: Java Runtime EnvironmentJDK:Java Development KitJRE顾名思义是java运行时环境,包含了java虚拟机,java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的。JDK顾名思义是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java

2021-07-25 15:54:43 117

原创 Java异常

什么是异常?异常就是指的程序在运行过程中,发生的不正常(用户操作不当、服务终止、程序BUG……)的程序无法正常运作的情况异常处理的目的:为了提高程序的稳定性和健壮性,让程序正常的运作下去java如何处理异常:抓捕异常(推荐):尝试着抓到对应的异常,在针对具体问题,具体处理抛出异常捕获异常: try-catchpublic class Test2 { public static void main(String[] args) { //实现一个功能:键盘录入两个数,

2021-07-25 15:53:17 65

原创 内部类关键字

内部类内部类(inner class)是定义在另一个类中的类。为什么需要使用内部类呢?内部类可以对同一个包中的其他类隐藏内部类方法可以访问定义这个类的作用域中的数据,包括原本的私有数据public class Test01 { private int a = 10; private String b = "hello"; public int getA() { return a; } public void setA(int a) { this.a = a; }

2021-07-25 15:52:12 139

原创 面向对象二

类成员的加载顺序没有继承关系的加载顺序关于关键字static,大家都知道它是静态的,相当于一个全局变量,也就是这个属性或者方法是可以通过类来访问,当class文件被加载进内存,开始初始化的时候,被static修饰的变量或者方法即被分配了内存,而其他变量是在对象被创建后,才被分配了内存的。所以在类中,加载顺序为:1.首先加载静态字段或者静态语句块3.普通变量以及语句块4.构造方法被加载注意静态加载时的顺序由其定义的先后有关package Inherit;public class Demo

2021-07-22 19:17:49 185

原创 面向对象—类与对象

面向对象什么是面向对象?面向对象程序设计(简称 OOP) 是当今主流的程序设计范型, 它已经取代了 20 世纪 70 年代的“ 结构化” 过程化程序设计开发技术。Java 是完全面向对象的, 必须熟悉 OOP 才能 够编写 Java 程序。面向对象的程序是由对象组成的, 每个对象包含对用户公开的特定功能部分和隐藏的实 现部分。程序中的很多对象来自标准库,还有一些是自定义的。在 OOP 中, 不必关心对象的具体实现,只要能 够满足用户的需求即可。将需要做的事,分为多个模块(对象),侧重点在于受影响的对

2021-07-22 19:13:30 66

原创 排序和查找

排序和查找冒泡排序(Bubble Sorting)基本思想:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部冒泡排序规则1)一共进行数组的大小-1次大的循环2)每一趟排序的次数在逐渐的减少3)如果我们发现在某趟排序中,没有发生一次交换,可以提前结束冒泡排序,进行优化public class Test{ public static void main(String[] args){ int[] arr

2021-07-16 15:02:07 38

原创 Java中的数组

Java中的数组数组是在内存中存储相同数据类型的连续的空间。同一种类型数据的集合,其实数组就是一个容器。声明一个数组就是在内存空间中划出一串连续的空间数组长度一旦声明,不可改变不可追加,只能使用另一个数组来进行扩容操作,元素在数组中的排序下标从0开始如果需要存储大量的数据,例如如果需要读取100个数,那么就需要定义100个变量,显然重复写100次代码,是没有太大意义的。如何解决这个问题,Java语言提供了数组(array)的数据结构,是一个容器可以存储相同数据类型的元素,可以将100个数存储到数组中

2021-07-16 15:00:53 68

原创 函数的总结

函数1.什么是函数?函数是一段可以完成某个独立功能的代码,我们只需要写一次,就可以被多次调用,提高了代码的复用性2.为什么需要函数呢?将大的、复杂的问题分解为若干个小的、简单的问题去求解,能有有效地帮助我们轻松解决复杂问题3.Java如何定义函数(1)函数名:也就是根据功能定名字,按照驼峰写法xYyZz(2)参数:调用者传递过来的数据的接收方式,参数可以有多个,也可以没有(3)返回值类型:返回值类型就是函数执行后要给调用者的数据类型,如果指定了数据类型就必须要有return,如果是void就

2021-07-13 11:59:51 131

原创 程序控制流程

Java的程序控制流程#####1.顺序结构如果代码里没有流程控制,程序是至上而下一行一行执行的,一条语句执行完之后继续执行下一条语句,直到程序的最后。public class Test{ public static void main(String[] args){ System.out.println("顺序结构"); }}2.分支结构(条件结构)if语句:基本语法:if(表达式){ 方法体}else if(表达式){ 方法体}else{

2021-07-10 14:48:58 79

原创 运算符(二)位运算

位运算符程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算就是直接对整数在内存中的二进制位进行操作。1、原码在总结位运算前,有必要先介绍一下基本知识。原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 例如如果是8位二进制:[+1]原 = 00000001[-1]原 = 10000001第一位是符号位,所以8位二进制的取值范围为[1 1 1 1 1 1 1 1 , 0 1 1 1 1 1 1 1]即:[-128,127]2、反码正数的反码是原

2021-07-10 13:29:14 95

原创 运算符(一)

运算符(一)(除位运算)算数运算符运算符描述例子+加法 - 相加运算符两侧的值a + b-减法 - 左操作数减去右操作数a - b*乘法 - 相乘操作符两侧的值a * b/除法 - 左操作数除以右操作数a / b%取余 - 左操作数除以右操作数的余数a % b实例:(下面代码保存为Text.java)public class Text{ public static void main(String[] args){

2021-07-08 20:44:23 93

原创 变量和数据类型

变量和数据类型1.变量变量概述变量:就是程序运行过程中值可以改变的量。本质上讲,变量其实时内存中的一小块区域变量定义格式定义变量的两种方式1.初始化:数据类型 变量名 = 初始化值;int a = 10;2.先定义,后初始化:数据类型 变量名; 变量名 变量值;int a;a = 10;变量的命名首字母是英文字母、$ 或下划线,由大小写字母、数字、下划线、中文组成,不能使用特殊符号不能以数字开头不能以关键字或者保留字作为变量名变量的命名遵循见名知义的原则

2021-07-07 10:45:26 71

原创 2021-07-05

Java的安装及环境变量的配置Java的安装JDK和JRE的区别1、面向人群不同:2、重要程度不同:以Java8为例Java环境的配置Java的安装JDK和JRE的区别1、面向人群不同:JDK是Java Development Kit是面向开发人员使用的SDK。JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者2、重要程度不同:编写的Java程序必须要JRE才能运行,只要你的电脑安装了JRE,就可以正确运行Java应用程序。以Java

2021-07-05 21:38:29 129

原创 2020-12-26

过渡的案例:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>过渡</title> <style type="text/css"> body{ margin: 100px; }div{ width: 200px; height: 200px; border: 1px solid red;.

2020-12-26 15:31:10 50

原创 2020-12-25

两个重叠的div标签组成的盒子:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>盒子</title> <style type="text/css"> *{ margin: 0; padding: 0; }#box1{margin: 200px auto;width: 400px;height: 400px.

2020-12-25 21:52:57 70 1

原创 2020-12-10

跳转网页的方法:第一种:form表单中action;第二种:a标签中的href。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>博客</title></head><body> <div align="center"> <form action="https://www.csdn.n.

2020-12-10 21:29:49 118 1

空空如也

空空如也

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

TA关注的人

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