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

原创 ArrayList知识点

首先我们知道ArrayList就是数组列表,主要用来装载数据,当我们装载的是基本类型的数据int,long,boolean,short,byte…的时候我们只能存储他们对应的包装类,它的主要底层实现是数组Object[] elementData。与它类似的是LinkedList,和LinkedList相比,它的查找和访问元素的速度较快,但新增,删除的速度较慢。这是数组和链表的主要区别ArrayList和LinkedList的线程都不安全但不影响我们正常情况下使用.因为在正常场景下我们基本都是查询,很少涉

2021-04-25 11:44:37 216

转载 ConcurrentHashMap相关知识点

在HashMap无法在多线程安全的情况下使用时,我们应该怎么做一般在多线程的场景,都会使用好几种不同的方式去代替:使用Collections.synchronizedMap(Map)创建线程安全的map集合HashtableConcurrentHashMapCollections.synchronizedMap是怎么实现线程安全在SynchronizedMap内部维护了一个普通对象Map,还有排斥锁mutex,如图我们在调用这个方法的时候就需要传入一个Map,可以看到有两个构造器,如果你

2021-04-24 23:23:35 201

转载 HashMap相关知识点

结构和原理HashMap是我们非常常用的数据结构,由数组和链表组合构成的数据结构。大概如下,数组里面每个地方都存了Key-Value这样的实例,在Java7叫Entry在Java8中叫Node。因为他本身所有的位置都为null,在put插入的时候会根据key的hash去计算一个index值。就比如我put(”帅丙“,520),我插入了为”帅丙“的元素,这个时候我们会通过哈希函数计算出插入的位置,计算出来index是2那结果如下。hash(“帅丙”)= 2我们都知道数组长度是有限的,在有限

2021-04-24 22:01:32 159

原创 线程和进程

进程我们编写的代码只是一个存储在硬盘的静态文件,通过编译后就会生成二进制可执行文件,当我们运行这个可执行文件后,它会被装载到内存中,接着 CPU 会执行程序中的每一条指令,那么这个运行中的程序,就被称为 「进程」。现在我们考虑有一个会读取硬盘文件数据的程序被执行了,那么当运行到读取文件的指令时,就会去从硬盘读取数据,但是硬盘的读写速度是非常慢的,那么在这个时候,如果 CPU 傻傻的等硬盘返回数据的话,那 CPU 的利用率是非常低的。做个类比,你去煮开水时,你会傻傻的等水壶烧开吗?很明显,小孩也不会.

2021-04-19 21:36:24 105

原创 同步/异步,阻塞/非阻塞

借用大佬用相亲举的例子:年纪大了,一回家七大姑八大姨就各种催婚,都说要给我介绍女朋友。这不,刚刚门口,我的大姨,二叔,三大爷就已经在门口蹲着我了大姨:“大外甥啊,给你介绍个女朋友要不咯?”我说:“当然要呀,大姨你介绍的,怎么滴都得去看看呀” 大姨:“好,大外甥!相信大姨,你在原地不要走动,等我去找我邻居的外婆家的二儿子的堂弟的侄女,保证给你要到电话。之后就看你本事了!”这,就是同步阻塞大姨一走,我三叔立马冲了上来三叔:“别信你姨的,她邻居的外婆家的二儿子的堂弟的侄女什么样我不知道吗,

2021-04-18 16:39:51 117 1

原创 Spring IOC的处理流程

有关Spring IOC 我们应该都有过一些了解或者阅读过源码,我对自己的了解做个总结.Spring前置知识在之前的方法中我们需要定义xml文件,在xml文件中定义bean对象,包括对应的属性值<bean id = "" name= ""> <property name = "" value = ""></bean>如果根据这样的方式来创建bean对象,需要做哪些事情?加载 -> 解析 -> 创建实例 -> 使用 -> 销毁这

2021-04-13 23:05:58 149 2

原创 JVM知识点总结二

类加载机制

2021-03-09 23:20:44 84

原创 JVM知识点总结一

