自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Redis的最常被问到知识点总结

1.什么是redis?   Redis 是一个基于内存的高性能key-value数据库。2.Reids的特点     Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是...

2019-09-14 09:28:00 139

转载 DML、DDL、DCL是什么?

一、DML  DML(data manipulation language)数据操纵语言:    我们经常会用到的 INSERT、DELETE、UPDATE、SELECT语句。 主要用来对数据库的数据进行一些操作。INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)DELETE FROM 表名称 WHERE ...

2019-09-13 14:40:00 180

转载 刨死你系列——手撕ArrayList

不多BB,直接上代码:public class MyArrayList { //创建数组对象 private Object[] elements; //已使用数组长度 private int size = 0; //初始化数组长度 private final static int INIT_LENGTH = 10; ...

2019-09-08 22:04:00 164

转载 刨死你系列——LinkedHashMap剖析(基于jdk1.8)

一、概述  1.8版本的LinkedHashMap 继承自 HashMap,在 HashMap(数组链表+红黑树) 基础上,通过维护一条双向链表,解决了 HashMap 不能随时保持遍历顺序和插入顺序一致的问题。除此之外,LinkedHashMap 对访问顺序也提供了相关支持。在一些场景下,该特性很有用,比如缓存。在实现上,LinkedHashMap 很多方法直接继承自 HashMa...

2019-09-07 19:42:00 179

转载 mysql架构与存储引擎 (Myisam与Innodb)

mysql抽象架构:可以分为SQL Layer和Storage Engine Layermysql的engine层是基于表的,不是基于库的,创建表的语句可以指定engineMysql的架构Mysql 架构器中各个模块都是什么?(1)、连接管理与安全验证是什么?每个客户端都会建立一个与服务器连接的线程,服务器会有一个线程池来管理这些 连接;如果客户端需要连接到 M...

2019-09-07 09:35:00 88

转载 面试有关TCP常问的几个问题

在面试中网络问题是一定会考察的,而TCP协议则是考察网络知识的重点。经常会被问道的问题如下:请讲一下TCP协议建立连接的过程请介绍TCP协议中的三次握手和四次挥手是怎么样的为什么TCP协议要三次握手来确立连接,而不是两次,也不是4次TCP连接发起是的syn序号为什么不能从同一个序号开始,比如说1三次握手过程首先需要服务器监听特定的端口,等待客户端来请求连接...

2019-09-06 10:25:00 253

转载 刨死你系列——HashMap剖析(基于jdk1.8)

本文的源码是基于JDK1.8版本,在学习HashMap之前,先了解数组和链表的知识。数组:数组具有遍历快,增删慢的特点。数组在堆中是一块连续的存储空间,遍历时数组的首地址是知道的(首地址=首地址+元素字节数 * 下标),所以遍历快(数组遍历的时间复杂度为O(1) );增删慢是因为,当在中间插入或删除元素时,会造成该元素后面所有元素地址的改变,所以增删慢(增删的时间复杂度为O(n) )...

2019-09-06 09:30:00 117

转载 基于LinkedhashMap实现的LRU算法

LRU全称是Least Recently Used,即最近最久未使用的意思。LRU算法的设计原则是:如果一个数据在最近一段时间没有被访问到,那么在将来它被访问的可能性也很小。也就是说,当限定的空间已存满数据时,应当把最久没有被访问到的数据淘汰。解决的实际问题:当做数据缓存时,缓存的数据会随着时间的推移越来越多,如果没有缓存清除策略,那么会出现俩个问题:1、缓存越来越大挤爆内存。2、很多不...

2019-09-06 08:28:00 1549

转载 Java 并发:内置锁 Synchronized

在多线程编程中,线程安全问题是一个最为关键的问题,其核心概念就在于正确性,即当多个线程访问某一共享、可变数据时,始终都不会导致数据破坏以及其他不该出现的结果。而所有的并发模式在解决这个问题时,采用的方案都是序列化访问临界资源 。在 Java 中,提供了两种方式来实现同步互斥访问:synchronized 和 Lock。本文针对 synchronized 内置锁 详细讨论了其在 Java ...

2019-08-30 08:56:00 66

转载 Java 并发:学习Thread 类

Java 中 Thread类 的各种操作与线程的生命周期密不可分,了解线程的生命周期有助于对Thread类中的各方法的理解。一般来说,线程从最初的创建到最终的消亡,要经历创建、就绪、运行、阻塞 和 消亡 五个状态(想要了解线程进程的关系可以参考《Java并发背景》)。在线程的生命周期中,上下文切换通过存储和恢复CPU状态使得其能够从中断点恢复执行。结合 线程生命周期,本文最后详细介绍了 ...

2019-08-29 22:01:00 100

转载 Java并发的背景

在操作系统中,并发是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。并发与操作系统的生命历程息息相关。进程的出现,使得程序状态的保存变为现实,为进程间的切换提供了可能,实现了操作系统的并发,大大提高资源利用率。虽然进程的出现解决了操作系统的并发问题,但人们对实时性又有了更高的要求。由于一个进...

2019-08-29 15:34:00 73

转载 进程上下文切换与和线程上下文切换有什么不同?

1.首先,需要搞明白什么是上下文切换?上下文切换就是从当前执行任务切换到另一个任务执行的过程。但是,为了确保下次能从正确的位置继续执行,在切换之前,会保存上一个任务的状态。2. 然后,需要明白进程与线程的区别?(网上很多,这里简单说明) 1).线程是进程的一部分。进程是表示资源分配的基本单位,又是调度运行的基本单位,是程序执行的一个实例; 线程是进程中执行运算的最小单位,即执行处理机...

