- 博客(72)
- 收藏
- 关注
原创 Mybatis和Spring的初步整合
Mybatis和Spring的初步整合 下载MyBatis与Spring整合jar包:点击 创建一个Java工程,导入相应jar包并为该工程创建Spring配置文件: 3. 各文件源码如下: 4. application的部分配置文件如下 <bean class="com.zaxxer.hikari.HikariDataSource" id ="dataSource" destroy...
2019-07-23 22:30:35
269
原创 初始Mybatis之工程搭建
什么是Mybatis? 简介:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。[贴个官网][...
2019-07-23 21:48:43
289
原创 确定Java程序中哪个线程最耗CPU资源的方法
Window操作系统 执行如下程序 public class Test { public static void main(String[] args) { new Thread(new Task()).start(); } static class Task implements Runnable { @Override public void run() { ...
2019-07-21 18:14:19
803
原创 JVM内存监管工具之jmap使用详解
文章目录jmap jmap 作用:监控内存的java对象。 语法:jmap [option] 说明: option:命令选项,常用选项如下: -heap 打印Java堆概要信息,包括使用的GC算法、堆配置参数和各代中堆内存使用情况; -histo[:live] 打印Java堆中对象直方图,通过该图可以获取每个class的对象数目,占用内存大小和类全名信息,带上:live,则只统计活着...
2019-07-21 17:38:17
1147
原创 详解AOP的实现(五种增强方式)及执行流程
文章目录AOP的简单介绍建立AOP实例工程工程结构如下图所示代码注解释义application.xml配置文件释义AOP 的执行流程 AOP的简单介绍 AOP(Aspect Oriented Programming 面向切面编程)是一种通过运行期动态代理实现代码复用的机制,是对传统OOP(Object Oriented Programming,面向对象编程 )的补充。目前,Aspectj是Java...
2019-07-16 17:01:55
3613
原创 JVM中堆的简介
一:基本概念 Java 中的堆是 JVM 管理的最大的一块内存空间,主要用于存放Java类的实例对象,其被划分为两个不同的区域:新生代 ( Young )和老年代 ( Old ),其中新生代 ( Young )又被划分为:Eden、From Survivor和To Survivor三个区域,如下图所示: jdk7及以前版本 jdk8及以后版本 二:堆的各个区域 堆大小 = 新生代( Young...
2019-07-15 18:25:09
807
1
原创 SpringMVC之事务详解
一. Spring实现事务管理的两种方式: 1. 编程式事务管理: 将事务管理代码嵌入到业务方法中来控制事务的提交和回滚,在编程式管理事务中,必须在每个事务操作中包含额外的事务管理代码。 2. 声明式事务管理(推荐): 大多数情况下比编程式事务管理更好用,它将事务管理代码从业务方法中分离出来,以声明的方式来实现事务管理,Spring声明式事务管理建立在AOP基础之上,是一个典型的横切关注点,通过环...
2019-07-15 18:22:46
8432
原创 通过源码及代理动态类的源码来分析Java动态代理(jdk和cglib动态代理)
文章目录一:Java动态代理的定义二:建立示例工程如下三:通过源码分析执行过程四:工程的执行结果如下: 一:Java动态代理的定义 释义:简单的说Java的动态代理即为:代理对象 = 增强代码 + 目标对象(原对象)(类似实现了Python中装饰器的作用) 代理的意义:通过代理实现一系列相似操作,解决代码的臃肿问题(类似于现实生活中的中间商,为每一个买家收集好数据) 动态的释义:即该类是在代码执...
2019-07-15 13:58:11
487
原创 使用最新版的mysql8.0版,报MySQL 8.0 - Client does not support authentication protocol requested by server;错误
问题报错; MySQL 8.0 - Client does not support authentication protocol requested by server; consider upgrading MySQL client 解决方法如下: (1):在MYSQL Workbench的query中输入以下语句 ALTER USER ‘root’@‘localhost’ IDENTIFIE...
2019-05-21 10:49:14
424
原创 小白也能读懂的Spring框架(四)-调用构造方法
文章目录一:建立项目1 . 建立如图所示的项目结构2.新建文件夹lib并拷贝jar包,然后选中所拷jar包->右键->Build Path->点击Add to二:各种构造方法的调用1. 无参构造方法的调用2.含有基本数据类型和String类型的构造方法的调用3.含有引用类型的构造方法的调用4.含有list列表或Set集合的构造方法的调用1. 含有基本数据类性(String类型一样...
2019-05-12 10:39:59
550
原创 Java入门之内部类
1.有名内部类 1)内部类定义:内部类是指在一个外部类内定义的类。 2)有名内部类:即该内部类有类名。 3)作用范围:全局有名内部类的使用方式类似于全局变量;局部有名内部类的使用方式类似局部变量——它们都有固定的使用范围。 public class Body { public class Heart{//内部类的定义,类似于外部变量。 public void beat() { Syst...
2019-05-05 12:59:50
342
4
原创 Servlet生命周期详解
1. Servert和Servlet容器 1、用户/客户端只能向服务器请求静态网页。如果用户想要根据自己的输入来读取网页,这种方式就不能满足用户的要求。 2、Servlet是服务器端的Java应用程序,可以产生动态Web页面。 3. Servlet容器就是用来装Servlet的。 其基本思想是在服务器端使用Java来动态生成网页。因此,Servlet容器是Web服务器和servlet进行交互的必...
2019-05-04 23:09:52
1424
原创 小白也能学会的SpringMVC(三)SpringMVC框架的搭建
三:搭建SpringMVC的框架 1. 建立Java web 项目,版本号选择2.5. 2. 删除src ,右键选择Source Folder,创建名为src/test/java、src/test/resource、src/main/java、src/main/resourse的文件夹。 3. 考入如图所示的jar包 4. 在web.xml中创建Spring容器并添加对象,代码如下: <?...
2019-05-04 22:26:18
389
原创 小白也能读懂的SpringMVC(二)创建第一程序
二:用Spring创建的第一个程序 a、创建一个普通Java的工程; b、向工程中添加如下jar包; ①、创建lib文件夹,将如下jar包拷贝到该文件夹中 ②、由于是Java工程,所以为了使这些jar包起作用需要先选择这些jar包——>鼠标右键点击Build Path——>Add to Build Path;如果是Java Web工程只需将这些jar包拷贝到WEB-INF中lib文件...
2019-05-04 20:35:17
180
原创 小白也能读懂的SpringMVC(一)Spring Tool Suite的安装
一:Spring Tool Suite的安装(ecplise为您的IDE) 首先查看您的ecplise版本号(Spring插件是和ecplise版本号相对应的),在help->about ecplise中可以查看您的ecplise的版本号。 访问Spring官网,下载与您ecplise相对应的Spring Tool Suite工具。 注:下载的压缩包不需要解压 插件的正式安装步骤如...
2019-05-04 20:26:19
310
原创 Java入门之线程--基本概念和运用
线程与进程的基本概念 进程:进程(process)指一个程序的一次执行过程。 线程:线程(thread)又称为轻量级进程,线程是一个程序中实现单一功能的一个指令序列,是一个程序的单个执行流,存在于进程中,是一个进程的一部分。 线程与进程的异同: 一个进程可以包含多个线程,而一个线程必须在一个进程之内运行;同一进程中的多个线程之间采用抢占式独立运行。 线程有独立的执行堆栈、程序计数器和局部变量;...
2019-03-19 09:21:38
187
原创 Java入门之JDBC--properties文件(mysql数据库)
properties配置文件 为了后期便于配置管理软件,常将诸如数据库连接配置(url、用户名和密码)、上传文件保存路径等配置信息写在properties文件中。 用法:在src根目录创建properties类型文件。 例如: //jdbc文档内容如下: jdbc.username=root jdbc.password=root jdbc.driverClass=com.mysql.jdbc.Dr...
2019-03-16 11:18:59
666
原创 Java入门之JDBC--sql注入(mysql数据库)
sql注入 注入的解释:通过将恶意SQL语句插入到特定SQL语句内,使特定SQL语句发生变化,最终达到欺骗数据库服务器使之执行恶意的SQL命令的一种方法。 例如如下代码: try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } Conn...
2019-03-16 11:02:00
850
原创 Java入门之JDBC--批处理(mysql)
Mysql中的事件(批处理) create table account( id char(36) primary key, card_id varchar(20) unique, name varchar(8) not null, money float(10,2) default 0 ) set autocommit(false);//取消自动提交 insert into acc...
2019-03-16 10:51:47
680
原创 Java入门之JDBC一基础操作(mysql数据库)
1.JDBC的基础知识 定义:JDBC全称为Java Database Connectivity,是一种借助Java语言实现数据库连接的技术。 JDBC的步骤: 方法一: 加载驱动程序 获取数据库连接 创建statement实例 package rejdbc; import java.sql.Connection; import java.sql.DriverManager; impo...
2019-03-16 10:30:02
236
原创 Mysql入门之字段类型
1. 整数类型 tinyInt:很小的整数。 smallint:小的整数。 mediumint:中等大小的整数。 int(integer):普通大小的整数。 2. 小数类型 float(m,d):单精度浮点数,m表示数字长度,d表示小数位数,例如float(5,2)最大值999.99。 double(m,d):双精度浮点数。 decimal(m,d):压缩严格的定点数。 3.日期类型 y...
2019-03-03 21:12:58
198
原创 Mysql入门之简介
1. 数据库概述 定义:数据库是存储数据的仓库,本质是一个文件系统,数据按照特定的格式将数据存储起来,用户通过SQL语句对数据库中数据进行增加、删除、修改和查询等操作。 数据库管理系统(DataBase Management System,简称DBMS):一种操作盒管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访...
2019-03-03 20:55:17
398
原创 java入门之IO流——流
1. IO流 释义:I是指Input(输入),O是指Output(输出)。 来源:在Java中,文件的输入和输出是通过流(Stream)来实现的,流的概念源于Unix中管道(pipe)的概念。在Unix系统中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等。 特点:一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是Intern...
2019-03-03 15:31:14
234
原创 Java入门之IO流——File类
1. File类的构造方法 构造方法如下表: //代码1: import java.io.File; public class Test { public static void main(String[] args) { File file = new File("C:\\Windows\\System32"); String path = file.getAbsolutePath(...
2019-02-28 20:26:51
228
原创 Java入门之反射
1. 反射的基础知识 定义:Java反射(Reflection)是一种新的操作类中成员变量、构造方法和普通方法的机制,为了实现对成员变量、构造方法和普通方法的操作,我们需要借助Java自身提供的java.lang包下的Class类和java.lang.reflect包下的反射API。 class类:Class类是Java 反射机制的入口,封装了一个类或接口的运行时信息,通过调用Class类的方法...
2019-02-28 19:47:15
191
原创 Java入门之自动拆装箱
基本定义 作用:自动拆箱和装箱是从JDK5.0才开始有的,它方便了基本数据类型和其对应的包装类型之间的转换。 定义:将一个基本数据类型的值赋给其所对应的包装类型称之为自动装箱;将一个基本数据类型包装类类型的值赋给其所对应的基本数据类型称之为自动拆箱。 public class Test { public static void main(String[] args) { Integer...
2019-02-19 14:48:23
199
原创 Java集合之工具类(重写compare()方法)
Collections类 常用方法 max(Collection &lt;? extends T&gt; coll):根据元素的自然顺序,返回给定集合元素中的最大元素 min(Cssollection &lt;? extends T&gt; coll):根据元素的自然顺序,返回给定集合元素中的最小元素 sort(List list) :根据元素的自然顺序对指定列表按升序进行排序。列表中的所有元素...
2019-02-19 14:10:02
5283
原创 Java集合之Map集合
概述 Map集合基于 键(key)/值(value)映射。每个键最多只能映射一个值。键可以是任何引用数据类型的值,不可重复;值可以是任何引用数据类型的值,可以重复;键值对存放无序。 Map常用实现类: HashMap:允许使用 null 值和 null 键;此类不保证映射的顺序;在多线程操作下不安全 LinkedHashMap:基于哈希表和链接列表的实现类;具有可预知的迭代顺序(双重链接表的...
2019-02-17 21:03:43
194
原创 Java入门集合之Set集合(重写equals()和hashcode()方法)
概述 Set接口继承Collection Set接口常用实现类 HashSet 实现了 Set 接口 “它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变”(存入该实现类对象中的元素是无序的,即在遍历该集合元素时,遍历出的元素顺序未必和向集合中添加元素的顺序一致;这次遍历出来的顺序未必和上一次遍历出来的元素顺序一致) 允许使用 null 元素 LinkedHashSet HashSe...
2019-02-17 20:31:21
10090
原创 Java入门之集合List接口(重写equals方法)
一、概述 List接口继承Collection接口; 该接口属于数据接口中的线性结构,用户可以根据元素的整数索引来访问元素; 二、list接口实现类 ArrayList(数组线性表) List 接口的实现类。其内部基于一个大小可变数组来存储 允许存储 null 元素 LinkedList(双向链表) List 接口的链接列表实现类 允许存储 null 元素 Vector(向量) ...
2019-02-17 19:24:55
1968
原创 Java入门之集合框架
定义:集合又称为容器,用于存储、提取、删除数据。JDK提供的集合API都包含java.util 包内。 分类:集合框架两大分支:Collection接口和Map接口 Collection集合图解 其中ArrayIist和Vector实现了List接口,HashSet和LinkedHashSet实现了Set接口。 Map集合图解 HashMap和LinkedHashMap实现了Map...
2019-02-15 09:36:12
200
原创 Java入门之log4j的使用
注本博客在编写时,参考了不动声色的蜗牛的博客,现一并将其链接贴在下面博客地址 log4j的简介 Log4j是Apache的一个开源项目,通过使用Log4j,可以控制日志信息格式及其输送目的地(控制台、文件、数据库等),方便后期查找系统运行期间出现的问题,进而便于维护系统。 配置log4j 第一步:导入log4j-1.2.15.jar依赖包; 工程示例图如下: 第二步:在src根目录下创建名为l...
2018-10-27 10:14:04
518
原创 Java入门之代码调试(ecplise工具)
ecplise中调试快捷键 Eclipse开发工具中F5、F6、F7和F8 四个快捷键能辅助我们很好地进行代码的调试,各快捷键的作用如下: F5:跳入方法; F6:向下逐行调试; F7:跳出方法; F8:直接跳转到下一个断点; Eclipse开发工具中F5、F6、F7和F8 四个快捷键对代码的调试实质是人为地控制代码的运行过程。 注:某些电脑的快捷键需要按着fn键,才可以启动这些快捷键 ...
2018-10-27 09:01:56
488
原创 Java入门之异常的处理
1.异常的定义 1.定义:Java语言将程序运行过程中所发生的不正常严重错误称为异常,对异常的处理称为异常处理。 2.特点:它会中断正在运行的程序,正因为如此异常处理是程序设计中一个非常重要的方面,也是程序设计的一大难点。 2.异常的分类 分类:异常分为error(错误类,该类通常不需程序员解决)和Exception(异常,这是程序员编程的错误,需要程序员自己解决)。 Exception的分类:分...
2018-10-27 08:57:01
247
原创 Java入门之Lambda表达式
1.基本知识 语法:Java支持Lambda 表达式始于Java 8,它的出现简化了***函数式接口匿名内部类***的语法,其表达式语法如下:([参数1], [参数2], [参数3],… [参数n])->{代码块} interface IUtil{ abstract void iterae(String [] dates); } interface IAdd{ static void...
2018-10-13 10:18:07
231
原创 Java入门之instenceof 运算符
instenceof的语法 1)定义:instanceof运算符用于判断该运算符前面引用类型变量指向的对象是否是后面类,或者其子类、接口实现类创建的对象。如果是则返回true,否则返回false。 2)用法:引用类型变量 instanceof (类、抽象类或接口)。 @FunctionalInterface public interface IMammal{ //jdk8及以上的特性 //1、...
2018-09-23 16:22:32
2622
原创 Java入门之函数式接口
1.函数式接口定义 1.定义:如果接口内只定义一个抽象方法,则该接口称为函数式接口。 2.判别:可以使用@FunctionalInterface 注解来验证一个接口是不是函数式接口,Java8中java.lang.Runnable、java.util.Comparator都是函数式接口。 3.特点:函数式接口中可以定义多个常量、多个默认方法和多个静态方法,但只能定义一个抽象方法及多个java.la...
2018-09-23 16:04:52
193
原创 Java入门之接口
1.接口的基本知识 1.接口的定义:Java接口是抽象方法的集合。 2.接口的基本语法: 访问权限控制符 interface 接口名 [extends 接口列表] { 常量; 抽象方法; 内部类; } public interface IIMammal { double PI =3.14; void eat(); } 2.接口的特点 1.接口内只能包含抽象类,静态常量(public sta...
2018-09-23 12:08:21
314
原创 Java入门之抽象类
1.抽象类的基本定义 1.抽象类:abstract修饰的类称为做抽象类; 2.抽象方法abstract修饰的方法叫做抽象方法,抽象方法只有声明部分,而没有具体的方法体。 3.abstract关键字:abstract可以修饰类和方法。 2.抽象类的特点 1)一个abstract类只关心它的子类是否具有某种功能,并不关心其自身功能的具体行为,功能的具体行为由子类负责实现。 2)抽象类不能直接被实例化,...
2018-09-23 10:20:20
154
原创 Ubuntu18.04平台下用GitHub搭建个人博客(含域名绑定和更换主题)
#1.hexo简介 Hexo 是一个博客框架,用来生成静态网页。 #2.安装git $ sudo apt-get install git-core #3.安装Node.js 1)安装nvm(用来安装Node.js) 安装依赖包 $ sudo apt-get update $ sudo apt-get install build-essential libssl-dev 第一种方式,根据curl...
2018-09-22 22:45:03
1724
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