自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (1)
  • 收藏
  • 关注

原创 PostgreSQL快速入门

PostgreSQLPostgreSQL 是一个免费的对象-关系数据库服务器。数据类型数值类型货币类型字符类型日期/时间类型布尔类型枚举类型#例如:CREATE TYPE mood AS ENUM('sad','happy','ok');#创建一周天数:CREATE TYPE week AS ENUM('Mon','Tue','Wed','Thu','Fri','Sat','Sun');几何类型网络地址类型位串类型文本搜索类

2022-03-07 17:51:46 1343 1

原创 java知识点汇总

文章目录面试前的工作礼貌常识公司及岗位了解自我介绍充足的知识储备提问环节面试后的总结javaSEjdk1.8新特性java语言的特征如何实现跨平台谈谈你对面向对象的认识理解聊聊面向对象的特征,封装,继承,多态访问权限对象创建过程? 从jvm的角度出发,延伸到对象在内存中的存储空间Java类初始化顺序java中创建对象的方式对象克隆,浅克隆,深克隆构造方法对象与引用静态static抽象类和接口ObjectString特征为什么不可变String类不可变性的好处? 为什么设计为不可变.String的值不可

2021-09-15 15:26:46 2825

原创 Mysql高级-触发器

触发器触发器是一种特殊的存储过程,他不需要用户去直接调用,而是在对表增删改后自动执行的存储过程。特点:与表关联。定义在指定表上,这个表被称为触发器表。自动激活触发器。当对表中的数据执行增、删、改操作时,如果对表上的这个特定操作定义了触发器,该触发器自动执行,这时不可撤销的。不能直接调用。与存储过程不同,触发器不能直接调用,也不能传递或接收参数。作为事务的一部分。触发器与激活触发器的语句一起作为对一个单一事务来对待,可以从触发器中的任何位置回滚。定义触发器的语法规则create trigg

2021-08-21 17:49:44 371

原创 Mysql高级-视图&存储过程&函数

存储过程概述如果实现用户某些需求需要一组复杂SQL语句时,可以将这组复杂SQL语句集写在数据库中,由JDBC调用来执行这组SQL语句。把编写在数据库中的SQL语句集称为存储过程。存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合。调用存储过程简化了引用开发人员的很多工作,减少了数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。存储过程类似Java中的方法,需要先定义,使用时调用。存储过程可以定义参数,参数分为IN、OUT、INOUT三种类型。IN类型的参数表示接受调用者

2021-08-21 17:30:47 189

原创 Mysql高级-锁机制

