自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 初步搭建ssm项目(idea工具)

一 建立一个WEB项目,然后就是一些jar包的引入,如下图二 除了以上基本的spring jar包,还需要mybatis和spring整合包,数据库连接池以及springmvc,如下图 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.3.RELE

2021-12-27 17:28:51 419 1

原创 spring jdbc和mybatis对比

一 spring jdbc是通过JdbcTemplate这个类来实现增删改查操作。1.下面是一个例子的核心代码块首先是核心代码块applicationContext.xml的配置,用来链接数据库<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <!--数据库驱动--> <property name="drive

2021-12-12 23:43:40 2993

原创 初识spring

一.什么是springspring是以IOC(控制反转)和AOP为核心的框架。是企业Java web开发框架,用于解决企业复杂性问题。二.IOC和DI的区别先说说什么是IOC,IOC俗称控制反转,在传统编程中,获取对象的方式是通过new关键字来创建一个对象。而在spring框架中,通过IOC这个第三方容器来获取对象。应用程序在没有引入IOC容器之前,对象A依赖对象B,再对象A实例化或者运行到某一阶段时自己就必须主动创建对象B或者使用已经创建好的对象B, 无论哪种方式,控制权都在应用程序本身;有了IO

2021-12-08 18:17:06 377

原创 生产者消费者模型