2019-08-24 10:52:00 275

转载 深入学习Java对象创建的过程:类的初始化与实例化

  在Java中,一个对象在可以被使用之前必须要被正确地初始化,这一点是Java规范规定的。在实例化一个对象时,JVM首先会检查相关类型是否已经加载并初始化,如果没有,则JVM立即进行加载并调用类构造器完成类的初始化。在类初始化过程中或初始化完毕后,根据具体情况才会去对类进行实例化。本文试图对JVM执行类初始化和实例化的过程做一个详细深入地介绍,以便从Java虚拟机的角度清晰解剖一个Ja...

2019-08-21 17:34:00 114

转载 JVM类生命周期概述:加载时机与加载过程

  一个.java文件在编译后会形成相应的一个或多个Class文件,这些Class文件中描述了类的各种信息,并且它们最终都需要被加载到虚拟机中才能被运行和使用。事实上,虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型的过程就是虚拟机的类加载机制。本文概述了JVM加载类的时机和生命周期,并结合典型案例重点介绍了类...

2019-08-15 18:22:00 93

转载 Java回收机制概述

Java技术体系中所提倡的自动内存管理最终可以归结为自动化地解决了两个问题:给对象分配内存以及回收分配给对象的内存,而且这两个问题针对的内存区域就是Java内存模型中的 堆区。垃圾回收机制的引入可以有效的防止内存泄露、保证内存的有效使用,也大大解放了Java程序员的双手,使得他们在编写程序的时候不再需要考虑内存管理。本文着重介绍了判断一个对象是否可以被回收的两种经典算法,并详...

2019-08-13 20:11:00 86

转载 JVM 内存模型概述

 我们都知道,Java程序在执行前首先会被编译成字节码文件,然后再由Java虚拟机执行这些字节码文件从而使得Java程序得以执行。事实上,在程序执行过程中,内存的使用和管理一直是值得关注的问题。Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,这些数据区域都有各自的用途,以及创建和销毁的时间,并且它们可以分为两种类型:线程共享的方法区和堆,线程私有的虚...

2019-08-12 10:12:00 94

转载 Java之反射

内容介绍类加载器反射构造方法反射成员变量反射成员方法反射配置文件运行类中的方法1 类加载器1.1 类的加载当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化。 加载就是指将class文件读入内存,并为之创建一个Class对象。任何类被使用时系统都...

2019-08-10 11:23:00 114

转载 Java网络编程

内容介绍网络通信协议UDP通信TCP通信1 网络通信协议通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交通规则一样。在计算机网络中,这些连接和通信的规则被称为网络通信协议,它对数据的传输格式、传输速率、传输步骤等做了统一规定,通信双方必须同时遵守才能完成数据...

2019-08-09 20:06:00 89

转载 Java学习多线程第二天

