自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring MVC框架 3

Spring MVCAjax研究Ajax简介前端模拟实现AjaxjQuery.ajaxSpring mvc实现优化注册提示效果拦截器Ajax研究Ajax简介AJAX :Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。在 2005 年,Google 通过其 Google Sug

2021-07-03 13:18:08 257 1

原创 Spring MVC 框架 2

Sping MVC 2整合SSM整合SSM

2021-07-03 13:17:34 251 2

原创 Spring MVC 框架 1

Spring MVC 1

2021-07-03 13:16:51 207 2

原创 Spring框架 2

Spring框架学习 2了解一下“代理模式”代理模式的分类静态代理了解一下“代理模式”为什么要学习代理模式,因为Spring AOP的底层机制就是动态代理!代理模式的分类代理模式就是创建一个代理对象,由代理对象来接管原对象的引用。静态代理动态代理上图通过“租房”的例子讲了一下代理模式的核心!详细内容参考这篇文章!静态代理...

2021-06-28 16:47:46 94

原创 Spring框架 1

Spring框架学习简介Spring开发文档链接简介Spring:使现有技术更加实用 。本身就是一个大杂烩 , 整合现有的框架技术!优点:1、Spring是一个开源免费的框架 (容器 )。2、Spring是一个轻量级的框架 , 非侵入式的 。3、控制反转 IoC , 面向切面 Aop。4、对事物的支持 ,对框架的支持。…一句话概括:Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架)。...

2021-06-26 17:59:27 192

原创 MyBatista框架

这里写目录标题 org.mybatis mybatis 3.5.2什么是持久层?完成持久化工作的代码块。数据持久化:持久化就是将程序的数据在持久状态和瞬时状态转化的过程为什么要持久化?有一些对象,不能够让它消失。为什么需要mybatis?因为传统的JDBC代码太复杂,简化其操作。帮助程序员将数据存入到数据库中,实现一种自动化数据存储的效应。...

2021-06-24 20:38:31 1101 11

原创 JAVA虚拟机JVM 4

JVM 4 内存分配和垃圾回收策略内存分配和垃圾回收策略对象优先在Eden中分配大对象直接进入老年代长期存活的对象将进入老年代动态对象年龄判断理解GC日志内存分配和垃圾回收策略Java技术体系的自动内存管理,最根本的目标是自动化地解决两个问题:自动给对象分配内存以及自动回收分配给对象的内存。对象的内存分配,从概念上讲,应该都是在堆上分配(而实际上也 有可能经过即时编译后被拆散为标量类型并间接地在栈上分配)。在经典分代的设计下,新生对象通常会分配在新生代中,少数情况下(例如对象大小超过一定阈值)也可能会直

2021-06-22 17:06:24 140

原创 JAVA虚拟机JVM 3

JVM 3 垃圾回收器垃圾回收器垃圾回收器介绍Serial收集器(新生代收集器,串行GC)ParNew收集器(新生代收集器,并行GC)Parallel Scavenge收集器(新生代收集器,并行GC)Serial Old收集器(老年代收集器,串行GC)Parallel Old收集器(老年代收集器,并行GC)CMS收集器(老年代收集器,并发GC)Garbage First 收集器(唯一的全区域的垃圾回收器)垃圾回收器垃圾回收器介绍如果说收集算法是内存回收的方法论,那垃圾收集器就是内存回收的实践者。《Ja

2021-06-22 16:40:32 142

原创 JAVA面向对象-----类加载机制

类加载机制类加载机制介绍类的加载过程加载什么时候会发生类初始化?类加载器的作用类加载机制介绍Java虛拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虛拟机的类加载机制。与那些在编译时需要进行连接的语言不同,在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略让Java语言进行提前编译会面临额外的困难,也会让类加载时稍微增加一些性能开销,但是却为Java应用提供了极高的扩展性和灵活性

2021-06-22 09:14:33 120

原创 JAVA虚拟机JVM 2

JVM 2 垃圾回收算法垃圾收集Garbage CollectionGC简介如何判断对象已“死”?引用计数算法可达性分析算法生存还是死亡?再谈引用回收方法区垃圾回收算法标记-清除算法(老年代)标记-复制算法(新生代)标记-整理算法(老年代)分代收集理论垃圾收集Garbage CollectionGC简介JAVA语言经过半个世纪的发展,今天的内存动态分配与内存回收技术已经相当成熟,一切看起来都进入了“自动化”时代,那为什么我们还要去了解垃圾收集和内存分配?答案很简单:当需要排查各种内存溢出、内存泄漏问题