这个模型主要体现了多线程里面的线程间的通信。生产者来生产产品,再通知消费者来进行消费,若容量满,就阻塞生产者线程。消费者来消费产品,如果没有产品,则消费者线程进入阻塞状态。有产品消费了后就通知生产者进行生产。生产者、消费者都是单独的线程,缓冲区是线程的共享空间,且该空间的访问是需要同步操作的下面是个对这个模型的图解代码实现如下:import java.util.LinkedList;import java.util.Random;/*生产者来生产产品,再通知消费者来进行消费,若容量满,

2021-03-22 15:59:41 182

原创 个人总结-----多线程

一 一些基本概念首先说一下并发和并行的区别并发就是多个线程使用统一资源,是单核cpu,比如只有一台电脑,多个人交替着玩并行是每个线程使用一个单独的cpu资源运行,是多核CPU,比如一人一台电脑,一起玩接下来说一下进程和线程之间的区别和联系进程是计算机正在进行的一个独立程序,是动态的。如果一个应用程序 (exe文件)没有运行,那就不是进程线程是组成进程的基本单位,有特定功能。区别: 从内存上说,进程是独立的,有自己的专属空间,而线程是在共享的空间。从安全方面说,进程是安全的一个进程崩溃不会

2021-03-20 19:47:04 122 4

原创 Mysql索引

索引的含义及其优缺点含义:索引时创建在表上的,是对数据库表中一列或多列数据排序的一种结构,可以提高查询的效率优点和缺点索引的优点是可以提高检索数据的速度,这是创建索引的最主要的原因:对于有依赖关系的子表和父表之间的联合查询时,可以提高查询速度;使用分组和排序子句进行数据查询时,同样可以显著节省查询中分组和排序的时间。索引的缺点是创建和维护索引需要耗费时间,耗费时间的数量随着数据量的增加而增加;索引需要占用物理空间,每一个索引要占一定的物理空间;增加、删除和修改数据时,要动态的维护索引,造成数据的维护

2020-12-27 12:38:31 62

原创 Queue(ArrayDeque/PriortyQueue)总结

ArrayDeque 循环数组增加方法add(E)/offer(E)删除方法remove()/poll()获取首元素 element()/peek()自定义ArrayDeque```java```javaclass MyArrayDeque<E>{ private E[] elements; private int head; //永远指向循环数组的头 private int tail;//永远指向循环数组的尾 private static

2020-10-06 18:31:44 159

原创 List(ArrayList/LinkedList/Vector)总结

ArrayList底层基于数组,数组在内存上是连续分配的地址空间,是对数组的升级,长度是动态的。自定义ArrayList:class MyArrayList<E>{ private E[] elements;//存放元素的容器 private int size; //实际的元素个数 private final static int defaultCapacity = 5; //默认的初始化参数 public MyArrayList(){ this

2020-10-06 12:52:56 144

原创 单例模式的初步

单例模式特点:1、单例类只能有一个实例。2、单例类必须自己自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。几种写法:第一种(懒汉,线程不安全):public class Singleton {private static Singleton instance;private Singleton (){}public static Singleton getInstance() {if (instance == null) {instance = new Singlet

2020-08-11 15:21:02 86

原创 泛型类泛型方法

泛型定义:操作的数据类型被指定为一个参数,将原来的具体数据数据类型参数化。泛型类:1.泛型参数必须是引用数据类型2.不能 new T[]例如可以 this.element=(T[])new Object [][]来强制转换3.不能 new T()4创建实例对象时忘写< T >默认为Object例如 MyArraylist myArraylist 相当于 myArraylist < object >泛型参数 只作用于编译期类型的推导,类型的安全检测运行期<

2020-08-11 15:06:41 182

原创 Java异常及处理方式,垃圾回收机制

Java异常所谓异常就是程序运行过程中发生的意外分为运行期异常和编译期异常异常的处理方式:try{可能发生异常的代码}catch(Exception e){ //不能过细划分异常,可以将关心的异常捕获e.printStackTrance();//对异常做出处理}捕获异常的顺序和catch语句的顺序有关,当捕获到一个异常时,剩下的catch语句就不在进行匹配,因此安排catch语句顺序时,首先应该捕获最特殊的异常。在try catch语句中,finally语句一定会被执行

2020-08-10 14:24:45 315

原创 类的加载过程

先提一下类的初始化顺序:静态变量,静态块,实例变量,实例块,构造方法。类的加载过程原理是在磁盘上写入Java源文件利用cmd中的Javac编译器转化为class字节码文件,再由(Java解释器)类加载器识别该字节码文件在JVM上。类的加载过程三大阶段:第一大阶段是装载阶段->类加载器启动类加载器 Boostrap ClassLoader扩展类加载器 Extensions ClassLoader应用类加载器 Application ClassLoader这三大类加载器依次是继承关系类

2020-06-08 21:20:26 130

原创 string类和基本数据类型的包装类

一.String类String 类构成final char[] ch; “hello”字符串拼接 +2.1)常量 + 常量 “1”+“2”编译器 优化 -> “12”2.2)变量+常量 String str=“1”; str+“2”; ->“12”StringBuilder s = new StringBuilder()s.append(“1”);s.append(“2”);String str = s.toString();StringBuilder S

2020-06-08 20:28:19 218

原创 类和对象

一.什么是类,什么是对象?对象是一种实体,两者一一对应。类是抽象的,类是一种抽象的数据类型,它是对所具有相同特征实体的抽象。比如类是一个图纸,对象就是用图纸构造的产物类与对象的关系:类是对象的集合,对象是类的实例。二.类和对象的三大特征:1.封装简单来说,就是把你不想让其他人知道的信息隐藏起来,不能直接访问,可以通过类的setter,getter方法来进行操作访问。2.继承就是父类(基类)子类(派生类)的关系,比如狗继承于动物,它就有动物的一些属性。java中的继承是单一继承,即一个类只

2020-05-29 15:48:19 118

原创 方法重写和方法重载

1.区别方法重写是子类对父类继承的方法需要进行进一步的扩大功能,重写是建立在继承关系上的。可以理解为子类覆盖了父类的方法(函数名相同,参数列表相同,返回类型相同,访问修饰符子类>=父类)如果子类将父类的方法重写了,调用时就是重写的方法,那么还想调用父类的方法,就需要super关键字,super关键字可以从子类访问父类中的内容,如果要访问被重写过的方法,使用“super.方法名(参数列表)”的形式调用。(方法重写的注解**@Override**)(同一个类)方法重载就是两个函数的函数名一样,但是参

2020-05-29 14:30:52 150

空空如也

空空如也

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

TA关注的人

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