自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 锁(升级过程、乐观锁与悲观锁、读写锁、死锁、synchronized与其他锁的区别)

参考:https://www.cnblogs.com/mingyueyy/p/13054296.htmlhttps://www.cnblogs.com/aspirant/p/11470858.html锁的状态总共有四种,级别由低到高依次为:无锁、偏向锁、轻量级锁、重量级锁,这四种锁状态分别代表什么,为什么会有锁升级?其实在 JDK 1.6之前,synchronized 还是一个重量级锁,是一个效率比较低下的锁,但是在JDK 1.6后,Jvm为了提高锁的获取与释放效率对(synchronized )进行了

2020-08-14 10:38:41 234

原创 JAVA基础(九)—— 类加载过程及JVM内存模型

Java的四种引用,强弱软虚,用到的场景从JDK1.2版本开始,把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。①强引用最普遍的一种引用方式,如String s = “abc”,变量s就是字符串“abc”的强引用,只要强引用存在,则垃圾回收器就不会回收这个对象。②软引用(SoftReference)用于描述还有用但非必须的对象,如果内存足够,不回收,如果内存不足,则回收。一般用于实现内存敏感的高速缓存,软引用可以和引用队列

2020-07-29 15:31:18 245

原创 redis数据库相关内容

参考:https://www.runoob.com/redis/redis-tutorial.html单线程模型的内存级别缓存字典服务数据库

2020-07-23 19:52:38 144

原创 Java中的排序算法——快速排序(Quick Sort)

快速排序(Quick Sort)是对冒泡排序的一种改进。基本思想: 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。...

2020-07-17 20:32:30 150

原创 消息对列(MQ)

初步了解消息队列:https://www.zhihu.com/question/54152397?sort=created“消息队列”(Message Queue,简称MQ)是在消息的传输过程中保存消息的容器。 中间件“消息”是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取队列中的消息。消息发布者只管把消息发布到 MQ 中而不用管谁来取,消息使用者只管从 MQ

2020-07-17 14:41:01 379

原创 有关事务、事务特性、事务隔离级别、spring事务传播特性

1.事务是程序中一系列严密的操作,所有操作执行必须成功完成,否则在每个操作所做的更改将会被撤销,这也是事务的原子性(要么成功,要么失败)。事务是恢复和并发控制的基本单位。2.事务特性: 分为四个:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持续性(Durability),简称ACID。原子性(Atomicity):事务是数据库逻辑工作单元,事务...

2020-07-07 20:44:58 85

原创 Spring常用的几种注解