锁机制概述首先来看两个事务的写操作之间的相互影响。隔离性要求同一时刻只能有一个事务对数据进行写操作,InnoDB通过锁机制来保证这一点。基本原理:事务在修改数据之前,需要先获得相应的锁;获得锁之后,事务便可以修改数据;该事务操作期间,这部分数据是锁定的,其他事务如果需要修改数据,需等待当前事务提交或回滚后释放锁。行锁和表锁按照粒度,锁可以分为表锁、行锁以及其他位于二者之间的锁。表锁在操作数据时会锁定整张表,并发性能较差;行锁只锁定要操作的数据,并发性能好。但是由于加锁本身需要消耗资源(获得锁、检

2021-08-18 16:24:27 89

原创 Mysql高级-事务

事务概述事务是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。在Mysql中只有使用了InnoDB数据库引擎的数据库或表才支持事务。事务处理可以用来维护数据库的完整性,保证成批的sql语句要么全部执行,要么全部不执行。事务用来管理insert、update、delete语句。特性一般来说,事务是必须满足4个条件(ACID):原子性(Atomicity,或称为不可分割性)、一致性(Consistency)、隔离性(Isolation,又称为独立性)、持久性(Durabili

2021-08-03 17:21:58 155

原创 Mysql高级-索引

索引在Mysql中,索引由数据库表中一列或多列组合而成,创建索引的目的是为了优化数据库的查询速度。其中,用户创建的索引指向数据库中具体数据所在的位置。当用户通过索引查询数据库中的数据时,不需要遍历所有数据库中的所有数据。这样大幅提高了查询效率。为什么使用索引?索引就像书的目录,查找内容时不必逐页翻阅就能快速的找到所需内容。优势提高数据检索效率,降低数据库的IO成本;通过索引列对数据库进行排序,降低数据排序成本,降低CPU消耗。劣势实际上索引也是一张表,存储了主键和索引字段,并指向实体表的

2021-08-03 15:34:36 103

原创 Mysql高级-概述

Mysql的数据用各种不同的技术存储在文件中。这些技术中的每一种技术都使用不同的存储机制、索引技术、锁定水平,并且最终提供广泛的不同的功能和能力。通过选择不同的技术,能够获得额外的速度或者功能,从而改善应用的整体功能。这些不同的技术以及配套的相关功能在MySql中被称作存储引擎(也称作表类型)。MySql默认配置了许多不同的存储引擎,可以预先设置或者在MySql服务器中启用。你可以选择适合于服务器、数据库和表格的存储引擎,以便在选择如何存储你的信息、如何检索这些信息以及你需要你的数据结合什么性能和功能的时

2021-08-03 14:21:32 108

原创 ThreadLocal

ThreadLocal线程封闭对象封闭在一个线程中,即使这个对象不是线程安全的,也不会出现并发安全问题。例如:栈封闭:就是用栈来保证线程安全。public void test(){ StringBuilder s = new StringBuilder(); s.append("Hello");}StringBuilder是线程不安全的,但它只是个局部变量,局部变量存储在虚拟机栈,虚拟机栈是线程隔离的,所以不会有线程安全的问题。ThreadLocal线程封闭:简单易用使用ThreadL

2021-07-22 20:44:12 61

原创 Java设计模式

Java设计模式根据模式是用来完成什么工作划分,这种方式可以分为创建型模式、结构型模式和行为型模式3种。==创建型模式:==用于描述“怎么创建对象”,它的主要特点是“将对象的创建与使用分离”。提供了单例、原型、工厂方法、抽象工厂、建造者5种创建型模式。==结构型模式:==用于描述如何将类或对象按某种布局组成更大的结构,提供了代理、适配器、桥接、装饰、外观、享元、组合7种结构型模式。==行为型模式:==用于描述类或对象之间怎样互相协作共同完成单个对象都无法单独完成任务,以及怎样分配职责。提供了模板方法

2021-07-22 19:21:15 89

原创 对象克隆

为什么需要对象克隆?直接new一个对象不行吗?克隆的对象可能包含一些已经修改过的属性,而new出来的对象的属性都还是初始化时候的值,所以当需要一个新的对象来保存当前对象的“状态”就靠clone方法了。相比把临时属性一个个赋给new出来的对象,clone是一个native方法吧,在底层实现,更方便,速度更快。误区:我们常见的:Student a = new Student();Student b = a;这种形式的代码复制实际上只是引用,b复制了a在内存中的地址,a和b指向了同一个对象。所以这种

2021-07-21 16:24:53 92

原创 布隆过滤器

布隆过滤器是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列映射函数。布隆过滤器可以用来检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般算法要好得多,缺点是有一定的误识别率和删除困难。如果要判断一个元素是不是在一个集合中,一般想到的是将所有的元素保存起来,然后通过比较确定。链表,树等数据结构都是这种思路。但随着集合中元素的增加,我们需要的存储空间越来越大,检索速度越来越慢。散列表(又称哈希表)可以通过一个Hash函数讲一个元素映射成一个位阵列中的一个点。这样一来,我们只需

2021-07-18 19:08:32 81

原创 Nginx概述

Nginx概述Nginx是一款由俄罗斯程序设计师开发的高性能Web和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。特点是占有内存小、并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现呢较好。中国大陆使用nginx网站的用户有:百度、京东、淘宝、新浪、网易、腾讯等。Nginx转为性能优化而开发,性能是服务器最重要的考量,实现上非常注重效率,能经受高负载的考验,根据报告称支持高达50000个并发连接数。在高并发放情况下,Nginx是Apache服务器不错的替代品。Ng

2021-07-18 18:39:48 110

原创 Redis概述

Redis概述Redis是一个开源、使用C语音编写、支持网络交互、内存中的key-value数据结构存储系统。它可以作为数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串(String)、散列(hashes)、列表(list)、集合(set)、有序集合(sorted set)与范围查询,bitmaps,hyperloglogs和地理空间(geospatial)索引半径查询。关系型数据库和非关系型数据库关系型数据库采用关系模型来组织数据的数据库,关系模型就是二维表格模型。一张二维表的表名

2021-07-18 18:03:28 176

原创 初学Linux

Linux概述Linux内核最初只是芬兰人 林纳斯·托瓦兹 在 赫尔辛基大学 上学时出于个人爱好编写的。Linux是一套免费试用和自由传播的类Unix操作系统,是一个多用户、多任务、支持多线程和多CPU的操作系统。Linux能运行主要的Unix工具软件、应用软件和网络协议。它支持32位和64位硬件。继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux的发行版说简单点就是将Linux内核与应用软件做一个打包。目前市面上较知名的发行版有:Ubuntu、Redhat、

2021-07-16 20:59:30 94

原创 (Java进阶-设计模式)UML类图

统一建模语言(Unified Modeling Language,UML)是用来设计软件的可视化建模语言。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。UML从目标系统的不同角度出发,定义了用例图、类图、对象图、状态图、活动图、时序图、协作图、构件图、部署图等9种图。1.1 类图概述类类图(Class diagrsam)是显示了模型的静态结构,特别是模型中存在的类图、类的内部结构以及它们与其他类的关系等。类图不显示暂时性的信息。类图是面向对象建模的主要组成部分。1.2 类图的作用

2021-06-10 17:09:59 282

原创 (Java进阶-设计模式)设计模式概述

1.1 软件设计模式产生的背景“设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中。概述:1990年软件工程界开始研讨设计模式的话题,后来召开了多次关于设计模式的研讨会。直到1995年,艾瑞克.伽马(ErichGamma)、理查德.海尔姆(Richard Helm)、拉尔夫.约翰森(Ralph Johnson)、约翰.威利斯迪斯(John Vlissides)等4位作者合作出版了《设计模式:可复用面向对象软件的基础》一书,在此书中收录了23个设计模式。这是设计模式领域中里程碑的事件,导致

2021-06-09 16:34:05 84

原创 maven常用jar坐标

(持续更新中~~)(本次于2021.4.27更新)JSTL<!-- https://mvnrepository.com/artifact/javax.servlet/jstl --><dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version>&l

2021-04-27 20:28:57 286

原创 JVM--运行时数据区

运行时数据区组成概述java虚拟机所管理的内存将会包括以下几个运行时数据区域:程序计数器:程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。java虚拟机栈:描述的是java方法执行的内存模型,每个方法在执行的同时都会创建一个 线帧 用于存储局部变量表、操作数栈、动态链接、方法出口等信息,每个方法从调用直至执行完成的过程,都对应着一个线帧在虚拟机栈中入栈到出栈的过程。本地方法栈:与虚拟机栈的作用是一样的,只不过虚拟机栈是服务java方法的,而本地方法栈

2021-04-19 15:40:33 153

原创 JVM结构--类加载

JVM结构-类加载类加载子系统的作用​ 类加载器子系统负责从文件系统或者网络中加载class文件,class文件在文件开头有特定的文件标识(字节码文件都以CA FE BA BE标识开头)。​ ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定。加载的类信息存放于一块称为 方法区 的内存空间。除了类的信息外,方法区中还会存放运行时常量池的信息,还可能包括字符串字面量和数字常量(这部分常量信息是class文件中常量池部分的内存映射)。类加载C

2021-04-07 17:24:58 1441 13

原创 JVM概述

概述​ 所谓虚拟机,就是一台虚拟的计算机。它是一款软件,用来执行一系列虚拟计算机指令,大体上可以分为系统虚拟机和程序虚拟机两种。​ java虚拟机是程序虚拟机典型的代表,专为执行单个程序而设计。在java虚拟机中执行的指令,我们称之为java字节码指令。​ java技术的核心就是java虚拟机,因为所有的java程序都运行在java虚拟机内部。作用​ java虚拟机就是二进制字节码的运行环境,负责装载字节码到其内部,解释/编译为对应平台上的机器码指令执行,每一条java指令,java虚拟机

2021-04-07 16:40:26 85 2

原创 JSON

JSONJSON是一种轻量级的数据交换格式。数据在键值对中数据由逗号分隔大括号保存对象方括号保存数组语法:JSON键值对是用来保存JS对象的一种方式。和JS对象的写法也差不多。键/值对组合中的键名写在前面并且双引号包裹,使用冒号分隔,然后紧接着值。{"name":"小马"}{"name":"小花","sex":"女"}Java对象转JSON在异步交换数据时,java对象不能直接被传递给js,所以需要吧java对象转换为JSON格式的字符串,吧字符串响应给客户端,再由客户端将JSO

2021-03-16 15:53:39 83 2

原创 AJAX

Ajax使用Ajax,可以无刷新状态更新页面,并且实现异步提交,提升了用户体验。Ajax实质是利用浏览器提供的一个特殊的对象(XMLHttpRequest)异步的向服务器发送请求。服务器返回部分数据,浏览器让你去利用这些数据对页面做部分的更新,整个过程中,页面没有刷新,不会打断用户的操作。创建XMLHttpRequest对象XMLHttpRequest对象:发送请求到服务器并获取返回结果。所有现代浏览器都内建了XMLHttpRequest对象,通过一行简单的JavaScript代码,就可以创建X

2021-03-16 15:52:46 113 1

原创 XML

XMLxml是可扩展标记语言类似于HTML,是一种标记语言xml设计宗旨是传输和存储数据xml需自行定义标签xml具有自我描述性xml的优势他能对各种编程语言编写的数据进行管理。在任何平台下都能通过解析器来读取内部数据。xml语法构成:文档声明元素标签属性注释文档声明最简单的文档声明:<?xml version="1.0">使用encoding属性说明文档的字符编码:<?xml version="1.0" encoding="UTF-8"&gt

2021-03-15 17:26:39 209 1

原创 Jquery预习1

预习jquery概述Jquery是对javaScript做了轻量级的封装,简化语法。Jquery 理念: 写得少(语法简单), 做得多(功能强大)。Jquery对象与DOM对象Jquery对象就是通过Jquery()或$()包装DOM对象后产生的对象。Jquery 对象是 Jquery 独有的,如果一个对象是 Jquery 对象, 那么它就可以使用Jquery 里的方法: $(“#id”).html();Jquery 对象无法使用DOM对象的任何方法, 同样DOM对象也不能使用Jquery里的任

2021-01-27 11:27:14 80

原创 JavaScript学习

预习概述javaScript是一种脚本语言,其整个语法以java为基础,但比java简单。由于它是一种脚本语言,所以不需要编译,可有浏览器直接解释运行。作用:为网页添加各式各样的动态功能。​ 例如: 1.响应客户端鼠标和键盘事件​ 2.客户端页面表单数据验证​ 3.使用JavaScript动态的改变页面标签的样式JavaScript是一种基于对象和事件驱动并具有安全性的解释性语言,其目的就是增强Web客户交互。弥补了HTML的缺陷。基本语法javaScript脚本写在一组变

2021-01-22 23:00:31 92

原创 Java第八章_IO流

IO流File类在程序中需要对计算机硬盘上的文件进行操作,如何在程序中表示硬盘上的一个文件? --fileFile类的对象可以表示文件,目录.File对象可以对文件或目录的属性进行操作.(文件名,最后修改时间,文件大小等)无法操作文件的具体数据(读/写)File(String pathname) 指定文件(或目录)名和路径创建文件对象.File f1 = new File("abc.txt");File f2 = new File("D:\\Java\\Hello.java");File

2020-12-07 17:50:05 143

原创 Java第七章_集合类_List集合的迭代

List集合的迭代三种方法:1.for循环遍历/*for循环遍历删除元素后,集合长度发生了变化,i一直向后递增*/ for (int i = 0; i < a.size(); i++) { a.remove(i); } System.out.println(a);//原数组集合:[2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]//结果:[2, 4, 6, 8, 10]2.增强for循环/*增强for循环不允许遍历时对集合

2020-11-21 11:27:57 97

原创 Java第五章_API常用类_String类

1

2020-11-17 23:51:21 92

原创 Java第四章_数组

数组基本概念及作用数组是相同数据类型元素的集合。数组本身是引用类型,即对象。可以存储基本数据类型和引用数据类型。数组是一种线性数据类型。jvm将数组存储在堆中。数组的创建声明的两种方式:​ 数据类型 [] 数组名字 int [] a;​ 数据类型 数组名字 [] int a [];两种声明方式没有区别,建议使用第一种,防止数据类型混淆。在内存空间中是连续的空间,为其中每个存储空间初始化值。java中的数组在创建时,必须要为其定义长度,长度定义后就不能修改。int

2020-11-17 14:54:27 103

原创 Java第三章_面向对象_关联和依赖

关联和依赖关联对象和对象之间的连接。在java中,关联关系的代码表现形式为一个类作为另一个类的属性类型存在。即"有"的关系:“has-a”关联关系分为:单向关联和双向关联关联关系的多重性一对一关联一对多关联:解决一对多关联的方案:集合,数组。依赖依赖关系:“use-a”指一个类A使用到了另一个类B依赖关系的特性这种关系是具有偶然性的,临时性的,非常弱的,但是类B的变化会影响到类A依赖的具体表现在代码层面,依赖关系表现为类B作为参数被类A在某个method方法中使用依赖和关联关

2020-10-28 17:49:58 964 3

原创 Java第三章_面向对象_继承

继承继承是面向对象程序设计不可缺少的设计思想,是实现代码可重用的根基,是提高代码可扩展性的主要途径。是一种is-a关系 xxx是xxxx 猫是动物,狗是动物继承是从已有的类中派生出新的类,新的类能吸收已有类的属性和行为,并能扩展新的能力。​ -在Java中使用extends关键字来表示继承关系。​ -Java不支持多继承,单继承使Java的继承关系很简单,一个类只能有一个直接父类。​ -继承之后子类可以调用父类的所有非私有属性和非私有方法。专业术语Dog类是 Animal类的子类, Anim

2020-10-28 17:38:13 144

原创 Java第三章_面向对象_封装和this关键字

封装​ 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。​ 好处: *隐藏类的实现细节​ *方便加入控制语句​ *只能通过规定方法访问​ *方便修改实现...

2020-10-23 23:57:08 673

原创 Java第三章_面向对象_包

包包的概念:物理上是文件夹用来管理类包的作用:避免类重名按照不同的功能管理类控制访问权限包的命名规范:在包名中,可以使用.号来区分包的级别;包名一般情况下是小写第一级 指该项目的类型,如com,org,gov等,第二级 指项目所开发或者运行的公司名称,如:oracle,sun,huawei等第三级 指项目的名称,如:bcms,oa,erp,cms等第四级 指项目模块的名称,如:bean,action,exception等包可以更好得管理逻辑相关的类,可以控制不同包之间的访问权限

2020-10-23 17:42:41 85

原创 Java第三章_面向对象_访问权限修饰符

访问权限修饰符Java语言有四个权限访问修饰符,权限从大到小依次为:1)public :公共权限 修饰类、属性、方法。可以被任意类访问2)protected:受保护的权限 修饰属性、方法。 可以被同包类访问,如果不是同包类,必须是该类的子类才可以访问。3)default:同包权限 修饰类、属性、方法。只能被同包的类访问4)private:私有权限 修饰属性、方法。 只能在本类中访问...