内容介绍线程安全线程同步死锁Lock锁等待唤醒机制1 多线程1.1 线程安全如果有多个线程在同时运行,而这些线程可能会同时运行这段代码。程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。我们通过一个案例,演示线程的安全问题:电影院要卖票,我们模拟电影院的卖票过程。假设...

2019-08-09 08:46:00 77

转载 Java学习多线程第一天

内容介绍Thread线程创建线程池线程状态图1多线程1.1 多线程介绍学习多线程之前,我们先要了解几个关于多线程有关的概念。进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有...

2019-08-08 14:59:00 107

转载 Java几种常见的排序算法

 一、所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面。一个优秀的算法可以节省大量的资源。在各个领域中考虑到数据的各种限制和规范,要得到一个符合实际的优秀算法,得经过大量的推理和分析。  二、排序算法可以分为内部排序和外部排序。 ...

2019-08-05 08:29:00 42

转载 Java学习IO流第三天

内容介绍 Properties集合序列化流与反序列化流打印流commons-IO Properties类Properties类介绍Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。特点:1、Hashtable的子类,map集合...

2019-08-02 16:20:00 74

转载 String a=new String("abc")创建了几个对象

String str=new String("abc"); 紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢?相信大家对这道题并不陌生,答案也是众所周知的,2个。接下来我们就从这道题展开,一起回顾一下与创建String对象相关的一些JAVA知识。我们可以把上面这行代码分成String str、=、"abc"和new String()四...

2019-07-31 08:16:00 130

转载 Java学习IO流第二天

今日内容介绍 转换流 缓冲流 1 转换流在学习字符流(FileReader、FileWriter)的时候,其中说如果需要指定编码和缓冲区大小时,可以在字节流的基础上,构造一个InputStreamReader或者OutputStreamWriter,这又是什么意思呢?OutputStreamWriter类查阅OutputStreamWrit...

2019-07-30 16:50:00 56

转载 Java学习IO流第一天

今日内容介绍 字节流 字符流 1 字节流在前面的学习过程中,我们一直都是在操作文件或者文件夹,并没有给文件中写任何数据。现在我们就要开始给文件中写数据,或者读取文件中的数据。1.1 字节输出流OutputStreamOutputStream此抽象类,是表示输出字节流的所有类的超类。操作的数据都是字节,定义了输出字节流的基本共性功能方法。...

2019-07-29 17:53:00 78

转载 java中switch的用法

switch关键字对于多数java学习者来说并不陌生,由于笔试和面试经常会问到它的用法,这里做了一个简单的总结:能用于switch判断的类型有:byte、short、int、char(JDK1.6),还有枚举类型,但是在JDK1.7后添加了对String类型的判断case语句中少写了break,编译不会报错,但是会一直执行之后所有case条件下的语句而不再判断,直到defau...

2019-07-29 16:27:00 160

转载 Java学习IO流第一天

内容介绍 File 递归 File IO概述回想之前写过的程序,数据都是在内存中,一旦程序运行结束,这些数据都没有了,等下次再想使用这些数据,可是已经没有了。那怎么办呢?能不能把运算完的数据都保存下来,下次程序启动的时候,再把这些数据读出来继续使用呢?其实要把数据持久化存储,就需要把内存中的数据存储到内存以外的其他持久化设备(硬盘、光盘、U盘等...

2019-07-28 14:14:00 46

转载 Java_异常介绍

今日内容介绍: 掌握异常概述 理解异常的基础操作以及最简单的捕获处理 理解多异常捕获处理 理解声明抛出异常 掌握自定义异常 掌握异常处理注意事项 异常什么是异常?Java代码在运行时期发生的问题就是异常。在Java中,把异常信息封装成了一个类。当出现了问题时,就会创建异常类对象并抛出异常相关...

2019-07-26 17:50:00 60

转载 Java_Map接口

Map接口1.1 Map接口概述  我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图。Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。 Map中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的...

2019-07-25 20:28:00 52

转载 Java设计模式学习

一.概述熟练掌握各种设计模式,并能在实际编程开发中灵活运用它们,不仅能使代码更规范,重用性更高,同时也能保证代码的可靠性,提高开发效率。这段时间又系统看了设计模式的相关内容,整理学习总结如下:七个设计原则创建型模式(5种)结构型模式(7种)行为型模式(11种)总体来说设计模式分为三大类:(本文着重讲解标红)创建型模式,共五种: 工厂方法模式、 ...

2019-04-11 16:31:00 333

转载 Oracle数据库游标,序列,存储过程,存储函数,触发器

游标的概念: 游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。游标有两种类型:显式游标和隐式游标。在前述程序中用到的SELECT...INTO....

2019-03-24 19:57:00 193

转载 深入理解SQL的四种连接,左外连接,右外连接,内连接,全连接

1、内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符)。包括相等联接和自然联接。内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students和courses表中学生标识号相同的所有行。2、外联接。外联接可以是左向外联接、右向外联接或完整外部联接。在 FROM子句中指定外联接时,可以由下列几组关键字中...