2021-06-21 17:15:36 205

原创 JAVA虚拟机JVM 1

JVM 1初始JVMJAVA虚拟机简介了解Java程序的编译过程JAVA内存区域与内存溢出异常运行时数据区域内存溢出初始JVMJAVA虚拟机简介JAVA虚拟机:Java Virtual Machine,简称JVM。JVM可理解为是一台被定制过的现实当中不存在的计算机,模拟硬件执行字节码指令。虚拟机:指通过软件模拟的具有完整硬件功能的、运行在一个完全隔离的环境中的完整计算机系统。常见的虚拟机:JVM、VMwave、Virtual BoxJVM和其他两个虚拟机的区别:VMwave与Virtual

2021-06-21 17:05:14 145

原创 JAVA面向对象-----反射机制

JAVA Reflection 反射机制面试题:Java中创建对象大概有这几种方式?静态语言 / 动态语言什么是反射机制?反射机制的原理反射的优缺点反射的用途类的加载过程什么时候会发生类初始化?类加载器的作用JAVA中基本数据类型的Class是什么?反射机制常用的API反射机制获取类的方法通过反射获取运行时类的完整结构获取Class对象后能做什么?创建类的对象通过反射调用对象的方法通过反射操作属性反射操作泛型反射操作注解面试题:Java中创建对象大概有这几种方式?思考:在讲反射之前,先思考一个问题,ja

2021-06-17 17:24:37 912 8

原创 JAVA面向对象-----注解