2020-10-23 16:27:28 190

原创 一些经典java习题

1.一只青蛙在一口11米深的井底向上爬,白天向上爬3米,晚上向下滑2米,总共需要几天可以爬出. public class Date_1015_1 { private int noon; public static void main(String[] args) { int height = 0; int day = 1; int noon = 3; int night = 2; while(height

2020-10-20 20:48:52 157

原创 Java 第三章 面向对象

面向过程:(缩写POP)分析出解决问题所需要的步骤,然后把步骤一步一步实现。注重于解决步骤​ 打开冰箱门();​ 装大象();​ 关闭冰箱门();面向对象:(缩写OOP)以分类的方式进行思考和解决问题,面向对象的思维方式适合于处理复杂的问题。面向对象的思想符合人类的认知习惯。宏观,整体上的设计。​ 门类​ 开门();​ 关门();​ 设计冰箱类​ 门类​ 人类​

2020-10-18 21:16:26 125

原创 Java 第二章 基本语法

第二章 基本语法IDEIDE 集成开发环境,是用于提供程序开发环境的应用程序,一般包括代码编辑器,编译器,调试器和图形用户界面等工具。常用的Java开发工具有:IntelliJ IDEA 捷克的一家公司 收费的Eclipse IBM公司开发的 现在捐给eclipse基金会注释1.对程序功能的说明2.以某种特定符号做标记3.程序在运行过程中不会执行注释Java语言有三种注释方式​ //… 单行注释​ /* … */ 多行注释​ /**​ *​ */ 文档注

2020-10-12 23:26:56 97 2

因特尔cpu官方XTU超频工具安装包

直接下载,方便快捷

2021-03-09

空空如也

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

TA关注的人

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