有关栈内存溢出描述栈定义,再描述为什么会溢出,再说明一下相关配置参数,OK的话可以给面试官手写是一个栈溢出的demo。栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)栈的优势是,存取速度比堆要快,仅次于寄存器,栈数据可以共享。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。栈中主要存放一些基本类型的变量(,int, short, long, byte, float, double, boole

2021-03-06 22:58:14 116 1

原创 由数组实现队列操作

和栈相比,队列则是先进先出我们可以用两个变量分别指向数组的头和尾,这样就可以对先进入的值,也就是头部进行出队,并且用尾部来表示入队得到初始版代码public class ShuzuDuiLie { //队列 private String[] data; //头结点 private int first; //尾结点 private int last; //最大长度 private int maxLength; public ShuzuDuiLie(int maxLength) {

2021-02-22 23:26:55 105

原创 由数组实现栈操作

对于我们来说,栈其实是一种先进后出的格式,我们需要用数组实现栈操作的时候其实也是遵守这个原则即可.那么如何实现先进后出的形式呢我们可以想到什么,没错,就是通过一个外部变量来指向后面输入进来的数值.当我们需要弹出数据时,将外部变量指向的部分弹出,并置空,外部变量在添加和弹出数据时进行相应的变化.这样我们就得到了最开始的一版代码public class ShuzuZhan { //栈 private String [] data; //栈的大小 private int maxLength;

2021-02-22 22:38:33 228

原创 有关try catch的return问题

我们平时很容易遇到问题需要抛出的情况,但是面对抛出异常并且带有返回值的情况,我们如何得到正确的结果呢接下来请看代码public class TryCatch { public static void main(String[] args) { int b = a(); System.out.println(b); } public static int a() { String name = "java.util.Date1"; int a = 100; try { a

2021-02-22 20:41:59 379

原创 关于java的初始化顺序

题目如下:public class Test{ private static int k = 1; private static Test t1 = new Test("t1"); private static Test t2 = new Test("t2"); private static int i = print("i"); static { print("静态块"); n = 100; } private s

2021-02-21 21:22:12 96

原创 方法重载和方法重写

方法重载如果一个类中有多个具有相同名称但参数不同的方法,则称为方法重载。但返回值不同不是方法重载重载的不同方法通过改变参数的数量add(int num1,int num2){}add(int num1,int num2,int num3){}add(int... args){}//多个参数相加通过改变参数类型class Add{ int add(int num1,int num2){ return num1 + num2; } double add(double num1,d

2020-08-12 20:00:57 176

原创 final和static关键字

final【1】final成员标量表示常量,只能被赋值一次,赋值后值不可以在更改 private final int a=5; //此时的a的值是固定的,无法被改动【2】final修饰引用数据类型的时候,对其初始化之后就不能让其指向其他的对象 final Hello hello=new Hello(); hello =new Hello(); //Hello类初始化一个对象hello后 //hello是对象名,指向堆中的一个对象地址 //让hello等于new Hello()是相当于

2020-08-12 13:34:25 92

原创 this的用法

有关this的例子:package clss;public class ThisTest { private int i=0; //第一个构造器:有一个int型形参 ThisTest(int a){ this.i=a+1;//此时this表示引用成员变量i,而非函数参数i System.out.println("Int a——this.i: "+a+"——"+this.i); System.out.println("a

2020-08-11 19:33:09 158

原创 包装类

一、什么是包装类包装类(Wrapper Class): Java是一个面向对象的编程语言,但是Java中的八种基本数据类型却是不面向对象的,为了使用方便和解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八种基本数据类型对应的类统称为包装类(Wrapper Class),包装类均位于java.lang包。二、包装类的用途1.为了使用方便Java中将8中基本数据类型进行了封装:除了Integer和Character类以后,其它六个类的类名和基本数据类型一直,只是类名的第一个字母大

2020-08-10 22:09:34 223

原创 计网-------加密

对称加密和非对称加密对称加密采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。 对称加密效率很高,它是网络传送大量数据中最常用的一类加密方法。对称加密算法的安全性和效率:(1)对称加密是最快速、最简单的一种加密方式,加密与解密用的是同样的密钥。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。(2)对称加密通常使用的是相对较小的密钥,一般小于256 bit。因为密钥越大,加密越强,但加密与解密的过程越慢。如果

2020-08-10 21:16:18 141

原创 访问网页的过程

TCP/IP协议族按层次分别为 应用层,传输层,网络层,数据链路层,物理层。把 TCP/IP 协议分层之后,如果后期某个地方设计修改,那么就无需全部替换,只需要将变动的层替换。而且从设计上来说,也变得简单了。处于应用层上的应用可以只考虑分派给自己的任务,而不需要弄清对方在地球上哪个地方,怎样传输,如果确保到达率等问题。应用层:应用程序收到传输层的数据后,接下来就要进行解读。解读必须事先规定好格式,而应用层就是规定应用程序的数据格式。主要的协议有:HTTP.FTP,Telent等。传输层:该层为两

2020-08-10 20:07:00 797

原创 按值传递和按引用传递

我们平时看到的Java说明书对于Java的传递类型的介绍是按值传递,但是我们在平时总是会出现Java是按引用传递的错觉,这是因为我们没有搞清楚这两种传递的概念按值传递按值传递是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。也就是说在我们调用的方法中,我们用的其实不是一个参数,而是一个新的参数,与实参只是数值相同public class StringBase { public static void main(String[] args

2020-08-09 07:59:34 319

原创 源码、反码、补码

源码数值的符号位加上其真值的绝对值,范围是[-127,127],也就是二进制的[11111111,01111111](记住,单个字节是8个bit,首位是符号位)反码正数的反码等于它本身。负数的反码等于在其源码的基础上,符号位不变,其余位取反。00010000>取反>0001000010010000>取反>11101111 1. 00010000>取反>00010000 2. 10010000>取反>11101111补码正数的补码等于

2020-08-06 23:19:35 411

原创 有关java存储

java存储的部分知识点磁盘磁盘中的存储空间不是连续的

2020-08-04 00:18:53 66

原创 jdk jre jvm的作用

jdk jre jvm的作用java的程序执行我们常见的使用编译器或者集成开发环境编写的源文件,即Hello.java程序被编译为字节码文件, 用javac编译源文件为Hello.class文件类文件在java虚拟机执行 ,此时是汇编语言给到操作系统指令开辟内存空间和运行jdk的作用jdk是java调试工具需要java开发应用程序时就用到jdkjdk把Hello.java 文件编译成Hello.class文件jre的作用jre是java基础类库,执行任何java文件都必须要有jre

2020-08-03 17:37:45 294

原创 Statement PreparedStatement CallableStatement 之间的相同和差异

相同点首先要知道Statement PreparedStatement CallableStatement均为接口(interface) JDBC用这三种方式执行查询语句不同点Statement接口:public interface Statement extends WrapperStatement继承自Wrapper,Statement接口提供了执行语句和获取结果的基本方法...

2019-10-18 20:55:32 235

原创 MySQL的一些基本语句

首先是关于mysql的导入导出 当我们需要导出表时,我们需要以下步骤 右击test总表->转储sql文件结构和数据->选择位置即可导出 当我们需要导入时 右击test总表->运行sql文件->选择文件所在位置并确定->待完成后关闭,刷新其次是关于PowerShell链接mysql,打开PowerShell然后输入以下命令行:mysql -uroot -h(...

2019-10-16 22:56:43 110

空空如也

空空如也

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

TA关注的人

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