JAVA的注解Annotation注解什么是注解?预置注解元注解注解的用处:注解的好处:注解的坏处:自定义注解第一步:定义注解第二步:配置注解第三步:解析注解Annotation注解什么是注解?注解:Annotation是从JDK5.0开始引入的新技术。可以将它理解成“元数据”,即一种描述数据的数据。所以,可以说注解就是源代码的元数据。比如,下面这段代码:@Overridepublic String toString() { return "This is String Represent

2021-06-16 10:46:40 169

原创 JAVA面向对象-----多线程 7

synchronized优化

2021-06-15 14:20:01 1188 1

原创 JAVA面向对象-----多线程 6

常见锁策略锁的类型悲观锁/乐观锁公平锁/非公平锁可重入锁独占锁/共享锁自旋锁面试题锁的类型悲观锁/乐观锁乐观锁乐观锁假设认为数据一般情况下不会产生并发冲突,所以在数据进行提交更新的时候,才会正式对数据是否产生并发冲突进行检测,如果发现并发冲突了,则让返回用户错误的信息,让用户决定如何去做。我们可以这样理解,乐观锁就是用乐观的心态看待线程安全(并发冲突)的问题,直接修改共享变量,基于某些机制,要么直接修改成功(没有冲突),要么修改失败(通过返回值可以知道,一般是boolean) 。不管成功还是失败,

2021-06-14 17:28:59 1274 1

原创 JAVA面向对象-----多线程 5

相关知识补充volatile关键字JAVA的内存模型volatile关键字通过“单例模式”了解禁止指令重排序volatile关键字JAVA的内存模型Java内存模型由Java虚拟机规范定义,用来屏蔽各个平台的硬件差异。简单总结成以下三点:所有变量储存在主内存。每条线程拥有自己的工作内存,其中保存了主内存中线程使用到的变量的副本。线程不能直接读写主内存中的变量,所有操作均在工作内存中完成。线程,主内存与工作内存的交互关系如下图所示:内存间的交互操作有很多,和volatile有关的操作有:

2021-06-09 18:46:51 155 1

原创 计算机网络 4

计算机网络-----TCP/IP协议族数据链路层基本知识MAC地址ARP协议ARP概要本文接着 计算机网络 3后面继续学习~~~数据链路层基本知识数据链路,指OSI参考模型中的数据链路层,有时也指以太网、无线局域网等通信手段。数据链路层的协议定义了通过通信媒介互连的设备之间传输的规范。通信媒介包括双绞线电缆、同轴电缆、光纤、电波以及红外线等介质。此外,各个设备之间有时也会通过交换机、网桥、中继器等中转数据。实际上,各个设备之间在数据传输时,数据链路层和物理层都是必不可少的。众所周知,计算机以二进

2021-06-05 14:11:26 267 1

原创 计算机网络 3

计算机网络-----TCP/IP协议族网络层本文接着 计算机网络 2 后面继续学习~~~网络层

2021-06-04 19:30:15 884 2

原创 计算机网络 2

计算机网络-----TCP/IP协议

2021-06-03 22:20:08 724 11

原创 计算机网络 1

计算机网络 1基础知识认识协议网络分层OSI七层模型TCP/IP五层四层模型网络传输基本流程网络传输流程图数据包分装和分用网络中的地址管理认识IP地址IP地址的结构IP地址的组成IP地址的分类认识MAC地址一个常见的面试题:浏览器输入一个URL后,接下来发生了什么事情???带着个这个问题,我们学习计算机网络知识~~~基础知识独立模式:计算机之间相互独立;网络互联:多台计算机连接在一起, 完成数据共享,通常使用集线器(HUB)就可以实现。局域网LAN:计算机数量更多了, 通过交换机和路由器连接

2021-06-01 17:49:51 272 4

转载 JAVA面向对象-----多线程 4

多线程 4JDK5.0新增线程创建方式实现Callable接口。使用线程池JDK5.0新增线程创建方式实现Callable接口。Callable 接口类似于 Runnable,两者都是为那些其实例可能被另一个线程执行的类设计的。但是 Runnable 不会返回结果,并且无法抛出经过检查的异常。●与使用Runnable相比,Callable功能 更强大些➢重写call()方法,相比run()方法, 可以有返回值➢方法可以抛出异常➢支持泛型的返回值➢需要借助FutureTask类, 比如获取返回

2021-05-21 21:40:24 64

原创 JAVA面向对象-----多线程 3

多线程 3线程的死锁问题什么是死锁?如何解决死锁?死锁演示同步锁Lock(锁)的概念代码演示synchronized 和 lock 的异同?练习线程的通信概述线程通信涉及的方法练习经典问题:生产者/消费者问题线程的死锁问题什么是死锁?不同的线程分别占用对方需要的同步资源不放弃,都在等待对方放弃自己需要的同步资源,就形成了线程的死锁;出现死锁后,不会出现异常,不会出现提示,只是所有的线程都处于阻塞状态,无法继续。如何解决死锁?➢ 专门的算法、原则➢ 尽量减少同步资源的定义➢ 尽量避免嵌套同步死

2021-05-19 21:43:49 116 4

原创 JAVA面向对象-----多线程 2

多线程 2线程的生命周期线程的5种状态线程的同步线程安全为什么会有线程安全问题?线程安全问题的解决方法线程的生命周期线程的5种状态要想实现多线程,必须在主线程中创建新的线程对象。Java语言使用Thread类及其子类的对象来表示线程,在它的一个完整的生命周期中通常要经历如下的五种状态:新建: 当一个Thread类或其 子类的对象被声明并创建时,新生的线程对象处于新建状态;就绪: 处于新建状态的线程被start()后,将进入线程队列等待CPU时间片,此时它已具备了运行的条件,只是没分配到CPU资源

2021-05-19 16:44:34 81 1

原创 JAVA面向对象-----多线程 1

多线程 1基本概念程序进程线程单核CPU / 多核CPU并行与并发多线程的优点何时需要多线程?线程的创建和使用Thread中的常用方法:方式一:继承Thread类步骤例1:遍历100以内的所有偶数。例2:创建两个分线程,分别遍历100以内的所有偶数和所有奇数。Thread的匿名子类方式二:实现Runnable接口步骤例1:创建三个窗口卖票,总票数100张。(方式一实现)例2:创建三个窗口卖票,总票数100张。(方式二实现)Thread的优先级线程的调度调度策略线程的优先级等级优先级分类涉及的方法说明基本概

2021-05-19 10:10:29 228 1

原创 计算机网络-----网络编程

网络编程网络基础1.什么是计算机网络?2.什么是网络编程?3.网络编程中的主要问题4.网络通信要素5.通信协议分层思想IP和端口号1. IP1.1定义1.2IP的分类2.端口号2.1定义2.2端口号的分类网络通信协议1.TCP/IP协议簇2.TCP 和 UDP3.实现TCP的网络编程例一、客户端发送信息给服务端,服务端接收信息打印在控制台。例二、客户端发送文件给服务端,服务端将文件保存到本地。例三、客户端给服务端发送文件,服务端保存文件到本地,并返回“发送成功”提示给客户端,最后关闭服务。4.实现UDP的网

2021-05-17 19:58:01 1347

原创 JAVA面向对象-----IO流(二)

JAVA中的IO流(二)JAVA中的IO流(一)OjectInputStream / ObjectOutputStreamJAVA中的IO流(一)OjectInputStream / ObjectOutputStream对象流:用于存储和读取基本数据类型数据或对象的处理流。它的强大之处就是可以把JAVA中的对象写入到数据源中,也能把对象从数据源中还原回来。序列化 :用ObjectOutputStream类保存基本类型数据或对象的机制。反序列化:用ObjectInputStream类读取基本类

2021-05-17 11:47:06 152

原创 JAVA面向对象-----IO流

I/O是Input/Output的缩写,I/O技术是非常实用的技术,用于处理设备之间的数据传输。如读/写文件,网络通讯等。这里的输入/输出都是相对的,所以我们一定要明确站位,我们编程中所讲到的输入/输出都是以“内存”的角度看来看的 ~ ~输入(Input):读取外部数据(磁盘,光盘等存储设备的数据)到程序中;输出(Output):将程序(内存)数据输出到磁盘,光盘等存储设备中。JAVA程序中对于数据的输入/输出操作以“流(stream)”的形式进行。流的分类:按操作数据单位不同分为 : 字节流

2021-05-15 20:00:13 229 1

原创 编程题练习2

1. 正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。输入描述:输入两个正整数A和B。输出描述:输出A和B的最小公倍数。示例:输入:5 7输出:35参考代码:import java.util.Scanner;//最小公倍数 = 两数之积除以最大公约数,这里使用碾转相除法进行最大公约数的求解:即a与b的最大公约数可以转化为a、b之间的余数为两者之间最小的数之间的公约数。// 所以对于输入的两个数进行连续求余,直到余数为0,求余

2021-05-03 22:38:26 233

原创 编程题练习1

1. 牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值aia_iai​。现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人。牛牛发现队伍的水平值等于该队伍队员中第二高水平值。例如:一个队伍三个队员的水平值分别是3,3,3.那么队伍的水平值是3;一个队伍三个队员的水平值分别是3,2,3.那么队伍的水平值是3;一个队伍三个队员的水平值分别是1,5,2.那么队伍的水平值是2。为了让比赛更有看点,牛牛想安排队伍使所有队伍的水平值总和最大。如样例所示:如果牛牛把6个队员划

2021-05-03 13:09:05 885 1

原创 MySQL数据库-----索引和事务

索引1.概念索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现。2 .作用数据库中的表、数据、索引之间的关系,类似于书架上的图书、书籍内容和书籍目录的关系。索引所起的作用类似书籍目录,可用于快速定位、检索数据。索引对于提高数据库的性能有很大的帮助。3.使用场景要考虑对数据库表的某列或某几列创建索引,需要考虑以下几点:数据量较大,且经常对这些列进行条件查询。该数据库表的插入操作,及对这些列的修改操作

2021-04-19 14:21:32 135

原创 MySQL数据库-----表的基本操作(进阶)

上一篇文章,我们学习了MySQL数据库中表的基本操作,那接下来,我们再深入了解一下表的进阶操作~~数据库约束约束类型NOT NULL - 指示某列不能存储 NULL 值。UNIQUE - 保证某列的每行必须有唯一的值。DEFAULT - 规定没有给列赋值时的默认值。PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参

2021-04-13 15:46:47 295

原创 MySQL数据库-----表的基本操作

在上一篇文章中,我们学会了MySQL数据库的基本使用,并完成了一个习题,成功创建了一个shoppingmall数据库以及在该数据库中创建了customer,goods和purchase三张表。说明:MySQL不严格要求大小写,故大小写命令均可实现!!!接下来,通过这三张表来学习一下,MySQL中表的增删改查(CRUD)基本操作~~注释:在SQL中可以使用**“ – 空格 + 描述 ”**来表示注释说明1.新增(Create)INSERT INTO table_name VALUES (value

2021-04-04 16:17:35 198

原创 MySQL数据库-----基础入门

概念什么是数据库?数据库是数据管理的有效技术,是由一批数据构成的有序集合,这些数据被存放在结构化的数据表里。数据表之间相互关联,反映客观事物间的本质联系。数据库能有效地帮助一个组织或企业科学地管理各类信息资源。数据库分类:数据库大体可以分为 关系型数据库 和 非关系型数据库。关系型数据库(RDBMS):是指采用了关系模型来组织数据的数据库。 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。基于标准的SQL,只是内部一些实现有区别。常用的关

2021-03-30 12:19:16 159

原创 JAVA版数据结构-----哈希表

哈希表1.概念哈希表是基于数组衍生出来的,哈希表高效的核心奥秘就是数组的随机访问能力~~结合我们之前所学的,我们知道在顺序结构以及平衡树中,元素关键码与其存储位置之间没有对应的关系,因此在查找一个元素时,必须要经过关键码的多次比较。顺序查找时间复杂度为O(N),平衡树中为树的高度,即O(log2Nlog_2 Nlog2​N),搜索的效率取决于搜索过程中元素的比较次数。理想的搜索方法: 可以不经过任何比较,一次直接从表中得到要搜索的元素。如果构造一种存储结构,通过某种函数(hashFunc)使元素

2021-03-28 20:08:11 143

原创 JAVA版数据结构-----二叉搜索树

搜索树

2021-03-28 16:09:38 180

原创 JAVA版数据结构-----Map和Set

一. Map和Set的概念1.什么是Map和Set ?Map和set是一种专门用来进行搜索的容器或者数据结构,其搜索的效率与其具体的实例化子类有关。Map和Set在Java标准库中的四种对应的类:TreeMap,TreeSet和HashMap,HashSet,其在实现过程中具体体现为 二叉搜索树 和 哈希表 !我们可以回顾一下我们已经掌握的常见的搜索方式有:直接遍历,时间复杂度为O(N),元素如果比较多效率会非常慢;二分查找,时间复杂度为O(log2N)O(log_2N)O(log2​N),但

2021-03-27 17:40:24 225

原创 JAVA版数据结构-----排序算法汇总详解

概念定义:排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。平时的上下文中,如果提到排序,通常指的是排升序(非降序)。通常意义上的排序,都是指的原地排序(in place sort),就是在原有数组的基础上进行排序,而不是创建一个新的数组!什么是稳定性?两个相等的数据,如果经过排序后,排序算法能保证其相对位置不发生变化,则我们称该算法是具备稳定性的排序算法。七大基于比较的排序接下来,我们依次详细介绍一下这些排序算法~~一.插入排序1. 直接插入排序算法

2021-03-26 12:41:32 449

原创 JAVA版数据结构-----优先级队列(堆)

概念1.定义:队列是一种 先进先出(FIFO) 的数据结构,但有些情况下,操作的数据可能带有优先级,一般出队列时,可能需要优先级高的元素先出队列,该中场景下,使用队列显然不合适,在这种情况下,我们的数据结构应该提供两个最基本的操作,一个是返回最高优先级对象,一个是添加新的对象。这种数据结构就是优先级队列(Priority Queue)。2.特性:Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue是线程不安全的

2021-03-22 22:43:04 364

原创 JAVA版数据结构-----二叉树

二叉树基本概念二叉树是n(n≥0)个结点的有限集合:① 或者为空二叉树,即n = 0。② 或者由一个根结点和两个互不相交的被称为根的左子树和右子树组成。左子树和右子树又分别是一棵二叉树。特点:①每个结点至多只有两棵子树 。②左右子树不能颠倒(二叉树是有序树)。二叉树的5种状态:特殊二叉树满二叉树: 一棵高度为h,且含有2h - 1个结点的二叉树。特点:①只有最后一层有叶子结点。②不存在度为 1 的结点。③按层序从 1 开始编号,结点 i 的左孩子为 2i,右孩子为 2i+1;

2021-03-15 16:16:19 135

原创 JAVA版数据结构-----树的基本概念

树树的特点:树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:a)空树-----节点数为0的树。b)有且仅有一个根节点。c)没有后继的结点称为“叶子结点”(或终端结点)。d)有后继的结点称为“分支结点”(或非终端结点。)e)除了根节点外,任何一个结点都有且仅有一个前驱。f)每个结点可以有0个或多个后继。g)树是一种递归定义的数据结构。树的基本概念:树是n(n

2021-03-15 16:15:57 315

空空如也

空空如也

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

TA关注的人

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