自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (17)
  • 收藏
  • 关注

原创 Java核心技术--枚举类与泛型篇

7. 枚举类型与泛型7.1 枚举类概述枚举是一个特殊的类,一般表示一组常量; 枚举类使用 enum 关键字来定义,各个常量使用逗号 , 来分割。7.2 传统自定义类实现枚举类/** * 传统的自定义枚举类 * 枚举类:对象是有限个,并且是确定的 */public class TraditionEnum { public static void main(String[] args) { LoginMessage1 success = LoginMessage1.SUC

2020-07-27 17:48:25 536

原创 彻底弄懂Java中的日期时间类(JDK1.7之前、JDK1.8新增)

7.1 日期时间类(1.7之前)7.1.1 Date类Date表示当前时刻常见的构造方法:返回值方法含义Datenew Date()获取当前时间的Date对象Datenew Date(long date)使用指定的毫秒值来获取相对应的Date对象(从1970年1月1日00:00:00 GMT 开始算)public class DateTimeTest { public static void main(String[] args) {

2020-07-27 17:43:20 1026

原创 Java基础知识合集

1. 初识Java1.1 Java跨平台原理Java源程序(.java)首先编译成与平台无关的字节码文件(.class),然后字节码文件再解释成机器码运行,解释是通过Java虚拟机来执行的。字节码文件不面向任何具体平台,只面向虚拟机,不同平台的虚拟机是不同的,但它们都提供了相同的接口,Java语言具有一次编译,到处运行的特点,就是说编译后的.class可以跨平台运行,前提是该平台具有相应的Java虚拟机。1.2 JVM、JRE、JDKJVM:Java Virtual Machine(Java虚拟机

2020-07-27 17:38:45 259

原创 一文彻底领悟Lambda表达式

1.1 Lambda表达式1.1.1 函数式编程思想面向对象的思想:做一件事情,找一个能解决这个事情的对象,调用对象的方法,完成事情.函数式编程思想:只要能获取到结果,谁去做的,怎么做的都不重要,重视的是结果,不重视过程函数式思想尽量忽略面向对象的复杂语法——强调做什么,而不是以什么形式做1.1.2 Lambda表达式的引入传统实现线程的方式:要启动一个线程,需要创建一个Thread类的对象并调用start方法。而为了指定线程执行的内容,需要调用Thread类的构造方法;为了获取Runnable

2020-07-27 17:34:16 155

原创 Java核心技术--多线程篇

4. 多线程4.1 概述4.1.1 线程和进程进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、运行到消亡的过程。线程: 线程是进程中的一个执行单元,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程4.2 实现多线程的三种方式4.2.1 继承Th

2020-07-27 17:30:38 176

原创 Java核心技术--反射注解篇

5. 反射5.1 概述反射机制:在程序运行过程中,对于任何一个类都能获取到它的属性和方法,并且对于任何一个对象都能调用它的任意一个方法,这种动态的获取信息以及动态的调用对象方法的功能就称为反射机制。5.2 获取Class对象的三种方式首先看看Java代码在计算机中经历的三个阶段:由上可知:获取Class对象的三种方式分别对应Java代码在计算机中的三个阶段5.2.1 Class.forName(“全类名”)将字节码文件加载进内存,返回Class对象;多用于配置文件,将类名定义在配置文件中。读

2020-07-18 17:48:37 229

原创 Java核心技术--集合篇

1. 集合集合与数组的区别:集合数组长度可变固定存储的数据类型对象的引用基本数据类型整个集合类的体系结构(简略):1.1 CollectionCollection接口的常用方法:返回值类型方法含义booleanadd(E e)将指定的对象添加到集合中booleanremove(Obiect o)将指定的对象从集合中删除intsize()返回此集合中的元素数booleanisEmpty()判断集合

2020-07-18 17:45:23 459

原创 JPA & Spring Data JPA详解

JPA & Spring Data JPA一、JPA1. JPA是什么JPA(Java Persistence API)Java持久化 API,是一套基于ORM思想的规范。ORM(Object Relational Mapping)对象关系映射。实现了实体类对象和数据库中表的一个映射关系。我们可以通过操作实体类对象(JavaBean)来操作数据库表,从而实现数据库的CRUD操作并且不需要去重点关注SQL语句。ORM主要涉及到两个映射关系:1、实体类和表的映射关系;2、实体类中的属性和表中的字

2020-07-07 14:06:57 3690

原创 JVM内存结构之浅析常量池、运行时常量池、StringTable

介绍前先放一张JVM的内存结构1.6和1.8版本的各组成部分存放位置的模型图注:以下的分析都是以jdk1.8版本为例一、常量池、运行时常量池、字符串池1、常量池:就是一张表,虚拟机指令根据这张常量表找到要执行的类名、方法名、参数类型、字面量等信息,我们可以通过Javap -v 类名.class 指令反编译一个简单的程序看到如下的常量池信息2、运行时常量池:常量...

2020-04-07 11:33:27 1678 6

原创 SpringBoot 2.x 版本 嵌入式Servlet容器自动配置原理以及启动原理(超详细)

一、版本说明:Spring Boot 2.x 版本的嵌入式Servlet容器自动配置是通过WebServerFactoryCustomizer定制器 来定制的,而在Spring Boot 1.x 版本中我们是通过EmbeddedServletContainerCustomizer嵌入式的Servlet容器定制器来定制的。由于之前看的资料都是1.x的版本,但是我使用的是2.x,所以在这里记...

2020-04-05 19:27:52 1363 3

原创 Mysql数据库基础知识(五)之:视图、变量、存储过程、函数、流程控制结构

一、视图含义:虚拟表,只存储了sql逻辑,没有存储数据,和普通表一样使用mysql5.1版本出现的新特性,是通过表动态生成的数据 创建语法的关键字 是否实际占用物理空间 使用表 create table 保存了数据 增删改查视图 creat...

2020-03-26 13:37:38 290

原创 约瑟夫问题

1.问题描述约瑟夫环问题的基本描述如下:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,要求找到最后一个出列的人或者模拟这个过程。2.实现代码 public static void yuesefu(int totalNum,int countNum){...

2020-03-16 15:58:29 124

原创 LeetCode算法之 第一个只出现一次的字符

一、问题描述:在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。示例:s = "abaccdeff"返回 "b"s = "" 返回 " "二、解决思路:1、LinkHashMappublic char firstUniqChar(String str) { if (str == null || str.equals("")){ ...

2020-03-15 16:20:05 219

原创 常用的排序算法

排序算法归总:一、冒泡排序/** * 冒泡排序 * 时间复杂度:与数组的初始序列相关 * 平均时间复杂度:O(n^2) 空间复杂度:O(1) 稳定 * 最好:O(n) * 最差:O(n^2) */ public static void maoPaoSort(int[] nums){ for(int i...

2020-03-06 21:55:30 135

原创 LeetCode 字节跳动(ByteDance)企业题库算法之----整数反转

一、问题概述给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−2^31, 2^31− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。示例:示例1:输入: 123输出: 321示例2:输入: -123输出: -321二、解决办法:class Solu...

2020-02-28 17:12:00 719

原创 LeetCode 字节跳动(ByteDance)企业题库算法之----有效的括号

一、题目概述给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例:示例1:输入: "()"输出: true示例2:输入: "()[]{}"输出: true示例3:输入: "([)]"输出: fa...

2020-02-28 14:47:19 305

原创 Mysql数据库基础知识(四)之:库表的管理、数据类型、约束

一、DDL:数据定义语言库和表的管理一、库的管理创建、修改、删除二、表的管理创建、修改、删除创建: create修改: alter删除: drop#一、库的管理#1、库的创建语法:create database [if not exists] 库名;#案例:创建库BooksCREATE DATABASE IF NOT EXISTS books ;#2、库...

2020-02-27 23:12:25 339

原创 LeetCode 字节跳动(ByteDance)企业题库算法之----无重复字符的最长子串

一、题目概述给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例:示例1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。二、解决方法双指针法class Solution {...

2020-02-27 19:52:11 371

原创 Mysql数据库基础知识(三)之:数据的增删改

三、DML(Data Manipulation Language): 数据操纵语言对表中的数据的增删改#一、数据 的插入语法:插入单行: insert into 表名(字段名1,字段名2 ,...) values (值1,值2,...);插入多行: insert into 表名(字段名1,字段名2 ,...) values (值1,值2,...),(值1,值2...

2020-02-26 18:41:27 236

原创 LeetCode 字节跳动(ByteDance)企业题库算法之----买股票的最佳时机

一、问题概述给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例:示例1:输入: [7,1,5,3,6,4]输出: 5解释: 在第2天(股票价格= 1)的时候买入,在第5天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = ...

2020-02-26 18:38:51 644

原创 LeetCode 字节跳动(ByteDance)企业题库算法之----三数之和

一、问题简述给定一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]...

2020-02-26 16:22:53 246

原创 LeetCode 字节跳动(ByteDance)企业题库算法之----最大子序列和

一、问题阐述给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。二、解决方案1、暴力法 :两次for循环时间复杂度:O(n²)class Solution { public ...

2020-02-25 16:23:01 848

原创 LeetCode 字节跳动(ByteDance)企业题库算法之----两数相加

一、问题概述给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -&...

2020-02-25 15:57:24 271

原创 LeetCode 字节跳动(ByteDance)企业题库算法之-----删除排序数组中的重复项

一、题目概述给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例:示例1给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面...

2020-02-25 12:49:57 288

原创 LeetCode 字节跳动(ByteDance)企业题库算法之-----合并两个有序数组

一、题目简述给定两个有序整数数组nums1和nums2,将nums2合并到nums1中,使得num1成为一个有序数组。说明:初始化nums1 和 nums2 的元素数量分别为m 和 n。你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = ...

2020-02-25 12:44:02 242

原创 Mysql数据库基础知识(二)之 连接查询----子查询-----分页查询------union联合查询

7、连接查询说明:又称多表查询,当查询语句涉及到的字段来自于多个表时,就会用到连接查询分类: 内连接: 等值连接 非等值连接 自连接 外连接: 左外连接 右外连接 全外连接 交叉连接...

2020-02-24 22:43:24 335

原创 LeetCode 字节跳动(ByteDance)企业题库算法之-----反转链表

一、问题简述反转一个单链表示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL二、解决方案我们可以申请两个指针,第一个指针叫 pre,最初是指向 null 的。第二个指针 cur 指向 head,然后不断遍历 cur。每次迭代到 cur,都将 cur 的 next ...

2020-02-21 17:10:26 446

原创 LeetCode 字节跳动(ByteDance)企业题库算法之-----合并两个有序链表

一、题目简述将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4二、解决办法1、迭代:/** * Definition for singly-linked list. * public cl...

2020-02-21 11:46:28 322

原创 LeetCode 字节跳动(ByteDance)企业题库算法之----两数之和

一、问题描述给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1...

2020-02-20 17:08:52 849

原创 Mysql数据库基础知识(一)之 基础查询----分组查询

说明:Mysql很久就学过,但学了忘忘了学,很难受。因此这篇文章纯粹是为了记录一些学习笔记,以便后面复习,如有记录有误的地方,忘指出!一、Mysql常用DOC命令行1、进入数据库(本地)mysql -u"用户名" -p"密码"例如:我的用户名为:root 密码是:123456那我的就是:mysql -uroot -p1234562、使用数据库use 数据库名;3、显示...

2020-02-16 13:53:55 698

原创 JSP入门

说明:JSP很久就学过,但学了忘忘了学,很难受。因此这篇文章纯粹是为了记录一些学习笔记,以便后面复习,如有记录有误的地方,忘指出!一、什么是JSPJSP即java server pages,它是JavaWeb的动态资源。JSP = html + java脚本 + jsp动作标签(包含EL表达式)1、JSP中java脚本* <% ... %>:代码段,Java语...

2020-02-15 21:15:30 571

原创 SSM(spring,springmvc,mybatis)的整合(超详细)

首先贴下我的整个项目源码(其实下面已经全部都贴出来了,只不过需要整合一下)一、使用的工具和整合原理1、使用的工具:IDEA2018 + Maven2、整合原理:SSM的整合其实是spring整合springmvc、spring整合mybatis 两步完成二、前期的环境搭建1、创建数据库(我的是直接用navicat工具创建的)2、创建一个maven构建的WEB工程3、在pom.xml...

2020-02-09 18:05:45 561

原创 commons-fileupload组件中的FileItem里面的getName()方法的返回值问题

我们在写文件上传的时候,基本都用过common-fileupload组件里面的fileItem里面的getName()方法,我们传统的观念都是该方法的返回值是上传的文件的名字例String fileName = fileItem.getName();但是如果你的项目在IE浏览器下部署运行,文件就会上传失败(文件名取不到);在火狐浏览器下就可以正常运行因为:getName()方法...

2020-02-07 17:13:27 1149

原创 Spring中的动态代理

一、在说动态代理之前先说一下代理模式,什么叫做代理模式呢?代理模式:是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.简单来说就是:把自己不想做的交给别人来代替你做。用一张图表示如下:二、静态代理(类似于装饰者模式)静态代理在使用时,需要定义接口或者父类,被代理对象与代理对象一起实现相同的接口或者是继承相同父类.注:代理对象与目标对象要实现相同的接口,...

2020-01-31 22:01:17 881

原创 初探Spring框架之———IOC

一、首先解释一下什么是Spring框架,以及Spring框架的作用1、Spring框架:Spring是一个full-stack(一站式)的轻量级开源框架,以IOC(Inverse Of Control: 控制反转)和 AOP(Aspect Oriented Programming:面向切面编程)为内核。简单来说,Spring是一个分层的JavaSE/EE full-stack 轻量级开源框架。...

2020-01-22 17:49:33 312

原创 什么是事务?事务的四个特性、不考虑隔离会导致的三个问题以及四种隔离级别

一、什么是事务事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。可以理解为:更新数据库中各种数据项的程序执行单元。就比如:同一根绳上的蚂蚱,要活一起活,要死一起死。二、事务的四个特性事务的四个特性为原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持续性(Durability),简称为ACID...

2020-01-16 18:10:41 2536 1

原创 mybatis中的缓存

一、什么是缓存、使用缓存的目的以及场合缓存:简单来说,就是存在于内存中的临时数据使用缓存的目的:减少和数据库交互的次数,提高性能使用场合:1、某数据经常被查询2、数据的正确性与否对最终的结果影响不大切记:当对某个数据的正确性要求较高时或者是经常改变的数据,不建议使用缓存二、mybatis中的一级缓存mybatis一级缓存的作用域是同一个SqlSession,在同一个sqlSessi...

2020-01-13 12:53:01 167

原创 使用druid连接mysql时,由于导错包血的教训

一、常规的使用jdbc直接连接数据库的时候,我们导入的都是import java.mysql.jdbc.Connection/PreparedStatement;所以这次使用druid连接池连接数据库时,我也不自主的导入了相同的包,然后我运行的时候,一直显示转换异常,当时一脸懵逼一直显示这个异常:com.alibaba.druid.pool.DruidPooledConnection cann...

2019-03-10 12:58:27 5172 1

原创 使用resultMap中的association,collection实现延迟加载

一、延迟加载延迟加载:通俗来讲,就是按需查询;当有一个业务需要查询多个表时,可以先进行单表的查询,然后根据需求去查询关联表的信息,把对关联表的查询就称作为延迟加载。二、使用association简单的实现延迟加载功能(collection同association)1、目标:查询一个订单表orders(id,user_id,number,createtime,note)以及它关联的用户信...

2019-01-15 21:23:43 523

原创 mybatis报错There is no getter for property named '***' in 'class ***'问题

最近自己在学ssm,所以就想把自己遇到的所有bug都记录下来,不喜忽喷,如果对你有帮助的,帮忙点个赞,码字不易。错误提示:根据错误提示,说是没有获取到userCust这个属性,看了下xml映射文件 然后看了下测试用例代码:仔细一看,发现是两者之间的字段不匹配所导致的,在写xml映射文件时,不小心写成了类名解决办法:把xml文件中的userCus...

2019-01-10 20:48:24 2758

jdk1.8 jdk1.9 jQuery JavaScript API参考文档

压缩包里面包括了jdk1.8,jdk1.9的API中文参考文档以及jQuery1.7.2和JavaScript中文参考文档

2020-03-09

ssm_Integration.zip

https://blog.csdn.net/cd546566850/article/details/104237077,SSM(spring,springmvc,mybatis)的整合(超详细)这篇文章的源码工程

2020-02-09

2019最新Java IDEA版教程-4(高级篇-mybatis、Spring、SSM等等)课程资源.zip

压缩包包含了2019最新Java IDEA版教程-4(高级篇-mybatis、Spring、SSM等等)课程所有的资源,包括,源码,资料,截图等等

2020-02-08

gradle-4.6和spring-5.0.2的源码

gradle是将spring源码导入idea中的工具,里面包含了gradle-4.6版本,spring的源码是5.0.2版本,都是从github上下载的

2020-01-29

apache-maven-3.6.013-bin.zip

压缩包内含有apache-maven-3.6.0,apache-maven-3.6.1,apache-maven-3.6.3三个版本,都是从官网下载下来的一般推荐使用maven-3.6.1,版本不高也不低

2020-01-08

mybatis-3.4.6+jdbc驱动包5.1.47

资源为mybatis 的运行环境,版本为mybatis-3.4.6以及mysql的jdbc驱动包,版本为5.1.47

2019-01-07

用工厂方法模式做的一个简易计算器

这个是用工厂方法模式写的一个简易的计算器,这个代码可重用性高,满足开闭原则。

2018-12-21

传智播客Mybatis_SpringMVC课程源码及笔记(所有资料)

https://pan.baidu.com/s/1j1cUTFkiFsBJEZAjB6AFvg,文件太大上传不了,所以放入百度网盘链接,压缩文件里面是提取码,这个为全部资料

2018-12-21

传智播客Mybatis_SpringMVC课程中的SpringMVC部分源码及所有资料

https://pan.baidu.com/s/1myZIh52aS7Ujjss60RJg-g由于文件太大,上传不了,所以放入百度网盘链接,密码在压缩包里面,下载即可用

2018-12-21

传智播客Mybatis_SpringMVC课程源码及笔记(包含所有资料)

该资料为传智播客Mybatis_SpringMVC课程的源码以及随堂笔记及jar包之类的所有之类。但由于Mybatis_SpringMVC所有的资料压缩包太大上传不了,所以分为两部分,这一部分为Mybatis部分,SpringMVC点开我的主页就能下载

2018-12-21

Tomcat6.0,7.0,8.0,8.5

里面有Tomcat6.0.35,7.0.42,8.0.47,8.5.32四个版本,都是解压版的。

2018-12-21

jdbc驱动包5.1.47

mysql的5.1.47版本的jdbc驱动包,解压导入即可用,这个版本不高也不低,非常适合

2018-12-21

基于java+socket+swing+多线程聊天室

该程序为java+socket+swing+多线程实现的简易QQ聊天系统,可以实现群聊以及私聊的功能,私聊的格式为@用户1/2/3...:消息。

2018-12-11

算法之凸包问题

该程序为java实现的带界面的凸包问题,完整代码且可运行。

2018-12-11

网页设计DW

DW是集网页制作和管理网站于一身的所见即所得网页代码编辑器。利用对 HTML、CSS、JavaScript等内容的支持,设计人员和开发人员可以在几乎任何地方快速制作和进行网站建设。

2018-04-21

顺序表实现约瑟夫问题

约瑟夫环问题:设编号为1,2,3,……,n的n(n>0)个人按顺时针方向围坐一圈,m为任意一个正整数。从第一个人开始顺时针方向自1起顺序报数,报到m时停止并且报m的人出列,再从他的下一个人开始重新从1报数,报到m时停止并且报m的人出列。如此下去,直到所有人全部出列为止。要求设计一个程序模拟此过程,对任意给定的m和n,求出出列编号序列。

2018-04-20

空空如也

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

TA关注的人

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