什么是注解?Annotation(注解)是JDK1.5及以后版本引入的。它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。注解是以‘@注解名’在代码中存在的,根据注解参数的个数,我们可以将注解分为:标记注解、单值注解、完整注解三类。它们都不会直接影响到程序的语义,只是作为注解(标识)存在,我们可以通过反射机制编程实现对这些元数据(用来描述数据的数据)的访问。另外,你可以在编译时选择代码里的注解是否只存在于源代码级,或者它也能在class文件、或者运行时中出现(SOURCE/CLASS/RUN

2020-07-01 21:01:11 395

原创 Java中的排序算法——堆排序(Heapsort)

堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。可以利用数组的特点快速定位指定索引的元素。堆排序的基本思想是:将待排序序列构造成一个大顶堆,此时,整个序列的最大值就是堆顶的根节点。将其与末尾元素进行交换,此时末尾就为最大值。然后将剩余n-1个元素重新构造成一个堆,这样会得到n个元素的次小值。如此反复执行,便能得到一个有序序列了。堆分为大根堆和小根堆,是完全二叉树。每个结点的值都大于或

2020-06-30 20:06:23 163

原创 Java中的排序算法——希尔排序(ShellSort)

排序算法:https://www.runoob.com/w3cnote/ten-sorting-algorithm.html希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。希尔排序是基于插入排序的以下两点性质而提出改进方法的:①插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率;②但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位;希尔排序的基本思想是: 先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序

2020-06-29 20:05:38 123

原创 TCP、UDP、网络模型、网络协议

1.网络适配器又称网卡或网络接口卡(NIC),英文名NetworkInterfaceCard。Emulex网络适配器的内核是链路层控制器,该控制器通常是实现了许多链路层服务的单个特定目的的芯片,这些服务包括成帧,链路接入,流量控制,差错检测等。网络适配器是使计算机联网的设备,平常所说的网卡就是将PC机和LAN连接的网络适配器。网卡(NIC) 插在计算机主板插槽中,负责将用户要传递的数据转换为网络上...

2020-06-24 10:22:55 344

原创 JAVA基础(八)—— 方法的声明及使用

方法的定义方法就是一段可重复调用的代码段,例如,有某段长度约100 行的代码,要在多个地方使用此段代码,如果在各个地方都重复编写此部分代码,则肯定会比较麻烦,而且此部分代码如果进行修改也比较困难,所以此时可以将此部分代码定义成一个方法,以供程序反复调用。方法与函数的关系:在有些书中把方法称为函数,这两者本身并没有什么区别,是同样的概念,只是称呼方式不一样。方法的定义格式:如果不需要传递参数到方法中,只要将括号写出,不必填入任何内容。此外,如果方法没有返回值,则在返回值类型处要明确写出void,此时在

2020-06-24 10:21:50 259

原创 有关form表单、cookie、session、filter(过滤器)

HTML(超文本标记语言,HyperText Markup Language): 标准通用标记语言下的一个应用。 "超文本"就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。 超文本标记语言的结构包括"头"部分(Head)、和"主体"部分(Body),其中"头"部提供关于网页的信息,"主体"部分提供网页的具体内容。(一般只要以ML结尾的东西,都叫标记性语言。如XML,HTML这样的东西...

2020-06-24 10:20:44 852

原创 做前端相关内容(HTML、CSS、JS)、AJAX、JSON

做前端相关内容所有前端的逻辑操作都是由JS 做的,所有前端的展示内容都是由html做的。前端(人):html(骨头) CSS(衣服)Javascript(大脑)HTML 定义了网页的内容;CSS 描述了网页的布局;JavaScript 网页的行为。HTML 教程:https://www.runoob.com/html/html-tutorial.htmlJavaScript教程:htt...

2020-06-22 18:28:37 606

原创 Servlet、客户端-服务端相互传送数据、HTTP协议、流分类

WEB-INF是Java的WEB应用的安全目录。所谓安全就是客户端无法访问,只有服务端可以访问的目录。如果想在页面中直接访问其中的文件,必须通web.xml文件对要访问的文件进行相应映射才能访问。所有的let,lite,我们都管他叫做轻量级内容。Servle→轻量级服务。MVC分层框架M:模型层,主要是处理实体类对象模型,数据库连接过程等V:视图层,主要是将模型展现给用户的过程C:控制...

2020-06-22 18:27:58 975

原创 线程与进程相关内容

所谓的**线程(Thread)**是进程中执行运算的最小单位,亦即执行处理机调度的基本单位。计算机执行的每一次任务我们称之为作业(JOB)。JOB1 JOB2 JOB3 … JOB10**进程(Process):**进程是表示资源分配的基本单位,又是调度运行的基本单位。进程是很多线程的集合,操作系统对于应用程序的管理工具,也就是说,一个进程里面有很多个线程。线程的名字我们可以自己给出...

2020-06-19 22:34:41 101

原创 面向对象基础(一)——三大特性、类与对象、封装private、构造方法

1.对于面向对象的程序设计有封装性、继承性、多态性3个主要特性。(1)封装性封装是面向对象的方法所应遵循的一个重要原则,它有两个含义:①一是指把对象的属性和行为看成一个密不可分的整体,将这两者“封装”在一个不可分割的独立单位(即对象)中;②另一层含义指“信息隐蔽”,把不需要让外界知道的信息隐藏起来,有些对象的属性及行为允许外界用户知道或使用,但不允许更改,而另一些属性或行为,则不允许外界知道,或只允许使用对象的功能,而尽可能隐蔽对象的功能实现细节。封装机制在程序设计中表现为,把描述对象属性的变量及

2020-06-12 12:37:22 279

原创 有关JDBC

定义JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,是一个典型的SPI过程,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。这个东西是一个jar文件,由各个数据库厂商提供。...

2020-04-02 11:42:07 113

原创 Java中的排序算法——归并排序(Merge-Sort)

wdew

2020-03-17 14:59:19 162

原创 Java中的排序算法——选择排序(Selection Sort)

选择排序(Selection sort) 是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。也就是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的的记录作为有序序列中第i个记录。基于此思想的算法主要有简单选择排序、树型选择排序和堆排序。(这里只介绍常用的简单选择排序) 选择排序是不稳定的排序...

2020-03-04 18:16:43 591

原创 Java中的排序算法——冒泡排序(Bubble Sort)

冒泡排序 (Bubble Sort,泡沫排序或气泡排序)是一种简单的基于交换思想的排序算法。它将相邻的两个元素加以比较,若左边元素值大于右边元素值,则将这两个元素交换;若左边元素值小于等于右边元素值,则这两个元素位置不变。右边元素继续和下一个元素进行比较,重复这个过程,直到比较到最后个元素为止。算法原理: 比较两个相邻的元素,将值大的元素交换至右端。优点: 每进行一趟排序,就会少比较一次,因...

2020-03-03 23:22:27 275

原创 一句话sql练习

1.Employee 表包含所有员工信息,每个员工有其对应的 Id, salary 和 department Id。±—±------±-------±-------------+| Id | Name | Salary | DepartmentId |±—±------±-------±-------------+| 1 | Joe | 70000 | 1 ...

2020-03-03 22:10:06 132

原创 mysql基本操作及相关内容

1.mysql基本操作(1)启动数据库: mysql -u root -p(2)创建/使用/查看/删除数据库创建数据库:create database 数据库名;查看所有数据库:show databases;查看创建数据库的定义信息:show create database 数据库名称;使用数据库: use 数据库名;查看数据库中所有的表:show tables;删除数据库:dro...

2020-03-03 22:09:22 182

原创 设计模式——单例模式、代理模式、工厂模式、建造者模式

一、单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。满足这三个特点可以去做单例模式:私有化构造方法;给一个公开的静态的getIn...

2020-02-29 00:30:01 783

原创 JAVA基础(七)—— JAVA异常

1.JAVA异常无异常:有异常:

2020-02-09 17:43:20 94

原创 JAVA基础(六)——Java常用包、数组、集合框架容器Collection(list、set)、map的用法、迭代器Iterator

1.Java常用包:java.lang 详解: http://beyond429.iteye.com/blog/344024java.util 详解: http://blog.csdn.net/abeetle/article/details/1497706java.io 详解: http://blog.csdn.net/yczz/article/details/38...

2019-12-04 22:12:21 251

原创 JAVA基础(五)—— Java关键字、标识符、访问控制符、类的构造方法、抽象类与接口、变量类型

1. Java关键字Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。信息来源:https://baike.so.com/doc/6742334-6956859.html (关键字详细内容可参考)2...

2019-11-26 00:01:07 420

原创 JAVA基础(四)——程序结构(顺序结构、选择结构if if-else switch、循环结构for while do...while)及相关练习

Java循环(1)for循环for循环适用于知道范围的情况(或知道循环次数的情况),当循环次数(或范围)不确定时用while循环或do…while循环。(2)while循环只要表达式为 true,循环就会一直执行下去。(3)do…while 循环对于 while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。do…while 循环和 w...

2019-11-20 19:24:57 1189

原创 JAVA基础(三)——服务器操作系统、Java开发环境、Java技术架构、定义Java类及其命名规范、Java注释方式

1.Java开发环境——JDK、JRE、JVM搭建Java开发环境一般需要同时安装JDK和JRE。(1)JDK:指Java开发工具包Java Development Kit,开发Java程序时必需,JDK里包含一部分公共JRE。Java 的开发平台 JDK 是开发人员用来构建 Java 应用程序的软件包,它包括:Java 虚拟机 JVM、Java 编译器javac、Java 归档 jar 实用...

2019-11-19 16:19:18 268

原创 JAVA基础(二)——基本运算符

JAVA基本运算符1.算术运算符Java中算术运算符用在算术表达式中,其作用和数学中的运算符相同。算术运算符应注意以下问题:①在使用算术运算时需要注意运算两侧类型:当两侧类型不统一时,运算结果和较大类型保持一致。②如果对负数取模,可以把模数负号忽略不记,如:7%-2=1,但被模数是负数就另当别论。③对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数...

2019-11-07 02:18:58 349

原创 JAVA基础(一)——基本数据类型、==与equals、hashcode用法

JAVA基本数据类型在生活中,使用的数据有大有小,有整数,也有小数,同时也会使用字母,或者汉字表示特定含义。在Java中根据数据的不同特点,数据也分为不同的类型。 Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配 了不同大小的内存空间。1.数据类型详细介绍(1)整数类型(byte、short、int、long)虽然byte、short、int、long ...

2019-11-07 00:02:16 639

空空如也

空空如也

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

TA关注的人

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