2019-03-23 15:17:00 155

转载 Oracle数据库DDL,DML,视图,PLSQL编程

动手敲~~~--创建一个表空间--beijingcreate tablespace beijingdatafile 'c:\beijing.dbf'size 100mautoextend onnext 10m;--删除表空间drop tablespace beijing;/* 创建用户 */create user...

2019-03-23 15:12:00 167

转载 Oracle数据库多表查询,子查询,集合运算

记得自己要敲o~~~select * from bonus;select * from salgrade;select 1+1 from dual;--笛卡尔积:两张表的乘积select * from emp,dept;select * from emp e1,dept d1 where e1.deptno =d1.deptno;/* 内联...

2019-03-21 20:38:00 166

转载 Oracle数据库的基本查询

本文用的是Oracle 10g数据库,利用PL/SQL Developer的集成开发环境(安装可以自行百度)Oracle数据库 ---> 数据库实例 ---> 表空间(逻辑单位)(用户) ---> 数据文件(物理单位)可以理解为下面地球 ---> 一个国家 ---> 省份(逻辑单位)(公民) ---> 山川河流(物理单位)通...

2019-03-21 18:05:00 75

转载 Java_集合与泛型

Collection集合,集合是java中提供的一种容器,可以用来存储多个数据。在前面的学习中,我们知道数据多了,可以使用数组存放或者使用ArrayList集合进行存放数据。那么,集合和数组既然都是容器,它们有啥区别呢?数组的长度是固定的。集合的长度是可变的。集合中存储的元素必须是引用类型数据集合的继承关系图 a:ArrayList的继承关系:...

2018-12-29 14:09:00 136

转载 Java_常用API

1.基本类型包装类1.1 概述在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的。而程序开发中,我们需要把字符串数据,根据需求转换成指定的基本数据类型,如年龄需要转换成int类型,考试成绩需要转换成double类型等。那么,想实现字符串与基本数据之间转换怎么办呢?Java中提供了相应的对象来解决该问题,基本数据类型对象包装类:java将基本数据类型值封装成了...

2018-12-24 20:42:00 91

转载 Java_正则表达式&时间日期

正则表达式1.概念正则表达式(英语:Regular Expression,在代码中常简写为regex)。正则表达式是一个字符串,使用单个字符串来描述、用来定义匹配规则,匹配一系列符合某个句法规则的字符串。在开发中,正则表达式通常被用来检索、替换那些符合某个规则的文本。2.匹配规则参照帮助文档,在Pattern类中有正则表达式的的规则定义,正则表达式中明确区分大小写字母...

2018-12-20 18:56:00 324

转载 java_String、StringBuilder

在介绍String和StringBuilder前先学习一下equals方法和toString方法。API java1.6提取码:04b6equals方法equals方法,用于比较两个对象是否相同,它其实就是使用两个对象的内存地址在比较。Object类中的equals方法内部使用的就是==比较运算符。在开发中要比较两个对象是否相同,经常会根据对象中的属性值进行比较,也就是在开发...

2018-12-08 19:24:00 92

转载 Java_关键字、匿名对象、内部类、访问修饰符、代码块

final关键字概述:继承的出现提高了代码的复用性,并方便开发。但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写。可是当子类继承了这些特殊类之后,就可以对其中的方法进行重写,那怎么解决呢?要解决上述的这些问题,需要使用到一个关键字final,final的意思为最终,不可变。final是个修饰符,它可以用来修饰类,类的成员,以及...

2018-12-05 20:51:00 102

空空如也

空空如也

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

TA关注的人

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