-
springmvc与ajax交互常见问题
所属栏目:[Java] 日期:2020-12-15 热度:158
这是我个人再编写博客系统的时候,因个人疏忽犯下的低级错误。 不过犯错是一件好事,有助于总结。 1.关于参数前加@RequestBody 如果是使用ajax交互时,必须要加上这个contentType: 'application/json;charset=utf-8' 否则会出现这个异常: 错误信息:org.spri[详细]
-
MyBatis原理简介和小试牛刀
所属栏目:[Java] 日期:2020-12-15 热度:179
在我看来mybatis的原理与hibernate在某些方面是一致的,先回顾一下Hibernate原理(原理主要上是要掌握并理解下列六个对象: Hibernate中重要的六个对象: Configuration:读取配置文件(主要指hibernate-config.xml)和启动hibernate SessionFactory:负责初始化H[详细]
-
SpringMVC+Swagger详细整合
所属栏目:[Java] 日期:2020-12-15 热度:186
一、新建maven工程导入正确的pom文件 还是那句话,包导入正确就成功了80%。剩下的20%慢慢攻克吧。 project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org[详细]
-
ssm框架整合+Ajax异步验证
所属栏目:[Java] 日期:2020-12-15 热度:115
SSM框架是目前企业比较常用的框架之一,它的灵活性、安全性相对于SSH有一定的优势。说到这,谈谈SSM和SSH的不同点,这也是企业常考初级程序员的面试题之一。说到这两套框架的不同,主要是持久层框架Hibernate和MyBatis的不同和控制层框架SpringMVC和Struts2的[详细]
-
Springboot入门程序
所属栏目:[Java] 日期:2020-12-15 热度:64
springboot简化之前的很多xml文件,不需要大量配置xml文件,没有很多xml文件是多么的愉快 下面进入正题,演示简单的入门程序,虽然简单,但足以振奋初学者们 我新建的工程名叫hello,大家可以参考 一、建立一个war工程,导入正确的依赖 project xmlns="http:[详细]
-
Java笔记:反射,注解
所属栏目:[Java] 日期:2020-12-15 热度:122
一、反射 1. 反射机制 反射机制的相关类除了一个java.lang.Class,其余都在java.lang.reflect包下。 反射机制用于读取class字节码文件,需要注意,JVM加载字节码到内存中时都只会保存一份,多次读取class文件时不用担心也会加载多次。 反射机制相关的常用类[详细]
-
Java笔记:Java面向对象
所属栏目:[Java] 日期:2020-12-15 热度:122
一、方法 1、概述 方法,也可以称之为函数,在其他语言中可能方法和函数的概念和语法是不同的,比如Python中的函数是可以在文件中独立定义并存在的,而方法则是在类之中定义的函数,但是在Java中,方法和函数都指的是同一个语法,都是一样的,既可以称它为方[详细]
-
Java笔记:IO流
所属栏目:[Java] 日期:2020-12-15 热度:145
1. IO流理解 IO流中的I是单词Input的缩写,表示输入或者读(Read),O是单词Output的缩写,表示输出或写(Write),输入输出或者读写都是相对于内存而言的,输入即从硬盘中读取数据到内存中,输出即将内存中的数据写入到硬盘。IO流就是输入和输出时的数据流[详细]
-
Java笔记:多线程
所属栏目:[Java] 日期:2020-12-15 热度:123
1.?Java线程理解 进程: 进程就相当于一个应用程序,而线程是进程中的执行场景或者说执行单元,一个进程可以启动多个线程。 线程并发: 对于电脑的CPU,例如4核的CPU,表示在同一个时间点上,可以真正做到有4个进程并发执行。而对于单核CPU,是不能做到真正[详细]
-
Java笔记:集合
所属栏目:[Java] 日期:2020-12-15 热度:113
集合是一种容器对象,是用来存储对象的,或者说存储的都是对象的引用,并不是直接存储的对象,而是存储的对象的内存地址。需要注意的是,集合中不能存储基本数据类型,即使是代码中往集合中添加了基本数据类型,那也是进行了自动装箱之后才放入集合的。 需要[详细]
-
Java笔记:数组,异常,泛型
所属栏目:[Java] 日期:2020-12-15 热度:120
一、数组 数组也是一种引用类型,其父类是Object,使用“数据类型[]”声明,如“int[] array”表示声明了一个元素类型为int类型的数组array。 数组初始化语法: // 静态初始化语法,即定义的时候就初始化好了所有的元素 int [] array1 = {100,55,30 }; 动态[详细]
-
Java笔记:常用类
所属栏目:[Java] 日期:2020-12-15 热度:122
Java中内置类及其方法的使用通常翻阅对应的API文档即可,但是对于常用的一些类和方法还是需要我们能够熟练的使用。 一、System System.gc(): 手动启动垃圾回收器,垃圾回收器通常是自动启动的,某些时候Java可能觉得当下的情况并不需要启动gc,但是你又想启[详细]
-
Java笔记:Java基础
所属栏目:[Java] 日期:2020-12-15 热度:104
一、Java概述 1、Java三大块(三个不同的版本) Java的三个版本Java ME、Java SE、Java EE,并不是分隔的单独的三大块,从学习的角度来说,它们的关系类似于基[详细]
-
HashMap 源码详细解析 (JDK1.8)
所属栏目:[Java] 日期:2020-12-15 热度:63
概要 HashMap 最早出现在 JDK 1.2 中,底层基于散列算法实现。HashMap 允许 null 键和 null 值,在计算哈键的哈希值时,null 键哈希值为 0。HashMap 并不保证键值对的顺序,这意味着在进行某些操作后,键值对的顺序可能会发生变化。另外,需要注意的是,Hash[详细]
-
Java 类加载机制详解 JVM基础系列第7讲:JVM 类加载
所属栏目:[Java] 日期:2020-12-15 热度:118
引子 Java 虚拟机的启动是通过引导类加载器 ( Bootstrap Class Loader ) 创建一个初始类? (Initial Class ) 来完成,这个类是由虚拟机的具体实现指定。紧接着,Java虚拟机链接这个初始类,初始化并调用它的 public void main(String[])方法。之后的整个执行[详细]
-
Java 线程基础知识
所属栏目:[Java] 日期:2020-12-15 热度:99
?前言 什么是线程?线程,有时被称为轻量进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程 ID,当前指令指针 (PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥[详细]
-
java 集合类基础问题汇总
所属栏目:[Java] 日期:2020-12-15 热度:61
?1、Java集合类框架的基本接口有哪些? 参考答案 集合类接口指定了一组叫做元素的对象。集合类接口的每一种具体的实现类都可以选择以它自己的方式对元素进行保存和排序。有的集合类允许重复的键,有些不允许。 Java集合类提供了一套设计良好的支持对一组对象[详细]
-
synchronized(this) 与synchronized(class) 之间的区别
所属栏目:[Java] 日期:2020-12-15 热度:189
? 一、概念 synchronized 是 Java 中的关键字,是利用锁的机制来实现同步的。 锁机制有如下两种特性: 互斥性:即在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程中的协调机制,这样在同一时间只有一个线程对需同步的代码块(复合操作)进[详细]
-
深入理解 Java —— GC 机制 Java 虚拟机结构JVM构架
所属栏目:[Java] 日期:2020-12-15 热度:96
1. 基础知识 1.1 什么是垃圾回收? 程序的运行必然需要申请内存资源,无效的对象资源如果不及时处理就会一直占有内存资源,最终将导致内存溢出,所以对内存资源的管理非常重要。 垃圾回收就是对这些无效资源的处理,是对内存资源的管理。 1.2 为什么要了解 G[详细]
-
java 泛型基础问题汇总
所属栏目:[Java] 日期:2020-12-15 热度:68
?泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。 在Java SE 1.5之前,没有泛型的[详细]
-
PriorityQueue 源码分析
所属栏目:[Java] 日期:2020-12-15 热度:110
概论 PriorityQueue 类在 Java1.5 中引入并作为 Java Collections Framework 的一部分。PriorityQueue 是基于优先堆的一个无界队列,这个优先队列中的元素可以默认自然排序或者通过提供的 Comparator(比较器)在队列实例化的时排序。 优先队列不允许空值,[详细]
-
Java 虚拟机结构
所属栏目:[Java] 日期:2020-12-15 热度:67
一 数据类型 与 Java 程序语言中的数据类型相似,Java 虚拟机可以操作的数据类型可分为两类:原始类型(Primitive Types,也经常翻译为原生类型或者基本类型)和引用类型(Reference Types)。 与之对应,也存在有原始值(Primitive Values)和引用值(Refer[详细]
-
深入理解 Java 动态代理机制 java的动态代理机制详解
所属栏目:[Java] 日期:2020-12-15 热度:97
Java 有两种代理方式,一种是静态代理,另一种是动态代理。对于静态代理,其实就是通过依赖注入,对对象进行封装,不让外部知道实现的细节。很多 API 就是通过这种形式来封装的。 代理模式结构图(图片来自《大话设计模式》) 下面看下两者在概念上的解释:[详细]
-
代码重构的一些感想
所属栏目:[Java] 日期:2020-12-15 热度:144
最近公司再搞中台化,自己有幸参与其中一个项目的重构,从中学到很多,也有很多感受。 ? 1、准备工作 作为程序猿,重构代码是很常见的一件事。重构代码的目的都是为了让代码更好地适应后续的发展和变化。 当你打算重构代码的时候,你先思考下,你为啥要重构[详细]
-
ThreadPoolExcutor 原理探究 透过 ReentrantLock 分
所属栏目:[Java] 日期:2020-12-15 热度:59
概论 线程池(英语:thread pool):一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核[详细]